diff --git a/client/src/client_sync/v17/wallet.rs b/client/src/client_sync/v17/wallet.rs
index a9332c98..75f39712 100644
--- a/client/src/client_sync/v17/wallet.rs
+++ b/client/src/client_sync/v17/wallet.rs
@@ -560,7 +560,11 @@ macro_rules! impl_client_v17__send_many {
impl Client {
pub fn send_many(&self, amounts: BTreeMap
) -> Result {
let dummy = ""; // Must be set to "" for backwards compatibility.
- self.call("sendmany", &[into_json(dummy)?, into_json(amounts)?])
+ let amount_btc: BTreeMap = amounts
+ .into_iter()
+ .map(|(addr, amount)| (addr.to_string(), amount.to_btc()))
+ .collect();
+ self.call("sendmany", &[into_json(dummy)?, into_json(amount_btc)?])
}
}
};
diff --git a/client/src/client_sync/v21/mod.rs b/client/src/client_sync/v21/mod.rs
index c6ddf9f2..c2ada750 100644
--- a/client/src/client_sync/v21/mod.rs
+++ b/client/src/client_sync/v21/mod.rs
@@ -172,6 +172,7 @@ crate::impl_client_v17__remove_pruned_funds!();
crate::impl_client_v17__rescan_blockchain!();
crate::impl_client_v21__send!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v21/wallet.rs b/client/src/client_sync/v21/wallet.rs
index 7a832e6a..43f344b5 100644
--- a/client/src/client_sync/v21/wallet.rs
+++ b/client/src/client_sync/v21/wallet.rs
@@ -98,6 +98,48 @@ macro_rules! impl_client_v21__send {
};
}
+/// Implements Bitcoin Core JSON-RPC API method `sendmany` with `verbose=true` (v21+).
+#[macro_export]
+macro_rules! impl_client_v21__send_many_verbose {
+ () => {
+ impl Client {
+ pub fn send_many_verbose(
+ &self,
+ amounts: BTreeMap,
+ ) -> Result {
+ let dummy = ""; // Backwards compatibility dummy.
+ let amount_btc: BTreeMap = amounts
+ .into_iter()
+ .map(|(addr, amount)| (addr.to_string(), amount.to_btc()))
+ .collect();
+ let minconf = 1u64;
+ let comment = "";
+ let subtract_fee_from: Vec = Vec::new();
+ let replaceable = true;
+ let conf_target = 1u64;
+ let estimate_mode = "unset";
+ let fee_rate = serde_json::Value::Null;
+ let verbose = true;
+ self.call(
+ "sendmany",
+ &[
+ into_json(dummy)?,
+ into_json(amount_btc)?,
+ minconf.into(),
+ comment.into(),
+ into_json(subtract_fee_from)?,
+ replaceable.into(),
+ conf_target.into(),
+ estimate_mode.into(),
+ fee_rate,
+ verbose.into(),
+ ],
+ )
+ }
+ }
+ };
+}
+
/// Implements Bitcoin Core JSON-RPC API method `unloadwallet`.
#[macro_export]
macro_rules! impl_client_v21__unload_wallet {
diff --git a/client/src/client_sync/v22/mod.rs b/client/src/client_sync/v22/mod.rs
index d65eeeb1..6d32b66f 100644
--- a/client/src/client_sync/v22/mod.rs
+++ b/client/src/client_sync/v22/mod.rs
@@ -174,6 +174,7 @@ crate::impl_client_v17__remove_pruned_funds!();
crate::impl_client_v17__rescan_blockchain!();
crate::impl_client_v21__send!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v23/mod.rs b/client/src/client_sync/v23/mod.rs
index c0230fb4..8cc0102e 100644
--- a/client/src/client_sync/v23/mod.rs
+++ b/client/src/client_sync/v23/mod.rs
@@ -179,6 +179,7 @@ crate::impl_client_v17__rescan_blockchain!();
crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v24/mod.rs b/client/src/client_sync/v24/mod.rs
index b629c6f9..49f4a804 100644
--- a/client/src/client_sync/v24/mod.rs
+++ b/client/src/client_sync/v24/mod.rs
@@ -182,6 +182,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v25/mod.rs b/client/src/client_sync/v25/mod.rs
index f25658b4..36ecc2cc 100644
--- a/client/src/client_sync/v25/mod.rs
+++ b/client/src/client_sync/v25/mod.rs
@@ -183,6 +183,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v26/mod.rs b/client/src/client_sync/v26/mod.rs
index da68a44d..f7fd02f2 100644
--- a/client/src/client_sync/v26/mod.rs
+++ b/client/src/client_sync/v26/mod.rs
@@ -192,6 +192,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v27/mod.rs b/client/src/client_sync/v27/mod.rs
index 5f383785..a4c9f449 100644
--- a/client/src/client_sync/v27/mod.rs
+++ b/client/src/client_sync/v27/mod.rs
@@ -186,6 +186,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v28/mod.rs b/client/src/client_sync/v28/mod.rs
index bad5dfa3..5c2c24bf 100644
--- a/client/src/client_sync/v28/mod.rs
+++ b/client/src/client_sync/v28/mod.rs
@@ -191,6 +191,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/client/src/client_sync/v29/mod.rs b/client/src/client_sync/v29/mod.rs
index 3ff9ddda..d8754589 100644
--- a/client/src/client_sync/v29/mod.rs
+++ b/client/src/client_sync/v29/mod.rs
@@ -191,6 +191,7 @@ crate::impl_client_v23__restore_wallet!();
crate::impl_client_v21__send!();
crate::impl_client_v24__send_all!();
crate::impl_client_v17__send_many!();
+crate::impl_client_v21__send_many_verbose!();
crate::impl_client_v17__send_to_address!();
crate::impl_client_v17__set_hd_seed!();
crate::impl_client_v17__set_tx_fee!();
diff --git a/integration_test/tests/wallet.rs b/integration_test/tests/wallet.rs
index e2cdcb87..830b5ad0 100644
--- a/integration_test/tests/wallet.rs
+++ b/integration_test/tests/wallet.rs
@@ -857,6 +857,33 @@ fn wallet__unload_wallet() {
create_load_unload_wallet();
}
+#[test]
+fn wallet__send_many__modelled() {
+ let node = Node::with_wallet(Wallet::Default, &[]);
+ node.fund_wallet();
+
+ let addr1 = node.client.new_address().expect("newaddress");
+ let addr2 = node.client.new_address().expect("newaddress");
+
+ let mut amounts = BTreeMap::new();
+ amounts.insert(addr1, Amount::from_sat(100_000));
+ amounts.insert(addr2, Amount::from_sat(100_000));
+
+ let json: SendMany = node.client.send_many(amounts.clone()).expect("sendmany");
+ let model: Result = json.into_model();
+ model.unwrap();
+
+ #[cfg(not(feature = "v20_and_below"))]
+ {
+ let json_verbose: SendManyVerbose = node
+ .client
+ .send_many_verbose(amounts)
+ .expect("sendmany verbose");
+ let model_verbose: Result = json_verbose.into_model();
+ model_verbose.unwrap();
+ }
+}
+
#[cfg(not(feature = "v20_and_below"))]
#[test]
fn wallet__send__modelled() {
diff --git a/types/src/model/mod.rs b/types/src/model/mod.rs
index 5b2bb536..7936c509 100644
--- a/types/src/model/mod.rs
+++ b/types/src/model/mod.rs
@@ -60,8 +60,8 @@ pub use self::{
ListLockUnspentItem, ListReceivedByAddress, ListReceivedByAddressItem, ListReceivedByLabel,
ListReceivedByLabelItem, ListSinceBlock, ListSinceBlockTransaction, ListTransactions,
ListTransactionsItem, ListUnspent, ListUnspentItem, ListWallets, LoadWallet, PsbtBumpFee,
- RescanBlockchain, ScriptType, Send, SendAll, SendMany, SendToAddress, SignMessage,
- SimulateRawTransaction, TransactionCategory, UnloadWallet, WalletCreateFundedPsbt,
- WalletDisplayAddress, WalletProcessPsbt,
+ RescanBlockchain, ScriptType, Send, SendAll, SendMany, SendManyVerbose, SendToAddress,
+ SignMessage, SimulateRawTransaction, TransactionCategory, UnloadWallet,
+ WalletCreateFundedPsbt, WalletDisplayAddress, WalletProcessPsbt,
},
};
diff --git a/types/src/model/wallet.rs b/types/src/model/wallet.rs
index 0b59a125..004bf97d 100644
--- a/types/src/model/wallet.rs
+++ b/types/src/model/wallet.rs
@@ -808,6 +808,16 @@ pub struct SendAll {
#[serde(deny_unknown_fields)]
pub struct SendMany(pub Txid);
+/// Models the verbose result of JSON-RPC method `sendmany` when `verbose=true`.
+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
+#[serde(deny_unknown_fields)]
+pub struct SendManyVerbose {
+ /// The transaction id for the send. Only 1 transaction is created regardless of the number of addresses.
+ pub txid: Txid,
+ /// The transaction fee reason.
+ pub fee_reason: String,
+}
+
/// Models the result of JSON-RPC method `sendtoaddress`.
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
diff --git a/types/src/v17/mod.rs b/types/src/v17/mod.rs
index c7f64972..9b000e33 100644
--- a/types/src/v17/mod.rs
+++ b/types/src/v17/mod.rs
@@ -195,7 +195,7 @@
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
//! | sendfrom | returns nothing | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | setaccount | returns nothing | |
//! | sethdseed | returns nothing | |
diff --git a/types/src/v18/mod.rs b/types/src/v18/mod.rs
index 217ceafd..2188e572 100644
--- a/types/src/v18/mod.rs
+++ b/types/src/v18/mod.rs
@@ -197,7 +197,7 @@
//! | lockunspent | version | |
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
diff --git a/types/src/v19/mod.rs b/types/src/v19/mod.rs
index 937d50fb..6ba19c4d 100644
--- a/types/src/v19/mod.rs
+++ b/types/src/v19/mod.rs
@@ -198,7 +198,7 @@
//! | lockunspent | version | |
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
diff --git a/types/src/v20/mod.rs b/types/src/v20/mod.rs
index 7d1587fd..992f3568 100644
--- a/types/src/v20/mod.rs
+++ b/types/src/v20/mod.rs
@@ -199,7 +199,7 @@
//! | lockunspent | version | |
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
diff --git a/types/src/v21/mod.rs b/types/src/v21/mod.rs
index 97077b37..385d70c9 100644
--- a/types/src/v21/mod.rs
+++ b/types/src/v21/mod.rs
@@ -204,7 +204,7 @@
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
//! | send | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -256,7 +256,7 @@ pub use self::{
util::{GetIndexInfo, GetIndexInfoName},
wallet::{
ImportDescriptors, ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError,
- UnloadWallet, UpgradeWallet,
+ SendMany, SendManyVerbose, UnloadWallet, UpgradeWallet,
},
};
#[doc(inline)]
@@ -285,11 +285,11 @@ pub use crate::{
ListSinceBlockTransactionError, ListTransactions, ListTransactionsItem,
ListTransactionsItemError, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent,
Locked, PruneBlockchain, RawTransactionError, RawTransactionInput, RawTransactionOutput,
- RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress,
- SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
- SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
- ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
- WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo,
+ RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive,
+ SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError,
+ SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError,
+ VerifyChain, VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt,
+ WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
diff --git a/types/src/v21/wallet/into.rs b/types/src/v21/wallet/into.rs
index fcd5a7cf..b2c502fc 100644
--- a/types/src/v21/wallet/into.rs
+++ b/types/src/v21/wallet/into.rs
@@ -1,6 +1,10 @@
// SPDX-License-Identifier: CC0-1.0
-use super::{PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UnloadWallet};
+use bitcoin::{hex, Txid};
+
+use super::{
+ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, UnloadWallet,
+};
use crate::model;
impl UnloadWallet {
@@ -42,3 +46,19 @@ impl Send {
Ok(model::Send { complete: self.complete, txid, hex, psbt })
}
}
+
+impl SendMany {
+ /// Converts version specific type to a version nonspecific, more strongly typed type.
+ pub fn into_model(self) -> Result {
+ let txid = self.0.parse::()?;
+ Ok(model::SendMany(txid))
+ }
+}
+
+impl SendManyVerbose {
+ /// Converts version specific type to a version nonspecific, more strongly typed type.
+ pub fn into_model(self) -> Result {
+ let txid = self.txid.parse::()?;
+ Ok(model::SendManyVerbose { txid, fee_reason: self.fee_reason })
+ }
+}
diff --git a/types/src/v21/wallet/mod.rs b/types/src/v21/wallet/mod.rs
index 6004e25f..f56e619b 100644
--- a/types/src/v21/wallet/mod.rs
+++ b/types/src/v21/wallet/mod.rs
@@ -109,6 +109,36 @@ pub struct Send {
pub psbt: Option,
}
+/// Result of JSON-RPC method `sendmany` when `verbose=false`.
+///
+/// > sendmany "" {"address":amount}
+/// >
+/// > Send multiple times. Amounts are double-precision floating point numbers.
+/// > Requires wallet passphrase to be set with walletpassphrase call if wallet is encrypted.
+/// >
+/// > Arguments:
+/// > 1. dummy (string, required) Must be set to "" for backwards compatibility.
+/// > 2. amounts (json object, required) The addresses and amounts
+/// > { "address": amount, (numeric or string, required) The bitcoin address is the key, the numeric amount (can be string) in BTC is the value }
+/// > ...
+/// > 10. verbose (boolean, optional, default=false) If true, return extra infomration about the transaction.
+#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
+#[serde(deny_unknown_fields)]
+pub struct SendMany(
+ /// The transaction id for the send.
+ pub String,
+);
+
+/// Result of JSON-RPC method `sendmany` when `verbose=true`.
+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
+#[serde(deny_unknown_fields)]
+pub struct SendManyVerbose {
+ /// The transaction id for the send. Only 1 transaction is created regardless of the number of addresses.
+ pub txid: String,
+ /// The transaction fee reason.
+ pub fee_reason: String,
+}
+
/// Result of the JSON-RPC method `unloadwallet`.
///
/// > unloadwallet ( "wallet_name" load_on_startup )
diff --git a/types/src/v22/mod.rs b/types/src/v22/mod.rs
index e47f0f47..294168f0 100644
--- a/types/src/v22/mod.rs
+++ b/types/src/v22/mod.rs
@@ -214,7 +214,7 @@
//! | removeprunedfunds | returns nothing | |
//! | rescanblockchain | version + model | |
//! | send | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -287,7 +287,7 @@ pub use crate::{
ListSinceBlockError, ListSinceBlockTransaction, ListSinceBlockTransactionError,
ListTransactions, ListTransactionsItem, ListTransactionsItemError, ListUnspentItemError,
ListWallets, LoadWallet, LockUnspent, Locked, PruneBlockchain, RawTransactionError,
- RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, SendMany,
+ RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType,
SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignMessage,
SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SoftforkReject,
TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain,
@@ -317,7 +317,7 @@ pub use crate::{
GetIndexInfoName, GetMempoolAncestors, GetMempoolAncestorsVerbose, GetMempoolDescendants,
GetMempoolDescendantsVerbose, GetMempoolEntry, GetNetworkInfo, ImportDescriptors,
ImportDescriptorsResult, MempoolEntry, PsbtBumpFee, PsbtBumpFeeError, Send, SendError,
- Softfork, SoftforkType, UnloadWallet, UpgradeWallet,
+ SendMany, SendManyVerbose, Softfork, SoftforkType, UnloadWallet, UpgradeWallet,
},
ScriptPubkey,
};
diff --git a/types/src/v23/mod.rs b/types/src/v23/mod.rs
index 5135eb91..544357ea 100644
--- a/types/src/v23/mod.rs
+++ b/types/src/v23/mod.rs
@@ -207,7 +207,7 @@
//! | rescanblockchain | version + model | |
//! | restorewallet | version | |
//! | send | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -285,12 +285,11 @@ pub use crate::{
ListSinceBlockTransaction, ListSinceBlockTransactionError, ListTransactions,
ListTransactionsItem, ListTransactionsItemError, ListUnspentItemError, ListWallets,
LoadWallet, LockUnspent, Locked, PruneBlockchain, RawTransactionError, RawTransactionInput,
- RawTransactionOutput, RescanBlockchain, ScriptType, SendMany, SendRawTransaction,
- SendToAddress, SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey,
- SignRawTransaction, SignRawTransactionError, SoftforkReject, TransactionCategory,
- UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage,
- VerifyTxOutProof, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt,
- WitnessUtxo,
+ RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress,
+ SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
+ SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
+ ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
+ WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -311,7 +310,7 @@ pub use crate::{
v21::{
AddPeerAddress, GenerateBlock, GetIndexInfo, GetIndexInfoName, GetNetworkInfo,
ImportDescriptors, ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError,
- UnloadWallet, UpgradeWallet,
+ SendMany, SendManyVerbose, UnloadWallet, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetMempoolInfo,
diff --git a/types/src/v24/mod.rs b/types/src/v24/mod.rs
index 858dc0eb..4b9fd6a8 100644
--- a/types/src/v24/mod.rs
+++ b/types/src/v24/mod.rs
@@ -210,7 +210,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -287,12 +287,11 @@ pub use crate::{
ListSinceBlockTransaction, ListSinceBlockTransactionError, ListTransactions,
ListTransactionsItem, ListTransactionsItemError, ListUnspentItemError, ListWallets,
LoadWallet, LockUnspent, Locked, PruneBlockchain, RawTransactionError, RawTransactionInput,
- RawTransactionOutput, RescanBlockchain, ScriptType, SendMany, SendRawTransaction,
- SendToAddress, SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey,
- SignRawTransaction, SignRawTransactionError, SoftforkReject, TransactionCategory,
- UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage,
- VerifyTxOutProof, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt,
- WitnessUtxo,
+ RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress,
+ SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
+ SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
+ ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
+ WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -312,7 +311,7 @@ pub use crate::{
v21::{
AddPeerAddress, GenerateBlock, GetIndexInfo, GetIndexInfoName, GetNetworkInfo,
ImportDescriptors, ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError,
- UnloadWallet, UpgradeWallet,
+ SendMany, SendManyVerbose, UnloadWallet, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses,
diff --git a/types/src/v25/mod.rs b/types/src/v25/mod.rs
index 3953c6d2..ca9e0e94 100644
--- a/types/src/v25/mod.rs
+++ b/types/src/v25/mod.rs
@@ -211,7 +211,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -283,12 +283,11 @@ pub use crate::{
ListSinceBlockTransaction, ListSinceBlockTransactionError, ListTransactions,
ListTransactionsItem, ListTransactionsItemError, ListUnspentItemError, ListWallets,
LockUnspent, Locked, PruneBlockchain, RawTransactionError, RawTransactionInput,
- RawTransactionOutput, RescanBlockchain, ScriptType, SendMany, SendRawTransaction,
- SendToAddress, SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey,
- SignRawTransaction, SignRawTransactionError, SoftforkReject, TransactionCategory,
- UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage,
- VerifyTxOutProof, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt,
- WitnessUtxo,
+ RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress,
+ SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
+ SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
+ ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
+ WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -307,7 +306,8 @@ pub use crate::{
v20::GenerateToDescriptor,
v21::{
AddPeerAddress, GetIndexInfo, GetIndexInfoName, GetNetworkInfo, ImportDescriptors,
- ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UpgradeWallet,
+ ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany,
+ SendManyVerbose, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses,
diff --git a/types/src/v26/mod.rs b/types/src/v26/mod.rs
index 6aedf0a6..bc33f505 100644
--- a/types/src/v26/mod.rs
+++ b/types/src/v26/mod.rs
@@ -219,7 +219,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -299,11 +299,11 @@ pub use crate::{
ListSinceBlockTransactionError, ListTransactions, ListTransactionsItem,
ListTransactionsItemError, ListUnspentItemError, ListWallets, LockUnspent, Locked,
PruneBlockchain, RawTransactionError, RawTransactionInput, RawTransactionOutput,
- RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress,
- SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
- SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
- ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
- WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WitnessUtxo,
+ RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive,
+ SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError,
+ SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError,
+ VerifyChain, VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt,
+ WalletCreateFundedPsbtError, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -321,7 +321,8 @@ pub use crate::{
v20::GenerateToDescriptor,
v21::{
AddPeerAddress, GetIndexInfo, GetIndexInfoName, GetNetworkInfo, ImportDescriptors,
- ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UpgradeWallet,
+ ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany,
+ SendManyVerbose, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses,
diff --git a/types/src/v27/mod.rs b/types/src/v27/mod.rs
index 528b50ff..8a5fb2b3 100644
--- a/types/src/v27/mod.rs
+++ b/types/src/v27/mod.rs
@@ -219,7 +219,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -277,11 +277,11 @@ pub use crate::{
ListSinceBlockTransactionError, ListTransactions, ListTransactionsItem,
ListTransactionsItemError, ListUnspentItemError, ListWallets, LockUnspent, Locked,
PruneBlockchain, RawTransactionError, RawTransactionInput, RawTransactionOutput,
- RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress,
- SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
- SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
- ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
- WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WitnessUtxo,
+ RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive,
+ SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError,
+ SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError,
+ VerifyChain, VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt,
+ WalletCreateFundedPsbtError, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -299,7 +299,8 @@ pub use crate::{
v20::GenerateToDescriptor,
v21::{
AddPeerAddress, GetIndexInfo, GetIndexInfoName, GetNetworkInfo, ImportDescriptors,
- ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UpgradeWallet,
+ ImportDescriptorsResult, PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany,
+ SendManyVerbose, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses,
diff --git a/types/src/v28/mod.rs b/types/src/v28/mod.rs
index c70574fb..7a31821c 100644
--- a/types/src/v28/mod.rs
+++ b/types/src/v28/mod.rs
@@ -221,7 +221,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -297,11 +297,11 @@ pub use crate::{
ListSinceBlockTransactionError, ListTransactions, ListTransactionsItem,
ListTransactionsItemError, ListUnspentItemError, ListWallets, LockUnspent, Locked,
PruneBlockchain, RawTransactionError, RawTransactionInput, RawTransactionOutput,
- RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress,
- SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
- SignRawTransactionError, SoftforkReject, TransactionCategory, UploadTarget,
- ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof,
- WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WitnessUtxo,
+ RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive,
+ SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError,
+ SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError,
+ VerifyChain, VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt,
+ WalletCreateFundedPsbtError, WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -319,7 +319,7 @@ pub use crate::{
v20::GenerateToDescriptor,
v21::{
AddPeerAddress, GetIndexInfo, GetIndexInfoName, ImportDescriptors, ImportDescriptorsResult,
- PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UpgradeWallet,
+ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey,
diff --git a/types/src/v29/mod.rs b/types/src/v29/mod.rs
index c6c1d0ce..de28221b 100644
--- a/types/src/v29/mod.rs
+++ b/types/src/v29/mod.rs
@@ -222,7 +222,7 @@
//! | restorewallet | version | |
//! | send | version + model | |
//! | sendall | version + model | |
-//! | sendmany | version + model | UNTESTED |
+//! | sendmany | version + model | |
//! | sendtoaddress | version + model | |
//! | sethdseed | returns nothing | |
//! | setlabel | returns nothing | |
@@ -294,11 +294,11 @@ pub use crate::{
ListSinceBlockTransactionError, ListTransactions, ListTransactionsItem,
ListTransactionsItemError, ListUnspentItemError, ListWallets, LockUnspent, Locked,
PruneBlockchain, RawTransactionError, RawTransactionInput, RawTransactionOutput,
- RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress,
- SetNetworkActive, SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction,
- SignRawTransactionError, TransactionCategory, UploadTarget, ValidateAddress,
- ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt,
- WalletCreateFundedPsbtError, WitnessUtxo,
+ RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive,
+ SetTxFee, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError,
+ TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain,
+ VerifyMessage, VerifyTxOutProof, WalletCreateFundedPsbt, WalletCreateFundedPsbtError,
+ WitnessUtxo,
},
v18::{
ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing,
@@ -316,7 +316,7 @@ pub use crate::{
v20::GenerateToDescriptor,
v21::{
AddPeerAddress, GetIndexInfo, GetIndexInfoName, ImportDescriptors, ImportDescriptorsResult,
- PsbtBumpFee, PsbtBumpFeeError, Send, SendError, UpgradeWallet,
+ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, UpgradeWallet,
},
v22::{
Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey,