bitcoind_json_rpc_client/client_sync/v17/raw_transactions.rs
1// SPDX-License-Identifier: CC0-1.0
2
3//! Macros for implementing JSON-RPC methods on a client.
4//!
5//! Specifically this is methods found under the `== Rawtransactions ==` section of the
6//! API docs of `bitcoind v0.17.1`.
7//!
8//! All macros require `Client` to be in scope.
9//!
10//! See or use the `define_jsonrpc_minreq_client!` macro to define a `Client`.
11
12/// Implements bitcoind JSON-RPC API method `sendrawtransaction`
13#[macro_export]
14macro_rules! impl_client_v17__sendrawtransaction {
15 () => {
16 impl Client {
17 pub fn send_raw_transaction(
18 &self,
19 tx: &bitcoin::Transaction,
20 ) -> Result<SendRawTransaction> {
21 let hex = bitcoin::consensus::encode::serialize_hex(tx);
22 self.call("sendrawtransaction", &[hex.into()])
23 }
24 }
25 };
26}