refactor(clear_signing): renamed variables for code comprehension
What changed, and why it matters
This commit is a simple code cleanup: it renames the variable `address_bytes` to `contract_address` and `f` to `display_format` in one Ethereum clear-signing file to make the code easier to read. No behavior changes, no security fixes, and no bug fixes are visible in the diff.
No security action needed. Treat as ordinary maintenance/refactoring.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is a pure refactor in core/src/apps/ethereum/clear_signing.py. It renames local identifiers (address_bytes → contract_address, f → display_format) and slightly adjusts slicing syntax (data[0:SC_FUNC_SIG_BYTES] → data[:SC_FUNC_SIG_BYTES]). All call sites, argument order, and logic remain identical. There are no functional changes.
Changed components
core/src/apps/ethereum/clear_signing.pyInspect captured patch +31 / −25
### core/src/apps/ethereum/clear_signing.py
@@ -1149,27 +1149,33 @@ async def request_definitions(
async def _find_display_format(
- func_sig: bytes, address_bytes: bytes, msg: MsgInSignTx, nested: bool = False
+ func_sig: bytes, contract_address: bytes, msg: MsgInSignTx, nested: bool = False
) -> DisplayFormat | None:
- """Find a display format for calling `func_sig` on the `address_bytes`
+ """Find a display format for calling `func_sig` on the `contract_address`
contract, trying built-ins, then the definitions provided in the initial
request, then a definition request over the wire."""
from .clear_signing_definitions import all_display_formats
- for f in all_display_formats():
- if f.matches_call(func_sig, msg.chain_id, address_bytes):
- return f
+ for display_format in all_display_formats():
+ if display_format.matches_call(func_sig, msg.chain_id, contract_address):
+ return display_format
if not nested and msg.definitions and msg.definitions.encoded_display_format:
- f = DisplayFormat.from_encoded(msg.definitions.encoded_display_format)
- if f.matches_call(func_sig, msg.chain_id, address_bytes):
- return f
+ display_format = DisplayFormat.from_encoded(
+ msg.definitions.encoded_display_format
+ )
+ if display_format.matches_call(func_sig, msg.chain_id, contract_address):
+ return display_format
if msg.supports_definition_request:
- _, f = await request_definitions(msg.chain_id, address_bytes, func_sig)
- if f is not None and f.matches_call(func_sig, msg.chain_id, address_bytes):
- return f
+ _, display_format = await request_definitions(
+ msg.chain_id, contract_address, func_sig
+ )
+ if display_format is not None and display_format.matches_call(
+ func_sig, msg.chain_id, contract_address
+ ):
+ return display_format
return None
@@ -1325,7 +1331,7 @@ def raw_rows() -> list[DisplayedField]:
async def try_confirm(
data: AnyBytes,
- address_bytes: bytes,
+ contract_address: bytes,
msg: MsgInSignTx,
defs: Definitions,
maximum_fee: str,
@@ -1337,15 +1343,15 @@ async def try_confirm(
TRANSFER_DISPLAY_FORMAT,
)
- if not address_bytes:
+ if not contract_address:
return False
if len(data) < SC_FUNC_SIG_BYTES:
return False
- func_sig = bytes(data[0:SC_FUNC_SIG_BYTES])
+ func_sig = bytes(data[:SC_FUNC_SIG_BYTES])
- display_format = await _find_display_format(func_sig, address_bytes, msg)
+ display_format = await _find_display_format(func_sig, contract_address, msg)
if display_format is None:
return False
@@ -1362,7 +1368,7 @@ async def try_confirm(
await _handle_approve(
calldata,
display_format,
- address_bytes,
+ contract_address,
msg,
defs,
maximum_fee,
@@ -1372,7 +1378,7 @@ async def try_confirm(
await _handle_transfer(
calldata,
display_format,
- address_bytes,
+ contract_address,
msg,
defs,
maximum_fee,
@@ -1394,7 +1400,7 @@ async def try_confirm(
async def _handle_approve(
calldata: memoryview,
display_format: DisplayFormat,
- address_bytes: bytes,
+ contract_address: bytes,
msg: MsgInSignTx,
defs: Definitions,
maximum_fee: str,
@@ -1457,8 +1463,8 @@ async def _handle_approve(
fee_items,
msg.chain_id,
defs.network,
- actual_token or defs.get_token(address_bytes),
- address_bytes,
+ actual_token or defs.get_token(contract_address),
+ contract_address,
is_revoke,
bool(msg.chunkify),
native_amount=native_amount,
@@ -1468,7 +1474,7 @@ async def _handle_approve(
async def _handle_transfer(
calldata: memoryview,
display_format: DisplayFormat,
- address_bytes: bytes,
+ contract_address: bytes,
msg: MsgInSignTx,
defs: Definitions,
maximum_fee: str,
@@ -1521,18 +1527,18 @@ async def _handle_transfer(
fee_items,
msg.chain_id,
defs.network,
- actual_token or defs.get_token(address_bytes),
- address_from_bytes(address_bytes, defs.network),
+ actual_token or defs.get_token(contract_address),
+ address_from_bytes(contract_address, defs.network),
)
else:
await require_confirm_tx(
recipient_addr,
value,
- address_bytes,
+ contract_address,
msg.address_n,
maximum_fee,
fee_items,
- actual_token or defs.get_token(address_bytes),
+ actual_token or defs.get_token(contract_address),
is_send=True,
chunkify=bool(msg.chunkify),
native_amount=native_amount,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.