Skip to content

Commit 9b7b9b0

Browse files
committed
Merge #285: Implement settxfee method and test
52e1b53 Format code (GideonBature) 8a72e1f Implement settxfee method and test (GideonBature) Pull request description: The JSON-RPC method `settxfee` does return a type. We want to test this to catch any changes in behavior in future Core versions. This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function. Ref: [#116](#116) ACKs for top commit: jamillambert: ACK 52e1b53 tcharding: ACK 52e1b53 Tree-SHA512: 17dfeaa0ddfeb5aaa5007759d6f025c142418026e943312c4fdfddd9a7f7105adc34951e50ee861eb9038db091f6c3760432f05cdaa3a2d7c3c5aed193d9c9ae
2 parents c633a03 + 52e1b53 commit 9b7b9b0

File tree

42 files changed

+87
-43
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+87
-43
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ crate::impl_client_v17__rescan_blockchain!();
149149
crate::impl_client_v17__send_many!();
150150
crate::impl_client_v17__send_to_address!();
151151
crate::impl_client_v17__set_hd_seed!();
152+
crate::impl_client_v17__set_tx_fee!();
152153
crate::impl_client_v17__sign_message!();
153154
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
154155
crate::impl_client_v17__unload_wallet!();

client/src/client_sync/v17/wallet.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,19 @@ macro_rules! impl_client_v17__set_hd_seed {
608608
};
609609
}
610610

611+
/// Implements Bitcoin Core JSON-RPC API method `settxfee`
612+
#[macro_export]
613+
macro_rules! impl_client_v17__set_tx_fee {
614+
() => {
615+
impl Client {
616+
pub fn set_tx_fee(&self, fee_rate: bitcoin::FeeRate) -> Result<SetTxFee> {
617+
let fee_rate_btc_kvb = fee_rate.to_sat_per_vb_floor() as f64 / 100_000.0;
618+
self.call("settxfee", &[fee_rate_btc_kvb.into()])
619+
}
620+
}
621+
};
622+
}
623+
611624
/// Implements Bitcoin Core JSON-RPC API method `signmessage`.
612625
#[macro_export]
613626
macro_rules! impl_client_v17__sign_message {

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ crate::impl_client_v17__rescan_blockchain!();
166166
crate::impl_client_v17__send_many!();
167167
crate::impl_client_v17__send_to_address!();
168168
crate::impl_client_v17__set_hd_seed!();
169+
crate::impl_client_v17__set_tx_fee!();
169170
crate::impl_client_v17__sign_message!();
170171
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
171172
crate::impl_client_v17__unload_wallet!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ crate::impl_client_v17__rescan_blockchain!();
162162
crate::impl_client_v17__send_many!();
163163
crate::impl_client_v17__send_to_address!();
164164
crate::impl_client_v17__set_hd_seed!();
165+
crate::impl_client_v17__set_tx_fee!();
165166
crate::impl_client_v19__set_wallet_flag!();
166167
crate::impl_client_v17__sign_message!();
167168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ crate::impl_client_v17__rescan_blockchain!();
162162
crate::impl_client_v17__send_many!();
163163
crate::impl_client_v17__send_to_address!();
164164
crate::impl_client_v17__set_hd_seed!();
165+
crate::impl_client_v17__set_tx_fee!();
165166
crate::impl_client_v19__set_wallet_flag!();
166167
crate::impl_client_v17__sign_message!();
167168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ crate::impl_client_v17__rescan_blockchain!();
162162
crate::impl_client_v17__send_many!();
163163
crate::impl_client_v17__send_to_address!();
164164
crate::impl_client_v17__set_hd_seed!();
165+
crate::impl_client_v17__set_tx_fee!();
165166
crate::impl_client_v19__set_wallet_flag!();
166167
crate::impl_client_v17__sign_message!();
167168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ crate::impl_client_v17__rescan_blockchain!();
162162
crate::impl_client_v17__send_many!();
163163
crate::impl_client_v17__send_to_address!();
164164
crate::impl_client_v17__set_hd_seed!();
165+
crate::impl_client_v17__set_tx_fee!();
165166
crate::impl_client_v19__set_wallet_flag!();
166167
crate::impl_client_v17__sign_message!();
167168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ crate::impl_client_v17__rescan_blockchain!();
164164
crate::impl_client_v17__send_many!();
165165
crate::impl_client_v17__send_to_address!();
166166
crate::impl_client_v17__set_hd_seed!();
167+
crate::impl_client_v17__set_tx_fee!();
167168
crate::impl_client_v19__set_wallet_flag!();
168169
crate::impl_client_v17__sign_message!();
169170
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ crate::impl_client_v17__rescan_blockchain!();
161161
crate::impl_client_v17__send_many!();
162162
crate::impl_client_v17__send_to_address!();
163163
crate::impl_client_v17__set_hd_seed!();
164+
crate::impl_client_v17__set_tx_fee!();
164165
crate::impl_client_v19__set_wallet_flag!();
165166
crate::impl_client_v17__sign_message!();
166167
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ crate::impl_client_v17__rescan_blockchain!();
161161
crate::impl_client_v17__send_many!();
162162
crate::impl_client_v17__send_to_address!();
163163
crate::impl_client_v17__set_hd_seed!();
164+
crate::impl_client_v17__set_tx_fee!();
164165
crate::impl_client_v19__set_wallet_flag!();
165166
crate::impl_client_v17__sign_message!();
166167
crate::impl_client_v17__sign_raw_transaction_with_wallet!();

0 commit comments

Comments
 (0)