diff --git a/integration_test/tests/blockchain.rs b/integration_test/tests/blockchain.rs index cfe97f85..eac27c39 100644 --- a/integration_test/tests/blockchain.rs +++ b/integration_test/tests/blockchain.rs @@ -218,11 +218,15 @@ fn blockchain__get_chain_tips__modelled() { #[test] fn blockchain__get_chain_tx_stats__modelled() { - let node = Node::with_wallet(Wallet::None, &[]); + let node = Node::with_wallet(Wallet::Default, &[]); + node.fund_wallet(); + let (_address, _tx) = node.create_mined_transaction(); let json: GetChainTxStats = node.client.get_chain_tx_stats().expect("getchaintxstats"); let model: Result = json.into_model(); - model.unwrap(); + let chain_tx_stats = model.unwrap(); + + assert!(chain_tx_stats.tx_rate.unwrap() > 0.0); } #[test] diff --git a/types/src/model/blockchain.rs b/types/src/model/blockchain.rs index 852dab49..42602db9 100644 --- a/types/src/model/blockchain.rs +++ b/types/src/model/blockchain.rs @@ -417,7 +417,7 @@ pub struct GetChainTxStats { /// The elapsed time in the window in seconds. Only returned if "window_block_count" is > 0. pub window_interval: Option, /// The average rate of transactions per second in the window. Only returned if "window_interval" is > 0. - pub tx_rate: Option, + pub tx_rate: Option, } /// Models the result of JSON-RPC method `getdeploymentinfo`. diff --git a/types/src/v17/blockchain/into.rs b/types/src/v17/blockchain/into.rs index c9bdf839..0bad48c8 100644 --- a/types/src/v17/blockchain/into.rs +++ b/types/src/v17/blockchain/into.rs @@ -315,7 +315,6 @@ impl GetChainTxStats { self.window_tx_count.map(|h| crate::to_u32(h, "window_tx_count")).transpose()?; let window_interval = self.window_interval.map(|h| crate::to_u32(h, "window_interval")).transpose()?; - let tx_rate = self.tx_rate.map(|h| crate::to_u32(h, "tx_rate")).transpose()?; Ok(model::GetChainTxStats { time: crate::to_u32(self.time, "time")?, @@ -325,7 +324,7 @@ impl GetChainTxStats { window_block_count: crate::to_u32(self.window_block_count, "window_block_count")?, window_tx_count, window_interval, - tx_rate, + tx_rate: self.tx_rate, }) } } diff --git a/types/src/v17/blockchain/mod.rs b/types/src/v17/blockchain/mod.rs index cdebb87d..cb50a7cb 100644 --- a/types/src/v17/blockchain/mod.rs +++ b/types/src/v17/blockchain/mod.rs @@ -438,7 +438,7 @@ pub struct GetChainTxStats { pub window_interval: Option, /// The average rate of transactions per second in the window. Only returned if "window_interval" is > 0. #[serde(rename = "txrate")] - pub tx_rate: Option, + pub tx_rate: Option, } /// Result of JSON-RPC method `getdifficulty`. diff --git a/types/src/v19/blockchain/into.rs b/types/src/v19/blockchain/into.rs index 6dca9877..092fceb5 100644 --- a/types/src/v19/blockchain/into.rs +++ b/types/src/v19/blockchain/into.rs @@ -81,7 +81,6 @@ impl GetChainTxStats { self.window_tx_count.map(|h| crate::to_u32(h, "window_tx_count")).transpose()?; let window_interval = self.window_interval.map(|h| crate::to_u32(h, "window_interval")).transpose()?; - let tx_rate = self.tx_rate.map(|h| crate::to_u32(h, "tx_rate")).transpose()?; Ok(model::GetChainTxStats { time: crate::to_u32(self.time, "time")?, @@ -91,7 +90,7 @@ impl GetChainTxStats { window_block_count: crate::to_u32(self.window_block_count, "window_block_count")?, window_tx_count, window_interval, - tx_rate, + tx_rate: self.tx_rate, }) } } diff --git a/types/src/v19/blockchain/mod.rs b/types/src/v19/blockchain/mod.rs index ac757941..2418911a 100644 --- a/types/src/v19/blockchain/mod.rs +++ b/types/src/v19/blockchain/mod.rs @@ -186,7 +186,7 @@ pub struct GetChainTxStats { pub window_interval: Option, /// The average rate of transactions per second in the window. Only returned if "window_interval" is > 0. #[serde(rename = "txrate")] - pub tx_rate: Option, + pub tx_rate: Option, } /// Result of JSON-RPC method `getmempoolancestors` with verbose set to `false`.