@@ -72,7 +72,7 @@ use std::sync::Arc;
7272#[ cfg( feature = "bip322" ) ]
7373use crate :: error:: BDKCliError ;
7474#[ cfg( feature = "bip322" ) ]
75- use bdk_bip322:: { BIP322 , Bip322Proof , Bip322VerificationResult } ;
75+ use bdk_bip322:: { BIP322 , MessageProof , MessageVerificationResult } ;
7676
7777#[ cfg( any(
7878 feature = "electrum" ,
@@ -597,7 +597,7 @@ pub fn handle_offline_wallet_subcommand(
597597 ) ?)
598598 }
599599 #[ cfg( feature = "bip322" ) ]
600- SignBip322 {
600+ SignMessage {
601601 message,
602602 signature_type,
603603 address,
@@ -606,29 +606,30 @@ pub fn handle_offline_wallet_subcommand(
606606 let address: Address = parse_address ( & address) ?;
607607 let signature_format = parse_signature_format ( & signature_type) ?;
608608
609- let proof: Bip322Proof = wallet
610- . sign_bip322 ( message. as_str ( ) , signature_format, & address, utxos)
611- . map_err ( |e| {
612- BDKCliError :: Generic ( format ! ( "Failed to sign BIP-322 message: {e}" ) )
613- } ) ?;
609+ if !wallet. is_mine ( address. script_pubkey ( ) ) {
610+ return Err ( Error :: Generic ( format ! (
611+ "Address {} does not belong to this wallet." ,
612+ address
613+ ) ) ) ;
614+ }
615+
616+ let proof: MessageProof =
617+ wallet. sign_message ( message. as_str ( ) , signature_format, & address, utxos) ?;
614618
615619 Ok ( json ! ( { "proof" : proof. to_base64( ) } ) . to_string ( ) )
616620 }
617621 #[ cfg( feature = "bip322" ) ]
618- VerifyBip322 {
622+ VerifyMessage {
619623 proof,
620624 message,
621- signature_type,
622625 address,
623626 } => {
624627 let address: Address = parse_address ( & address) ?;
625- let signature_format = parse_signature_format ( & signature_type) ?;
626-
627- let parsed_proof: Bip322Proof = Bip322Proof :: from_base64 ( & proof)
628+ let parsed_proof: MessageProof = MessageProof :: from_base64 ( & proof)
628629 . map_err ( |e| BDKCliError :: Generic ( format ! ( "Invalid proof: {e}" ) ) ) ?;
629630
630- let is_valid: Bip322VerificationResult =
631- wallet. verify_bip322 ( & parsed_proof, & message, signature_format , & address) ?;
631+ let is_valid: MessageVerificationResult =
632+ wallet. verify_message ( & parsed_proof, & message, & address) ?;
632633
633634 Ok ( json ! ( {
634635 "valid" : is_valid. valid,
0 commit comments