Example #1
0
 def verify_signature(self, tx: 'Transaction'):
     sign_verifier = SignVerifier.from_address(tx.from_address.hex_xx())
     try:
         sign_verifier.verify_hash(tx.hash, tx.signature)
     except Exception as e:
         exception = RuntimeError(f"tx({tx}) invalid signature\n" f"{e}")
         self._handle_exceptions(exception)
Example #2
0
 def verify(self):
     hash_ = self.to_hash(**self.origin_args())
     sign_verifier = SignVerifier.from_address(self.rep.hex_hx())
     try:
         sign_verifier.verify_hash(hash_, self.signature)
     except Exception as e:
         raise RuntimeError(f"Invalid vote signature. {self}"
                            f"{e}")
Example #3
0
    def verify_signature(self, tx: 'Transaction'):
        if self._allow_unsigned and not tx.is_signed():
            return

        sign_verifier = SignVerifier.from_address(tx.signer_address.hex_xx())
        try:
            sign_verifier.verify_hash(tx.hash, tx.signature)
        except Exception as e:
            exception = TransactionInvalidSignatureError(tx, message=str(e))
            self._handle_exceptions(exception)
Example #4
0
 def verify_signature(self, block: 'Block'):
     sign_verifier = SignVerifier.from_address(
         block.header.peer_id.hex_xx())
     try:
         sign_verifier.verify_hash(block.header.hash,
                                   block.header.signature)
     except Exception as e:
         exception = RuntimeError(
             f"Block({block.header.height}, {block.header.hash.hex()}, "
             f"Invalid Signature\n"
             f"{e}")
         self._handle_exception(exception)