Skip to content

Commit a238cd9

Browse files
committed
Stub in most bitcoind rpc methods, parse/dispatch request.
1 parent b238c48 commit a238cd9

File tree

18 files changed

+571
-238
lines changed

18 files changed

+571
-238
lines changed

Makefile.am

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ src_libbitcoin_node_la_SOURCES = \
5656
src/parse/query.cpp \
5757
src/parse/target.cpp \
5858
src/protocols/protocol.cpp \
59+
src/protocols/protocol_bitcoind.cpp \
5960
src/protocols/protocol_block_in_106.cpp \
6061
src/protocols/protocol_block_in_31800.cpp \
6162
src/protocols/protocol_block_out_106.cpp \
@@ -206,7 +207,8 @@ include_bitcoin_node_interfaces_HEADERS = \
206207
include/bitcoin/node/interfaces/explore.hpp \
207208
include/bitcoin/node/interfaces/interfaces.hpp \
208209
include/bitcoin/node/interfaces/stratum_v1.hpp \
209-
include/bitcoin/node/interfaces/stratum_v2.hpp
210+
include/bitcoin/node/interfaces/stratum_v2.hpp \
211+
include/bitcoin/node/interfaces/types.hpp
210212

211213
include_bitcoin_node_parsedir = ${includedir}/bitcoin/node/parse
212214
include_bitcoin_node_parse_HEADERS = \

builds/cmake/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ add_library( ${CANONICAL_LIB_NAME}
268268
"../../src/parse/query.cpp"
269269
"../../src/parse/target.cpp"
270270
"../../src/protocols/protocol.cpp"
271+
"../../src/protocols/protocol_bitcoind.cpp"
271272
"../../src/protocols/protocol_block_in_106.cpp"
272273
"../../src/protocols/protocol_block_in_31800.cpp"
273274
"../../src/protocols/protocol_block_out_106.cpp"

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
<ClCompile Include="..\..\..\..\src\parse\target.cpp" />
142142
<ClCompile Include="..\..\..\..\src\parser.cpp" />
143143
<ClCompile Include="..\..\..\..\src\protocols\protocol.cpp" />
144+
<ClCompile Include="..\..\..\..\src\protocols\protocol_bitcoind.cpp" />
144145
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_in_106.cpp" />
145146
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_in_31800.cpp" />
146147
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_out_106.cpp" />
@@ -197,6 +198,7 @@
197198
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\interfaces.hpp" />
198199
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\stratum_v1.hpp" />
199200
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\stratum_v2.hpp" />
201+
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\types.hpp" />
200202
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\parse.hpp" />
201203
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\query.hpp" />
202204
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\target.hpp" />

builds/msvc/vs2022/libbitcoin-node/libbitcoin-node.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@
123123
<ClCompile Include="..\..\..\..\src\protocols\protocol.cpp">
124124
<Filter>src\protocols</Filter>
125125
</ClCompile>
126+
<ClCompile Include="..\..\..\..\src\protocols\protocol_bitcoind.cpp">
127+
<Filter>src\protocols</Filter>
128+
</ClCompile>
126129
<ClCompile Include="..\..\..\..\src\protocols\protocol_block_in_106.cpp">
127130
<Filter>src\protocols</Filter>
128131
</ClCompile>
@@ -287,6 +290,9 @@
287290
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\stratum_v2.hpp">
288291
<Filter>include\bitcoin\node\interfaces</Filter>
289292
</ClInclude>
293+
<ClInclude Include="..\..\..\..\include\bitcoin\node\interfaces\types.hpp">
294+
<Filter>include\bitcoin\node\interfaces</Filter>
295+
</ClInclude>
290296
<ClInclude Include="..\..\..\..\include\bitcoin\node\parse\parse.hpp">
291297
<Filter>include\bitcoin\node\parse</Filter>
292298
</ClInclude>

include/bitcoin/node.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
#include <bitcoin/node/interfaces/interfaces.hpp>
5252
#include <bitcoin/node/interfaces/stratum_v1.hpp>
5353
#include <bitcoin/node/interfaces/stratum_v2.hpp>
54+
#include <bitcoin/node/interfaces/types.hpp>
5455
#include <bitcoin/node/parse/parse.hpp>
5556
#include <bitcoin/node/parse/query.hpp>
5657
#include <bitcoin/node/parse/target.hpp>

include/bitcoin/node/error.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ enum error_t : uint8_t
117117
invalid_component,
118118
invalid_subcomponent,
119119
extra_segment,
120+
121+
/// server (json-rpc parse codes)
120122
unexpected_parse
121123
};
122124

include/bitcoin/node/interfaces/bitcoind.hpp

Lines changed: 199 additions & 197 deletions
Large diffs are not rendered by default.

include/bitcoin/node/interfaces/electrum.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define LIBBITCOIN_NODE_INTERFACES_ELECTRUM_HPP
2121

2222
#include <bitcoin/node/define.hpp>
23+
#include <bitcoin/node/interfaces/types.hpp>
2324

2425
namespace libbitcoin {
2526
namespace node {

include/bitcoin/node/interfaces/explore.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define LIBBITCOIN_NODE_INTERFACES_EXPLORE_HPP
2121

2222
#include <bitcoin/node/define.hpp>
23+
#include <bitcoin/node/interfaces/types.hpp>
2324

2425
namespace libbitcoin {
2526
namespace node {

include/bitcoin/node/interfaces/interfaces.hpp

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,42 +19,12 @@
1919
#ifndef LIBBITCOIN_NODE_INTERFACES_HPP
2020
#define LIBBITCOIN_NODE_INTERFACES_HPP
2121

22-
namespace libbitcoin {
23-
namespace node {
24-
namespace interface {
25-
26-
/// Alias network::rpc names within interface::.
27-
28-
template <text_t Text, typename ...Args>
29-
using method = network::rpc::method<Text, Args...>;
30-
template <auto& Methods, size_t Index>
31-
using method_at = network::rpc::method_at<Methods, Index>;
32-
template <typename Methods, network::rpc::grouping Mode =
33-
network::rpc::grouping::either>
34-
using publish = network::rpc::publish<Methods, Mode>;
35-
36-
template <auto Default>
37-
using optional = network::rpc::optional<Default>;
38-
template <typename Type>
39-
using nullable = network::rpc::nullable<Type>;
40-
using boolean_t = network::rpc::boolean_t;
41-
using string_t = network::rpc::string_t;
42-
using number_t = network::rpc::number_t;
43-
using object_t = network::rpc::object_t;
44-
using array_t = network::rpc::array_t;
45-
46-
namespace empty { constexpr auto array = network::rpc::empty::array; };
47-
namespace empty { constexpr auto object = network::rpc::empty::object; };
48-
49-
} // namespace interface
50-
} // namespace node
51-
} // namespace libbitcoin
52-
5322
#include <bitcoin/node/interfaces/bitcoind.hpp>
5423
#include <bitcoin/node/interfaces/electrum.hpp>
5524
#include <bitcoin/node/interfaces/explore.hpp>
5625
#include <bitcoin/node/interfaces/stratum_v1.hpp>
5726
#include <bitcoin/node/interfaces/stratum_v2.hpp>
27+
#include <bitcoin/node/interfaces/types.hpp>
5828

5929
namespace libbitcoin {
6030
namespace node {

0 commit comments

Comments
 (0)