def rlp(self) -> bytes: return rlp.encode([ self.public_key, frlp.rlp_encode_uint64(self.sign_algo.value), frlp.rlp_encode_uint64(self.hash_algo.value), frlp.rlp_encode_uint64(self.weight), ])
def envelope_message(self) -> bytes: return rlp.encode([ self._payload_form(), [[ rlp_encode_uint64(s.signer_index), rlp_encode_uint64(s.key_id), s.signature, ] for s in self.payload_signatures], ])
def _payload_form(self): return [ self.code.encode("utf-8"), encode_arguments(self.arguments), self.reference_block_id, rlp_encode_uint64(self.gas_limit), self.proposal_key.key_address.bytes, rlp_encode_uint64(self.proposal_key.key_id), rlp_encode_uint64(self.proposal_key.key_sequence_number), self.payer.bytes, [a.bytes for a in self.authorizers], ]