Makes send_raw_transaction return Txid instead of RawTx
authorSergi Delgado Segura <sergi.delgado.s@gmail.com>
Thu, 26 Aug 2021 15:14:31 +0000 (17:14 +0200)
committerSergi Delgado Segura <sergi.delgado.s@gmail.com>
Thu, 26 Aug 2021 15:21:57 +0000 (17:21 +0200)
'bitcoind_client::send_raw_transaction' was returning 'RawTx' which, while syntactically correct (it's a wrapper around String), made no sense conceptually.

Since rust-bitcoin/rust-lightning@f65d05c, `Txid` can be used instead.

src/bitcoind_client.rs

index 61e67c28a7acea384c97f8819fa8415eeb1d3e7b..73ee635dec917c2d861994832ccb582e60215f01 100644 (file)
@@ -3,7 +3,7 @@ use base64;
 use bitcoin::blockdata::block::Block;
 use bitcoin::blockdata::transaction::Transaction;
 use bitcoin::consensus::encode;
-use bitcoin::hash_types::BlockHash;
+use bitcoin::hash_types::{BlockHash, Txid};
 use bitcoin::util::address::Address;
 use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
 use lightning_block_sync::http::HttpEndpoint;
@@ -206,7 +206,7 @@ impl BitcoindClient {
                let mut rpc = self.bitcoind_rpc_client.lock().await;
 
                let raw_tx_json = serde_json::json!(raw_tx.0);
-               rpc.call_method::<RawTx>("sendrawtransaction", &[raw_tx_json]).await.unwrap();
+               rpc.call_method::<Txid>("sendrawtransaction", &[raw_tx_json]).await.unwrap();
        }
 
        pub async fn sign_raw_transaction_with_wallet(&self, tx_hex: String) -> SignedTx {
@@ -254,7 +254,7 @@ impl BroadcasterInterface for BitcoindClient {
                        let mut rpc = bitcoind_rpc_client.lock().await;
                        // This may error due to RL calling `broadcast_transaction` with the same transaction
                        // multiple times, but the error is safe to ignore.
-                       match rpc.call_method::<RawTx>("sendrawtransaction", &vec![tx_serialized]).await {
+                       match rpc.call_method::<Txid>("sendrawtransaction", &vec![tx_serialized]).await {
                                Ok(_) => {}
                                Err(e) => {
                                        let err_str = e.get_ref().unwrap().to_string();