feat(tron): Release Tron features to prod
What changed, and why it matters
This commit simply turns on Tron (TRX) support in Trezor firmware for all users. It moves Tron code from debug-only builds into normal production builds, updates support lists, and refreshes test snapshots. There is no bug fix or security patch here—just a feature release.
No security action required; treat as a normal feature-release commit. Standard regression testing and release notes review are sufficient.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change releases Tron features to production: adds ‘misc:TRX’ to support.json for all device models, removes the ‘WIP: Partial support in Debug build’ unsupported note, moves apps/tron and trezor/enums/Tron from the debug-only block into the always-included frozen source set in SConscript.firmware and SConscript.unix, un-indents the Tron message handlers in workflow_handlers.py so they are registered unconditionally, removes the ‘if debug:’ guard around Tron UI confirmation helpers in all four layout backends, updates the README to mark FreezeBalanceV2, UnfreezeBalanceV2, and WithdrawExpireUnfreeze as implemented, and updates UI test fixture hashes. No cryptographic, parsing, or authorization logic is modified.
Changed components
core/src/apps/workflow_handlers.pycore/SConscript.firmwarecore/SConscript.unixcore/src/trezor/ui/layouts/bolt/__init__.pycore/src/trezor/ui/layouts/caesar/__init__.pycore/src/trezor/ui/layouts/delizia/__init__.pycore/src/trezor/ui/layouts/eckhart/__init__.pycommon/defs/support.jsoncore/src/apps/tron/README.mdtests/ui_tests/fixtures.jsonInspect captured patch +589 / −589
diff --git a/common/defs/support.json b/common/defs/support.json
index 34bec4ca..bb6edac3 100644
--- a/common/defs/support.json
+++ b/common/defs/support.json
@@ -212,7 +212,8 @@
"misc:XRP": "2.6.1",
"misc:XTZ": "2.6.1",
"misc:tADA": "2.6.1",
- "misc:tXRP": "2.6.1"
+ "misc:tXRP": "2.6.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T2B1 (#2793)",
@@ -235,8 +236,7 @@
"nem:PAC:CHS": "not for T2B1 (#2793)",
"nem:PAC:HRT": "not for T2B1 (#2793)",
"nem:XEM": "not for T2B1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
"T2T1": {
@@ -348,15 +348,15 @@
"nem:DIMTOK": "2.0.7",
"nem:PAC:CHS": "2.0.7",
"nem:PAC:HRT": "2.0.7",
- "nem:XEM": "2.0.7"
+ "nem:XEM": "2.0.7",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:PART": "incompatible fork",
"bitcoin:TRC": "address_type collides with Bitcoin",
"bitcoin:tPART": "incompatible fork",
"misc:LSK": "Incompatible mainnet hard-fork",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
"T3B1": {
@@ -452,7 +452,8 @@
"misc:XRP": "2.8.1",
"misc:XTZ": "2.8.1",
"misc:tADA": "2.8.1",
- "misc:tXRP": "2.8.1"
+ "misc:tXRP": "2.8.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T3B1 (#2793)",
@@ -475,8 +476,7 @@
"nem:PAC:CHS": "not for T3B1 (#2793)",
"nem:PAC:HRT": "not for T3B1 (#2793)",
"nem:XEM": "not for T3B1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
"T3T1": {
@@ -572,7 +572,8 @@
"misc:XRP": "2.6.1",
"misc:XTZ": "2.6.1",
"misc:tADA": "2.6.1",
- "misc:tXRP": "2.6.1"
+ "misc:tXRP": "2.6.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T3T1 (#2793)",
@@ -595,8 +596,7 @@
"nem:PAC:CHS": "not for T3T1 (#2793)",
"nem:PAC:HRT": "not for T3T1 (#2793)",
"nem:XEM": "not for T3T1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
"T3W1": {
@@ -692,7 +692,8 @@
"misc:XRP": "2.6.1",
"misc:XTZ": "2.6.1",
"misc:tADA": "2.6.1",
- "misc:tXRP": "2.6.1"
+ "misc:tXRP": "2.6.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T3W1 (#2793)",
@@ -715,8 +716,7 @@
"nem:PAC:CHS": "not for T3W1 (#2793)",
"nem:PAC:HRT": "not for T3W1 (#2793)",
"nem:XEM": "not for T3W1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
@@ -813,7 +813,8 @@
"misc:XRP": "2.6.1",
"misc:XTZ": "2.6.1",
"misc:tADA": "2.6.1",
- "misc:tXRP": "2.6.1"
+ "misc:tXRP": "2.6.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T3W1 (#2793)",
@@ -836,8 +837,7 @@
"nem:PAC:CHS": "not for T3W1 (#2793)",
"nem:PAC:HRT": "not for T3W1 (#2793)",
"nem:XEM": "not for T3W1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
},
@@ -934,7 +934,8 @@
"misc:XRP": "2.6.1",
"misc:XTZ": "2.6.1",
"misc:tADA": "2.6.1",
- "misc:tXRP": "2.6.1"
+ "misc:tXRP": "2.6.1",
+ "misc:TRX": "2.10.1"
},
"unsupported": {
"bitcoin:BTG": "not for T3W1 (#2793)",
@@ -957,8 +958,7 @@
"nem:PAC:CHS": "not for T3W1 (#2793)",
"nem:PAC:HRT": "not for T3W1 (#2793)",
"nem:XEM": "not for T3W1 (#2793)",
- "eth:tHOL:17000": "Deprecated testnet",
- "misc:TRX": "WIP: Partial support in Debug build"
+ "eth:tHOL:17000": "Deprecated testnet"
}
}
}
diff --git a/core/.changelog.d/5358.added b/core/.changelog.d/5358.added
new file mode 100644
index 00000000..047ad3e4
--- /dev/null
+++ b/core/.changelog.d/5358.added
@@ -0,0 +1 @@
+Adding TRON support for TRX and other TRC-20 tokens, smart contracts, and Stake 2.0
diff --git a/core/SConscript.firmware b/core/SConscript.firmware
index 719135e2..78c70225 100644
--- a/core/SConscript.firmware
+++ b/core/SConscript.firmware
@@ -800,8 +800,6 @@ if FROZEN:
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/nostr/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/nostr/*/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Nostr*.py'))
- SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/tron/*.py'))
- SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Tron*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/ripple/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Ripple*.py'))
@@ -827,6 +825,9 @@ if FROZEN:
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/bitcoin/sign_tx/zcash_v4.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Zcash*.py'))
+ SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/tron/*.py'))
+ SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Tron*.py'))
+
source_mpy = env.FrozenModule(
source=SOURCE_PY,
source_dir=SOURCE_PY_DIR,
diff --git a/core/SConscript.unix b/core/SConscript.unix
index da39109f..3674d5f3 100644
--- a/core/SConscript.unix
+++ b/core/SConscript.unix
@@ -819,8 +819,9 @@ if FROZEN:
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/nostr/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/nostr/*/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Nostr*.py'))
- SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/tron/*.py'))
- SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Tron*.py'))
+
+ SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/tron/*.py'))
+ SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Tron*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'apps/ripple/*.py'))
SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/enums/Ripple*.py'))
diff --git a/core/src/apps/tron/README.md b/core/src/apps/tron/README.md
index ab0017ed..1963fed7 100644
--- a/core/src/apps/tron/README.md
+++ b/core/src/apps/tron/README.md
@@ -1,4 +1,4 @@
-# TRON [WIP]
+# TRON
Tron is an EVM like network that allows for nearly free token transfers like `USDT` etc. It achieves this by using `Bandwidth` and `Energy` for transfers, instead of `Gas` in Ethereum. `Bandwidth` is used for native `TRX` transfer, while `Energy` is used for `TRC-20` tokens like `Tether - USDT` etc.
@@ -29,8 +29,10 @@ Therefore, we do not show any fees to the user on the device. The host applicati
- [X] Generate addresses for Receiving `TRX` or other tokens.
- [X] `TransferContract`: Sending `TRX`
- [X] `TriggerSmartContract`: Send `USDT`, `USDD`, etc.
-- [ ] `FreezeBalanceV2`: Stake `TRX` to get more `Bandwidth` or `Energy`
-- [ ] `UnfreezeBalanceV2`: Unstake frozen `TRX`
+- [X] `FreezeBalanceV2`: Stake `TRX` to get more `Bandwidth` or `Energy`
+- [X] `UnfreezeBalanceV2`: Unstake frozen `TRX`
+- [X] `WithdrawExpireUnfreeze`: Claim Unstaked `TRX` past their lock-up period
+- [ ] `VoteWitnessAccount`: Vote using earned TRON Power. **Coming soon**
### Notes
diff --git a/core/src/apps/workflow_handlers.py b/core/src/apps/workflow_handlers.py
index 59f64429..3e3f89a1 100644
--- a/core/src/apps/workflow_handlers.py
+++ b/core/src/apps/workflow_handlers.py
@@ -131,11 +131,11 @@ def _find_message_handler_module(msg_type: int) -> str:
if msg_type == MessageType.NostrSignEvent:
return "apps.nostr.sign_event"
- # tron
- if msg_type == MessageType.TronGetAddress:
- return "apps.tron.get_address"
- if msg_type == MessageType.TronSignTx:
- return "apps.tron.sign_tx"
+ # tron
+ if msg_type == MessageType.TronGetAddress:
+ return "apps.tron.get_address"
+ if msg_type == MessageType.TronSignTx:
+ return "apps.tron.sign_tx"
if msg_type == MessageType.SetU2FCounter:
return "apps.management.set_u2f_counter"
diff --git a/core/src/trezor/ui/layouts/bolt/__init__.py b/core/src/trezor/ui/layouts/bolt/__init__.py
index fb9d28e4..46cae09b 100644
--- a/core/src/trezor/ui/layouts/bolt/__init__.py
+++ b/core/src/trezor/ui/layouts/bolt/__init__.py
@@ -1486,130 +1486,129 @@ if not utils.BITCOIN_ONLY:
chunkify=False,
)
- if __debug__:
-
- async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
- await _confirm_summary(
- amount or "",
- amount_label=TR.send__total_amount if amount else "",
- fee=fee or "",
- fee_label=TR.words__fee_limit if fee else "",
- extra_items=None,
- br_name="confirm_tron_send",
- br_code=ButtonRequestType.SignTx,
- )
- # TODO: #6359 Reword the TR strings to be ETH agnostic.
- async def confirm_tron_approve(
- recipient_addr: str,
- amount_str: str,
- is_revoke: bool,
- maximum_fee: str,
- chunkify: bool = False,
- ) -> None:
- br_name = "confirm_tron_approve"
- if is_revoke:
- title = TR.ethereum__approve_intro_title_revoke
- action_subtitle = TR.ethereum__approve_intro_revoke
- value_subtitle = TR.ethereum__approve_revoke_from
- summary_view = (TR.words__token, amount_str[2:], True)
- else:
- title = TR.ethereum__approve_intro_title
- action_subtitle = TR.ethereum__approve_intro
- value_subtitle = TR.ethereum__approve_to
- summary_view = (
- TR.ethereum__approve_amount_allowance,
- amount_str,
- False,
- )
+ async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
+ await _confirm_summary(
+ amount or "",
+ amount_label=TR.send__total_amount if amount else "",
+ fee=fee or "",
+ fee_label=TR.words__fee_limit if fee else "",
+ extra_items=None,
+ br_name="confirm_tron_send",
+ br_code=ButtonRequestType.SignTx,
+ )
- await confirm_action(
- br_name,
- title,
- action_subtitle,
- verb=TR.buttons__continue,
- )
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=value_subtitle,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
+ # TODO: #6359 Reword the TR strings to be ETH agnostic.
+ async def confirm_tron_approve(
+ recipient_addr: str,
+ amount_str: str,
+ is_revoke: bool,
+ maximum_fee: str,
+ chunkify: bool = False,
+ ) -> None:
+ br_name = "confirm_tron_approve"
+ if is_revoke:
+ title = TR.ethereum__approve_intro_title_revoke
+ action_subtitle = TR.ethereum__approve_intro_revoke
+ value_subtitle = TR.ethereum__approve_revoke_from
+ summary_view = (TR.words__token, amount_str[2:], True)
+ else:
+ title = TR.ethereum__approve_intro_title
+ action_subtitle = TR.ethereum__approve_intro
+ value_subtitle = TR.ethereum__approve_to
+ summary_view = (
+ TR.ethereum__approve_amount_allowance,
+ amount_str,
+ False,
)
- properties: list[StrPropertyType] = [
- summary_view,
- (TR.words__chain, "Tron", True),
- ]
+ await confirm_action(
+ br_name,
+ title,
+ action_subtitle,
+ verb=TR.buttons__continue,
+ )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=value_subtitle,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
- False,
- verb=TR.buttons__continue,
- )
+ properties: list[StrPropertyType] = [
+ summary_view,
+ (TR.words__chain, "Tron", True),
+ ]
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
- # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
- async def confirm_tron_transfer(
- recipient_addr: str,
- amount_str: str,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
- br_name = "confirm_tron_transfer"
- title = TR.words__send
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=TR.words__recipient,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
+ async def confirm_tron_transfer(
+ recipient_addr: str,
+ amount_str: str,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
+ br_name = "confirm_tron_transfer"
+ title = TR.words__send
- properties: Iterable[StrPropertyType] = (
- (
- TR.words__amount,
- amount_str,
- False,
- ),
- (TR.words__chain, "Tron", True),
- )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=TR.words__recipient,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ properties: Iterable[StrPropertyType] = (
+ (
+ TR.words__amount,
+ amount_str,
False,
- verb=TR.buttons__continue,
- )
+ ),
+ (TR.words__chain, "Tron", True),
+ )
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
+
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
def confirm_joint_total(spending_amount: str, total_amount: str) -> Awaitable[None]:
diff --git a/core/src/trezor/ui/layouts/caesar/__init__.py b/core/src/trezor/ui/layouts/caesar/__init__.py
index 024cc401..ddc39c67 100644
--- a/core/src/trezor/ui/layouts/caesar/__init__.py
+++ b/core/src/trezor/ui/layouts/caesar/__init__.py
@@ -1538,141 +1538,140 @@ if not utils.BITCOIN_ONLY:
chunkify=False,
)
- if __debug__:
- async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
- await raise_if_not_confirmed(
- trezorui_api.confirm_summary(
- amount=amount or "",
- amount_label=TR.send__total_amount if amount else "",
- fee=fee or "",
- fee_label=TR.words__fee_limit if fee else "",
- ),
- br_name="confirm_tron_send",
- br_code=ButtonRequestType.SignTx,
- )
+ async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
+ await raise_if_not_confirmed(
+ trezorui_api.confirm_summary(
+ amount=amount or "",
+ amount_label=TR.send__total_amount if amount else "",
+ fee=fee or "",
+ fee_label=TR.words__fee_limit if fee else "",
+ ),
+ br_name="confirm_tron_send",
+ br_code=ButtonRequestType.SignTx,
+ )
- # TODO: #6359 Reword the TR strings to be ETH agnostic.
- async def confirm_tron_approve(
- recipient_addr: str,
- amount_str: str,
- is_revoke: bool,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
- from ..properties import with_colon
-
- br_name = "confirm_tron_approve"
- if is_revoke:
- title = TR.ethereum__approve_intro_title_revoke
- action_subtitle = TR.ethereum__approve_intro_revoke
- value_subtitle = TR.ethereum__approve_revoke_from
- summary_view = (TR.words__token, amount_str[2:], True)
- else:
- title = TR.ethereum__approve_intro_title
- action_subtitle = TR.ethereum__approve_intro
- value_subtitle = TR.ethereum__approve_to
- summary_view = (
- TR.ethereum__approve_amount_allowance,
- amount_str,
- False,
- )
+ # TODO: #6359 Reword the TR strings to be ETH agnostic.
+ async def confirm_tron_approve(
+ recipient_addr: str,
+ amount_str: str,
+ is_revoke: bool,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
+ from ..properties import with_colon
- await confirm_action(
- br_name,
- title,
- action_subtitle,
- verb=TR.buttons__continue,
- )
- await confirm_value(
- value_subtitle,
- recipient_addr,
- "",
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
+ br_name = "confirm_tron_approve"
+ if is_revoke:
+ title = TR.ethereum__approve_intro_title_revoke
+ action_subtitle = TR.ethereum__approve_intro_revoke
+ value_subtitle = TR.ethereum__approve_revoke_from
+ summary_view = (TR.words__token, amount_str[2:], True)
+ else:
+ title = TR.ethereum__approve_intro_title
+ action_subtitle = TR.ethereum__approve_intro
+ value_subtitle = TR.ethereum__approve_to
+ summary_view = (
+ TR.ethereum__approve_amount_allowance,
+ amount_str,
+ False,
)
- properties: list[StrPropertyType] = [
- summary_view,
- (TR.words__chain, "Tron", True),
- ]
+ await confirm_action(
+ br_name,
+ title,
+ action_subtitle,
+ verb=TR.buttons__continue,
+ )
+ await confirm_value(
+ value_subtitle,
+ recipient_addr,
+ "",
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
- False,
- verb=TR.buttons__continue,
- )
+ properties: list[StrPropertyType] = [
+ summary_view,
+ (TR.words__chain, "Tron", True),
+ ]
- await raise_if_not_confirmed(
- trezorui_api.confirm_summary(
- amount=None,
- amount_label=None,
- fee=maximum_fee,
- fee_label=with_colon(TR.send__maximum_fee),
- title=title,
- account_title=TR.address_details__account_info,
- extra_title=TR.confirm_total__title_fee,
- ),
- br_name=br_name,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
- # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
- async def confirm_tron_transfer(
- recipient_addr: str,
- amount_str: str,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
- from ..properties import with_colon
+ await raise_if_not_confirmed(
+ trezorui_api.confirm_summary(
+ amount=None,
+ amount_label=None,
+ fee=maximum_fee,
+ fee_label=with_colon(TR.send__maximum_fee),
+ title=title,
+ account_title=TR.address_details__account_info,
+ extra_title=TR.confirm_total__title_fee,
+ ),
+ br_name=br_name,
+ )
- br_name = "confirm_tron_transfer"
- title = TR.words__send
+ # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
+ async def confirm_tron_transfer(
+ recipient_addr: str,
+ amount_str: str,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
+ from ..properties import with_colon
- await confirm_value(
- title,
- recipient_addr,
- "",
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ br_name = "confirm_tron_transfer"
+ title = TR.words__send
- properties: Iterable[StrPropertyType] = (
- (
- TR.words__amount,
- amount_str,
- False,
- ),
- (TR.words__chain, "Tron", True),
- )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ properties: Iterable[StrPropertyType] = (
+ (
+ TR.words__amount,
+ amount_str,
False,
- verb=TR.buttons__continue,
- )
+ ),
+ (TR.words__chain, "Tron", True),
+ )
- await raise_if_not_confirmed(
- trezorui_api.confirm_summary(
- amount=None,
- amount_label=None,
- fee=maximum_fee,
- fee_label=with_colon(TR.send__maximum_fee),
- title=title,
- account_title=TR.address_details__account_info,
- extra_title=TR.confirm_total__title_fee,
- ),
- br_name=br_name,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
+
+ await raise_if_not_confirmed(
+ trezorui_api.confirm_summary(
+ amount=None,
+ amount_label=None,
+ fee=maximum_fee,
+ fee_label=with_colon(TR.send__maximum_fee),
+ title=title,
+ account_title=TR.address_details__account_info,
+ extra_title=TR.confirm_total__title_fee,
+ ),
+ br_name=br_name,
+ )
def confirm_joint_total(spending_amount: str, total_amount: str) -> Awaitable[None]:
diff --git a/core/src/trezor/ui/layouts/delizia/__init__.py b/core/src/trezor/ui/layouts/delizia/__init__.py
index a6bf6f98..ba5be0db 100644
--- a/core/src/trezor/ui/layouts/delizia/__init__.py
+++ b/core/src/trezor/ui/layouts/delizia/__init__.py
@@ -1461,132 +1461,131 @@ if not utils.BITCOIN_ONLY:
chunkify=False,
)
- if __debug__:
-
- async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
- await _confirm_summary(
- amount or "",
- amount_label=TR.send__total_amount if amount else "",
- fee=fee or "",
- fee_label=TR.words__fee_limit if fee else "",
- extra_items=None,
- br_name="confirm_tron_send",
- br_code=ButtonRequestType.SignTx,
- )
- # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
- async def confirm_tron_transfer(
- recipient_addr: str,
- amount_str: str,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
+ async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
+ await _confirm_summary(
+ amount or "",
+ amount_label=TR.send__total_amount if amount else "",
+ fee=fee or "",
+ fee_label=TR.words__fee_limit if fee else "",
+ extra_items=None,
+ br_name="confirm_tron_send",
+ br_code=ButtonRequestType.SignTx,
+ )
- br_name = "confirm_tron_transfer"
- title = TR.words__send
+ # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
+ async def confirm_tron_transfer(
+ recipient_addr: str,
+ amount_str: str,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=TR.words__recipient,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ br_name = "confirm_tron_transfer"
+ title = TR.words__send
- properties: Iterable[StrPropertyType] = (
- (
- TR.words__amount,
- amount_str,
- False,
- ),
- (TR.words__chain, "Tron", True),
- )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=TR.words__recipient,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ properties: Iterable[StrPropertyType] = (
+ (
+ TR.words__amount,
+ amount_str,
False,
- verb=TR.buttons__continue,
- )
-
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ ),
+ (TR.words__chain, "Tron", True),
+ )
- # TODO: #6359 Reword the TR strings to be ETH agnostic.
- async def confirm_tron_approve(
- recipient_addr: str,
- amount_str: str,
- is_revoke: bool,
- maximum_fee: str,
- chunkify: bool = False,
- ) -> None:
-
- br_name = "confirm_tron_approve"
- if is_revoke:
- title = TR.ethereum__approve_intro_title_revoke
- action_subtitle = TR.ethereum__approve_intro_revoke
- value_subtitle = TR.ethereum__approve_revoke_from
- summary_view = (TR.words__token, amount_str[2:], True)
- else:
- title = TR.ethereum__approve_intro_title
- action_subtitle = TR.ethereum__approve_intro
- value_subtitle = TR.ethereum__approve_to
- summary_view = (
- TR.ethereum__approve_amount_allowance,
- amount_str,
- False,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
- await confirm_action(
- br_name,
- title,
- action_subtitle,
- verb=TR.buttons__continue,
- )
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=value_subtitle,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
- properties: list[StrPropertyType] = [
- summary_view,
- (f"{TR.words__chain}:", "Tron", True),
- ]
+ # TODO: #6359 Reword the TR strings to be ETH agnostic.
+ async def confirm_tron_approve(
+ recipient_addr: str,
+ amount_str: str,
+ is_revoke: bool,
+ maximum_fee: str,
+ chunkify: bool = False,
+ ) -> None:
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ br_name = "confirm_tron_approve"
+ if is_revoke:
+ title = TR.ethereum__approve_intro_title_revoke
+ action_subtitle = TR.ethereum__approve_intro_revoke
+ value_subtitle = TR.ethereum__approve_revoke_from
+ summary_view = (TR.words__token, amount_str[2:], True)
+ else:
+ title = TR.ethereum__approve_intro_title
+ action_subtitle = TR.ethereum__approve_intro
+ value_subtitle = TR.ethereum__approve_to
+ summary_view = (
+ TR.ethereum__approve_amount_allowance,
+ amount_str,
False,
- verb=TR.buttons__continue,
)
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ await confirm_action(
+ br_name,
+ title,
+ action_subtitle,
+ verb=TR.buttons__continue,
+ )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=value_subtitle,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
+
+ properties: list[StrPropertyType] = [
+ summary_view,
+ (f"{TR.words__chain}:", "Tron", True),
+ ]
+
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
+
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
def confirm_joint_total(spending_amount: str, total_amount: str) -> Awaitable[None]:
diff --git a/core/src/trezor/ui/layouts/eckhart/__init__.py b/core/src/trezor/ui/layouts/eckhart/__init__.py
index 55f21eda..431afada 100644
--- a/core/src/trezor/ui/layouts/eckhart/__init__.py
+++ b/core/src/trezor/ui/layouts/eckhart/__init__.py
@@ -1562,132 +1562,130 @@ if not utils.BITCOIN_ONLY:
chunkify=False,
)
- if __debug__:
-
- async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
- await _confirm_summary(
- amount or "",
- TR.send__total_amount if amount else "",
- fee or "",
- TR.words__fee_limit if fee else "",
- extra_items=None,
- br_name="confirm_tron_send",
- br_code=ButtonRequestType.SignTx,
- )
-
- # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
- async def confirm_tron_transfer(
- recipient_addr: str,
- amount_str: str,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
+ async def confirm_tron_send(amount: str | None, fee: str | None) -> None:
+ await _confirm_summary(
+ amount or "",
+ TR.send__total_amount if amount else "",
+ fee or "",
+ TR.words__fee_limit if fee else "",
+ extra_items=None,
+ br_name="confirm_tron_send",
+ br_code=ButtonRequestType.SignTx,
+ )
- br_name = "confirm_tron_transfer"
- title = TR.words__send
+ # TODO: #6364 Consider simplifying with confirm_tron_send like ETH flows.
+ async def confirm_tron_transfer(
+ recipient_addr: str,
+ amount_str: str,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=TR.words__recipient,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ br_name = "confirm_tron_transfer"
+ title = TR.words__send
- properties: Iterable[StrPropertyType] = (
- (
- f"{TR.words__amount}:",
- amount_str,
- False,
- ),
- (TR.words__chain, "Tron", True),
- )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=TR.words__recipient,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ properties: Iterable[StrPropertyType] = (
+ (
+ f"{TR.words__amount}:",
+ amount_str,
False,
- verb=TR.buttons__continue,
- )
-
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ ),
+ (TR.words__chain, "Tron", True),
+ )
- # TODO: #6359 Redo as ETH confirm_tx
- async def confirm_tron_approve(
- recipient_addr: str,
- amount_str: str,
- is_revoke: bool,
- maximum_fee: str,
- chunkify: bool = True,
- ) -> None:
-
- br_name = "confirm_tron_approve"
- if is_revoke:
- title = TR.ethereum__approve_intro_title_revoke
- action_subtitle = TR.ethereum__approve_intro_revoke
- value_subtitle = TR.ethereum__approve_revoke_from
- summary_view = (TR.words__token, amount_str[2:], True)
- else:
- title = TR.ethereum__approve_intro_title
- action_subtitle = TR.ethereum__approve_intro
- value_subtitle = TR.ethereum__approve_to
- summary_view = (
- TR.ethereum__approve_amount_allowance,
- amount_str,
- False,
- )
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
- await confirm_action(
- br_name,
- title,
- action_subtitle,
- verb=TR.buttons__continue,
- )
- await confirm_value(
- title,
- recipient_addr,
- "",
- subtitle=value_subtitle,
- chunkify=chunkify,
- br_name=br_name,
- verb=TR.buttons__continue,
- cancel=True,
- )
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
- properties: list[StrPropertyType] = [
- summary_view,
- (f"{TR.words__chain}:", "Tron", True),
- ]
+ # TODO: #6359 Redo as ETH confirm_tx
+ async def confirm_tron_approve(
+ recipient_addr: str,
+ amount_str: str,
+ is_revoke: bool,
+ maximum_fee: str,
+ chunkify: bool = True,
+ ) -> None:
- await confirm_properties(
- br_name,
- title,
- properties,
- None,
+ br_name = "confirm_tron_approve"
+ if is_revoke:
+ title = TR.ethereum__approve_intro_title_revoke
+ action_subtitle = TR.ethereum__approve_intro_revoke
+ value_subtitle = TR.ethereum__approve_revoke_from
+ summary_view = (TR.words__token, amount_str[2:], True)
+ else:
+ title = TR.ethereum__approve_intro_title
+ action_subtitle = TR.ethereum__approve_intro
+ value_subtitle = TR.ethereum__approve_to
+ summary_view = (
+ TR.ethereum__approve_amount_allowance,
+ amount_str,
False,
- verb=TR.buttons__continue,
)
- await _confirm_summary(
- None,
- None,
- maximum_fee,
- TR.send__maximum_fee,
- title,
- None,
- )
+ await confirm_action(
+ br_name,
+ title,
+ action_subtitle,
+ verb=TR.buttons__continue,
+ )
+ await confirm_value(
+ title,
+ recipient_addr,
+ "",
+ subtitle=value_subtitle,
+ chunkify=chunkify,
+ br_name=br_name,
+ verb=TR.buttons__continue,
+ cancel=True,
+ )
+
+ properties: list[StrPropertyType] = [
+ summary_view,
+ (f"{TR.words__chain}:", "Tron", True),
+ ]
+
+ await confirm_properties(
+ br_name,
+ title,
+ properties,
+ None,
+ False,
+ verb=TR.buttons__continue,
+ )
+
+ await _confirm_summary(
+ None,
+ None,
+ maximum_fee,
+ TR.send__maximum_fee,
+ title,
+ None,
+ )
def confirm_joint_total(spending_amount: str, total_amount: str) -> Awaitable[None]:
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 175edce4..cdbe809f 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2709,18 +2709,18 @@
"T2T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "8164ecf1911f09912117800c53b41e51bc985a58cd1327c146985fb3357e481f",
"T2T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "42ae9120c9684d6399c7d1f8000a5ba5963ab4da8d0d3dd76f1ddfdea4dea931",
"T2T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "8960229b8528a5fe5343f27cb1a9165ff4cda1285774eba59c2a4a71565cd1e2",
-"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "8531895a763fd43621fe799a5e3df747b54bf1af6a633efd41bd79444a92ddd1",
-"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "8e2b0f6ba95e3c1f5bd0f9cba0ce02df18544c9c485997dd726d95d74215836f",
+"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "b34e6444093045cd003692260ff287275a237bf5068f787df52b4525e6702a95",
+"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "b759a1e4ee253c45d4ecb77b7f0456a1266fdf3324becab404b01f6248f23529",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "1df858d29131f526dbd1009b243dc689a157830133a0f17c80589713bfd568a7",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "d8e9487dd136c17bc9aec18a24b56c48228ce4b3fc9682be0a2479a7080f0206",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "7ab81f27f9f86b5cb31847dc172c1dc1205fe52ccc7ca8ee4687e888c072c40d",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
-"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "acd2e31890d1e905668099c46f92ec74942c75116eb8e3f62377403e6f4eb1b5",
+"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "2fc4ec4d937bef034cb37941d4190ffc84d2a942092b74c6bc3a404299366c67",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "406c8871e61a7bd2a08c7153ebb661be5df37aec7026f4ea357029aa2ddeae3c",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "1f291dca63b6631780d3020acea04c0141d3824749476ab48bd5a98fb0500ea6",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "ee8723276bc61d51e5dcfe733f14d05634d61bf7da21fed8a7803e5fa8264278",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "34e4b048b1e42bbc142b16178091d19f8a2a49a642534c7c8c72bfab8ecbe35d",
-"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "c1d8a87aabbc3e9985a744df7e503c42c674fad93b295762970d6abeced4fa10",
+"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "bd3ad3929caa5b182e9d144a9d7f147b7661bf964a0031dd01c2f233a2c266ea",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "2b2c2d74f3f6211c7c47e1631ae965615fb7826490dcbd4c34a4bfa343e706c6",
"T2T1_cs_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "31234e18ccfc2ee9d8c87de0215f4452eb27edb3191240a82ad72fe029fb858c",
@@ -4317,18 +4317,18 @@
"T2T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "84e9093bb0ee3e4cb94cb3f8afece3269881a1d9a071320e485bc071fcd35b52",
"T2T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "c096a5ecea3a94bbc46143820d40276947f02f283b0c22ed48e8864fedf43e31",
"T2T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "515d9e3142e768017708a94ec687b2583560ea7afa35e20778434fd8477eff36",
-"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "88a90a38dd087c62909a7ad6b149579ffb03b00047be00c46ea722eaaf7d8649",
-"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "d5fbf0017032b58c61a82484610de7a950e170e6154566d788865153cf3309f1",
+"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "b125534e93eec964b9129aa33bac61f4cf02535df1f205ea9fe370ad291b4098",
+"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "6dc3fdbf27d91118788eb86dff1321c69c35a355dfe1e93c6dd601c98bd277e8",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "516bd6934cbd18f61c54440f216707f2b526bc9291690a7e0196bceee8736956",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "2b854c39deb7d2c79be9b151517bb25e634fc4c28f9fb5b5209d077082981afc",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "46f2efd9326f7d014a2664d9287278a27bf15fe9100fe63826efe8188eb1ecfd",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
-"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "9746db4fc60f9522ca18d4fc714f7594ae809fd1bc1c92b366d627b411a3490b",
+"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "ae3e8d73d92880c8a6220c0874cd19597f8ef54f7f03a88f053559a99998fc5b",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "cf6cbd4ecde984c4b5efa924728a831104aefdd59e0099e42383a012f696d653",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "20d0c8541e027e36f49f835a6787a241db2d0f66aa6cbf427e6e1ecb7acb511d",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "b4131def63ade4bd7cc650ec4a32b2d96285e9dc3771bc85cd9d70b41a480e26",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "957324d0fb06f51cf99c2f3d2a5f6ac7bf6cb943a9f93965c8d4fc3a158a0fab",
-"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "9468fc2d40ad76c7e56d26e3f06177de1589b41feeaed5c9d8ca1e2d5b1fa8c2",
+"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "18b1d68861d9ab6310717dd26a2644abd5d253892b3b54840cd91a2b99bc25dd",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "11397316161be752e6b09303c6eea1804d3bfa75a20161ec36c9cb4085de50eb",
"T2T1_de_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "271990384c5f2a6559f8947c62d2bbc1531744901bdcf34a7528c7d50ae944a1",
@@ -5925,18 +5925,18 @@
"T2T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "dca6abeb86a719f6dbc4264be23c084a02eb6e40cf81228604ee3181e5e80583",
"T2T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "253f793c76f1d12726600114e598741cc91529df36b5820b5d7fd6d80ff53736",
"T2T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "e9bba05188d12d600d9baf877751165e1c31f779ca1a6587b17549ac9499857f",
-"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "61bb75d442532fb6e44e39cad0ae2edc87208cbe83e9af1b83a52d8c7c47078a",
-"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "6ecc11c067885a7c6aff6859c6005703a19a11deeacb423fb872a5c6bfb4776a",
+"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "76458d312848326a8cf441ac22a5768a85743c4b0acb6b28e6b0322cf37139fa",
+"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "91058345f5ebda4876586c6e1cb73b2d1a0656701adcd3ebe9c16fdd50075511",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "f711ea76000eca1704717aae2235eb1e98fed53f5418ed2266db6ae8b4bad94c",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "dfa388e99e97dbca5309a0ee7603e3e3fc6cce4fc129d062a1bac384eecc14c4",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "2ad2d76dd6c5830f3ae206390d14acdf5268e2f59e85f97ee8af8735475b906e",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
-"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "e8a81b3c75f21b01182097a31b25e792621bba8082b8055b95cdbf7a4ab04372",
+"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "1242324023be1f8c2c2565598793cac7ca29aac86effceebcb9f64ea69b40e4f",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "139097e125543ea352c462c5fe2ef9b415cea565588bbf36ded8018824da4b84",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "9369281f36d48bb799f63417f7c452b634cfb8e2e780256d3ae8eea2cea66ad4",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "0ddfdb83078922b057cd849a9e6a08ddac803d2c49034743439c96b3b659fb44",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "30a10f207067a9b36a9b9dff2f2b1c2a6e8aedfb09422b0e2bfc966e475a7b28",
-"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "d9666a3d0e544ac2ffdb08a755c49de5204d8ae92ae48c2f208c8f8d0bb70c53",
+"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "cc9a85ddfb0f8547409f768413e1bb2b263d4f650714b415df82e690f35ef69e",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "2d793998203f8fca2ffbf741a4ffd6ea68e9ae8d78267c90608b40d8ff1859dc",
"T2T1_en_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "d648a91a2b0130b5aadedfc50364264c39fb00511085c9af477e48c86cc49660",
@@ -7551,18 +7551,18 @@
"T2T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "d090167e595c88ec0a7849cf38608bad17ca375075e414ac42022dceb85ffa0b",
"T2T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "554bba8d977403963f9e50a7d046291d8c08a7d4387763de9b33b5ad7c03c874",
"T2T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "7e8cc1c007d5dd47a806485d03aa9c5a4bbf0b0ae4a9d614401a68d1f35b6ffd",
-"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "f839e523abba568afe5a3b8d97be698faa0f27e793553dd0ff312f13ca262711",
-"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "a2a1d6604671ca9e125629249e22e6e76bc55ead40b69a87b29774cc095dd41c",
+"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "0ae8a2a4c96263e574f2cd2561f48669989ff70ed17dfea6fe74c0427b09c621",
+"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "3e76ee11fa61d8308e1f25f08965dfe497e628a006830c298965de94b77d17f1",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "1802ca256c934abc87b311c211df5cdd6717c02a725330898662909f31ce25c8",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "ee6ca64162cc90a37d557cacfe8154b6c272f65421671cdfb8934e533edb62b1",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "f218947181b8e7b0465466aa12e488f6b8557c3d9f11c96f984ba3b41ae9f359",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
-"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "7fcf9afe49d1d00fa86e9acac13b1d65a9b40cc511d85da9a8d0241cb3739455",
+"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "6434346831b44d0b8fa8643e3d408b608a0bb400f2a976dcd479c6f3c93692eb",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "4248c10f1fb0af1a2a7d38a96728eca426b76d9e7cb5a9ae3bfc2a5c1c53c476",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "0e643f23abf5592a57cabfd58d532148123c3473620223502ccbe0d71941ce33",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "eb210fa72b8a9877db37137edc58cfbbb22e09c0107b519eef28ab175499fce8",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "307c712ca35c9b6e9b2715a09e70b2644dd048d762eabf80f9a60211e6c66586",
-"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "99121e4936cee073b6e3f09a512cd822b7cdb852149da74ed30fbe2a584d165a",
+"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "4b733918ea9f12cff981492646bb284086dedd721a86c3120c6d27740a263c1b",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "ca574a8e28bac754865503f46846992d210607ce8e7b6c5c28a6326cb0533998",
"T2T1_es_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "244baa5f814fd97014a041174966e25ce5209d161e6e49beb3172c8c74c4eb6d",
@@ -9159,18 +9159,18 @@
"T2T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "6f944963cfc3c4aa5a7d721d93d138a3ce99b8e8c9a585e9714a88b1e706a7b7",
"T2T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "096714bb08ab431e5e4fca74b9e76f98b9b1e6a7fde74903e05163084ad9727d",
"T2T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "4c60005ff83349fe37cd44e43f111ff5bd39e0c58537ba92b2089ec28be72185",
-"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "2cc227f03b1e36a29faaa8366a285b54bf5a94f5303dbdf17fc4b24e8e6b82d1",
-"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "9afcac8c385dfd49eb2f16cea9d37d69888d3013aea27a45995093b90145d870",
+"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "99ef9e75a152d35c8b7eea298a8aaee5729b2c73ba2ad5103da214df017990dc",
+"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "b5e3576b3c8273c793f9ed1f83d8067c88e7156ad18a6bff4be5698c65b95075",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "8f2562558b2915c0bd444d88fb689a0741ecd738dc3bcd1f2b5c581412e591c8",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "5455e57e5a8413b2e8ed3cfeb6bfae9b9667d8c689057c98595e8db769d46a8a",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "5cece5a7a45082083b604e62a4f4b35926a3bc7508f29bb712e5d568ad6520f6",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
-"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "903b907f2023635f3f83017f501468c082c59eb0a03b7b7e349a6b0c713e2583",
+"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "763e5455cd6e1d7e737e67d2ba42f74acb6b7a3adbe5c47307ab4c2cc73c8776",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "6d896df9d24b3324717a4051db3808af689834072210af173c9f06d875c2f86a",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "3a55fcfe948541ca23d3b04c648da6ca8a493edda51cbce4597ea730c6e6fc52",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "fe57641979862f7b9a2fc06fbf760e391a790bfa161bbe753ee51cdb3a2de37f",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "17fa6c84be11ce51389042d3ea59f5d868e187d24a06d2d2039e54e495ae8772",
-"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "9b81f69cecd655733841f8548e532b656b4ee2b6975597908b7332cff5820891",
+"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "18885e7cd41dcb867f9cdff831adfbc3b239320f716cdf4e2d8c5777121cf688",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "28dec6cdf5fc27e31b6765c18ef00503dac6febff2ca6c76814192a99195d0a7",
"T2T1_fr_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "dfb6ae340665a9b1c88997cec5d061cc72735910427917e7630b870b6c081fe4",
@@ -10767,18 +10767,18 @@
"T2T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "868281e0d8bd8f3de8f926700050ca19d3df5fb6b45bc29c854a40b312301178",
"T2T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "33a9ba21b5bc5e99f468eaef6f824cecee7745971fb713e0142bd6b9feafaadc",
"T2T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "f5859ebfb7858aa8d8fe2d9e0e8bcf9d1d31b13ab54d667343eb6941e7da1467",
-"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "c645eba58a81e33023e69aa37f8dfb3f5d8f715f9d42d731af7eae2c7fbb8d79",
-"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "8424922bde24b28c35590e689e5f97dd6bb5cb511fe7e0f5d3609d99c03b97f4",
+"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "3296ae38df8c63de1e2b869a4d0db79e0c242a99d686730bc60fca6bfcd863a6",
+"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "69e9c0c852e559e4e8241c8de35f36e2cff95eba2b12f0ed0ed8f8b847a23a84",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "6b6c0f4b21e4589e211483a81654097333f17d1e8521a995ea2e8e65c621d624",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "a5275863018076c8fa3760257301d4798c388048ba2eee16a337536d8242e27a",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "ab86349d9ea5789aae161f41ac1e4bfe2c9b7d16f5f90107ffba37e3588a629e",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
-"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "d70cb26d6f0c7f469791605819396309ee62147034e43e259c7b6857d407df51",
+"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "224c9ceaf62635604d87b6762840ffad48928f4ad9576080c50c22d47fcfb4cf",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "4ebead35cb1a2cc73043ebc911925bbd34f3c4e5ff6bb273ab2991b073804998",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "8a80d4dc0a42735ce88c2f10e6c26fbddf2115f232667d7ef9ac33bd70fd840d",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "a55a31594618e2611a88375d6f64bf0ce341c67aa1926d347d1ea171376b450a",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "5e9a3c04ab45e1a945c5befc4311b0d0e06ca42e836470e9ba8dedeadebde317",
-"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "40fb128ebc4730b483aeedab4bcde1d7f384d5af00ae732f4b69a344a147fbb0",
+"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "fbba6ca42de206857d1cc231cfdf182719f268385619ff09ce85c2217cbcd758",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "84cb014078bd6015a22caf359c21b18f811db63b545d1d3b5abaf989bc985278",
"T2T1_pt_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "a59eab171f0d013c8de37697292d240ef085ecf0bad020b784e40db4b1a29f3e",
@@ -12598,18 +12598,18 @@
"T3B1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "58dd55e7c34599793efcf4047f290ebf5a0b0929bffb37d332a95ff685b10b07",
"T3B1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "de7222b5d576dbb7a64e4ed6aa7e18144e48b0bb2650f05cee77e7d98be0ccb4",
"T3B1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "09feec7d361b6d1f493bc3fd14ab7b6b820556deef04e5d289f3da4355688bd9",
-"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "7c3ce4e75590ea9eede086045316b647a5c739478b27f7d10a56ec7253b04b79",
-"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "ba2ace165043f705bd48bb8c71623a05a9edbe70eb7d8de3be05f817e0882777",
+"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "34298055690aea18283d8e619f0e695d674a1c3889c7ac79046c67506371a05f",
+"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "88703a46c9a4b003c93d63119c3b91f3b5f6c9712175bbadc0175f7f5fa04e17",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "b52b533fe3a1bb37d3df095e0acde43c4cb096f0a768a609331d2ea8e808bc14",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "8da38ccf17f0f8e45dfa21b0a23dc4e3feb4ed297aec2cae6d60d697745a31b0",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "5e3b0459bd143c7307b4819733ea068c9316d747a8f1207e7e4bcb9e8e1cdd18",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
-"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "b52d7fef0dff591db051de66f825952c40839857b83a4c89b267a393337f6a9d",
+"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "14978739f22490c7432bc8b7926f419e079f7c1b2fb3d50de3f5421677e7ea64",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "091bab8a966ba1706d7b5474f30a3a7c1dc99eaddc64163174797418298e4ff4",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "5f433fc7977d3e4640504b804b9ea72269181239b6519d3f5f8da42a22409892",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "84c154e16a6d9b39cc72fd6e47302a239fbdacfc6704b3f59a341045f87c43c9",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "927d60f4e78393aa30cfe41185bdb8f2db15baba5ef9b406cbfad762134e5837",
-"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "3e1c7331088d01ea46adbb167ec673b56af300e9fee92426d2af1b787f29040f",
+"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "c92f4940ca8b230a785acb0796bf216ed395da70e0ff1e22d253aed26fe79a20",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "e400743e91db6ded6cb3c7b5758233554e830e62a33bce10da3b0c63f8c88b0b",
"T3B1_cs_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "91b9b034a620377456859396f54c816f7845f858e04479a89d3bf84be3084c51",
@@ -14129,18 +14129,18 @@
"T3B1_de_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "b1965c0e24627eb884d9e75b155ee8d745d6dd036ac0ff7ebc87748549833304",
"T3B1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "2bca0c483330a8db2e0f2760ffac7dd4284a5d846e97ba8a7e5e2751b0c3fcee",
"T3B1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "4c319ff439df753b5cebbdb7e4bd18d07a0f47bb2de70542c642a21a1d27a559",
-"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "680b6acdbe3d42df71bb3a4710e236abf1d5998535b29497f7763b87634ba965",
-"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "4bd8a18394e2328c3b2176ce4f991d103386fcc81d3d960b02b975aeb79936af",
+"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "ac975c15735b5fde5d9bac46da4926f38c0e62ceb1ee131a16c00001a41ff23d",
+"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "97a4763005d450ed3876afd66df74b0cc595b5ae847c425b43bf4701ff29d608",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "7f9435fae1d42871d35a99e0382b2d9c744b6bf175e17c8e93b24645c231a467",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "49f12a827ad9494e7050f3952207eb13a6774733d4fdf833b56da381d91e5ba7",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "c4124548d2d72feb26941bcafec575e560cf92aabcefa329b3e9a61af68fa4fc",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
-"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "eddaad4e039bd366c917c2ffecce088f6239c8105ae53002abbd9ff6f0478042",
+"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "fbcec9904648f46de64acc95ce654682e69c5c1e27a746a5fe16fad5833540cb",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "d045ec23e87f3202c782b75157a39aac009abae2010848382930a9d4a942ac08",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "97fce52acacd62da21e6f9bd18ec6996e8b9f1d861cfb128bc10a5391bd211c7",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "dd50fb3384218b90945daee8a6b4bdb08f18dca1a86acd70b235c720863b1fd7",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "e6f3a8774653bdfd89389f78d52a4451970dba00c2553165b6d49832310ac54b",
-"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "e38caf95141c76ec3fb1342d5043c8be8cfafad8d20d3a69a230139b0234009c",
+"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "1952857e1acfffeae6fdfa6f8fd3f949e625cd036687329d15a0f42564834bf8",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "2a8f2f16a85a1c8b2abf4080183a933c2b6fc03216c510a02445ef660e3153f2",
"T3B1_de_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "782cf8a080e9591d3c490a71705f0bcb3727b399739299b10616517d2f77b43d",
@@ -15660,18 +15660,18 @@
"T3B1_en_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "c082dd987a1a82ecd632c60fc89deff4cb1e1b4a435dc2febd82f8a77faefc0c",
"T3B1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "46a0135d2a61e245fa02a8cb4a0194f537f07ae105c4f279b5eb4ce962bab9b1",
"T3B1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "2a5b45c36d73923e8c22169aaea9cc0b5dd1611a7dbe8afe81bd5470ca5a432a",
-"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "76c4cd97ab61cffdf60668fbd4ce0d5b5ff9fcda6af738e867c25b01a2c602ed",
-"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "0598c3b32a3ba5c2c4e6ce1b2def066bb9d0c6f54f8edb2c295ed0a7bd976b89",
+"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "9212ada7f95a604e9a055e7f88a8ca021afaddbd3f1ed2ac4d18a60dfe800fa0",
+"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "0f7c3bf755fa23711d6aff5d0b33ae3350f8811a3b22e60990ad5f1adcbf1551",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "65c5684a13a472d8e337a8174675fb132d815e3b8babe51bb99adc48ab7e1d10",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "f7b9a208dd7b4ec02b5be200597e683bdc0b992b39efe4729a5bc028dff9aabe",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "a83c6825cb9bffa876b6f5e79e4825f3492581475f55bbaa9e16ca275a0a71ac",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
-"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "6a55b2b02f88702e928129da627295cdc00aed06dfacb464bd2f63182e96c6fa",
+"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "4af168e1c53ecb02be44fc370548c72c3c3141b98f2c165e52d9a04c75ec06f5",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "abd84a42df00c51ac06ee06bff2e39f8b82e887a882efeb7841ebd9fac035c77",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "8bd565ad82f4d6b00576126342df3b4340064abd4fe33ee778bc0ffb2d50d2f8",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "a988e702b00f41adee084f7e61637a73193624deea13e8bd8138216a5c3ae6d6",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "c093db704e3358ad217917b4a44866fdb9e2dab7f5389eef4f42f322022aa712",
-"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "db39569e56e0a174da7510aa27eefc39a365979eec3df7f87d5b934544ec18da",
+"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "b41470d87bb85ff2de148be711b0cf417e2c1bafe7b1085711fa991fce906154",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "11bcba03619742fe47ec7d5b3b8011862272aa16450b6fe9853db29c1a48676c",
"T3B1_en_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "59d38871590df6d5f1c3d7dc3e20ff2dcacaaed95e66f8307514df0e1b7f0f53",
@@ -17191,18 +17191,18 @@
"T3B1_es_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "66c7fa13f2d78981ccf33efe34bfd4dd7fd14c28299f9bcf8541345ecf8dcdb9",
"T3B1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "0d0222fa778662f3aa31348e5935b03b7e4a5529b81d724ab0f44af9652dd0f2",
"T3B1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "107c4d5c7811bf462b7ffe76e26a295d45940d62f54441baa6bbea1396bb63f8",
-"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "e09897e1d72c6770f8d39265c74580301db25587ab050b79833be1d227e1036e",
-"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "fdbab87f0b33fe5da3257dfe5cf32f35c16dcf0415e449712d79c4d66ad6ab71",
+"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "156b4e5b54731f504b9b944fcd9ec8e91573aa2711f3655d4c0340ca346b724e",
+"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "832cf9fa31084af50bfff228aea56589756a7e822797e20cee8e54d19df49b1a",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "bde317d022b977a2a741373f5295b8ac10649e7fac08ddabaa6cdca1f930dbe6",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "2246406a21754b5db55674f0fba40d71b7f922b1a90cf2e67e39fe94665ffc25",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "935fbcb11aa7100588e00718578fcea81aa2835dba7c7e9d01834622440fd938",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
-"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "ea478e5ca1758519697e07f751677e2645e0928e81d45fdc58266ec06908c1a1",
+"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "c59a544505752e41e83e52d00f096cb0457624cc3ab39763b9a34da3d565a107",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "9823f4b776c4516d9b0ae30676e14331d4bad6f3a97966ca0db73edc7496bcc4",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "a901af0e2840b4ebbcae90927d9c05b48b6a9be076c2d07bdc92e384451053cb",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "aabf5d3a4b3429b123813e46ced6a6e6f3c1e657276e811364693c2b7f6bfa92",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "61de879eaa2e94c169c72f3d400f02709a030108ee596a5e6252ebde620a7223",
-"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "6c909cccc9c165b5b2b9cd2c349fe445ace5a2983cb39753cf0623ab3760014a",
+"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "64bf810fc99d7e599e2412d665725440f9c0926d7f91f63f81907a387bbebadc",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "63d3fe50db58690170e74d7603b18b49b45a2c233028f5ce1c9316dc71b3060f",
"T3B1_es_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "297d177eb21fdb05b4d3b7818764eea55728513f6186dcc7d67cfc8a9410134e",
@@ -18722,18 +18722,18 @@
"T3B1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "5bcf44696f75308ac9c389c234a39b802fd81b2331cc0d27d129851e663fd8da",
"T3B1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "91639717bd126dc045c49bbb314819f02c643e640e3b172846073527efef385c",
"T3B1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "232537958643a7df92a11ff05fe777193979852dc18327f5be07d2b3120136a0",
-"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "fa3f81aa0420276cf1fdde196d259d16968ffc26434fb046a3becb8a5bfc58b1",
-"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "f55c8cc25fa992c59a0c4ec0eb9a8bdecb58068462d845dd0b6bce1d39b0cefc",
+"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "9fe9a41c0fb95f97704b5142fa5e900445fd72eeee9e215fc990f2f360315930",
+"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "152e6acb6f6a89ac1a9c1e378849eb8a5ed33e96d4c6db9700293d5d49fae8b7",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "2cc6bd4cedd72049a6df5d5f4b947be71ff1271469af5bc9cac2856429be6373",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "59cf8c5335d30e4ac49947972fe69ae1ec89ce9d9078163eb15b01b8e21d7b22",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "9c564bd8e1530d77307a47683633184cf69f553f7becc8e9a6768eefe081c246",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
-"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "5ca14a19299ac22aae6ec74e6b67617c57ae248a11501cb8ea298a1cb144694e",
+"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "b47920c901aad859fc7da22e1691f99aaa707573274be09a5724ec3948313dfe",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "7c5eaa58b2d0349edabc5afb92b953efb75e3d42720e8a8bca2662ac1a9e5a9c",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "657d7fdad029e631bba199e34d9a0969a24e695012b9f606a411ca18a82053de",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "cee7be2f47b0a786ebad473085b790e8a8861b25b2df243ae4ee89e9957ff7bf",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "4db51c1350edf873a0ba82b8e3cd25cf3bc8829e705b5546746d4fc31460e351",
-"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "c1c98d6d7dafd53db550145c70ae9f7bdb695f9b09d37add57f6c0d73c4ff8d5",
+"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "1b70cb0d89d8bb7e046ad9c9d0789e5d83b5a5d72ad6a92a5e468449342db0da",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "814a9d1aca6bd7bf8c3db842fcd2b9e5df241d757243be6089c284cf8ed55f52",
"T3B1_fr_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "89be4219a6af6d3d8e5602c5ea2845b713b8a38890e07799736d6b7eae0f225e",
@@ -20253,18 +20253,18 @@
"T3B1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "088847f203be22fd06d8e8f1130b2c990cf28e03692a62ca0f3ef41bfd2ac8e5",
"T3B1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "df629b282128c2b52f8e3f08f3ee2aca9ae03059673941bdb777ecf114ead4e3",
"T3B1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "71b1ce70494351d6fe9c962b352ed2550bad684c31f9454a9949e4f1fd57b887",
-"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "28279dfa169dc027a05e621309de2f03f2119260b66847d09f1c22d3f4a6de6b",
-"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "41e2cc85395b3fbb446059097ee05578f9228e4c153de55eb36f00abf6c30bc4",
+"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "5b021a12cc63e8310717561454ce232036595e1174b1b71dc2dbf3dcde11f4e8",
+"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "dd3bd057af7092a039838e5a371b90c9c75278cef089206f2a437f8c0a6c0046",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "01d6ce7f1785a643ef4c2e200d4f54cf1ae1507eb335ae04f873967b7352e4b9",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "718aefe1014f10f3b05a0845e7fa414d8e80b77ccd16e2d4505d6805433015e1",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "0b0161a28f5768c9309be0cb18fc75b870d2080a77e73fdcf21682e8c1514c17",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
-"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "7f430d52b31967dfbb00f21e198a540c2b903abe0955f96cdb2ce419497b94bc",
+"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "96eaaf26d4d47f360ec695a0d45ee585280ca013eebad8f462ff2048ab63da59",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "cda1b6340e8564c33ee77b24f4130036a8cec29d1eddc21b48842ffb8578b5c8",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "f99b5f03486cdab72e268c45a4ddccbef96545be32075a20dd306180413f3bc9",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "7ab006309beb49e9f34defb272277a70f2c3b9be5ac75420cfea9b07020bf52a",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "a311a2584b9a812ea04dbde3f2a6958716af15c58eb1ce12683d1b28b667c68c",
-"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "e102449ff96e6116a50295c497c6c1d7321bd081fe4abbf83b5568f68a71036b",
+"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "5a83cdb54ded9f12c08c554a21ed872734631393d444e34dd1b0eeabb23fded1",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "a6c0b04d80caa30df1e95e1417fb181f2e40050b6b919196461c5727bdc6b0ae",
"T3B1_pt_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "c65d324e1b6a93d0ba6d71c3090355e54e585143749a226329a31d9b094066bd",
@@ -22187,18 +22187,18 @@
"T3T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "7361d2edc917456e852135edb3b4ebdc9d6adcc15962f8c87127d3077f3ca78b",
"T3T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "5720c3b4ba1145b58b595c9c4477a254fdf25146c4e5562c885ec3a8fdb4d292",
"T3T1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "fef2d73129b6ccf67868206072bfd0d50a5084a09b4bfb48f1310a7504646fa0",
-"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "82dcb9bd50fe2f3301e59d7de8c6464027d3a6e418e9c073aa434f3b5431cb93",
-"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "bbdf564c4e2c5dcb8ae5e6abaf9a91a456e497ba5271f37f5b4475f0600d63e6",
+"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "404acdc0659ccf9e5f001233304d53b91a1d5fe7fc343167d8b5490cc5a4bc4d",
+"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "f7eaed32f2750af309205ce503b10c2c3fe67aa0db212bda2a0f5b0d40092d0f",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "1e115dcd7ff011ccb6fc03200d1eb6900069f5ae48d0fd099c16274599a2c0f4",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "7612f852ff511244de421f336cb362cdec18ac0c1d64d52141ee48f0787d76ae",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "16de2ae5568af290a9baa5180864edfc1e96f8f35039602db70d1c7153acecbe",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
-"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "0d1ee3674ac2c63680255fbcd20ee8a91215d439796e4e3c5cb8b70f9bb40a6e",
+"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "3d52f8b2722b969d4749b44715b2ed7f60c59e8ff47300425dd3a5f3fcf58716",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "18591b6a07016c67b71f35013f764e0ce44cc116b376b5ee7381bcafc96d1eb1",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "74246c758f7051e5b97802379235a5f419a2f057e8dc0569fc04223cdd2b1aff",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "ee88428cb08abdbc4d95b97c094fab3b4eb1d51314d2cb300b474bb29daab3a5",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "0ebdc2b3b2a294f210dd7dbb0df0c9db8e799ba67f92615414cbf30f3840e33a",
-"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "7b047b1b45a83b3201918f663c270c9454eda08c4fba6cf64c5fd6b6ba74aa26",
+"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "5c1a6ecbb26c80159ad42225cc295e4938bdab91f06f7a6882a704a88445523d",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "683a1a268ac4ee2d87a506270a4a81d9856671d7c32457fe7145ad569ca91c75",
"T3T1_cs_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "0f8da1e0388fbe7bfdff1da5e5c5d92b854f081137c4e0d232062008b934946f",
@@ -23751,18 +23751,18 @@
"T3T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "1353f08216b7189acea5dd2149d81b55e21f45cd2e05a6d22ca43c30d1b358b0",
"T3T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "ca200b6d39707f10c7194c18e1d0240df345a85315932392fa1733d24081ee88",
"T3T1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "d85363f246608de7888fb3d5e96d2629d7d249238c0b9c2e2a272829de87e2ef",
-"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "e886c8ed3a3e8afbd45857df900c0b057043930a62cdddeddd02186cbbabdfbd",
-"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "8ae11399c07645c3999c93f98b2b79acdf622290e096fd9b2aad1d19de28e1de",
+"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "fd22d281c74135c3d19a4af3e2f2229e2ee67e6b90241f14df65c1bfc78b4772",
+"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "323182bdbc61912bd57c4bafbbee849bd1bcfa837b2c3ccad640274d89d0d6aa",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "ce745ab812001a1a7331c3a770c9f1d4a3048efd69d2f3e5d451aebcd63d09a7",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "57c2224941fb13b9835c140b87c54a0ba0c9d724ac22f86ec70e8aeea42be6c3",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "62ef392f0ae5f70f7527e286b4a8db1b42e9bef3297b03be92cea8ca01cb8e6d",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
-"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "c9f240d9f69648271f4c91e7adf81b99e9b5c37d5f64bbf7543284a1a14fca0a",
+"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "d66600b8a0ebbd1a7edc982fadfc36445485f8bbaa6fd7c37441e354ff99c2ec",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "fbee1ef784f21ab49dd133ad6495a3ebf81efc4979775c940f4e7961b5dacc1a",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "77ff6892801c5128ec844f60b57a85375c57582dc6266141c61402974019fc25",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "e21e7bca743e79b272e6a6f41f135179c512c240a31409d6a1926406ebe0d912",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "a8939e5f02647154928ef06d569b4c58740e9e0afd0c59b70aaa4259d1a0911a",
-"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "ec64ac1d46cd0706badebd2028a60faf0978ecf00094f6f930777184206f866a",
+"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "b47c0584ea6487cc14a993c2efb8e50579205a034efd99d3c98ed79ff70cc813",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "d9c050dc52fea2ec93cc73ae05b3eb3aa05893e5ce2d5e536337bdfea2a76549",
"T3T1_de_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "0f0df23a01b1afc14b6edc4c27cd7f7d82e9fdc7e1f96c088d3b3fcac8a97171",
@@ -25315,18 +25315,18 @@
"T3T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "d7f7cb4fa4984a7f43bc0f7cc89f223bac49ce83ddf9a62064d6fbde51081744",
"T3T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "32761e9ceca97387c01081967e9e8af3c433c4e939c5306ed24f99e61df25430",
"T3T1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "77b0a165c7110abbbf7ab53c8374f786da91aabd4fface8b03b62a8a579c4e87",
-"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "a4f91207783f782ff6ac9015525262705a6c7c23893f3c42f9774d902d58fe8a",
-"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "be7b913f9a25efb50cd66182160ced41d4a9abc9981d77bb2474d8c6d2311c9d",
+"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "de0aa25eb7b16680bc4a82f85c456d9c946dbe8e107e1d7e7a0b490aa897ddda",
+"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "61821daa1de963a21d582be6f369b0caeccddef0591f9bdc1e622d45c14f63e0",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "1353629dc1a4c1ac50937bcbab722b89d85db5d786d8b92c4d962f0b03ceaf76",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "2399eed308d872b49af399144f519530c8aa87d14b6715b6afb4176512e49431",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "113ce04f603d0f774e91dc736720c65a198883d1ef43502d8ec4ef2d1c371864",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
-"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "605a04f3ecf59602ff28d0b7e3806edad5e8dba769f71fd3bf11192f9e905b33",
+"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "c7680b03e57fed4dce4a3589d7b37864a6252d370177ea8ef20e52d71f118cf8",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "f77fa97dd9e046bc8eae3bb858e06c6f6d36cc010ed0762f03f0c6a604fbe331",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "9ac60f42a922e3bfc41f29b095c258274d01b2c6ac3aecf2d54128f72c1985bd",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "5cf8b1a563a117e0d73a6c2acb333d0b81cba74f738d0dbe4fe2aaff63f249fe",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "9b8a7c48467afe408a355141a23a07dad5076806eb0f3f41ac271db50ad4ec05",
-"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "75b522381640604a2ab3ceec853df1efdb599d07b0229551c39a802f46ebed89",
+"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "398b7c9f0a309fbb7d0f4af78ac394369077d11f29561a65d3423f32a95e5ae3",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "787ed4a1e887ca1dc545c661ea4424d13961d486077aa6c4b8b6242a721e8822",
"T3T1_en_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "e55be047cf91f7781255ee011dbd27e7c4a2a76de45a1ada04e4d83a22a16580",
@@ -26879,18 +26879,18 @@
"T3T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "fc2bbe9e3bf7ed31878248314317e351c8c1fd33173fbf8cc3c91aff5da5bf99",
"T3T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "ed967426a161e7ca629a9d8c2ac2392df7cb0117c15c8fd32487b64f18e4eb2e",
"T3T1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "f1baf50b2e9f9fd643abe6cfd8c5b100715224b2f9c30e5230146ae764269674",
-"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "6179deba8e6de2bb8498a18550029639824d7e7afaf96a6a9965e9b149a45ff6",
-"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "7c02164a6317c4277cbd4f3b1eb1b0532a17c544b7e7a3c4db6a07daab29dbc7",
+"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "f1e881ac7c38491d00dcd7310c2a376001f75369b69ed37099124ff09a520a11",
+"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "d4bc696d9dd64c1b89d6ca1faccb9f958e4efde4cb8bad4f680357aec4dd2642",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "7f21dfdc1d4f9a8f1ab3c4736912aed8831c4a0abce7d7b62f2b789b28c02d52",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "783cd7969bedd25125387cbfc185e88729a8c7e708d31ab891dfe393bf5c01fe",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "2812bea29b5719edf7497c1b091f01e002648fa009d4d2d0fa2fb64a9b20c76b",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
-"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "2148c1dd89d5f891f877d28842b5b894246fd7306c5ebc99019cbaf9c88de4ab",
+"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "62a37ec9ea28cb8b7bf809683083751c69b82a1506cd8c6cc21249aa3b52084a",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "a0c2e972e9660719e32d58d493bef8da25c9049011c212d731d2e6bfd0d5b8f3",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "2860c1ad00c82cfc9ebdf3ffd6e6c3e15134ec1f29d9d99afbabdc72ef16e72f",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "bfc6cd96a898c9f9fd798844cd8847832d1373171bef9ff1516c686ee74afc84",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "b61c7fde9bb389582c7088e3db3dcf3e71cde43af4e996398295066b5c7474da",
-"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "7657402608000670ab20da8a338204bae5c4362c576ec5d3d8aa2a9307f8a92a",
+"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "6a5b0759131638d080f7db6b702557dc5bf9545270b7a9162a6adbd8d895fb38",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "bb38b7d34008a72e9276afa1096343db35bba40d6eef414fc3c501daa4630b37",
"T3T1_es_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "e20b657d34ef7169be726135375091d77110c84782156a9e06b54aad8b4b31b9",
@@ -28443,18 +28443,18 @@
"T3T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "43439a88f32401c0dca0f975214979d7aead5dde4d9bfde23da03cbf76ae3428",
"T3T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "c0f74f11101164b8bbfdae3f41c68d9a304130a3a5b3d5395bcc7e4ea2906aa9",
"T3T1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "dd852d18973e858c3c6a3fd746aa7390089a85dcab259ba14f550c3d6b7e96bf",
-"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "76b98fef54a9287fdda0991c8ceca99e8216227e90298e4544a961d754e803ed",
-"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "cb394566ca0d269c14c4859550f2da108efba4b70d695e4b9888796da807896a",
+"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "58ff6b76247aa56782216328d32c716942cf667ae34c041943557059c2449fa6",
+"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "0ea80660bf286a2f1008088c6dd543d707aa358dffbf1fb63fb97f3553f19c0a",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "c60093473c22799a372003f32eb50ced06b84ac26815542acd36e3d7f788c746",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "3d29d6c3c074e0e7638cd32878ecc8f454a5a45142fcee6c1d7dc9ae656e3b04",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "8bfa5ac853c3775528819065a4b1dfed2e2c6be8efbf97f5a5e93c0a69a72d4d",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
-"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "b902a11795c7918eab6b02694564765b2c24470141650b6a5419536e6ec53598",
+"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "e27f540969a8fe9f3fd7a58cbeae78c3077d88e00b2505def2f154af20a935fa",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "d459fbf0b0610c41a87d23e44a63e4c8b1e25c085f05bbb99643841ef7fcc902",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "fac976d97345ff60ebd61459c7c4e20cfd459759a6b1c892a3a1fed583beabc4",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "261b0b178cf36c3cb783af326106cf15fd0fe8e2f08a0104ce67d6dfcf065484",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "1eaf5713337c5ccd301cab4987b044ea62b401c2cf62130ef0d5ff8f5a2ca8d2",
-"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "b6fa9483a13df1130029ec064dbb7e8234dba07c6f8e00c8be8a3e1270b5dafc",
+"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "ef420dd1b6342903895bd1170445bcfe4b14d04dbba016b0d48bc75076bf970a",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "358dfedf99a7a83828c4d6b25217f0a05c9cccb1b7178d5f9088a6db1d7a341e",
"T3T1_fr_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "5703e9b0243e6ceea8d41a6765c26800381a3d01e20c9d15328ff6ea15360a62",
@@ -30007,18 +30007,18 @@
"T3T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "e0c0efe740b8402b30ffd05f8df24f82d52a93a438d4da407680d5f352975c35",
"T3T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "9d929b30c3ba831da0f379f50d5dca26bd6514d70d11bf8dd283ec117e277473",
"T3T1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "4db228ec14a6d4e90a63d1a76bd2f0b681ef2469dfac15d720e6a09e0cb575d1",
-"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "714b6cb75dcddc9e1fb19a58ec924677899540ce73309bc57c5f44cf5bbf959b",
-"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "27798ad6fe4cd6b27afc6252bca4918c02b9c946c19a58ce087fd50e3560c97c",
+"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "ec4770f76eecb01b75cb77fb3c2449fbab3c0e7dd0c003be4315884b01c9465d",
+"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "61e31242171353ac3e5ef63a777ba29bec43e4c6793c33187bff5b39527b7376",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "e87598a4c39c2f4ccd9c15ae057e3d5ec178f31b2b8e2677f21195c2e2a7b4b1",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "d6be3bd27273f7efaf6901525dff2d79251505d68aba17a9113c82fe7e356204",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "63966e26a6bb5e9ca4bdf8d71f439373d9eb565a4444c45dc8741c7790e43a2e",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
-"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "5385ddbd7c29fe8c9b944f4da5437d0744f3d9aca2f3dc89c265aedcb2ca4c86",
+"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "91760b8fac48c0565d319ed38f633412f188bf27e68fd2000193f7bad8bcdd35",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "180c1c0eff7779786ea3482b7475e3851a2793453b494ba942cc0f80e4a5bc07",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "d32a765fc0161a47cd8eaf3b8d606b17d72a06ddce43e7f69346b68c00562b70",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "0a42bef72784c2f1523d7defd2e9d1010eb7d816561504ff78bdc9e6bc501ea9",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "96a63000d2faa5df65ce8da467278e3cb7ba43a1d66a319b5428d13b294a91a4",
-"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "cc484d8cc18e60cfd1a38016a9b04fb16dfa4065e2420ae8fd18ed3aa8a95ce7",
+"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "ead2dbcb60657129e0ad72f350de67c73042068c40f0e85b2a62e80c00acc287",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "bbd62da79acc3c1dc1c97e35f0ecbd53736369820f19ea9c818ffba3720855da",
"T3T1_pt_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "3b9142ff3799c5ffba630808a322fe28b686f78e6e7e2eb052432c24bc721a75",
@@ -32218,18 +32218,18 @@
"T3W1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "0f1a72dc9f80b82bac1b60c1e82eea332684c1165866c71ad56ed7ddc8359931",
"T3W1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "3f0c396a68eae38ad98e709d289b39df05ad584e2b84410c4bcb768ed8881123",
"T3W1_cs_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "16a3a1b4c35064785252a3547c4e9204f6329a07ca10ee2303a435857d51f464",
-"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "9bc78ae6bcd48c5d37f8c24ab05cf623da28c675699b56611b1d4abe90dea071",
-"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "5a32e8a5db836fc68e2064b4eb7a5c30c169a942fffca8b31e421929e84e2bd5",
+"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "85c6b6406457a1fcbe42ba2acd413683033fa9eb2a0d1d3bae6e3b1f481eabe4",
+"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "eb8232b10d0ba8bdcfd0e04ce857291c00172122993e7cc95108780896b377ab",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "7d5c587d31291aee26ba924c347a335ce71c775e43d4227654c2f3735ee71406",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "e9a530d743b1cb10cc89cb84ec5f04f5de3580dc3a14f350e8a542d40538580a",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "2e6b257ad96fc13632f9fd1e9944095bc88ec699191c81726da591cf65752d66",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
-"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "82abc5c74f18db05eec381d62221cb3d8452819a357a350ce8b5e4dbd327219c",
+"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "002387cc5f49f0795c00e9fce99a622264beaca7803453025300f621cb5efcf6",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "9872c7f9cb0c28d331a996cebd5c575eb8e302306edd215e7d69c7b22f736956",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "5db733b5b02a2995bd99b92626aea76f3b7944a42d859a3705bc529eacf23bfa",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "a120608e8f5c2982897304b5827f8f47444f363b8ce31de63f8746a5c6727339",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "286b894767f94ced32d6b24bda9cf6918922d66f99d0e5950f094fe0a178b5f0",
-"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "3a500ede5df2c089cd900d52da46bee694e66d8c64ab74a57d364300a07075bc",
+"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "37958d15c2c3c09749200d5302804e49bed277561646bf4349cab57d06039d05",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "c44be1e81e6b0933ad315a16b56a9a6b4d7052b44a271fda47cff77f8497f591",
"T3W1_cs_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "eb509f07069dae82ac1186a4c93e91bfe6c0dc4fa74cf7d072fdba7287660407",
@@ -33789,18 +33789,18 @@
"T3W1_de_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "fa2a876fc3c73fbc4f0844084e615d4045b4f45084012705e89a1c24e73e11db",
"T3W1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "c411370e6bafcca5dcb2a18b92b367dd47188dc5d75c1555d1191fd73dd76775",
"T3W1_de_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "50441ef2d050186142b28fb8d497b40f049dca8fc87e495e3666ac6c1f90798d",
-"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "9c3593173729772f3fc7faf779cd9b1a2b1e33230d8a50ebf7b34e1b4797674b",
-"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "78ef0a880634aa346d45a5695db24350482bf334874e9fcd200b3c3400e41cab",
+"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "2d1fdbd8f3cfd5061afe342592a8c3fa86624019e74f5c86626908fe0530cc83",
+"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "78e5189271ccf6992c4d1aad4927e4759b7f3b33e9bd8ac45674dca9ae13820a",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "465d9e7c3813898ccfc5d756eb57301c12762a04346e67e1c9c5ad6cb2ec85a1",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "6a5b08696a2ee50dde127debc0a015b4ce86932c3f11d59a95951f8e3ae08ca7",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "ea931389d4114fba68bc3400f14d3fb05b84001bd92b8324e237cde6948acdf7",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "b3ce10e1620297758d6f2b235127f1dd0d61804c8cc32bc6664db5c3a9d81dde",
-"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "ecc75a782b2cc958b51a4265e55f8af6031c80dc86ea80ae54a9c6b52f50955b",
+"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "e26c82bee84484722b5f784d2bb13aba56c77682fa74af0220a9a17792b1a01d",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "71e112f9ede68310b0976e181c5a570aa1c2b73139bd0d17b8fb2bdb8d953d92",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "7d1465da91f26587b864f43992e60e8c55d2f6da86449f163e810232a0d9e8c0",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "66d059ba83c40c3e3c73bea4482e8c04e64d7485a442bf849bde63c3c5b719cf",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "67f7574df03a1824d711b7a03920546c750b2df644a025ef097a3a5b1aff74fe",
-"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "679eb0f2f2685870d2de0a701f37d7918e55e51c2f0e6def8da4c18686fb17de",
+"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "ce8b0e660ea024daee0fed452fc7a7f908642038e711bec92dc54785a507d473",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "b3ce10e1620297758d6f2b235127f1dd0d61804c8cc32bc6664db5c3a9d81dde",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "1617055b458e6ede8ea864223799e167937ad6bbf56c09c7dadfa2194aee7eb4",
"T3W1_de_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "cb42b92f34013101d6428ebdb5a6f55ccf78b4a6f985af323143e3a593952f1a",
@@ -35360,18 +35360,18 @@
"T3W1_en_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "a4f12382f5910d9084f166e6d5003dd63c0b2ad019251c398cda8a2b6854c63b",
"T3W1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "9b7678841ee27d5fa3b8fd40164134afecf543201cc0546ea52de795f9fb743a",
"T3W1_en_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "8a4c46c542f9dbda9290d6e946f80c6578170e0abdc4a92274b0864d94f3594b",
-"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "a3e0c367d081ebdff4367f1822bad98c56af5506d8a662e87313ea2f9fecd232",
-"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "3587ef7435637856334d68213c8d372a7614cd48d2550190a79f1e2bf3cab41f",
+"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "9041fe486fc3d10537ef78d87b071cd01cfa10559f601c1c7b36fffa6b22591b",
+"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "1b1574179566c1833e98185e97de23069b6b4431ab14bdd3f38c76149b501ce2",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "3aaf2caba0aaa89febd9a10c2d09c0ee02075ef365d553280133de163d723908",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "f95e01701175d6d3b7a3791ecf825df4690cab778c0b42601834e2cff13003c8",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "1529a066d1588926d6af34dea77dc3b6956089b6e9a8778dbb0efa4ceb0f1eb8",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
-"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "05b71fbf49930f4a70de59cd41bd55d30799a9a891a70a5a11ef37d0c5ec7b02",
+"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "c2941be272e891d56181c46ba99ff1c61fa16bf54ab1e1d4ff6bee7013690799",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "bbc756d22624faf279e5cf2cc1105af3c85e10942a73b67eacf3d11f5387e051",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "9e79771be3672bc842f531308c3ed9d44cb0ae0ad1d366534114e1faee478165",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "984893aff3778857f7b78e4455a555f37b50b4338cc757a4337a11f9710a1d63",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "c31377205b23c08c0b7312cf16725e54d35eb7be757748fcf54da60163eb30e7",
-"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "8ca3fa42b7013b866a597ac72def1e50b2f1a093d7c38c6ecad1df2fc39c3e8f",
+"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "a7796cc47037abff69a1c0d3e69b9292bc110777325f0f2fbb390d6bfd275d61",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "e862d155559a0e7f3e13d8348f81574630c6c098d38960c0378eb7505422d6c9",
"T3W1_en_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "f2e87fe8a0a1d4360db93f6f8a2e118eb55bfe18640bec501ab87a372f1d09e0",
@@ -36931,18 +36931,18 @@
"T3W1_es_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "121417a82d8404daff0baee5ce03a11214a1879ebe2b3eaac059b706375be9e4",
"T3W1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "3ff3588960098e20f4d62633ec301dc9f581213e56414961a9e7058890acae81",
"T3W1_es_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "73745a4b0dfbce432b04de864de8ed075a352bd9780bafcec5171c017afd0e74",
-"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "b422d4ad609f31691462e363ecf5c9c2ced696e69c5cb56483315e53aef09be0",
-"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "3f96bb40f1d70973c4d638de94c3859fe157d52578eb0eec956015667796c79e",
+"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "77ed5ceea4ad84fe014fdba653726ee6746f64bfdb0bb2063a50ae413e581c0a",
+"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "011eca9c73ebc0a324f0cc89c99f71710d685b2d8808deab709b321f47734318",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "05f326bef5a56ebc1eda405b7ea0e146d036d0bb85128d9ab061894fcc3c1ee8",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "7b26338b9bbc729129306a32b26e70364c6c54003e7a12c2d4f5392d3d3b988f",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "dee069fca42844b36ae25bdc972bdafe063051ecdafdfd6e2336bcf75669a91e",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
-"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "de3acd116c67574ff5e647dd839a383f3d8960086da28d1800ddffc43872da7c",
+"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "66a6ac500f9c9d878bfd650c868b3d95af3c2e89e5efb75b4c07c910d24e64da",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "9212061fd58f0b0830fede82797ca131740f3172e1aafc7c3cc1f8a579566087",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "a588d33b5fc2cfe991619d83607fc1cc53cf90b68b537d5b86000259c3c2103b",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "149df768f8c45bc0f08ab0f2cb2e92acdce3dd177afca6f41dcff66e356ace80",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "770b1c9e98ebb25fc5813e41428b60e2599f4b4a08d93c6b6f73336d99ba4977",
-"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "0ff3cbfd53cf7659996d8271edb07a070e4f1ebfa9b22400fc151029137e829d",
+"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "f07c4cab0e6975948676842d65a5ff223b9942c39e855702867dbed313911cca",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "2ec09500ad75bb0561a0a7de833296847daa3c956585636dbcd875091bb954c6",
"T3W1_es_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "8c07986d8f9a854408d0a121a3cc91c31acf0ff9600c0670e103b0f7230ca8f0",
@@ -38502,18 +38502,18 @@
"T3W1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "4c8f42575c4e31483b522f44670e0f5e88aebb15c10b4b9e0be85fc1f3227017",
"T3W1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "706cadcf40e9c537744df7b2f06cafef5e6de4497ed679bc4d1718edfbe0cd21",
"T3W1_fr_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "a10d04c1c9370ea66d11611483704965942dbb9144984c2230923c3baac5644c",
-"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "d21cfaa0dfd52f240e908d1b15fad05fb932dc6c614201964d1f523e2e31ca4e",
-"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "4f73bc97c2b0ede4b8dec4c61f51605b80a69dca32e0b76c9eec1a4eb51155cc",
+"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "4df69323ea845368761b1f98890a4ddb2fd4d0a4b48fecc25d7fd540a62732f3",
+"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "c6f026c616869704c488a0a23eeb798434cb5c79925849c8a574a2cf6a807762",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "41fce98efbfecee8f971a43097fdeda1a9a870a6a96fc3f4af7980be906d24a5",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "5bc9dfb531aeb70d8bef97e960ccc19ca3978f8e6aaebec919646b4c97a4b036",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "5466d87687f6b33c6b991b7011f6e8c1b49612da7fd38a94775ad090f069a899",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
-"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "dde3acd0c83025f38a0d7ec7f5af1a8f64d5ec3fc9ac5b39d34b883e92c879dc",
+"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "88867af6c6db709a6af6947c94b37646545fbbcadc9105d933484d9bb3293bd7",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "449bd25d1fb60e0c301e20e3c8a53b6879608d8aa068dac0b590e7a12c777dc2",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "d20bd7b983ae7c30a533818be5989ed1f9c5f8bed54e880d83bf4e3e2542c6d3",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "e6e9affd5d236a6e95d8a6f3c50c0e2b33507edea132c4fdf577dc5157ecc000",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "63ae9a55f77d68c84ef9e850bcbd12af8891abc2646e4ccd18d570f2574053b1",
-"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "c3187dcc842d032d4fc78fca30b9fff783ea2a0115fe2df989f5be5e34ff6b80",
+"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "2fcb70e4748d6634dcb5107175f3c356c3f2259900e794745a502a0d5e3a532a",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "b3f3cb5ab25fc5187a2c5641a24d73d2e1f704da89e57063e92d32dde9491a17",
"T3W1_fr_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "be76b3994d3056a420ef5ba1236f4c51fe5db2f8f330869d5a228f277a1050b4",
@@ -40078,18 +40078,18 @@
"T3W1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[Stake_for_Energy]": "cd52697bed836f2585726603edd70773a79243325da2c6f3075be76c736d3147",
"T3W1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TransferContract]": "ef945fa12eca1dcabfd8daeae52000a769207bcf0b4fc46dde674609b20e5f0c",
"T3W1_pt_tron-test_sign_tx.py::test_cancel_sign_tx[TriggerSmartContract_USDT_transfer]": "3e03defbcf777122691563fcea6cf9800d8756b1554a4e1584b3c55fe5702bf2",
-"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "e0696cf664682562174edfe462dd294f0968788fdf4c0892e9362f5ed6afc291",
-"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "09e5deb581c386dcff668d8e1185df0710231b976f1c9a395ce69368c485c076",
+"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20]": "c0e5e2d83683dce784bc47c4f8af1a6378048bad81c743138d0744303ac78880",
+"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Approve_TRC-20_Unlimited]": "e4aea34d36ef4bb43bb1d6e74c67a5e0aba31c495805c6bd9aa17095fd25b8d1",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Claim_Unfrozen_Balance]": "1bf19133699b448f633d1c9333456d078e0be5d683ad47b442c28727ada3b860",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Note_bad_utf8_bytes]": "70285d268de007c8c6a7f2f4066ae8d20dbd5c4246e873dbda7d3b46e1a040da",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Note_hello_world]": "3b184b74352df032c3a31d7c67410b40aacebb220345e7ec24fc4518a3efbe76",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Note_too_long_string]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
-"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "2167f24976b00c59212b25140d20491b003737ef28474e3d2130bc81d71661f8",
+"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Revoke_TRC-20]": "af0107e3ee5cb0f3cdfeeef903491db4373f67ab3eaf480a00d3c6fef6d04f57",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Bandwidth]": "828cd4a6b141ff00354b78917bdb65d643047f1289781aec2582928d8a193dd9",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Stake_for_Energy]": "25c2637e560b161a93f2e05fdcbbf7cb29de44fa7e8028773dbc63dd4174a7c0",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract]": "8d9e20c3314ac8a7ef0615ad1507604a37eeac53a421287f4d2a452826933d9a",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TransferContract_amount_int64_max]": "e919b100449981ed7e65c914b933a0a3c6dcb8dd269655324985d6d9154f6938",
-"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "fce882412321f64a3748192979b936aa2c196cec77cd3b7ed4846c891bbcb03c",
+"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_USDT_transfer]": "d357c2abdc433a75e9a91f452741ceca880f158912d76f7030efd2bbb0c67113",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_transfer_TRC20_fee_too_high]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[TriggerSmartContract_unknown_contract]": "7f477ae39b31412543b984c929e54d02fdbcf612987834761dbc130cb613d967",
"T3W1_pt_tron-test_sign_tx.py::test_sign_tx[Unstake_for_Bandwidth]": "2c87a9d2fdc777fa22e21e457cae8fed2a04b6416ce9534d2399ec40721203b5",
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.