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),
     ])
示例#2
0
 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],
     ])
示例#3
0
 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],
     ]