Esempio n. 1
0
 def get_message_for_signing(self):
     if is_eip_155_signed_transaction(self):
         txn_parts = rlp.decode(rlp.encode(self))
         txn_parts_for_signing = txn_parts[:-3] + [int_to_big_endian(self.chain_id), b'', b'']
         return rlp.encode(txn_parts_for_signing)
     else:
         return rlp.encode(SpuriousDragonUnsignedTransaction(
             nonce=self.nonce,
             gas_price=self.gas_price,
             gas=self.gas,
             to=self.to,
             value=self.value,
             data=self.data,
         ))
Esempio n. 2
0
 def v_max(self) -> int:
     if is_eip_155_signed_transaction(self):
         return 36 + (2 * self.chain_id)
     else:
         return 28
Esempio n. 3
0
 def chain_id(self) -> Optional[int]:
     if is_eip_155_signed_transaction(self):
         return extract_chain_id(self.v)
     else:
         return None
Esempio n. 4
0
 def v_min(self):
     if is_eip_155_signed_transaction(self):
         return 35 + (2 * self.chain_id)
     else:
         return 27