Skip to content

Commit 429023c

Browse files
committed
types: Tabulate the v17 docs
Make the docs easier to read in HTML by using drop down menus and tabulating the method name and status. If docs were able to be sexy then these ones right here.
1 parent d98ef88 commit 429023c

File tree

1 file changed

+212
-157
lines changed

1 file changed

+212
-157
lines changed

types/src/v17/mod.rs

+212-157
Original file line numberDiff line numberDiff line change
@@ -1,167 +1,222 @@
11
// SPDX-License-Identifier: CC0-1.0
22

3-
//! JSON-RPC types for `bitcoind v0.17.1`.
3+
//! # JSON-RPC types for Bitcoin Core `v0.17.1`
44
//!
55
//! These structs are shaped for the JSON data returned by the JSON-RPC API. They use stdlib types
66
//! (or custom types) and where necessary implement an `into_model` function to convert the type to
7-
//! a [`crate::model`] type of the same name. The types in this module are version specific, the
7+
//! a [`crate::model`] type of the same name. The types in this module are version specific. The
88
//! types in the `model` module are version nonspecific and are strongly typed using `rust-bitcoin`.
99
//!
10-
//! ## Key:
11-
//!
12-
//! - `[ ]` Not yet done.
13-
//! - `[i]` Implemented but not yet tested (includes `into_model`).
14-
//! - `[x]` Implemented _and_ tested.
15-
//! - `[-]` Intentionally not done, typically for one of the following reasons:
16-
//! - Method does not return anything.
17-
//! - Method returns a simple type (e.g. bool or integer).
18-
//! - Method is deprecated.
19-
// TODO: After all the `[i]` is gone (ie testing done) remove the backticks.
20-
//!
21-
//! **== Blockchain ==**
22-
//! - `[x]` `getbestblockhash`
23-
//! - `[x]` `getblock "blockhash" ( verbosity ) `
24-
//! - `[x]` `getblockchaininfo`
25-
//! - `[x]` `getblockcount`
26-
//! - `[x]` `getblockhash height`
27-
//! - `[x]` `getblockheader "hash" ( verbose )`
28-
//! - `[x]` `getblockstats hash_or_height ( stats )`
29-
//! - `[x]` `getchaintips`
30-
//! - `[x]` `getchaintxstats ( nblocks blockhash )`
31-
//! - `[x]` `getdifficulty`
32-
//! - `[i]` `getmempoolancestors txid (verbose)`
33-
//! - `[i]` `getmempooldescendants txid (verbose)`
34-
//! - `[i]` `getmempoolentry txid`
35-
//! - `[i]` `getmempoolinfo`
36-
//! - `[i]` `getrawmempool ( verbose )`
37-
//! - `[i]` `gettxout "txid" n ( include_mempool )`
38-
//! - `[i]` `gettxoutproof ["txid",...] ( blockhash )`
39-
//! - `[i]` `gettxoutsetinfo`
40-
//! - `[-]` `preciousblock "blockhash"`
41-
//! - `[-]` `pruneblockchain`
42-
//! - `[-]` `savemempool`
43-
//! - `[-]` `scantxoutset <action> ( <scanobjects> )`
44-
//! - `[-]` `verifychain ( checklevel nblocks )`
45-
//! - `[i]` `verifytxoutproof "proof"`
46-
//!
47-
//! **== Control ==**
48-
//! - `[x]` `getmemoryinfo ("mode")`
49-
//! - `[-]` `help ( "command" )`
50-
//! - `[x]` `logging ( <include> <exclude> )`
51-
//! - `[x]` `stop`
52-
//! - `[x]` `uptime`
53-
//!
54-
//! **== Generating ==**
55-
//! - `[x]` `generate nblocks ( maxtries )`
56-
//! - `[x]` `generatetoaddress nblocks address (maxtries)`
57-
//!
58-
//! **== Mining ==**
59-
//! - `[ ]` `getblocktemplate ( TemplateRequest )`
60-
//! - `[ ]` `getmininginfo`
61-
//! - `[ ]` `getnetworkhashps ( nblocks height )`
62-
//! - `[ ]` `prioritisetransaction <txid> <dummy value> <fee delta>`
63-
//! - `[ ]` `submitblock "hexdata" ( "dummy" )`
64-
//!
65-
//! **== Network ==**
66-
//! - `[-]` `addnode "node" "add|remove|onetry"`
67-
//! - `[-]` `clearbanned`
68-
//! - `[-]` `disconnectnode "[address]" [nodeid]`
69-
//! - `[x]` `getaddednodeinfo ( "node" )`
70-
//! - `[-]` `getconnectioncount`
71-
//! - `[x]` `getnettotals`
72-
//! - `[x]` `getnetworkinfo`
73-
//! - `[x]` `getpeerinfo`
74-
//! - `[-]` `listbanned`
75-
//! - `[-]` `ping`
76-
//! - `[-]` `setban "subnet" "add|remove" (bantime) (absolute)`
77-
//! - `[-]` `setnetworkactive true|false`
78-
//!
79-
//! **== Rawtransactions ==**
80-
//! - `[ ]` `combinepsbt ["psbt",...]`
81-
//! - `[ ]` `combinerawtransaction ["hexstring",...]`
82-
//! - `[ ]` `converttopsbt "hexstring" ( permitsigdata iswitness )`
83-
//! - `[ ]` `createpsbt [{"txid":"id","vout":n},...] [{"address":amount},{"data":"hex"},...] ( locktime ) ( replaceable )`
84-
//! - `[ ]` `createrawtransaction [{"txid":"id","vout":n},...] [{"address":amount},{"data":"hex"},...] ( locktime ) ( replaceable )`
85-
//! - `[ ]` `decodepsbt "psbt"`
86-
//! - `[ ]` `decoderawtransaction "hexstring" ( iswitness )`
87-
//! - `[ ]` `decodescript "hexstring"`
88-
//! - `[ ]` `finalizepsbt "psbt" ( extract )`
89-
//! - `[ ]` `fundrawtransaction "hexstring" ( options iswitness )`
90-
//! - `[ ]` `getrawtransaction "txid" ( verbose "blockhash" )`
91-
//! - `[i]` `sendrawtransaction "hexstring" ( allowhighfees )`
92-
//! - `[ ]` `signrawtransaction "hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype )`
93-
//! - `[ ]` `signrawtransactionwithkey "hexstring" ["privatekey1",...] ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] sighashtype )`
94-
//! - `[ ]` `testmempoolaccept ["rawtxs"] ( allowhighfees )`
95-
//!
96-
//! **== Util ==**
97-
//! - `[ ]` `createmultisig nrequired ["key",...] ( "address_type" )`
98-
//! - `[ ]` `estimatesmartfee conf_target ("estimate_mode")`
99-
//! - `[ ]` `signmessagewithprivkey "privkey" "message"`
100-
//! - `[ ]` `validateaddress "address"`
101-
//! - `[ ]` `verifymessage "address" "signature" "message"`
102-
//!
103-
//! **== Wallet ==**
104-
//! - `[-]` `abandontransaction "txid"`
105-
//! - `[-]` `abortrescan`
106-
//! - `[x]` `addmultisigaddress nrequired ["key",...] ( "label" "address_type" )`
107-
//! - `[-]` `backupwallet "destination"`
108-
//! - `[x]` `bumpfee "txid" ( options ) `
109-
//! - `[x]` `createwallet "wallet_name" ( disable_private_keys )`
110-
//! - `[x]` `dumpprivkey "address"`
111-
//! - `[x]` `dumpwallet "filename"`
112-
//! - `[-]` `encryptwallet "passphrase"`
113-
//! - `[-]` `getaccount (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
114-
//! - `[-]` `getaccountaddress (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
115-
//! - `[-]` `getaddressbyaccount (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
116-
//! - `[x]` `getaddressesbylabel "label"`
117-
//! - `[x]` `getaddressinfo "address"`
118-
//! - `[x]` `getbalance ( "(dummy)" minconf include_watchonly )`
119-
//! - `[x]` `getnewaddress ( "label" "address_type" )`
120-
//! - `[x]` `getrawchangeaddress ( "address_type" )`
121-
//! - `[-]` `getreceivedbyaccount (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
122-
//! - `[i]` `getreceivedbyaddress "address" ( minconf )`
123-
//! - `[x]` `gettransaction "txid" ( include_watchonly )`
124-
//! - `[i]` `getunconfirmedbalance`
125-
//! - `[i]` `getwalletinfo`
126-
//! - `[-]` `importaddress "address" ( "label" rescan p2sh )`
127-
//! - `[-]` `importmulti "requests" ( "options" )`
128-
//! - `[-]` `importprivkey "privkey" ( "label" ) ( rescan )`
129-
//! - `[-]` `importprunedfunds`
130-
//! - `[-]` `importpubkey "pubkey" ( "label" rescan )`
131-
//! - `[-]` `importwallet "filename"`
132-
//! - `[-]` `keypoolrefill ( newsize )`
133-
//! - `[-]` `listaccounts (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
134-
//! - `[i]` `listaddressgroupings`
135-
//! - `[i]` `listlabels ( "purpose" )`
136-
//! - `[i]` `listlockunspent`
137-
//! - `[-]` `listreceivedbyaccount (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
138-
//! - `[i]` `listreceivedbyaddress ( minconf include_empty include_watchonly address_filter )`
139-
//! - `[i]` `listsinceblock ( "blockhash" target_confirmations include_watchonly include_removed )`
140-
//! - `[i]` `listtransactions (label count skip include_watchonly)`
141-
//! - `[i]` `listunspent ( minconf maxconf ["addresses",...] [include_unsafe] [query_options])`
142-
//! - `[i]` `listwallets`
143-
//! - `[x]` `loadwallet "filename"`
144-
//! - `[-]` `lockunspent unlock ([{"txid":"txid","vout":n},...])`
145-
//! - `[-]` `move (Deprecated, will be removed in V0.18. To use this command, start bitcboind with -deprecatedrpc=accounts)`
146-
//! - `[-]` `removeprunedfunds "txid"`
147-
//! - `[x]` `rescanblockchain ("start_height") ("stop_height")`
148-
//! - `[-]` `sendfrom (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
149-
//! - `[i]` `sendmany "" {"address":amount,...} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode")`
150-
//! - `[x]` `sendtoaddress "address" amount ( "comment" "comment_to" subtractfeefromamount replaceable conf_target "estimate_mode")`
151-
//! - `[-]` `setaccount (Deprecated, will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts)`
152-
//! - `[-]` `sethdseed ( "newkeypool" "seed" )`
153-
//! - `[-]` `settxfee amount`
154-
//! - `[i]` `signmessage "address" "message"`
155-
//! - `[i]` `signrawtransactionwithwallet "hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] sighashtype )`
156-
//! - `[-]` `unloadwallet ( "wallet_name" )`
157-
//! - `[i]` `walletcreatefundedpsbt [{"txid":"id","vout":n},...] [{"address":amount},{"data":"hex"},...] ( locktime ) ( replaceable ) ( options bip32derivs )`
158-
//! - `[-]` `walletlock`
159-
//! - `[-]` `walletpassphrase "passphrase" timeout`
160-
//! - `[-]` `walletpassphrasechange "oldpassphrase" "newpassphrase"`
161-
//! - `[i]` `walletprocesspsbt "psbt" ( sign "sighashtype" bip32derivs )`
162-
//!
163-
//! **== Zmq ==**
164-
//! - `[i]` `getzmqnotifications`
10+
//! ### Method name and implementation status
11+
//!
12+
//! Every JSON-RPC method supported by this version of Bitcoin Core is listed below along with its
13+
//! current implementation status.
14+
//!
15+
//! <details>
16+
//! <summary> Methods from the == Blockchain == section </summary>
17+
//!
18+
//! | JSON-PRC Method Name | Status |
19+
//! |:-----------------------------------|:---------------:|
20+
//! | getbestblockhash | done |
21+
//! | getblock | done |
22+
//! | getblockchaininfo | done |
23+
//! | getblockcount | done |
24+
//! | getblockhash | done |
25+
//! | getblockheader | done |
26+
//! | getblockstats | done |
27+
//! | getchaintips | done |
28+
//! | getchaintxstats | done |
29+
//! | getdifficulty | done |
30+
//! | getmempoolancestors | done (untested) |
31+
//! | getmempooldescendants | done (untested) |
32+
//! | getmempoolentry | done (untested) |
33+
//! | getmempoolinfo | done (untested) |
34+
//! | getrawmempool | done (untested) |
35+
//! | gettxout | done (untested) |
36+
//! | gettxoutproof | done (untested) |
37+
//! | gettxoutsetinfo | done (untested) |
38+
//! | preciousblock | omitted |
39+
//! | pruneblockchain | omitted |
40+
//! | savemempool | omitted |
41+
//! | scantxoutset | omitted |
42+
//! | verifychain | omitted |
43+
//! | verifytxoutproof | done (untested) |
44+
//!
45+
//! </details>
46+
//!
47+
//! <details>
48+
//! <summary> Methods from the == Control == section </summary>
49+
//!
50+
//! | JSON-PRC Method Name | Status |
51+
//! |:-----------------------------------|:---------------:|
52+
//! | getmemoryinfo | done |
53+
//! | help | omitted |
54+
//! | logging | done |
55+
//! | stop | omitted |
56+
//! | uptime | omitted |
57+
//!
58+
//! </details>
59+
//!
60+
//! <details>
61+
//! <summary> Methods from the == Generating == section </summary>
62+
//!
63+
//! | JSON-PRC Method Name | Status |
64+
//! |:-----------------------------------|:---------------:|
65+
//! | generate | done |
66+
//! | generatetoaddress | done |
67+
//!
68+
//! </details>
69+
//!
70+
//! <details>
71+
//! <summary> Methods from the == Mining == section </summary>
72+
//!
73+
//! | JSON-PRC Method Name | Status |
74+
//! |:-----------------------------------|:---------------:|
75+
//! | getblocktemplate | todo |
76+
//! | getmininginfo | todo |
77+
//! | getnetworkhashps | todo |
78+
//! | prioritisetransaction | todo |
79+
//! | submitblock | todo |
80+
//!
81+
//! </details>
82+
//!
83+
//! <details>
84+
//! <summary> Methods from the == Network == section </summary>
85+
//!
86+
//! | JSON-PRC Method Name | Status |
87+
//! |:-----------------------------------|:---------------:|
88+
//! | addnode | omitted |
89+
//! | clearbanned | omitted |
90+
//! | disconnectnode | omitted |
91+
//! | getaddednodeinfo | done |
92+
//! | getconnectioncount | omitted |
93+
//! | getnettotals | done |
94+
//! | getnetworkinfo | done |
95+
//! | getpeerinfo | done |
96+
//! | listbanned | omitted |
97+
//! | ping | omitted |
98+
//! | setban | omitted |
99+
//! | setnetworkactive | omitted |
100+
//!
101+
//! </details>
102+
//!
103+
//! <details>
104+
//! <summary> Methods from the == Rawtransactions == section </summary>
105+
//!
106+
//! | JSON-PRC Method Name | Status |
107+
//! |:-----------------------------------|:---------------:|
108+
//! | combinepsbt | todo |
109+
//! | combinerawtransaction | todo |
110+
//! | converttopsbt | todo |
111+
//! | createpsbt | todo |
112+
//! | createrawtransaction | todo |
113+
//! | decodepsbt | todo |
114+
//! | decoderawtransaction | todo |
115+
//! | decodescript | todo |
116+
//! | finalizepsbt | todo |
117+
//! | fundrawtransaction | todo |
118+
//! | getrawtransaction | todo |
119+
//! | sendrawtransaction | done (untested) |
120+
//! | signrawtransaction | todo |
121+
//! | signrawtransactionwithkey | todo |
122+
//! | testmempoolaccept | todo |
123+
//!
124+
//! </details>
125+
//!
126+
//! <details>
127+
//! <summary> Methods from the == Util == section </summary>
128+
//!
129+
//! | JSON-PRC Method Name | Status |
130+
//! |:-----------------------------------|:---------------:|
131+
//! | createmultisig | omitted |
132+
//! | estimatesmartfee | omitted |
133+
//! | signmessagewithprivkey | omitted |
134+
//! | validateaddress | omitted |
135+
//! | verifymessage | omitted |
136+
//!
137+
//! </details>
138+
//!
139+
//! <details>
140+
//! <summary> Methods from the == Wallet == section </summary>
141+
//!
142+
//! | JSON-PRC Method Name | Status |
143+
//! |:-----------------------------------|:---------------:|
144+
//! | abandontransaction | omitted |
145+
//! | abortrescan | omitted |
146+
//! | addmultisigaddress | done |
147+
//! | backupwallet | omitted |
148+
//! | bumpfee | done |
149+
//! | createwallet | done |
150+
//! | dumpprivkey | done |
151+
//! | dumpwallet | done |
152+
//! | encryptwallet | omitted |
153+
//! | getaccount | omitted |
154+
//! | getaccountaddress | omitted |
155+
//! | getaddressbyaccount | omitted |
156+
//! | getaddressesbylabel | done |
157+
//! | getaddressinfo | done |
158+
//! | getbalance | done |
159+
//! | getnewaddress | done |
160+
//! | getrawchangeaddress | done |
161+
//! | getreceivedbyaccount | omitted |
162+
//! | getreceivedbyaddress | done (untested) |
163+
//! | gettransaction | done |
164+
//! | getunconfirmedbalance | done (untested) |
165+
//! | getwalletinfo | done (untested) |
166+
//! | importaddress | omitted |
167+
//! | importmulti | omitted |
168+
//! | importprivkey | omitted |
169+
//! | importprunedfunds | omitted |
170+
//! | importpubkey | omitted |
171+
//! | importwallet | omitted |
172+
//! | keypoolrefill | omitted |
173+
//! | listaccounts | omitted |
174+
//! | listaddressgroupings | done (untested) |
175+
//! | listlabels | done (untested) |
176+
//! | listlockunspent | done (untested) |
177+
//! | listreceivedbyaccount | omitted |
178+
//! | listreceivedbyaddress | done (untested) |
179+
//! | listsinceblock | done (untested) |
180+
//! | listtransactions | done (untested) |
181+
//! | listunspent | done (untested) |
182+
//! | listwallets | done (untested) |
183+
//! | loadwallet | done |
184+
//! | lockunspent | omitted |
185+
//! | move | omitted |
186+
//! | removeprunedfunds | omitted |
187+
//! | rescanblockchain | done |
188+
//! | sendfrom | omitted |
189+
//! | sendmany | done (untested) |
190+
//! | sendtoaddress | done |
191+
//! | setaccount | omitted |
192+
//! | sethdseed | omitted |
193+
//! | settxfee | omitted |
194+
//! | signmessage | done (untested) |
195+
//! | signrawtransactionwithwallet | done (untested) |
196+
//! | unloadwallet | omitted |
197+
//! | walletcreatefundedpsbt | done (untested) |
198+
//! | walletlock | omitted |
199+
//! | walletpassphrase | omitted |
200+
//! | walletpassphrasechange | omitted |
201+
//! | walletprocesspsbt | done (untested) |
202+
//!
203+
//! </details>
204+
//!
205+
//! <details>
206+
//! <summary> Methods from the == Zmq == section </summary>
207+
//!
208+
//! | JSON-PRC Method Name | Status |
209+
//! |:-----------------------------------|:---------------:|
210+
//! | getzmqnotifications` | done (untested) |
211+
//!
212+
//! </details>
213+
//!
214+
//!
215+
//! **Items marked omitted were omitted because:**
216+
//!
217+
//! - Method does not return anything.
218+
//! - Method returns a simple type (e.g. bool or integer).
219+
//! - Method is deprecated.
165220
166221
// JSON-RPC types by API section.
167222
mod blockchain;

0 commit comments

Comments
 (0)