AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 15 Bitcoin

refactor(core/ethereum): don't unpack Ethereum signatures

Public commit record

What the developer wrote

Authored by Roman Zeyde

100/100 · Strong
refactor(core/ethereum): don't unpack Ethereum signatures

```
tests/device_tests/ethereum/test_signtx.py: 176 warnings
/home/rzeyde/src/trezor-firmware/tests/device_tests/ethereum/test_signtx.py:139: DeprecationWarning: Ethereum signature is a dataclass (`SignTxResult`), not a tuple.
sig_v, sig_r, sig_s = ethereum.sign_tx(

tests/device_tests/ethereum/test_signtx.py: 636 warnings
/home/rzeyde/src/trezor-firmware/tests/device_tests/ethereum/test_signtx.py:96: DeprecationWarning: Ethereum signature is a dataclass (`SignTxResult`), not a tuple.
sig_v, sig_r, sig_s = ethereum.sign_tx(

tests/device_tests/ethereum/test_signtx.py: 64 warnings
/home/rzeyde/src/trezor-firmware/tests/device_tests/ethereum/test_signtx.py:258: DeprecationWarning: Ethereum signature is a dataclass (`SignTxResult`), not a tuple.
sig_v, sig_r, sig_s = ethereum.sign_tx_eip1559(

tests/device_tests/ethereum/test_signtx.py: 24 warnings
/home/rzeyde/src/trezor-firmware/tests/device_tests/ethereum/test_signtx.py:685: DeprecationWarning: Ethereum signature is a dataclass (`SignTxResult`), not a tuple.
sig_v, sig_r, sig_s = ethereum.sign_tx_eip1559(

tests/device_tests/ethereum/test_signtx.py: 12 warnings
/home/rzeyde/src/trezor-firmware/tests/device_tests/ethereum/test_signtx.py:471: DeprecationWarning: Ethereum signature is a dataclass (`SignTxResult`), not a tuple.
sig_v, sig_r, sig_s = ethereum.sign_tx_eip1559(
```

[no changelog]
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Names security-relevant behavior explicitly
The short version

What changed, and why it matters

This commit is a minor cleanup in Trezor's Python test and command-line code. It stops treating Ethereum transaction signatures as plain tuples (v, r, s) and instead uses a named data class (SignTxResult). The only functional code change is converting the data class back to a tuple in one place so existing callers keep working. There is no security bug being fixed here.

Recommended action

No security action needed. Treat as routine maintenance/refactoring.

Security signals we found

No strong security signals were identified.

Risk score

Why this scored 15/100

Our methodology →
Potential impact 0/30
Exploitability 0/25
Stealth signal 0/15
Affected reach 0/15
Confidence 10/10
Evidence quality 5/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.