Add network display (#152)

* Add network name display instead of chainID

* Add display of correct ticker along with network

* Add FTM

* Clang-format

* Add comment in python script

* Rename SIZE_MAX to MAX_SIZE

* Change %u to %d in printf

* Remove needless PIC

* Update comment about get_chain_id()

* Update example script to follow EIP155

* Remove unused PIC calls

* Add whitespace between ticker and amount when using EIP155

* Remove decimal config per network, set back 18 everywhere

* Adapt u32_from_BE to swith cases

* Remove chainid from signTx.py

* Switch to switch in stead of if in get_chain_id

* Revert "Remove chainid from signTx.py"

This reverts commit 454e09f280ec3e3ec1c7d7cc0027247ef4390088.

* Change Ethereum chainid to 1

* Rename chainid_step to network_step

* Adapt finalizeParsing to new chainid for Ethereum

* Update snapshots

* clang-format

* Fix network display logic for clones

* Fix tests

* Add clone tests

Co-authored-by: TamtamHero <10632523+TamtamHero@users.noreply.github.com>
This commit is contained in:
pscott
2021-07-02 18:46:23 +02:00
committed by GitHub
parent ea87a0a646
commit a2d9a8068a
42 changed files with 559 additions and 80 deletions

View File

@@ -59,6 +59,9 @@ class UnsignedTransaction(Serializable):
('to', address),
('value', big_endian_int),
('data', binary),
('chainid', big_endian_int),
('dummy1', big_endian_int),
('dummy2', big_endian_int),
]
def unsigned_tx_from_tx(tx):

View File

@@ -59,6 +59,7 @@ parser.add_argument('--amount', help="Amount to send in ether", required=True)
parser.add_argument('--to', help="Destination address", type=str, required=True)
parser.add_argument('--path', help="BIP 32 path to sign with")
parser.add_argument('--data', help="Data to add, hex encoded")
parser.add_argument('--chainid', help="Chain ID (1 for Ethereum mainnet, 137 for Polygon, etc)", type=int)
parser.add_argument('--descriptor', help="Optional descriptor")
args = parser.parse_args()
@@ -71,6 +72,10 @@ if args.data == None:
else:
args.data = decode_hex(args.data[2:])
# default to Ethereum mainnet
if args.chainid == None:
args.chainid = 1
amount = Decimal(args.amount) * 10**18
tx = UnsignedTransaction(
@@ -80,10 +85,16 @@ tx = UnsignedTransaction(
to=decode_hex(args.to[2:]),
value=int(amount),
data=args.data,
chainid=args.chainid,
dummy1=0,
dummy2=0
)
encodedTx = encode(tx, UnsignedTransaction)
# To test an EIP-2930 transaction, uncomment this line
#encodedTx = bytearray.fromhex("01f8e60380018402625a0094cccccccccccccccccccccccccccccccccccccccc830186a0a4693c61390000000000000000000000000000000000000000000000000000000000000002f85bf859940000000000000000000000000000000000000102f842a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000060a780a09b8adcd2a4abd34b42d56fcd90b949f74ca9696dfe2b427bc39aa280bbf1924ca029af4a471bb2953b4e7933ea95880648552a9345424a1ac760189655ceb1832a")
dongle = getDongle(True)
if args.descriptor != None: