From 0b9a3fb0d8656f516395d3fb18df56850ca6f789 Mon Sep 17 00:00:00 2001 From: MMGen Date: Tue, 5 Feb 2019 10:57:31 +0000 Subject: [PATCH] py3port: support pyethereum >v2.3.2 (b704a5c) --- mmgen/altcoins/eth/contract.py | 3 +-- mmgen/altcoins/eth/tx.py | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mmgen/altcoins/eth/contract.py b/mmgen/altcoins/eth/contract.py index 1972c0c4..b802ab2d 100755 --- a/mmgen/altcoins/eth/contract.py +++ b/mmgen/altcoins/eth/contract.py @@ -104,10 +104,9 @@ class Token(MMGenObject): # ERC20 'data': unhexlify(data) } def txsign(self,tx_in,key,from_addr,chain_id=None): - tx = Transaction(**tx_in) if chain_id is None: chain_id = int(g.rpch.parity_chainId(),16) - tx.sign(key,chain_id) + tx = Transaction(**tx_in).sign(key,chain_id) hex_tx = hexlify(rlp.encode(tx)) coin_txid = CoinTxID(hexlify(tx.hash)) if hexlify(tx.sender).decode() != from_addr: diff --git a/mmgen/altcoins/eth/tx.py b/mmgen/altcoins/eth/tx.py index 6a827447..b010ce83 100755 --- a/mmgen/altcoins/eth/tx.py +++ b/mmgen/altcoins/eth/tx.py @@ -286,8 +286,9 @@ class EthereumMMGenTX(MMGenTX): 'data': unhexlify(d['data'])} from ethereum.transactions import Transaction - etx = Transaction(**d_in) - etx.sign(wif,d['chainId']) + etx = Transaction(**d_in).sign(wif,d['chainId']) + assert hexlify(etx.sender).decode() == d['from'],( + 'Sender address recovered from signature does not match true sender') import rlp self.hex = hexlify(rlp.encode(etx)) self.coin_txid = CoinTxID(hexlify(etx.hash))