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, ))
def v_max(self) -> int: if is_eip_155_signed_transaction(self): return 36 + (2 * self.chain_id) else: return 28
def chain_id(self) -> Optional[int]: if is_eip_155_signed_transaction(self): return extract_chain_id(self.v) else: return None
def v_min(self): if is_eip_155_signed_transaction(self): return 35 + (2 * self.chain_id) else: return 27