-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
bugSomething isn't workingSomething isn't working
Description
type 0 transactions seem to have an issue with high chain IDs (e.g. 131277322940420). I've tested on hardware and it works up to mumbai (80001). Type 1 and 2 don't have the same problem.
I think @moh-eulith tried to address this by updating MockDongle to get the tests to pass but I'm seeing issues using a chain ID like this on hardware. Probably indicative of another issue.
Here's a test that will cause an invalid signature recovery on hardware:
def test_zero_gas_price(yield_dongle):
"""Test a transaction with a 0 gas price"""
chain_id = 131277322940420
destination = "0xf0155486a14539f784739be1c02e93f28eb8e960"
with yield_dongle() as dongle:
sender = get_accounts(dongle=dongle, count=1)[0].address
signed = create_transaction(
destination=destination,
amount=int(10e17),
gas=int(1e6),
# TODO
gas_price=int(1e9),
data="",
nonce=2023,
chain_id=chain_id,
dongle=dongle,
)
print("signed:", signed)
# assert signed.v in [(chain_id * 2 + 35) + x for x in (0, 1)]
# assert signed.r
# assert signed.s
assert sender == Account.recover_transaction(signed.rawTransaction)I'm not sure if it's a limitation of the transaction type, RLP, or my implementation.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working