@@ -73,7 +73,7 @@ use std::sync::Arc;
7373#[ cfg( feature = "bip322" ) ]
7474use crate :: error:: BDKCliError ;
7575#[ cfg( feature = "bip322" ) ]
76- use bdk_bip322:: { BIP322 , Bip322Proof , Bip322VerificationResult } ;
76+ use bdk_bip322:: { BIP322 , MessageProof , MessageVerificationResult } ;
7777
7878#[ cfg( any(
7979 feature = "electrum" ,
@@ -598,7 +598,7 @@ pub fn handle_offline_wallet_subcommand(
598598 ) ?)
599599 }
600600 #[ cfg( feature = "bip322" ) ]
601- SignBip322 {
601+ SignMessage {
602602 message,
603603 signature_type,
604604 address,
@@ -607,29 +607,30 @@ pub fn handle_offline_wallet_subcommand(
607607 let address: Address = parse_address ( & address) ?;
608608 let signature_format = parse_signature_format ( & signature_type) ?;
609609
610- let proof: Bip322Proof = wallet
611- . sign_bip322 ( message. as_str ( ) , signature_format, & address, utxos)
612- . map_err ( |e| {
613- BDKCliError :: Generic ( format ! ( "Failed to sign BIP-322 message: {e}" ) )
614- } ) ?;
610+ if !wallet. is_mine ( address. script_pubkey ( ) ) {
611+ return Err ( Error :: Generic ( format ! (
612+ "Address {} does not belong to this wallet." ,
613+ address
614+ ) ) ) ;
615+ }
616+
617+ let proof: MessageProof =
618+ wallet. sign_message ( message. as_str ( ) , signature_format, & address, utxos) ?;
615619
616620 Ok ( json ! ( { "proof" : proof. to_base64( ) } ) . to_string ( ) )
617621 }
618622 #[ cfg( feature = "bip322" ) ]
619- VerifyBip322 {
623+ VerifyMessage {
620624 proof,
621625 message,
622- signature_type,
623626 address,
624627 } => {
625628 let address: Address = parse_address ( & address) ?;
626- let signature_format = parse_signature_format ( & signature_type) ?;
627-
628- let parsed_proof: Bip322Proof = Bip322Proof :: from_base64 ( & proof)
629+ let parsed_proof: MessageProof = MessageProof :: from_base64 ( & proof)
629630 . map_err ( |e| BDKCliError :: Generic ( format ! ( "Invalid proof: {e}" ) ) ) ?;
630631
631- let is_valid: Bip322VerificationResult =
632- wallet. verify_bip322 ( & parsed_proof, & message, signature_format , & address) ?;
632+ let is_valid: MessageVerificationResult =
633+ wallet. verify_message ( & parsed_proof, & message, & address) ?;
633634
634635 Ok ( json ! ( {
635636 "valid" : is_valid. valid,
0 commit comments