@@ -51,27 +51,27 @@ def __init__(self, private_key=None, hrp=DEFAULT_HRP):
5151
5252 async def sign_message (self , message ):
5353 message = self ._setup_sender (message )
54-
5554 verif = get_verification_string (message )
56-
57- privkey = ecdsa .SigningKey .from_string (self .private_key , curve = ecdsa .SECP256k1 )
58- signature_compact = privkey .sign_deterministic (
59- verif .encode ("utf-8" ),
60- hashfunc = hashlib .sha256 ,
61- sigencode = ecdsa .util .sigencode_string_canonize ,
62- )
63- signature_base64_str = base64 .b64encode (signature_compact ).decode ("utf-8" )
6455 base64_pubkey = base64 .b64encode (self .get_public_key ().encode ()).decode ("utf-8" )
6556
6657 sig = {
67- "signature" : signature_base64_str ,
58+ "signature" : self . sign_raw ( verif . encode ( "utf-8" )) ,
6859 "pub_key" : {"type" : "tendermint/PubKeySecp256k1" , "value" : base64_pubkey },
6960 "account_number" : str (0 ),
7061 "sequence" : str (0 ),
7162 }
7263 message ["signature" ] = json .dumps (sig )
7364 return message
7465
66+ async def sign_raw (self , buffer : bytes ) -> str :
67+ privkey = ecdsa .SigningKey .from_string (self .private_key , curve = ecdsa .SECP256k1 )
68+ signature_compact = privkey .sign_deterministic (
69+ buffer ,
70+ hashfunc = hashlib .sha256 ,
71+ sigencode = ecdsa .util .sigencode_string_canonize ,
72+ )
73+ return base64 .b64encode (signature_compact ).decode ("utf-8" )
74+
7575 def get_address (self ) -> str :
7676 return privkey_to_address (self .private_key )
7777
0 commit comments