19
19
confirm_sign_typed_hash ,
20
20
confirm_text ,
21
21
should_show_approve_details ,
22
- should_show_details ,
23
22
should_show_more ,
24
23
)
25
24
from trezor .ui .layouts .lvgl .altcoin import (
@@ -82,9 +81,9 @@ def require_show_overview(
82
81
else :
83
82
to_str = _ (i18n_keys .LIST_VALUE__NEW_CONTRACT )
84
83
fee_max = gas_price * gas_limit
85
-
84
+
86
85
from trezor .ui .layouts .lvgl import should_show_details_new
87
- print ( " \n # token" , token )
86
+
88
87
return should_show_details_new (
89
88
ctx ,
90
89
title = _ (i18n_keys .TITLE__SEND_MULTILINE ).format (
@@ -94,7 +93,9 @@ def require_show_overview(
94
93
to_address = to_str ,
95
94
max_fee = format_ethereum_amount (fee_max , None , chain_id ),
96
95
token_address = token_address ,
97
- banner_key = _ (i18n_keys .WARNING_UNRECOGNIZED_TOKEN ) if token is tokens .UNKNOWN_TOKEN else None
96
+ banner_key = _ (i18n_keys .WARNING_UNRECOGNIZED_TOKEN )
97
+ if token is tokens .UNKNOWN_TOKEN
98
+ else None ,
98
99
)
99
100
100
101
# return should_show_details(
@@ -106,6 +107,7 @@ def require_show_overview(
106
107
# br_code=ButtonRequestType.SignTx,
107
108
# )
108
109
110
+
109
111
def require_confirm_fee (
110
112
ctx : Context ,
111
113
spending : int ,
@@ -228,6 +230,7 @@ async def require_confirm_eip1559_erc20_approve(
228
230
token : tokens .EthereumTokenInfo ,
229
231
from_address : str | None = None ,
230
232
to_address : str | None = None ,
233
+ token_address : str | None = None ,
231
234
token_id : int | None = None ,
232
235
evm_chain_id : int | None = None ,
233
236
raw_data : bytes | None = None ,
@@ -239,13 +242,6 @@ async def require_confirm_eip1559_erc20_approve(
239
242
title = format_approve_title (token , approve_value , chain_id , provider_name )
240
243
is_unlimited = approve_value == 2 ** 256 - 1
241
244
242
- if token and token .address :
243
- approve_token_address_str = address_from_bytes (
244
- token .address , networks .by_chain_id (chain_id )
245
- )
246
- else :
247
- approve_token_address_str = None
248
-
249
245
await confirm_approve_eip1559 (
250
246
ctx ,
251
247
title ,
@@ -258,9 +254,9 @@ async def require_confirm_eip1559_erc20_approve(
258
254
from_address ,
259
255
to_address ,
260
256
format_ethereum_amount (approve_value + fee_max , None , chain_id )
261
- if (token is None and approve_token_address_str is None )
257
+ if (token is None and token_address is None )
262
258
else None ,
263
- approve_token_address_str ,
259
+ token_address ,
264
260
token_id ,
265
261
evm_chain_id = evm_chain_id ,
266
262
raw_data = raw_data ,
@@ -279,6 +275,7 @@ async def require_confirm_legacy_erc20_approve(
279
275
token : tokens .EthereumTokenInfo ,
280
276
from_address : str | None = None ,
281
277
to_address : str | None = None ,
278
+ token_address : str | None = None ,
282
279
token_id : int | None = None ,
283
280
evm_chain_id : int | None = None ,
284
281
raw_data : bytes | None = None ,
@@ -290,13 +287,6 @@ async def require_confirm_legacy_erc20_approve(
290
287
title = format_approve_title (token , approve_value , chain_id , provider_name )
291
288
is_unlimited = approve_value == 2 ** 256 - 1
292
289
293
- if token and token .address :
294
- approve_token_address_str = address_from_bytes (
295
- token .address , networks .by_chain_id (chain_id )
296
- )
297
- else :
298
- approve_token_address_str = None
299
-
300
290
await confirm_approve (
301
291
ctx ,
302
292
title ,
@@ -308,9 +298,9 @@ async def require_confirm_legacy_erc20_approve(
308
298
from_address ,
309
299
to_address ,
310
300
format_ethereum_amount (approve_value + fee_max , None , chain_id )
311
- if (token is None and approve_token_address_str is None )
301
+ if (token is None and token_address is None )
312
302
else None ,
313
- approve_token_address_str ,
303
+ token_address ,
314
304
token_id ,
315
305
evm_chain_id = evm_chain_id ,
316
306
raw_data = raw_data ,
@@ -636,109 +626,76 @@ def format_approve_title(
636
626
chain_id : int ,
637
627
provider_name : str | None = None ,
638
628
) -> str :
639
-
640
- # Determine action type
629
+
641
630
if value == 0 :
642
631
action_type = "REVOKE"
643
632
elif value == 2 ** 256 - 1 :
644
633
action_type = "APPROVE_UNLIMITED"
645
634
else :
646
635
action_type = "APPROVE_LIMITED"
647
-
648
- # Determine token status
636
+
649
637
token_status = "UNKNOWN" if approve_token == tokens .UNKNOWN_TOKEN else "KNOWN"
650
-
651
- # Determine provider status
638
+
652
639
provider_status = "KNOWN" if provider_name is not None else "UNKNOWN"
653
-
654
- # Create combination key for lookup
640
+
655
641
combination_key = f"{ action_type } _{ token_status } _{ provider_status } "
656
-
657
- # Token display name
642
+
658
643
if token_status == "UNKNOWN" :
659
644
token_name = "UNKN"
660
645
else :
661
646
token_name = approve_token .symbol
662
-
663
- # Amount display for limited approval
647
+
648
+ amount_display = ""
664
649
if action_type == "APPROVE_LIMITED" :
665
650
amount_display = strip_amount (
666
651
format_ethereum_amount (value , approve_token , chain_id )
667
652
)[0 ]
668
-
669
- # Title mapping for all 12 combinations
653
+
670
654
title_map = {
671
- # REVOKE + UNKNOWN_TOKEN + KNOWN_PROVIDER
672
655
# Example: "Revoke UNKN for 1inch"
673
656
"REVOKE_UNKNOWN_KNOWN" : _ (i18n_keys .REVOKE_TOKEN ).format (
674
657
token = token_name , name = provider_name
675
658
),
676
-
677
- # REVOKE + UNKNOWN_TOKEN + UNKNOWN_PROVIDER
678
659
# Example: "Revoke UNKN"
679
- "REVOKE_UNKNOWN_UNKNOWN" : _ (i18n_keys .TITLE_REVOKE ).format (
680
- name = token_name
681
- ),
682
-
683
- # REVOKE + KNOWN_TOKEN + KNOWN_PROVIDER
660
+ "REVOKE_UNKNOWN_UNKNOWN" : _ (i18n_keys .TITLE_REVOKE ).format (name = token_name ),
684
661
# Example: "Revoke USDT for 1inch"
685
662
"REVOKE_KNOWN_KNOWN" : _ (i18n_keys .REVOKE_TOKEN ).format (
686
663
token = token_name , name = provider_name
687
664
),
688
-
689
- # REVOKE + KNOWN_TOKEN + UNKNOWN_PROVIDER
690
665
# Example: "Revoke USDT"
691
- "REVOKE_KNOWN_UNKNOWN" : _ (i18n_keys .TITLE_REVOKE ).format (
692
- name = token_name
693
- ),
694
-
695
- # APPROVE_UNLIMITED + UNKNOWN_TOKEN + KNOWN_PROVIDER
696
- # Example: "Approve UNKN for 1inch"
697
- "APPROVE_UNLIMITED_UNKNOWN_KNOWN" : _ (i18n_keys .APPROVE_TOKEN_AMOUNT ).format (
666
+ "REVOKE_KNOWN_UNKNOWN" : _ (i18n_keys .TITLE_REVOKE ).format (name = token_name ),
667
+ # Example: "Approve Unlimited UNKN for 1inch"
668
+ "APPROVE_UNLIMITED_UNKNOWN_KNOWN" : _ (i18n_keys .APPROVE_UNLIMITED_TOKEN ).format (
698
669
token = token_name , name = provider_name
699
670
),
700
-
701
- # APPROVE_UNLIMITED + UNKNOWN_TOKEN + UNKNOWN_PROVIDER
702
- # Example: "Approve UNKN"
703
- "APPROVE_UNLIMITED_UNKNOWN_UNKNOWN" : _ (i18n_keys .TITLE_APPROVE ).format (
671
+ # Example: "Approve Unlimited UNKN"
672
+ "APPROVE_UNLIMITED_UNKNOWN_UNKNOWN" : _ (i18n_keys .TITLE_UNLIMITED ).format (
704
673
name = token_name
705
674
),
706
-
707
- # APPROVE_UNLIMITED + KNOWN_TOKEN + KNOWN_PROVIDER
708
675
# Example: "Approve unlimited USDT for 1inch"
709
676
"APPROVE_UNLIMITED_KNOWN_KNOWN" : _ (i18n_keys .APPROVE_UNLIMITED_TOKEN ).format (
710
677
token = token_name , name = provider_name
711
678
),
712
-
713
- # APPROVE_UNLIMITED + KNOWN_TOKEN + UNKNOWN_PROVIDER
714
679
# Example: "Approve unlimited USDT"
715
680
"APPROVE_UNLIMITED_KNOWN_UNKNOWN" : _ (i18n_keys .TITLE_UNLIMITED ).format (
716
681
name = token_name
717
682
),
718
-
719
- # APPROVE_LIMITED + UNKNOWN_TOKEN + KNOWN_PROVIDER
720
- # Example: "Approve UNKN for 1inch"
683
+ # Example: "Approve 10.678 UNKN for 1inch"
721
684
"APPROVE_LIMITED_UNKNOWN_KNOWN" : _ (i18n_keys .APPROVE_TOKEN_AMOUNT ).format (
722
- token = token_name , name = provider_name
685
+ token = amount_display , name = provider_name
723
686
),
724
-
725
- # APPROVE_LIMITED + UNKNOWN_TOKEN + UNKNOWN_PROVIDER
726
- # Example: "Approve UNKN"
687
+ # Example: "Approve 10.678 UNKN"
727
688
"APPROVE_LIMITED_UNKNOWN_UNKNOWN" : _ (i18n_keys .TITLE_APPROVE ).format (
728
- name = token_name
689
+ name = amount_display
729
690
),
730
-
731
- # APPROVE_LIMITED + KNOWN_TOKEN + KNOWN_PROVIDER
732
691
# Example: "Approve 10.678 USDT for 1inch"
733
692
"APPROVE_LIMITED_KNOWN_KNOWN" : _ (i18n_keys .APPROVE_TOKEN_AMOUNT ).format (
734
693
token = amount_display , name = provider_name
735
694
),
736
-
737
- # APPROVE_LIMITED + KNOWN_TOKEN + UNKNOWN_PROVIDER
738
695
# Example: "Approve 10.678 USDT"
739
696
"APPROVE_LIMITED_KNOWN_UNKNOWN" : _ (i18n_keys .TITLE_APPROVE ).format (
740
697
name = amount_display
741
698
),
742
699
}
743
-
700
+
744
701
return title_map [combination_key ]
0 commit comments