diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index 7407ecb..bafbc25 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -178,6 +178,10 @@ jobs: matrix: feature: [ + "27_1", + "27_0", + "26_2", + "26_1", "26_0", "25_2", "25_1", diff --git a/client/src/client_sync/mod.rs b/client/src/client_sync/mod.rs index ca9decf..f24b2e4 100644 --- a/client/src/client_sync/mod.rs +++ b/client/src/client_sync/mod.rs @@ -13,6 +13,7 @@ pub mod v23; pub mod v24; pub mod v25; pub mod v26; +pub mod v27; use std::fs::File; use std::io::{BufRead, BufReader}; diff --git a/client/src/client_sync/v26.rs b/client/src/client_sync/v26.rs index 4e1199f..eb15e42 100644 --- a/client/src/client_sync/v26.rs +++ b/client/src/client_sync/v26.rs @@ -26,7 +26,7 @@ crate::impl_client_v17__generatetoaddress!(); // == Network == crate::impl_client_v17__getnetworkinfo!(); -crate::impl_client_check_expected_server_version!({ [260000] }); +crate::impl_client_check_expected_server_version!({ [260000, 260100, 260200] }); // == Rawtransactions == crate::impl_client_v17__sendrawtransaction!(); diff --git a/client/src/client_sync/v27.rs b/client/src/client_sync/v27.rs new file mode 100644 index 0000000..9657d75 --- /dev/null +++ b/client/src/client_sync/v27.rs @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! A JSON-RPC client for testing against Bitcoin Core `v27`. +//! +//! We ignore option arguments unless they effect the shape of the returned JSON data. + +use bitcoin::address::{Address, NetworkChecked}; +use bitcoin::{Amount, Block, BlockHash, Txid}; + +use crate::client_sync::{handle_defaults, into_json}; +use crate::json::v27::*; + +crate::define_jsonrpc_minreq_client!("v27"); + +// == Blockchain == +crate::impl_client_v17__getblockchaininfo!(); +crate::impl_client_v17__getbestblockhash!(); +crate::impl_client_v17__getblock!(); +crate::impl_client_v17__gettxout!(); + +// == Control == +crate::impl_client_v17__stop!(); + +// == Generating == +crate::impl_client_v17__generatetoaddress!(); + +// == Network == +crate::impl_client_v17__getnetworkinfo!(); +crate::impl_client_check_expected_server_version!({ [270000, 270100] }); + +// == Rawtransactions == +crate::impl_client_v17__sendrawtransaction!(); + +// == Wallet == +crate::impl_client_v17__createwallet!(); +crate::impl_client_v22__unloadwallet!(); +crate::impl_client_v22__loadwallet!(); +crate::impl_client_v17__getbalance!(); +crate::impl_client_v19__getbalances!(); +crate::impl_client_v17__getnewaddress!(); +crate::impl_client_v17__sendtoaddress!(); +crate::impl_client_v17__gettransaction!(); + +pub use crate::client_sync::v23::AddressType; diff --git a/contrib/run_bitcoind.sh b/contrib/run_bitcoind.sh index 81f6728..5d10b21 100755 --- a/contrib/run_bitcoind.sh +++ b/contrib/run_bitcoind.sh @@ -23,7 +23,8 @@ COMMAND - stop Kill all bitcoind nodes using 'pkill bitcoind'. KNOWN_VERSION - - v26 Bitcoin Core v26.0 + - v27 Bitcoin Core v27.1 + - v26 Bitcoin Core v26.2 - v25 Bitcoin Core v25.2 - v24 Bitcoin Core v24.2 - v23 Bitcoin Core v23.2 @@ -48,7 +49,8 @@ main() { case $cmd in all) - start "v26" # 26.0 + start "v27" # 27.1 + start "v26" # 26.2 start "v25" # 25.2 start "v24" # 24.2 start "v23" # 23.2 @@ -82,9 +84,14 @@ start() { local version="$1" case $version in + v27) + local version_number="27.1" + local version_id="271" + ;; + v26) - local version_number="26.0" - local version_id="260" + local version_number="26.2" + local version_id="262" ;; v25) diff --git a/integration_test/Cargo.toml b/integration_test/Cargo.toml index 3b8b80b..4cebd5d 100644 --- a/integration_test/Cargo.toml +++ b/integration_test/Cargo.toml @@ -8,11 +8,15 @@ edition = "2021" # Please note, in this crate the version features are mutally exclusive. # -# - `cargo test --all-features` is the same as `cargo test --features=v26_0` +# - `cargo test --all-features` is the same as `cargo test --features=v26_2` # - `cargo test --no-default-features` skips all tests. [features] # Enable the same feature in `bitcoind` and the version feature here. # All minor releases (but only the latest patch release). +"27_1" = ["v27", "bitcoind/27_1"] +"27_0" = ["v27", "bitcoind/27_0"] +"26_2" = ["v26", "bitcoind/26_2"] +"26_1" = ["v26", "bitcoind/26_1"] "26_0" = ["v26", "bitcoind/26_0"] "25_2" = ["v25", "bitcoind/25_2"] "25_1" = ["v25", "bitcoind/25_1"] @@ -33,6 +37,7 @@ edition = "2021" "0_17_1" = ["v17", "bitcoind/0_17_1"] # Each minor version is tested with the same client. +"v27" = [] "v26" = [] "v25" = [] "v24" = [] diff --git a/integration_test/tests/v26_api.rs b/integration_test/tests/v26_api.rs index 7848b8a..e81196e 100644 --- a/integration_test/tests/v26_api.rs +++ b/integration_test/tests/v26_api.rs @@ -1,4 +1,4 @@ -//! Test the JSON-RPC API against `bitcoind v26.0`. +//! Test the JSON-RPC API against `bitcoind v26`. #![cfg(feature = "v26")] diff --git a/integration_test/tests/v27_api.rs b/integration_test/tests/v27_api.rs new file mode 100644 index 0000000..bc4f2a4 --- /dev/null +++ b/integration_test/tests/v27_api.rs @@ -0,0 +1,57 @@ +//! Test the JSON-RPC API against `bitcoind v27.1`. + +#![cfg(feature = "v27")] + +use integration_test::*; + +// == Blockchain == +mod blockchain { + use super::*; + + impl_test_v17__getblockchaininfo!(); + impl_test_v17__getbestblockhash!(); + impl_test_v17__getblock_verbosity_0!(); + impl_test_v17__getblock_verbosity_1!(); +} + +// == Control == +mod control { + use super::*; + + impl_test_v17__stop!(); +} + +// == Generating == +mod generating { + use super::*; + + impl_test_v17__generatetoaddress!(); +} + +// == Network == +mod network { + use super::*; + + impl_test_v17__getnetworkinfo!(); +} + +// == Rawtransactions == +mod raw_transactions { + use super::*; + + impl_test_v17__sendrawtransaction!(); +} + +// == Wallet == +mod wallet { + use super::*; + + impl_test_v17__createwallet!(); + impl_test_v17__loadwallet!(); + + impl_test_v17__getnewaddress!(); + impl_test_v17__getbalance!(); + impl_test_v19__getbalances!(); + impl_test_v17__sendtoaddress!(); + impl_test_v17__gettransaction!(); +} diff --git a/json/src/lib.rs b/json/src/lib.rs index 343ea75..5e1c758 100644 --- a/json/src/lib.rs +++ b/json/src/lib.rs @@ -18,6 +18,7 @@ pub mod v23; pub mod v24; pub mod v25; pub mod v26; +pub mod v27; // JSON types that model _all_ `bitcoind` versions. pub mod model; diff --git a/json/src/v27/mod.rs b/json/src/v27/mod.rs new file mode 100644 index 0000000..bae749a --- /dev/null +++ b/json/src/v27/mod.rs @@ -0,0 +1,195 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Structs with standard types. +//! +//! These structs model the types returned by the JSON-RPC API and use stdlib types (or custom +//! types) and are specific to a specific to Bitcoin Core `v27`. +//! +//! **== Blockchain ==** +//! - [ ] `dumptxoutset "path"` +//! - [x] `getbestblockhash` +//! - [x] `getblock "blockhash" ( verbosity )` +//! - [x] `getblockchaininfo` +//! - [ ] `getblockcount` +//! - [ ] `getblockfilter "blockhash" ( "filtertype" )` +//! - [ ] `getblockfrompeer "blockhash" peer_id` +//! - [ ] `getblockhash height` +//! - [ ] `getblockheader "blockhash" ( verbose )` +//! - [ ] `getblockstats hash_or_height ( stats )` +//! - [ ] `getchainstates` +//! - [ ] `getchaintips` +//! - [ ] `getchaintxstats ( nblocks "blockhash" )` +//! - [ ] `getdeploymentinfo ( "blockhash" )` +//! - [ ] `getdifficulty` +//! - [ ] `getmempoolancestors "txid" ( verbose )` +//! - [ ] `getmempooldescendants "txid" ( verbose )` +//! - [ ] `getmempoolentry "txid"` +//! - [ ] `getmempoolinfo` +//! - [ ] `getrawmempool ( verbose mempool_sequence )` +//! - [ ] `gettxout "txid" n ( include_mempool )` +//! - [ ] `gettxoutproof ["txid",...] ( "blockhash" )` +//! - [ ] `gettxoutsetinfo ( "hash_type" hash_or_height use_index )` +//! - [ ] `gettxspendingprevout [{"txid":"hex","vout":n},...]` +//! - [ ] `importmempool "filepath" ( options )` +//! - [ ] `loadtxoutset "path"` +//! - [ ] `preciousblock "blockhash"` +//! - [ ] `pruneblockchain height` +//! - [ ] `savemempool` +//! - [ ] `scanblocks "action" ( [scanobjects,...] start_height stop_height "filtertype" options )` +//! - [ ] `scantxoutset "action" ( [scanobjects,...] )` +//! - [ ] `verifychain ( checklevel nblocks )` +//! - [ ] `verifytxoutproof "proof"` +//! +//! **== Control ==** +//! - [ ] `getmemoryinfo ( "mode" )` +//! - [ ] `getrpcinfo` +//! - [ ] `help ( "command" )` +//! - [ ] `logging ( ["include_category",...] ["exclude_category",...] )` +//! - [x] `stop` +//! - [ ] `uptime` +//! +//! **== Mining ==** +//! - [ ] `getblocktemplate {"mode":"str","capabilities":["str",...],"rules":["segwit","str",...],"longpollid":"str","data":"hex"}` +//! - [ ] `getmininginfo` +//! - [ ] `getnetworkhashps ( nblocks height )` +//! - [ ] `getprioritisedtransactions` +//! - [ ] `prioritisetransaction "txid" ( dummy ) fee_delta` +//! - [ ] `submitblock "hexdata" ( "dummy" )` +//! - [ ] `submitheader "hexdata"` +//! +//! **== Network ==** +//! - [ ] `addnode "node" "command" ( v2transport )` +//! - [ ] `clearbanned` +//! - [ ] `disconnectnode ( "address" nodeid )` +//! - [ ] `getaddednodeinfo ( "node" )` +//! - [ ] `getaddrmaninfo` +//! - [ ] `getconnectioncount` +//! - [ ] `getnettotals` +//! - [ ] `getnetworkinfo` +//! - [ ] `getnodeaddresses ( count "network" )` +//! - [ ] `getpeerinfo` +//! - [ ] `listbanned` +//! - [ ] `ping` +//! - [ ] `setban "subnet" "command" ( bantime absolute )` +//! - [ ] `setnetworkactive state` +//! +//! **== Rawtransactions ==** +//! - [ ] `analyzepsbt "psbt"` +//! - [ ] `combinepsbt ["psbt",...]` +//! - [ ] `combinerawtransaction ["hexstring",...]` +//! - [ ] `converttopsbt "hexstring" ( permitsigdata iswitness )` +//! - [ ] `createpsbt [{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable )` +//! - [ ] `createrawtransaction [{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable )` +//! - [ ] `decodepsbt "psbt"` +//! - [ ] `decoderawtransaction "hexstring" ( iswitness )` +//! - [ ] `decodescript "hexstring"` +//! - [ ] `descriptorprocesspsbt "psbt" ["",{"desc":"str","range":n or [n,n]},...] ( "sighashtype" bip32derivs finalize )` +//! - [ ] `finalizepsbt "psbt" ( extract )` +//! - [ ] `fundrawtransaction "hexstring" ( options iswitness )` +//! - [ ] `getrawtransaction "txid" ( verbosity "blockhash" )` +//! - [ ] `joinpsbts ["psbt",...]` +//! - [ ] `sendrawtransaction "hexstring" ( maxfeerate maxburnamount )` +//! - [ ] `signrawtransactionwithkey "hexstring" ["privatekey",...] ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" )` +//! - [ ] `submitpackage ["rawtx",...]` +//! - [ ] `testmempoolaccept ["rawtx",...] ( maxfeerate )` +//! - [ ] `utxoupdatepsbt "psbt" ( ["",{"desc":"str","range":n or [n,n]},...] )` +//! +//! **== Signer ==** +//! - [ ] `enumeratesigners` +//! +//! **== Util ==** +//! - [ ] `createmultisig nrequired ["key",...] ( "address_type" )` +//! - [ ] `deriveaddresses "descriptor" ( range )` +//! - [ ] `estimatesmartfee conf_target ( "estimate_mode" )` +//! - [ ] `getdescriptorinfo "descriptor"` +//! - [ ] `getindexinfo ( "index_name" )` +//! - [ ] `signmessagewithprivkey "privkey" "message"` +//! - [ ] `validateaddress "address"` +//! - [ ] `verifymessage "address" "signature" "message"` +//! +//! **== Wallet ==** +//! - [ ] `abandontransaction "txid"` +//! - [ ] `abortrescan` +//! - [ ] `addmultisigaddress nrequired ["key",...] ( "label" "address_type" )` +//! - [ ] `backupwallet "destination"` +//! - [ ] `bumpfee "txid" ( options )` +//! - [ ] `createwallet "wallet_name" ( disable_private_keys blank "passphrase" avoid_reuse descriptors load_on_startup external_signer )` +//! - [ ] `dumpprivkey "address"` +//! - [ ] `dumpwallet "filename"` +//! - [ ] `encryptwallet "passphrase"` +//! - [ ] `getaddressesbylabel "label"` +//! - [ ] `getaddressinfo "address"` +//! - [x] `getbalance ( "dummy" minconf include_watchonly avoid_reuse )` +//! - [x] `getbalances` +//! - [x] `getnewaddress ( "label" "address_type" )` +//! - [ ] `getrawchangeaddress ( "address_type" )` +//! - [ ] `getreceivedbyaddress "address" ( minconf include_immature_coinbase )` +//! - [ ] `getreceivedbylabel "label" ( minconf include_immature_coinbase )` +//! - [x] `gettransaction "txid" ( include_watchonly verbose )` +//! - [ ] `getunconfirmedbalance` +//! - [ ] `getwalletinfo` +//! - [ ] `importaddress "address" ( "label" rescan p2sh )` +//! - [ ] `importdescriptors requests` +//! - [ ] `importmulti requests ( options )` +//! - [ ] `importprivkey "privkey" ( "label" rescan )` +//! - [ ] `importprunedfunds "rawtransaction" "txoutproof"` +//! - [ ] `importpubkey "pubkey" ( "label" rescan )` +//! - [ ] `importwallet "filename"` +//! - [ ] `keypoolrefill ( newsize )` +//! - [ ] `listaddressgroupings` +//! - [ ] `listdescriptors ( private )` +//! - [ ] `listlabels ( "purpose" )` +//! - [ ] `listlockunspent` +//! - [ ] `listreceivedbyaddress ( minconf include_empty include_watchonly "address_filter" include_immature_coinbase )` +//! - [ ] `listreceivedbylabel ( minconf include_empty include_watchonly include_immature_coinbase )` +//! - [ ] `listsinceblock ( "blockhash" target_confirmations include_watchonly include_removed include_change "label" )` +//! - [ ] `listtransactions ( "label" count skip include_watchonly )` +//! - [ ] `listunspent ( minconf maxconf ["address",...] include_unsafe query_options )` +//! - [ ] `listwalletdir` +//! - [ ] `listwallets` +//! - [x] `loadwallet "filename" ( load_on_startup )` +//! - [ ] `lockunspent unlock ( [{"txid":"hex","vout":n},...] persistent )` +//! - [ ] `migratewallet ( "wallet_name" "passphrase" )` +//! - [ ] `newkeypool` +//! - [ ] `psbtbumpfee "txid" ( options )` +//! - [ ] `removeprunedfunds "txid"` +//! - [ ] `rescanblockchain ( start_height stop_height )` +//! - [ ] `restorewallet "wallet_name" "backup_file" ( load_on_startup )` +//! - [ ] `send [{"address":amount,...},{"data":"hex"},...] ( conf_target "estimate_mode" fee_rate options )` +//! - [ ] `sendall ["address",{"address":amount,...},...] ( conf_target "estimate_mode" fee_rate options )` +//! - [ ] `sendmany ( "" ) {"address":amount,...} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode" fee_rate verbose )` +//! - [x] `sendtoaddress "address" amount ( "comment" "comment_to" subtractfeefromamount replaceable conf_target "estimate_mode" avoid_reuse fee_rate verbose )` +//! - [ ] `sethdseed ( newkeypool "seed" )` +//! - [ ] `setlabel "address" "label"` +//! - [ ] `settxfee amount` +//! - [ ] `setwalletflag "flag" ( value )` +//! - [ ] `signmessage "address" "message"` +//! - [ ] `signrawtransactionwithwallet "hexstring" ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" )` +//! - [ ] `simulaterawtransaction ( ["rawtx",...] {"include_watchonly":bool,...} )` +//! - [ ] `unloadwallet ( "wallet_name" load_on_startup )` +//! - [ ] `upgradewallet ( version )` +//! - [ ] `walletcreatefundedpsbt ( [{"txid":"hex","vout":n,"sequence":n,"weight":n},...] ) [{"address":amount,...},{"data":"hex"},...] ( locktime options bip32derivs )` +//! - [ ] `walletdisplayaddress "address"` +//! - [ ] `walletlock` +//! - [ ] `walletpassphrase "passphrase" timeout` +//! - [ ] `walletpassphrasechange "oldpassphrase" "newpassphrase"` +//! - [ ] `walletprocesspsbt "psbt" ( sign "sighashtype" bip32derivs finalize )` +//! +//! **== Zmq ==** +//! - [ ] `getzmqnotifications` + +#[doc(inline)] +pub use crate::{ + v17::{ + GenerateToAddress, GetBalance, GetBestBlockHash, GetBlockVerbosityOne, + GetBlockVerbosityZero, GetNetworkInfo, GetNetworkInfoAddress, GetNetworkInfoNetwork, + GetNewAddress, GetTransaction, GetTransactionDetail, GetTransactionDetailCategory, + GetTxOut, SendRawTransaction, + }, + v19::{ + Bip9SoftforkInfo, Bip9SoftforkStatistics, Bip9SoftforkStatus, GetBalances, GetBalancesMine, + GetBalancesWatchOnly, GetBlockchainInfo, Softfork, SoftforkType, + }, + v22::{SendToAddress, UnloadWallet}, + v25::{CreateWallet, LoadWallet}, +}; diff --git a/json/src/v27/rpc-api.txt b/json/src/v27/rpc-api.txt new file mode 100644 index 0000000..6672786 --- /dev/null +++ b/json/src/v27/rpc-api.txt @@ -0,0 +1,172 @@ +== Blockchain == +dumptxoutset "path" +getbestblockhash +getblock "blockhash" ( verbosity ) +getblockchaininfo +getblockcount +getblockfilter "blockhash" ( "filtertype" ) +getblockfrompeer "blockhash" peer_id +getblockhash height +getblockheader "blockhash" ( verbose ) +getblockstats hash_or_height ( stats ) +getchainstates +getchaintips +getchaintxstats ( nblocks "blockhash" ) +getdeploymentinfo ( "blockhash" ) +getdifficulty +getmempoolancestors "txid" ( verbose ) +getmempooldescendants "txid" ( verbose ) +getmempoolentry "txid" +getmempoolinfo +getrawmempool ( verbose mempool_sequence ) +gettxout "txid" n ( include_mempool ) +gettxoutproof ["txid",...] ( "blockhash" ) +gettxoutsetinfo ( "hash_type" hash_or_height use_index ) +gettxspendingprevout [{"txid":"hex","vout":n},...] +importmempool "filepath" ( options ) +loadtxoutset "path" +preciousblock "blockhash" +pruneblockchain height +savemempool +scanblocks "action" ( [scanobjects,...] start_height stop_height "filtertype" options ) +scantxoutset "action" ( [scanobjects,...] ) +verifychain ( checklevel nblocks ) +verifytxoutproof "proof" + +== Control == +getmemoryinfo ( "mode" ) +getrpcinfo +help ( "command" ) +logging ( ["include_category",...] ["exclude_category",...] ) +stop +uptime + +== Mining == +getblocktemplate {"mode":"str","capabilities":["str",...],"rules":["segwit","str",...],"longpollid":"str","data":"hex"} +getmininginfo +getnetworkhashps ( nblocks height ) +getprioritisedtransactions +prioritisetransaction "txid" ( dummy ) fee_delta +submitblock "hexdata" ( "dummy" ) +submitheader "hexdata" + +== Network == +addnode "node" "command" ( v2transport ) +clearbanned +disconnectnode ( "address" nodeid ) +getaddednodeinfo ( "node" ) +getaddrmaninfo +getconnectioncount +getnettotals +getnetworkinfo +getnodeaddresses ( count "network" ) +getpeerinfo +listbanned +ping +setban "subnet" "command" ( bantime absolute ) +setnetworkactive state + +== Rawtransactions == +analyzepsbt "psbt" +combinepsbt ["psbt",...] +combinerawtransaction ["hexstring",...] +converttopsbt "hexstring" ( permitsigdata iswitness ) +createpsbt [{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable ) +createrawtransaction [{"txid":"hex","vout":n,"sequence":n},...] [{"address":amount,...},{"data":"hex"},...] ( locktime replaceable ) +decodepsbt "psbt" +decoderawtransaction "hexstring" ( iswitness ) +decodescript "hexstring" +descriptorprocesspsbt "psbt" ["",{"desc":"str","range":n or [n,n]},...] ( "sighashtype" bip32derivs finalize ) +finalizepsbt "psbt" ( extract ) +fundrawtransaction "hexstring" ( options iswitness ) +getrawtransaction "txid" ( verbosity "blockhash" ) +joinpsbts ["psbt",...] +sendrawtransaction "hexstring" ( maxfeerate maxburnamount ) +signrawtransactionwithkey "hexstring" ["privatekey",...] ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" ) +submitpackage ["rawtx",...] +testmempoolaccept ["rawtx",...] ( maxfeerate ) +utxoupdatepsbt "psbt" ( ["",{"desc":"str","range":n or [n,n]},...] ) + +== Signer == +enumeratesigners + +== Util == +createmultisig nrequired ["key",...] ( "address_type" ) +deriveaddresses "descriptor" ( range ) +estimatesmartfee conf_target ( "estimate_mode" ) +getdescriptorinfo "descriptor" +getindexinfo ( "index_name" ) +signmessagewithprivkey "privkey" "message" +validateaddress "address" +verifymessage "address" "signature" "message" + +== Wallet == +abandontransaction "txid" +abortrescan +addmultisigaddress nrequired ["key",...] ( "label" "address_type" ) +backupwallet "destination" +bumpfee "txid" ( options ) +createwallet "wallet_name" ( disable_private_keys blank "passphrase" avoid_reuse descriptors load_on_startup external_signer ) +dumpprivkey "address" +dumpwallet "filename" +encryptwallet "passphrase" +getaddressesbylabel "label" +getaddressinfo "address" +getbalance ( "dummy" minconf include_watchonly avoid_reuse ) +getbalances +getnewaddress ( "label" "address_type" ) +getrawchangeaddress ( "address_type" ) +getreceivedbyaddress "address" ( minconf include_immature_coinbase ) +getreceivedbylabel "label" ( minconf include_immature_coinbase ) +gettransaction "txid" ( include_watchonly verbose ) +getunconfirmedbalance +getwalletinfo +importaddress "address" ( "label" rescan p2sh ) +importdescriptors requests +importmulti requests ( options ) +importprivkey "privkey" ( "label" rescan ) +importprunedfunds "rawtransaction" "txoutproof" +importpubkey "pubkey" ( "label" rescan ) +importwallet "filename" +keypoolrefill ( newsize ) +listaddressgroupings +listdescriptors ( private ) +listlabels ( "purpose" ) +listlockunspent +listreceivedbyaddress ( minconf include_empty include_watchonly "address_filter" include_immature_coinbase ) +listreceivedbylabel ( minconf include_empty include_watchonly include_immature_coinbase ) +listsinceblock ( "blockhash" target_confirmations include_watchonly include_removed include_change "label" ) +listtransactions ( "label" count skip include_watchonly ) +listunspent ( minconf maxconf ["address",...] include_unsafe query_options ) +listwalletdir +listwallets +loadwallet "filename" ( load_on_startup ) +lockunspent unlock ( [{"txid":"hex","vout":n},...] persistent ) +migratewallet ( "wallet_name" "passphrase" ) +newkeypool +psbtbumpfee "txid" ( options ) +removeprunedfunds "txid" +rescanblockchain ( start_height stop_height ) +restorewallet "wallet_name" "backup_file" ( load_on_startup ) +send [{"address":amount,...},{"data":"hex"},...] ( conf_target "estimate_mode" fee_rate options ) +sendall ["address",{"address":amount,...},...] ( conf_target "estimate_mode" fee_rate options ) +sendmany ( "" ) {"address":amount,...} ( minconf "comment" ["address",...] replaceable conf_target "estimate_mode" fee_rate verbose ) +sendtoaddress "address" amount ( "comment" "comment_to" subtractfeefromamount replaceable conf_target "estimate_mode" avoid_reuse fee_rate verbose ) +sethdseed ( newkeypool "seed" ) +setlabel "address" "label" +settxfee amount +setwalletflag "flag" ( value ) +signmessage "address" "message" +signrawtransactionwithwallet "hexstring" ( [{"txid":"hex","vout":n,"scriptPubKey":"hex","redeemScript":"hex","witnessScript":"hex","amount":amount},...] "sighashtype" ) +simulaterawtransaction ( ["rawtx",...] {"include_watchonly":bool,...} ) +unloadwallet ( "wallet_name" load_on_startup ) +upgradewallet ( version ) +walletcreatefundedpsbt ( [{"txid":"hex","vout":n,"sequence":n,"weight":n},...] ) [{"address":amount,...},{"data":"hex"},...] ( locktime options bip32derivs ) +walletdisplayaddress "address" +walletlock +walletpassphrase "passphrase" timeout +walletpassphrasechange "oldpassphrase" "newpassphrase" +walletprocesspsbt "psbt" ( sign "sighashtype" bip32derivs finalize ) + +== Zmq == +getzmqnotifications diff --git a/regtest/Cargo.toml b/regtest/Cargo.toml index 2d3c7c6..7560dd1 100644 --- a/regtest/Cargo.toml +++ b/regtest/Cargo.toml @@ -35,13 +35,17 @@ anyhow = "1.0.66" # Please note, in this crate the version features are mutally exclusive. # -# - `cargo test --all-features` is the same as `cargo test --features=v26_0` -# - `cargo test --no-default-features` uses `v26_0` also. +# - `cargo test --all-features` is the same as `cargo test --features=v27_1` +# - `cargo test --no-default-features` uses `v27_1` also. [features] # download is not supposed to be used directly only through selecting one of the version feature "download" = ["bitcoin_hashes", "flate2", "tar", "minreq", "zip"] # We support all minor releases (but only the latest patch release). +"27_1" = ["download", "27_0"] +"27_0" = ["download", "26_2"] +"26_2" = ["download", "26_1"] +"26_1" = ["download", "26_0"] "26_0" = ["download", "25_2"] "25_2" = ["download", "25_1"] "25_1" = ["download", "25_0"] @@ -65,7 +69,7 @@ anyhow = "1.0.66" [package.metadata.docs.rs] -features = ["download", "doc", "26_0"] +features = ["download", "doc", "26_2"] rustdoc-args = ["--cfg", "docsrs"] [patch.crates-io.bitcoind-json-rpc-client] diff --git a/regtest/sha256/bitcoin-core-26.1-SHA256SUMS b/regtest/sha256/bitcoin-core-26.1-SHA256SUMS new file mode 100644 index 0000000..2880aec --- /dev/null +++ b/regtest/sha256/bitcoin-core-26.1-SHA256SUMS @@ -0,0 +1,27 @@ +401c093314fb517d801d4930155e5bf9fb67f45408fa81fda8dd44dd5cd915b6 bitcoin-26.1-aarch64-linux-gnu-debug.tar.gz +e198461d981b675d39caaec4d5e69e79d7fd52c3d3508f5821e2effe7d4f12c2 bitcoin-26.1-aarch64-linux-gnu.tar.gz +f515ac510dc685a8466ca09c2180b60c0be2e7eb24b46aaf80e7e3e3fa650e37 bitcoin-26.1-arm-linux-gnueabihf-debug.tar.gz +7e655c8fd72277f6b3467ae2330e5b24913f5e06089ffb24ec4464d961d5e0c2 bitcoin-26.1-arm-linux-gnueabihf.tar.gz +8f0bdc51733a94f83cb96a215943291de64b501bbe0298a9b897f79d8ad517e9 bitcoin-26.1-arm64-apple-darwin.zip +ac5ec560807023d33ea4a5d01c61b7ea8ba9d1756fda1408d96f5c403d3bafbe bitcoin-26.1-arm64-apple-darwin-unsigned.tar.gz +2d180af4902519f88252b973f054fbac656232aed420ab60663a7944a3864a31 bitcoin-26.1-arm64-apple-darwin-unsigned.zip +8a8e415763b7ffd5988153cf03967d812eca629016dd3b0ddf6da3ab6f4a3621 bitcoin-26.1-arm64-apple-darwin.tar.gz +fe57b905ecbb1793356315c947bfd60933cdce25940d9fbc7e8d94896a5e49af bitcoin-26.1-codesignatures-26.1.tar.gz +9164ee5d717b4a20cb09f0496544d9d32f365734814fe399f5cdb4552a9b35ee bitcoin-26.1.tar.gz +646538125b7575db2bbecf22222353957b5ce625d94bc35a66ca1a6a3c3b754d bitcoin-26.1-powerpc64-linux-gnu-debug.tar.gz +d7ed4a32d0242a4183b34dcc223d6aa23d18dee31fe683636139b4532fda2f46 bitcoin-26.1-powerpc64-linux-gnu.tar.gz +16ec62a47413b0153c67e989ec6a80501ea23f027df680a30d30a32345bf36ac bitcoin-26.1-powerpc64le-linux-gnu-debug.tar.gz +574e82550b261db0826391b5b41c687235646b7c0179371f617ed3a61d142bab bitcoin-26.1-powerpc64le-linux-gnu.tar.gz +12675195b33a559a0152f3598eb42a93cdbaebaee3e3ecf58b13764ee3dbb423 bitcoin-26.1-riscv64-linux-gnu-debug.tar.gz +b05b6b10c4ec2bd9c2fb340d019397e55d592cd431fed3bc0acf4479964969d0 bitcoin-26.1-riscv64-linux-gnu.tar.gz +8fd415bfd0ba2d967d1fd03433b150e9b739a08f86c58c6d4dd0f8506a41fc12 bitcoin-26.1-x86_64-apple-darwin.zip +10a63e6ac62cfb8132ba94b88c597c1fa768185478759663541ee9e19fe02a99 bitcoin-26.1-x86_64-apple-darwin-unsigned.tar.gz +e6bedda1cd8b852df6885b2252d86547da645e2d9ade25aaf9ec28264b4aec5e bitcoin-26.1-x86_64-apple-darwin-unsigned.zip +acb50edd20692a9d023de12da573b64ca0fd9b4e9a2b88d1251020a3022b0f27 bitcoin-26.1-x86_64-apple-darwin.tar.gz +4c7fdad8f76458b91fe84c1f66f76ef0292b0de3d6408070c6ede104b36967c1 bitcoin-26.1-x86_64-linux-gnu-debug.tar.gz +a5b7d206384a8100058d3f2e2f02123a8e49e83f523499e70e86e121a4897d5b bitcoin-26.1-x86_64-linux-gnu.tar.gz +8ed4feeae2ab631f5f48e9f56c52a7bcf442501cf2f04c990f1e85b761314a67 bitcoin-26.1-win64-setup.exe +a0aaea3e7b2bab22dfe4a4cc33aef5bc23dccf2eda14e26f65872ed79af75f9f bitcoin-26.1-win64-debug.zip +946f92d27a6b05b09bd63e245208be639ff26699d2d4ab7d7c9f6e3649185982 bitcoin-26.1-win64-setup-unsigned.exe +b6f5b28de625c34e0bffee449cdb5324e36c6b80a1b92cb894f436ed8157842a bitcoin-26.1-win64-unsigned.tar.gz +7bd0849e47472aeff99a0ea2c0cefd98f5be829e5a2d3b0168b5a54456cc638a bitcoin-26.1-win64.zip diff --git a/regtest/sha256/bitcoin-core-26.2-SHA256SUMS b/regtest/sha256/bitcoin-core-26.2-SHA256SUMS new file mode 100644 index 0000000..97b722d --- /dev/null +++ b/regtest/sha256/bitcoin-core-26.2-SHA256SUMS @@ -0,0 +1,27 @@ +49521ec94ebb523b49007a96eb18c1ab7c650c28222203104d17cdb569c58ded bitcoin-26.2-aarch64-linux-gnu-debug.tar.gz +f9d723aec022b9a857f27a76fc3500f8d82ce02ca496e0d907c07081437204c8 bitcoin-26.2-aarch64-linux-gnu.tar.gz +b5bc5a35e3bef4ee2633563df57e38b83cd1103f259a7844dc7e283049986fb0 bitcoin-26.2-arm-linux-gnueabihf-debug.tar.gz +4b767fe48867825b9e1efa8ef16570410adeb099869103eaec99b664708118d6 bitcoin-26.2-arm-linux-gnueabihf.tar.gz +d3f8f9a8da2ff6c0f7d29646c23c0028c6042bbcda35c28830ce6511c840d9c0 bitcoin-26.2-arm64-apple-darwin.zip +0d104144ee3888fbf4ac0cb01c087966625025a70394852a9db33425debce4e9 bitcoin-26.2-arm64-apple-darwin-unsigned.tar.gz +edd5e07d0b99a05d88b79f6f19e8619a24a27e27225232f3b904db567644a7d5 bitcoin-26.2-arm64-apple-darwin-unsigned.zip +863960b4f78130ebb9a5e7f68e5cc021778892ff9b3f8b060056c485470640d5 bitcoin-26.2-arm64-apple-darwin.tar.gz +633fa765be8b371ef9dc174803dd7b2d716855f4c87e8f27e9ade0b588b9030a bitcoin-26.2-codesignatures-26.2.tar.gz +78d59418741f45cbdaa9bf20ebc49a5e95ff9f7172f72fc78d14307eaf341b3c bitcoin-26.2.tar.gz +a4cebb8873f05609b10763c35a32da8f798db55676c669e3d64249fecc7f1409 bitcoin-26.2-powerpc64-linux-gnu-debug.tar.gz +3fe1350951e72be109ce28d679776cb8f630d0db39a5b1c342856e0527478142 bitcoin-26.2-powerpc64-linux-gnu.tar.gz +015b925c04590fbe8d198e5bf2d5a5903efdbd71a052df94a836390cbbd9283b bitcoin-26.2-powerpc64le-linux-gnu-debug.tar.gz +0344a286b16c117d486dcd2e721a055072b77bab7cfa542ab6c22268591de1f6 bitcoin-26.2-powerpc64le-linux-gnu.tar.gz +bf12bcc0aeae60abf51841a14b67c48fdca5ee8e276d1bd72a76867e5825cc45 bitcoin-26.2-riscv64-linux-gnu-debug.tar.gz +60bf104a6467d105439507526be0ebee47cc0436a831562a4253e4e113af3a21 bitcoin-26.2-riscv64-linux-gnu.tar.gz +dd83901d294e7d9de150a85cffd1aadb2d674c15e8b23473e8d3770e21df5ef5 bitcoin-26.2-x86_64-apple-darwin.zip +f238818530a9c0cbc1ad6d5ece3099a3eb324a407b4742ab9baf127e084e1774 bitcoin-26.2-x86_64-apple-darwin-unsigned.tar.gz +a6efec89816073246d40b29b5bb4ec3426f624c7e1a16252cba3f60ca8cac896 bitcoin-26.2-x86_64-apple-darwin-unsigned.zip +8a15491cb1ea1a11c667b31606563e3a325e0ae1ff250e86a8453630f3c966f1 bitcoin-26.2-x86_64-apple-darwin.tar.gz +bb60a33684301e5848f21e573f18440ac1a8cc5ed711372766c8174b4f33ba04 bitcoin-26.2-x86_64-linux-gnu-debug.tar.gz +77c63bec845b318c07f3a7660c579f63da18b58d25699ab8b8df6034e8ed55c0 bitcoin-26.2-x86_64-linux-gnu.tar.gz +f9e359602e138681cb652013901dd9c5d9341b9da2507e7180bc35c8db13e288 bitcoin-26.2-win64-setup.exe +0ec3e2e1c3a198612c3ce97b279fdebe85cf47ac8caf3e34395988d51e8249b2 bitcoin-26.2-win64-debug.zip +1d9d030f1b7f105ed3d58a52c9285d4f175f9d89b1eedacb0515c55a01b7023c bitcoin-26.2-win64-setup-unsigned.exe +0232ae5c288a1c2ccc3d0966da2162f7f9998f5fc947a3febf2f1f9ec77fbea0 bitcoin-26.2-win64-unsigned.tar.gz +9251aa806244ac176d09bbe0a3808247d791e48ce3a6b6256adfdd14d9135e0f bitcoin-26.2-win64.zip diff --git a/regtest/sha256/bitcoin-core-27.0-SHA256SUMS b/regtest/sha256/bitcoin-core-27.0-SHA256SUMS new file mode 100644 index 0000000..b4d9124 --- /dev/null +++ b/regtest/sha256/bitcoin-core-27.0-SHA256SUMS @@ -0,0 +1,27 @@ +dcd49a8e3711d867c4ad5d7ffbc1ff20f66c82cc8bf660b5f6964eeaa289a739 bitcoin-27.0-aarch64-linux-gnu-debug.tar.gz +cb35e250ae9d0328aa90e7aad0b877ed692597420a1092e8ab1a5dd756209722 bitcoin-27.0-aarch64-linux-gnu.tar.gz +61e1225d9c00b50c2e1712e722b285b6e4de1f1dd9da969596511b8a8986c1f0 bitcoin-27.0-arm-linux-gnueabihf-debug.tar.gz +9d4c28e7620d03bf346ebea388f222e4d6d2b996d7eb32fab72707b8320d5249 bitcoin-27.0-arm-linux-gnueabihf.tar.gz +7f060f2cd07746ff9d09b000b4195fee88dfca8444ab7a73f0c76aff4225227c bitcoin-27.0-arm64-apple-darwin.zip +d1ddb2855a6c76ab4d2cc31315303cba77ef44fdd877b01ffd5918e548b07cae bitcoin-27.0-arm64-apple-darwin-unsigned.tar.gz +48d47cf0944034d7ef288f24ce73a6e2f85a9b6199dad5425464dd589ecf96e9 bitcoin-27.0-arm64-apple-darwin-unsigned.zip +1d9d9b837297a73fc7a3b1cfed376644e3fa25c4e1672fbc143d5946cb52431d bitcoin-27.0-arm64-apple-darwin.tar.gz +d22f0f8b2d9eb8eac0819d5ebc4b3c4c5f5984cf6e0acefa81ebc6e914938293 bitcoin-27.0-codesignatures-27.0.tar.gz +9c1ee651d3b157baccc3388be28b8cf3bfcefcd2493b943725ad6040ca6b146b bitcoin-27.0.tar.gz +837c72fea5ceca69b3d06870dd4926c011dec7924f3f8f3428b2153945bbbb4a bitcoin-27.0-powerpc64-linux-gnu-debug.tar.gz +6ceaedb59ca33b751387b15f2c8da7f2f7cd2739c6464fc6cbef440852869b92 bitcoin-27.0-powerpc64-linux-gnu.tar.gz +81102572b0aee8627b162680699ce1d2828908cc4dd317e34697404ac04220fa bitcoin-27.0-powerpc64le-linux-gnu-debug.tar.gz +3c00f81a7c67b4cf3e382fae7eaa2c7facea2dfdf39f4c281512237c06b71960 bitcoin-27.0-powerpc64le-linux-gnu.tar.gz +7274aedbfc363adc28d3b19340e4578b983cfbd617f328313fb5b95e24864799 bitcoin-27.0-riscv64-linux-gnu-debug.tar.gz +371e53b21c3ba29a90e69c30b7213d75c165d084bde50ae6d73ee0e1ef179e68 bitcoin-27.0-riscv64-linux-gnu.tar.gz +8c94d3a7e34b59effdcf283263d5e84f2b009e601076282e9697ab4244bef3e8 bitcoin-27.0-x86_64-apple-darwin.zip +8cdabb19c0b2464ec21306615e0429362b6de9b73d5e796dc4dbc82437e76ddd bitcoin-27.0-x86_64-apple-darwin-unsigned.tar.gz +0b347bd2474eab483ee24e1751a2de3e37260826bf71340eaad233f6017af306 bitcoin-27.0-x86_64-apple-darwin-unsigned.zip +e1efd8c4605b2aabc876da93b6eee2bedd868ce7d1f02b0220c1001f903b3e2c bitcoin-27.0-x86_64-apple-darwin.tar.gz +3d9ed703ceaeba9d234d05bf7ae20dde48fb52287eae236e8c2b2021a8db0fbc bitcoin-27.0-x86_64-linux-gnu-debug.tar.gz +2a6974c5486f528793c79d42694b5987401e4a43c97f62b1383abf35bcee44a8 bitcoin-27.0-x86_64-linux-gnu.tar.gz +a2aa3db390a768383e8556878250a44f3eb3b7a6e91e94e47fa35c06b6e8d09f bitcoin-27.0-win64-setup.exe +33fadef48835acf9b2dfda42b2d2015f30403608dc8af7a3f3dd2b9ec224e56e bitcoin-27.0-win64-debug.zip +e8114ed85a976ff439bd78cbf026e3f9bfafdf40d0fe75121e73bd4b7af347a4 bitcoin-27.0-win64-setup-unsigned.exe +1578aa2b88427086336e6990e4ce9b752d3d83b34b38ecc29f6325abb6ad3694 bitcoin-27.0-win64-unsigned.tar.gz +ca75babeaa3fb75f5a166f544adaa93fd7c1f06cf20d4e2c8c2a8b010f4c7603 bitcoin-27.0-win64.zip diff --git a/regtest/sha256/bitcoin-core-27.1-SHA256SUMS b/regtest/sha256/bitcoin-core-27.1-SHA256SUMS new file mode 100644 index 0000000..8cd5d1c --- /dev/null +++ b/regtest/sha256/bitcoin-core-27.1-SHA256SUMS @@ -0,0 +1,27 @@ +438bc93fb78b2063036920ca00e85398c31acbf4e7e92f47e8e37facfb62ce8c bitcoin-27.1-aarch64-linux-gnu-debug.tar.gz +bb878df4f8ff8fb8acfb94207c50f959c462c39e652f507c2a2db20acc6a1eee bitcoin-27.1-aarch64-linux-gnu.tar.gz +2355ba267820ef0e5114fc50658a04766d6bc51aa51a1a339e74afcefce150ca bitcoin-27.1-arm-linux-gnueabihf-debug.tar.gz +83bf6da65ebac189c7e14f1e68a758b32b8f83558b36b53a8cc8037c674ab045 bitcoin-27.1-arm-linux-gnueabihf.tar.gz +06bf5d34aef01f21dac88708efa32d5e673c3ce1c8f17b1ca34b0e517ed8e43f bitcoin-27.1-arm64-apple-darwin.zip +1372fad4fa8b2a5284cf54279cd3bf41399526e59e2e76d88f08423d9587a0f5 bitcoin-27.1-arm64-apple-darwin-unsigned.tar.gz +b91767a820ccc3f5149a921249c95a4f06d2a4832db5fa1c02178282c0335b22 bitcoin-27.1-arm64-apple-darwin-unsigned.zip +ad4a3fd484077224a82dd56d194efb6e614467f413ab1dfb8776da4d08a4c227 bitcoin-27.1-arm64-apple-darwin.tar.gz +bce6f981c198c616dcedd802bfda7693ec5a8a04aa57804edfad94305f7796b0 bitcoin-27.1-codesignatures-27.1.tar.gz +0c1051fd921b8fae912f5c2dfd86b085ab45baa05cd7be4585b10b4d1818f3da bitcoin-27.1.tar.gz +3a058dbefa68439b0c4f54f4c71f135c6ff2bb46469e09550f1d599a64568d96 bitcoin-27.1-powerpc64-linux-gnu-debug.tar.gz +69dbc7ca9a676f1471c88cf078cd559447ce47ad325a965331edaee846685fdb bitcoin-27.1-powerpc64-linux-gnu.tar.gz +418f298ab96599986a3c2abc4e5c73f6c3727b1de11d4e26f539c4fdc57e8973 bitcoin-27.1-powerpc64le-linux-gnu-debug.tar.gz +f22157123133da4a91439e7e115191a08087fe71d000aa7c445df588cfcd5113 bitcoin-27.1-powerpc64le-linux-gnu.tar.gz +19ed4f547e7ff67b81feb97a610b56c93c7176674aef661e5e72133f33a7a6ec bitcoin-27.1-riscv64-linux-gnu-debug.tar.gz +192a16de497d52ec15aab95aea0c049b8c485a796dfdee41cec38b0be6926c24 bitcoin-27.1-riscv64-linux-gnu.tar.gz +25445080e2616d7c621f48f51e7a4294698d92016ef27ab88608cbe824f93364 bitcoin-27.1-x86_64-apple-darwin.zip +79eb9d48d9439f3479d1a678e872a23376b35299c28e19a94298ef552e2c1df8 bitcoin-27.1-x86_64-apple-darwin-unsigned.tar.gz +01d6a0159012df214125a2a5f25bd9fe0035074a13ed8d293a854ddd1d2d7176 bitcoin-27.1-x86_64-apple-darwin-unsigned.zip +6d94bde5541a18964c1c36b0f12334004e45e195f244e381fd459827b1fdc395 bitcoin-27.1-x86_64-apple-darwin.tar.gz +8abc5bd792b729097dcd664b6ef814e0bd3f9ae6bf3e8386dab2fb38504fd7fc bitcoin-27.1-x86_64-linux-gnu-debug.tar.gz +c9840607d230d65f6938b81deaec0b98fe9cb14c3a41a5b13b2c05d044a48422 bitcoin-27.1-x86_64-linux-gnu.tar.gz +e8ab7a8161c5a0846c81275809c9f90302874cc71b4378dee540f0b380a6d049 bitcoin-27.1-win64-setup.exe +baa0153e8b08526ed1d1008234a00eea0537dba28bff2d6a7ced451e056ffd05 bitcoin-27.1-win64-debug.zip +a598fd0b7740f809fc005aceeccf43f50e04d68f494a1797a38f415975df12da bitcoin-27.1-win64-setup-unsigned.exe +db285fcaea11b7e705b4acb3307840e27b68ae8c5a9a2c188c486403db20f6b1 bitcoin-27.1-win64-unsigned.tar.gz +9719871a2c9a45c741e33d670d2319dcd3f8f52a6059e9c435a9a2841188b932 bitcoin-27.1-win64.zip diff --git a/regtest/src/client_versions.rs b/regtest/src/client_versions.rs index ae854c1..82c40be 100644 --- a/regtest/src/client_versions.rs +++ b/regtest/src/client_versions.rs @@ -1,11 +1,28 @@ -// All features uses 26_0 +// All features uses 26_2 /// The version specific client and json types. /// /// **THIS IS AVAILABLE FOR ALL VERSION NUMBER FEATURES** (eg `25_0`, `24_2` etc). This crate is /// unusual in that it expects exactly one version number feature to be selected, docs.rs is not set /// up to handle such oddity. /// -#[cfg(feature = "26_0")] + +#[cfg(feature = "27_1")] +#[allow(unused_imports)] // Not all users need the json types. +pub use bitcoind_json_rpc_client::{client_sync::v27::{Client, AddressType}, json::v27 as json}; + +#[cfg(all(feature = "27_0", not(feature = "27_1")))] +#[allow(unused_imports)] // Not all users need the json types. +pub use bitcoind_json_rpc_client::{client_sync::v27::{Client, AddressType}, json::v27 as json}; + +#[cfg(all(feature = "26_2", not(feature = "27_0")))] +#[allow(unused_imports)] // Not all users need the json types. +pub use bitcoind_json_rpc_client::{client_sync::v26::{Client, AddressType}, json::v26 as json}; + +#[cfg(all(feature = "26_1", not(feature = "26_2")))] +#[allow(unused_imports)] // Not all users need the json types. +pub use bitcoind_json_rpc_client::{client_sync::v26::{Client, AddressType}, json::v26 as json}; + +#[cfg(all(feature = "26_0", not(feature = "26_1")))] #[allow(unused_imports)] // Not all users need the json types. pub use bitcoind_json_rpc_client::{client_sync::v26::{Client, AddressType}, json::v26 as json}; @@ -74,6 +91,6 @@ pub use bitcoind_json_rpc_client::{client_sync::v18::{Client, AddressType}, json pub use bitcoind_json_rpc_client::{client_sync::v17::{Client, AddressType}, json::v17 as json}; // To make --no-default-features work we have to re-export a the types, use most recent version same as we do for all features. -#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feature = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] +#[cfg(all(not(feature = "27_1"), not(feature = "27_0"), not(feature = "26_2"), not(feature = "26_1"), not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feature = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] #[allow(unused_imports)] // Not all users need the json types. -pub use bitcoind_json_rpc_client::{client_sync::v26::{Client, AddressType}, json::v26 as json}; +pub use bitcoind_json_rpc_client::{client_sync::v27::{Client, AddressType}, json::v27 as json}; diff --git a/regtest/src/versions.rs b/regtest/src/versions.rs index 1c5767c..33cedfd 100644 --- a/regtest/src/versions.rs +++ b/regtest/src/versions.rs @@ -1,4 +1,16 @@ -#[cfg(feature = "26_0")] +#[cfg(feature = "27_1")] +pub const VERSION: &str = "27.1"; + +#[cfg(all(feature = "27_0", not(feature = "27_1")))] +pub const VERSION: &str = "27.0"; + +#[cfg(all(feature = "26_2", not(feature = "27_0")))] +pub const VERSION: &str = "26.2"; + +#[cfg(all(feature = "26_1", not(feature = "26_2")))] +pub const VERSION: &str = "26.1"; + +#[cfg(all(feature = "26_0", not(feature = "26_1")))] pub const VERSION: &str = "26.0"; #[cfg(all(feature = "25_2", not(feature = "26_0")))] @@ -50,6 +62,6 @@ pub const VERSION: &str = "0.18.1"; pub const VERSION: &str = "0.17.1"; // To make --no-default-features work we have to enable some feature, use most recent version same as for default. -#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feature = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] +#[cfg(all(not(feature = "27_1"), not(feature = "27_0"), not(feature = "26_2"), not(feature = "26_1"), not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feature = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] #[allow(dead_code)] // for --no-default-features -pub const VERSION: &str = "26.0"; +pub const VERSION: &str = "27.1";