def signers(self): """List of addresses that have signed this transaction""" return [ get_signer(self.hash, sig) if sig != NULL_SIGNATURE else NULL_ADDRESS for sig in self.signatures ]
def signer(self): return get_signer(self.hash, self.sig)
def sender2(self): return get_signer(self.hash, self.sig2)
def sender(self, index): return get_signer(self.hash, self.sig(index))
def signer(self): """Address of the signer of this block""" return get_signer(self.hash, self.signature)
def signers(self): return [get_signer(self.hash, sig) if sig != NULL_SIGNATURE else NULL_ADDRESS for sig in self.signatures]
def sign(self, index, key, verifyingContract=None): hash = hash_struct(self, verifyingContract=verifyingContract) sig = sign(hash, key) self.signatures[index] = sig self._signers[index] = get_signer(hash, sig) if sig != NULL_SIGNATURE else NULL_ADDRESS
def test_signature(t, block): block.sign(t.k0) assert block.sig == sign(block.hash, t.k0) assert block.signer == get_signer(block.hash, sign(block.hash, t.k0))