@@ -26,6 +26,7 @@ use crate::json::BlockStatsFields as BsFields;
26
26
use bitcoin:: consensus:: encode:: { deserialize, serialize_hex} ;
27
27
use bitcoin:: hashes:: hex:: FromHex ;
28
28
use bitcoin:: hashes:: Hash ;
29
+ use bitcoin:: sign_message:: MessageSignature ;
29
30
use bitcoin:: { secp256k1, ScriptBuf , sighash} ;
30
31
use bitcoin:: {
31
32
transaction, Address , Amount , Network , OutPoint , PrivateKey , Sequence , SignedAmount ,
@@ -146,6 +147,7 @@ fn main() {
146
147
test_get_blockchain_info ( & cl) ;
147
148
test_get_new_address ( & cl) ;
148
149
test_get_raw_change_address ( & cl) ;
150
+ test_verify_message_with_messagesignature ( & cl) ;
149
151
test_dump_private_key ( & cl) ;
150
152
test_generate ( & cl) ;
151
153
test_get_balance_generate_to_address ( & cl) ;
@@ -216,7 +218,7 @@ fn main() {
216
218
test_get_mempool_info ( & cl) ;
217
219
test_add_multisig_address ( & cl) ;
218
220
//TODO import_multi(
219
- //TODO verify_message(
221
+
220
222
//TODO encrypt_wallet(&self, passphrase: &str) -> Result<()> {
221
223
//TODO get_by_id<T: queryable::Queryable<Self>>(
222
224
test_add_node ( & cl) ;
@@ -1367,6 +1369,16 @@ fn test_add_multisig_address(cl: &Client) {
1367
1369
assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) ) . is_ok( ) ) ;
1368
1370
}
1369
1371
1372
+ fn test_verify_message_with_messagesignature ( cl : & Client ) {
1373
+ let addr: Address = Address :: from_str ( "mm68FdwbpxkVcqjU3fu7iiBGEwrsC6Hk66" ) . unwrap ( ) . assume_checked ( ) ;
1374
+ let signature = MessageSignature :: from_base64 (
1375
+ "H3X+ic7axKtHGIsKiqDq0TmP9HIAkONwunln17ROlvB4SOVVUoG5e79EwAz94x2eERPwqcGJ5rLuWRhIu85pEwE=" , )
1376
+ . expect ( "a valid signature" ) ;
1377
+ let message = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" ;
1378
+
1379
+ assert ! ( cl. verify_message( & addr, & signature, message) . expect( "a valid signature" ) ) ;
1380
+ }
1381
+
1370
1382
#[ rustfmt:: skip]
1371
1383
fn test_derive_addresses ( cl : & Client ) {
1372
1384
let descriptor = r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ;
0 commit comments