File tree Expand file tree Collapse file tree 14 files changed +82
-0
lines changed Expand file tree Collapse file tree 14 files changed +82
-0
lines changed Original file line number Diff line number Diff line change @@ -131,6 +131,7 @@ crate::impl_client_v17__encryptwallet!();
131
131
crate :: impl_client_v17__importaddress!( ) ;
132
132
crate :: impl_client_v17__importprivkey!( ) ;
133
133
crate :: impl_client_v17__importprunedfunds!( ) ;
134
+ crate :: impl_client_v17__importpubkey!( ) ;
134
135
135
136
/// Argument to the `Client::get_new_address_with_type` function.
136
137
///
Original file line number Diff line number Diff line change @@ -596,3 +596,38 @@ macro_rules! impl_client_v17__importprunedfunds {
596
596
}
597
597
} ;
598
598
}
599
+
600
+ /// Implements Bitcoin Core JSON-RPC API method `importpubkey`
601
+ #[ macro_export]
602
+ macro_rules! impl_client_v17__importpubkey {
603
+ ( ) => {
604
+ impl Client {
605
+ pub fn import_pubkey(
606
+ & self ,
607
+ pubkey: & PublicKey ,
608
+ label: Option <& str >,
609
+ rescan: Option <bool >,
610
+ ) -> Result <( ) > {
611
+ let pubkey_hex = pubkey. to_string( ) ;
612
+ let mut params = vec![ pubkey_hex. into( ) ] ;
613
+
614
+ if label. is_some( ) || rescan. is_some( ) {
615
+ params. push( label. map_or( serde_json:: Value :: String ( "" . into( ) ) , |l| l. into( ) ) ) ;
616
+ }
617
+
618
+ if let Some ( r) = rescan {
619
+ params. push( r. into( ) ) ;
620
+ }
621
+
622
+ match self . call( "importpubkey" , & params) {
623
+ Ok ( serde_json:: Value :: Null ) => Ok ( ( ) ) ,
624
+ Ok ( ref val) if val. is_null( ) => Ok ( ( ) ) ,
625
+ Ok ( other) => Err ( crate :: client_sync:: Error :: Returned ( format!(
626
+ "importpubkey expected null, got: {}" , other
627
+ ) ) ) ,
628
+ Err ( e) => Err ( e. into( ) ) ,
629
+ }
630
+ }
631
+ }
632
+ } ;
633
+ }
Original file line number Diff line number Diff line change @@ -124,3 +124,4 @@ crate::impl_client_v17__encryptwallet!();
124
124
crate :: impl_client_v17__importaddress!( ) ;
125
125
crate :: impl_client_v17__importprivkey!( ) ;
126
126
crate :: impl_client_v17__importprunedfunds!( ) ;
127
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -126,3 +126,4 @@ crate::impl_client_v17__encryptwallet!();
126
126
crate :: impl_client_v17__importaddress!( ) ;
127
127
crate :: impl_client_v17__importprivkey!( ) ;
128
128
crate :: impl_client_v17__importprunedfunds!( ) ;
129
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -125,3 +125,4 @@ crate::impl_client_v20__encryptwallet!();
125
125
crate :: impl_client_v17__importaddress!( ) ;
126
126
crate :: impl_client_v17__importprivkey!( ) ;
127
127
crate :: impl_client_v17__importprunedfunds!( ) ;
128
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -125,3 +125,4 @@ crate::impl_client_v20__encryptwallet!();
125
125
crate :: impl_client_v17__importaddress!( ) ;
126
126
crate :: impl_client_v17__importprivkey!( ) ;
127
127
crate :: impl_client_v17__importprunedfunds!( ) ;
128
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -126,3 +126,4 @@ crate::impl_client_v20__encryptwallet!();
126
126
crate :: impl_client_v17__importaddress!( ) ;
127
127
crate :: impl_client_v17__importprivkey!( ) ;
128
128
crate :: impl_client_v17__importprunedfunds!( ) ;
129
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -127,6 +127,7 @@ crate::impl_client_v20__encryptwallet!();
127
127
crate :: impl_client_v17__importaddress!( ) ;
128
128
crate :: impl_client_v17__importprivkey!( ) ;
129
129
crate :: impl_client_v17__importprunedfunds!( ) ;
130
+ crate :: impl_client_v17__importpubkey!( ) ;
130
131
131
132
/// Argument to the `Client::get_new_address_with_type` function.
132
133
///
Original file line number Diff line number Diff line change @@ -123,3 +123,4 @@ crate::impl_client_v20__encryptwallet!();
123
123
crate :: impl_client_v17__importaddress!( ) ;
124
124
crate :: impl_client_v17__importprivkey!( ) ;
125
125
crate :: impl_client_v17__importprunedfunds!( ) ;
126
+ crate :: impl_client_v17__importpubkey!( ) ;
Original file line number Diff line number Diff line change @@ -123,3 +123,4 @@ crate::impl_client_v20__encryptwallet!();
123
123
crate :: impl_client_v17__importaddress!( ) ;
124
124
crate :: impl_client_v17__importprivkey!( ) ;
125
125
crate :: impl_client_v17__importprunedfunds!( ) ;
126
+ crate :: impl_client_v17__importpubkey!( ) ;
You can’t perform that action at this time.
0 commit comments