mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-18 05:28:40 +00:00
fix(core/ethereum): implement hold-to-confirm for eip1559 transactions
This commit is contained in:
parent
48d7f71ccc
commit
a1c62098e9
1
core/.changelog.d/2020.fixed
Normal file
1
core/.changelog.d/2020.fixed
Normal file
@ -0,0 +1 @@
|
||||
EIP-1559 transaction correctly show final Hold to Confirm screen.
|
@ -12,6 +12,7 @@ from trezor.ui.layouts import (
|
||||
confirm_blob,
|
||||
confirm_output,
|
||||
confirm_text,
|
||||
confirm_total,
|
||||
should_show_more,
|
||||
)
|
||||
from trezor.ui.layouts.tt.altcoin import confirm_total_ethereum
|
||||
@ -63,7 +64,13 @@ def require_confirm_fee(
|
||||
|
||||
|
||||
async def require_confirm_eip1559_fee(
|
||||
ctx: Context, max_priority_fee: int, max_gas_fee: int, gas_limit: int, chain_id: int
|
||||
ctx: Context,
|
||||
spending: int,
|
||||
max_priority_fee: int,
|
||||
max_gas_fee: int,
|
||||
gas_limit: int,
|
||||
chain_id: int,
|
||||
token: tokens.TokenInfo | None = None,
|
||||
) -> None:
|
||||
await confirm_amount(
|
||||
ctx,
|
||||
@ -77,11 +84,12 @@ async def require_confirm_eip1559_fee(
|
||||
description="Priority fee per gas",
|
||||
amount=format_ethereum_amount(max_priority_fee, None, chain_id),
|
||||
)
|
||||
await confirm_amount(
|
||||
await confirm_total(
|
||||
ctx,
|
||||
title="Confirm fee",
|
||||
description="Maximum fee",
|
||||
amount=format_ethereum_amount(max_gas_fee * gas_limit, None, chain_id),
|
||||
total_amount=format_ethereum_amount(spending, token, chain_id),
|
||||
fee_amount=format_ethereum_amount(max_gas_fee * gas_limit, None, chain_id),
|
||||
total_label="Amount sent:\n",
|
||||
fee_label="\nMaximum fee:\n",
|
||||
)
|
||||
|
||||
|
||||
|
@ -70,10 +70,12 @@ async def sign_tx_eip1559(
|
||||
|
||||
await require_confirm_eip1559_fee(
|
||||
ctx,
|
||||
value,
|
||||
int.from_bytes(msg.max_priority_fee, "big"),
|
||||
int.from_bytes(msg.max_gas_fee, "big"),
|
||||
int.from_bytes(msg.gas_limit, "big"),
|
||||
msg.chain_id,
|
||||
token,
|
||||
)
|
||||
|
||||
data = bytearray()
|
||||
|
@ -668,14 +668,14 @@
|
||||
"ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_go_back]": "e0304501e6dd76d08052edd3ef518e4873f2029e8351bc1fb5ed5ba2a99e740a",
|
||||
"ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_scroll_down]": "f707da6726a2ebad6888af490eed2a1441147c795a8b72fb805fd0d3a8b071f9",
|
||||
"ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_skip]": "5d73d7f8366f4abd3eaf3e666f140ee0fcc0aca4f35483a6be27d96e2b64fd27",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[data_1]": "bf7fe1457c4fd99e74b8b9a2090321edfb20bdf68713505d92dd011f44d88184",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "05cc77497ca4934f5472f4b8807208f54c734d1252e0eb186937a79e5ecec38b",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[known_erc20]": "fd068a40fb0d4729c49316122711d36a92b09c04f60eed6d1fa5ecee57ae6f7a",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[large_chainid]": "c8152a3f28ea1985d7c14844b3d8218a4a76e78fe0526e30c1d479f2cf200694",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[nodata]": "55faae526aa63bc536114c70f29d5e12a6e973c565ae4247c439b755b589d0df",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[unknown_erc20]": "6797940ee749fdf11a049eb1fccc7e2d6b34a907e4be26dbd8b9b442ce539ad1",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559_access_list": "ceaf212625bb0d8696e3a46e5348639563bf2eb9c70865595dae118480b38d33",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "ceaf212625bb0d8696e3a46e5348639563bf2eb9c70865595dae118480b38d33",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[data_1]": "fcff42ade9344444b345d8f0a707dc57ed7a06a7a208d77aeb2186da4bbb9dca",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "983a67f3fc48f03872593ee7b743272efa5c9906c07bd4411285b95813654233",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[known_erc20]": "a1a6350a0aabe1035e40fed9d8e28f9b9dc737d52814427c64ef00640d3752c7",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[large_chainid]": "a8a8aa0cea41f7534dd6c7953574a28dc923e2414cddde6c2dae2c6af8539c6d",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[nodata]": "5b103f4bf0ed90c0dd6ef8a33cdfa59edfd50e2441dbb4aa3dfec9dc6ba2d4c6",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559[unknown_erc20]": "5064a9b5a10d47770358942af1bfe517a0f9f9b568994d791ad6d2d8c9e21a82",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559_access_list": "c2b8fd24103c444473af2611f10f2e458a933b13fe49dfc0fdbb617fa762aa8c",
|
||||
"ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "c2b8fd24103c444473af2611f10f2e458a933b13fe49dfc0fdbb617fa762aa8c",
|
||||
"misc-test_msg_cipherkeyvalue.py::test_decrypt": "4d8563e8130e51628290f0acbced7c294457c4501f7767b00ff3dd1bddc809da",
|
||||
"misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
|
||||
"misc-test_msg_cipherkeyvalue.py::test_encrypt": "871df86a7553681c5f17ec6759204f9b0727cc16c4868f227a4b364146fd9293",
|
||||
|
Loading…
Reference in New Issue
Block a user