BB
← All projectsBitBox

BitBox02 firmware

Firmware and bootloader for BitBox02 signing devices.

BitcoinHardware walletsNormal
Repository coverage

647 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

193security candidates127second-pass queue159AI analyses
28commits · 30 days
47commits · 60 days
312commits · 180 days
647commits · 365 days
Backfill bands
Aug 5 → Feb 6335 seen28 candidatesComplete
Feb 6 → Jun 6265 seen19 candidatesComplete
Jun 6 → Jul 619 seen5 candidatesComplete
Jul 6 → Aug 526 seen3 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

59/100 average clarity
65Strong · 80–100
281Adequate · 60–79
230Thin · 40–59
71Opaque · 0–39
23security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Marko Bencun390117100258
Niklas Dusenlund1112918059
benma's agent892826062
cedwies1254063
Tomas Vrba944074
Cedric Wiese1233049
Jad811062
thisconnect210072
benma211074
Niklas111035
Yasser Aziza111070
Patrick Steiger110045
Analysis record

Published AI watches

Last scanned 55 minutes ago

Low 39 AI analysisMessage 73 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

rust: initialize C output buffers

This commit fixes a class of low-level memory-safety bugs where Rust code was given buffers containing uninitialized bytes. Rust's rules require every byte of a slice to be initialized, even if the function will overwrite them. Passing uni…

Undefined behavior at C/Rust FFI due to uninitialized buffers being treated as Rust slicesPotential optimizer-dependent behavior from violating Rust slice initialization rulesHardening of cryptographic output paths (SHA-256, HMAC-SHA256, HMAC-SHA512)
511018eaby benma's agent+52−2713 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 50 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

py: extract bootloader connection

This commit is a minor code cleanup in a Python helper script. It moves existing bootloader connection logic into a small nested helper function to satisfy a style checker (pylint's limit on the number of return statements). No behavior ch…

886113d0by benma's agent+10−61 file
No security note in commit
Informational 12 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

releases: add v9.26.2, v9.26.3 and v9.26.4

This commit is a routine release-management update. It adds signed build assertions for three new BitBox02 firmware versions (9.26.2, 9.26.3, 9.26.4) and updates the release documentation and build helper script. The build script now delet…

No firmware source code is modifiedNo cryptographic primitives or protocols are changedNo bug fixes or vulnerability mitigations are present in the diff
eed2e68eby Marko Bencun+79−116 files
No security note in commit
Moderate 59 AI analysisMessage 69 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Limit SD erase file size

This commit fixes a bug in how the BitBox02 hardware wallet wipes files from its SD card. Before erasing a file, the device now checks the file's reported size against a safe maximum. Without this check, a tampered SD card could claim a fi…

CVE-2026-6682 referenced in commit messageMalformed FAT directory entry could cause excessive overwrite loopDenial-of-service via SD card tampering
2453f528by Marko Bencun+4−01 file
Vendor flagged security relevance
High 70 AI analysisMessage 66 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Validate mounted FAT geometry

This update adds a safety check when the BitBox02 hardware wallet mounts a microSD card. A malicious or deliberately malformed FAT filesystem could trick the device's file-system library into placing user data inside attacker-controlled bo…

Fixes integer-wrap / geometry confusion in FAT mount logicAdds explicit post-mount validation of filesystem metadataPrevents data area from landing inside attacker-controlled FAT sectors
01c017d6by Marko Bencun+21−01 file
Vendor flagged security relevance
Low 27 AI analysisMessage 69 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Update FatFs to R0.16

This commit updates the third-party FatFs file-system library inside the BitBox02 firmware from version R0.14b to R0.16 plus an upstream patch. The change is a routine dependency refresh: it replaces the vendored source files with the newe…

Third-party dependency update (FatFs R0.14b -> R0.16+p1)No explicit security claim in commit messageNo CVE or advisory referenced in commit or supplied references
9f2b493dby Marko Bencun+3842−256979 files
No security note in commit
Low 34 AI analysisMessage 59 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

api: add BitBoxSync

This commit adds a brand-new firmware feature called BitBoxSync, which lets the BitBox02 hardware wallet participate in a sync service by proving its identity, signing login/admin intents, and decrypting namespace encryption keys. The code…

New cryptographic API surface added to the hardware wallet (Ed25519, X25519, HKDF, AEAD)Vendored third-party crate `hkdf` introduced into the firmware supply chainNew user-confirmation flow for signing sync intents; one operation (UnwrapNamespaceDek) deliberately skips confirmation
54cdb54dby Marko Bencun+2883−2230 files
No security note in commit
Informational 0 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: update stage1 binaries to v1.2.2

This commit simply swaps in newer pre-built bootloader stage1 binary files (version 1.2.2 replacing 1.2.1) for four BitBox02 hardware variants and updates the corresponding checksum list. The actual code inside the new binary files is not …

5940a800by Marko Bencun+8−86 files
No security note in commit
Moderate 59 AI analysisMessage 50 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader/stage1: fix erase handling for partially erased blocks

This update fixes the BitBox02 bootloader's firmware-erase routine. Previously, when erasing leftover padding after a firmware update, the bootloader started erasing at the exact page where the firmware ended. Because flash memory can only…

Bootloader firmware erase routine could erase a flash block containing both firmware and paddingFix aligns erase start to erase-block boundary and re-checks erased state before erasingChangelog describes the change as a fix for 'partially erased flash blocks'
b31206a8by Marko Bencun+23−83 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: add stage0/stage1 production binaries

This commit adds production bootloader upgrade files for the BitBox02 hardware wallet and updates build scripts to use them. It is a routine asset-management change: replacing placeholder development hashes with real signed production bina…

8db4b0dcby Marko Bencun+26−1720 files
No security note in commit
Informational 20 AI analysisMessage 83 · Strong
BB BitBoxBitBox02 firmware BitcoinHardware wallets

blupgrade: keep dev stage1 unsigned

This commit fixes a build script used only for development/testing versions of the BitBox02 bootloader upgrade. It makes the development-stage1 bootloader images unsigned again, while keeping production images fully signature-verified. The…

Signature verification relaxed only for development buildsProduction payload validation still requires signaturesDevelopment stage0 already skipped stage1 signature verification per commit message
476b90e3by Marko Bencun+9−69 files
No security note in commit
High 76 AI analysisMessage 23 · Opaque
BB BitBoxBitBox02 firmware BitcoinHardware wallets

security improvements

This BitBox02 firmware update is a broad security patch that fixes several independent bugs: it prevents a maliciously oversized USB report from overflowing memory, stops a corrupted Bluetooth pairing database from being read or written wi…

Bounds check added to USB HID Set Report input lengthBLE bond DB length validation hardened against negative and oversized valuesBootloader firmware image size limit relaxed to intended maximum
cbb40634by Marko Bencun+1117−25021 files
Vendor flagged security relevance
Low 46 AI analysisMessage 60 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader: allow full sized images

This commit fixes a bootloader bug where the device rejected firmware updates that used the maximum allowed size. The off-by-one check meant legitimate full-sized firmware images could not be installed, potentially blocking updates. The fi…

Off-by-one input validation in firmware-update pathBootloader change affecting firmware chunk count acceptanceCHANGELOG labels the change as a bugfix for full-sized firmware upgrades
f60b93ccby Marko Bencun+5−33 files
No security note in commit
Moderate 59 AI analysisMessage 28 · Opaque
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Add bootloader update

This is a large firmware commit that adds a new two-stage bootloader update mechanism for the BitBox02 hardware wallet. It replaces the old single bootloader with a small, fixed 'stage0' plus a separately signed 'stage1', and ships a speci…

Bootloader architecture changed from monolithic to two-stage (stage0 + signed stage1).Firmware signature hash now includes a 16-bit product_id, binding firmware to product variant.Root public keys were rotated/replaced with a single set across all products.
3f1f3172by Marko Bencun+5003−52379 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 73 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Add flash data backup scripts

This commit adds two helper scripts for developers to back up and restore BitBox02 flash memory areas using a Segger J-Link debugger. The scripts require physical hardware access and a debugging probe, and they are not part of the firmware…

285fa768by Niklas Dusenlund+383−03 files
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bb03 UI: placeholder BTC signing workflows

This commit replaces unfinished placeholder code (which would crash with 'todo!()') with simple working user-interface placeholders for Bitcoin signing demonstrations. It adds basic on-screen prompts to confirm a recipient/amount and a tot…

f7b0b082by Jad+24−121 file
No security note in commit
Informational 17 AI analysisMessage 78 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

Bump Rust toolchain to 1.96

This commit is a routine maintenance update for the BitBox02 hardware wallet firmware. It upgrades the pinned Rust compiler toolchain from an older version to Rust 1.96.0, updates the project's Docker build container and related developer …

Routine toolchain and dependency upgradeVendored libc updated across many platform bindingsNo first-party security-relevant code changes
55e3dd30by Niklas Dusenlund+14839−13798360 files
No security note in commit
Informational 18 AI analysisMessage 68 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader: reduce snprintf

This commit removes the use of the standard snprintf formatting function from the BitBox02 bootloader's developer menu and replaces it with a small, fixed-format helper. The main goal is to reduce the bootloader's binary size and make the …

Removes snprintf/printf usage from bootloader code, reducing binary bloat and eliminating a complex formatting library from a privileged execution contextExtends automated CI check to detect stdio/Rust formatting symbols in regular development and production bootloader outputs, not just production buildsAdds unit test coverage for the new fixed-format helper
2fb9d57fby Marko Bencun+59−106 files
No security note in commit
Informational 12 AI analysisMessage 68 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader: hash BLE firmware in C

This commit is a code-size optimization for the BitBox02 bootloader. It switches the Bluetooth Low Energy (BLE) firmware hash verification from a Rust SHA-256 implementation to an existing C-based SHA-256 implementation already used by the…

Change is described by the vendor as a size optimization, not a security fix.No functional change to the hash verification logic: SHA-256 digest is still computed and compared against metadata.allowed_firmware_hash.CI check added to enforce use of the smaller PUKCC SHA-256 path in production bootloaders.
1d82b8a4by Marko Bencun+18−02 files
No security note in commit
Low 35 AI analysisMessage 63 · Adequate
BB BitBoxBitBox02 firmware BitcoinHardware wallets

bootloader: avoid snprintf formatting

This commit removes the use of standard string-formatting functions (like snprintf and Rust's format!) from the bootloader and related low-level code, replacing them with smaller, fixed-size string builders. The stated goal is to reduce bi…

Removal of stdio formatting (snprintf family) from bootloader codeRemoval of Rust format!/write! formatting from bootloader-linked codeAddition of CI gate rejecting stdio and Rust formatting symbols in production bootloader ELFs
33434fa9by Marko Bencun+298−6314 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

AI review queuedui: add swap componentby Marko Bencun · 3948cb63 · Apr 13, 2026 · 15 filesMessage 43 · ThinTriage 12Details
Commit message · Marko Bencun

ui: add swap component

Similar to confirm_transction.c, dedicated to the swap screen.

43/100 · ThinMessage clarity
✓ Subject identifies a change✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
Lower-prioritysecurechip: port model to Rustby Marko Bencun · 9559e931 · Apr 11, 2026 · 4 filesMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

securechip: port model to Rust

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Security candidateadd new bitbox-core-utils workspace crateby Marko Bencun · e12dae77 · Apr 10, 2026 · 13 filesMessage 83 · StrongInformational 15Details
Commit message · Marko Bencun

add new bitbox-core-utils workspace crate

Move the salt and random helpers out of bitbox02-rust into a
new workspace crate that depends on bitbox-hal.
Add bitbox-platform-host as a dev-dependency there so the same
unit tests can run against the host fakes, and update the
bitbox02-rust and bitbox02-rust-c consumers to use the new
crate.

83/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Names security-relevant behavior explicitly
Why it was queued
seed or entropy pathboot or update path
AI analysis · Informational 15/100

This commit is a routine code reorganization: it moves two small helper modules (one for generating random bytes, one for salting/hashing data) from an existing Rust crate into a new shared workspace crate named bitbox-core-utils. The actual logic, algorithms, and behavior are copied unchanged; only the file paths and import names are updated. There is no indication this fixes or introduces a security vulnerability.

Lower-priorityeth: validate payment request coin purchase coin type and keypathby Marko Bencun · 7e443b27 · Apr 9, 2026 · 2 filesMessage 50 · ThinTriage 8Details
Commit message · Marko Bencun

eth: validate payment request coin purchase coin type and keypath

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
defensive validation
Lower-prioritybitbox03: activate app-u2f in bitbox-halby Marko Bencun · 5028149d · Apr 9, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

bitbox03: activate app-u2f in bitbox-hal

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityscripts/format: only format git-tracked filesby Marko Bencun · 03f69906 · Apr 8, 2026 · 1 fileMessage 60 · AdequateTriage 0Details
Commit message · Marko Bencun

scripts/format: only format git-tracked files

It also formatted all headers in src/rust/target etc., slowing it down.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Security candidatehal: move TestingRandom to platform hostby Marko Bencun · 57d7c80d · Apr 8, 2026 · 4 filesMessage 45 · ThinInformational 15Details
Commit message · Marko Bencun

hal: move TestingRandom to platform host

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 15/100

This commit simply moves a test-only fake random number generator from one internal Rust module to another. The code is identical and is only used in automated tests running on a developer's computer, not in the real BitBox02 hardware wallet firmware. There is no security issue.

Lower-prioritysalt: use TestingMemory in testsby Marko Bencun · 225097e6 · Apr 8, 2026 · 1 fileMessage 55 · ThinTriage 0Details
Commit message · Marko Bencun

salt: use TestingMemory in tests

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Security candidatehal: add random, factory_randomness, drop random_32_bytesby Marko Bencun · 47454d61 · Apr 8, 2026 · 27 filesMessage 55 · ThinLow 45Details
Commit message · Marko Bencun

hal: add random, factory_randomness, drop random_32_bytes

55/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Low 45/100

This commit changes how the BitBox02 hardware wallet generates random numbers used to create secret keys and encrypt stored data. Previously, the firmware used a single 32-byte random value from the microcontroller. After this change, it mixes three sources: the microcontroller's random generator, the secure chip's random generator, and a fixed 32-byte 'factory randomness' value stored in a special flash memory location. The commit also adds a factory script to write that fixed value into devices during production. The change is a defensive hardening measure, not a fix for an active bug, but it introduces a new dependency: if the factory randomness is not actually random or is reused across devices, it could weaken security instead of strengthening it.

Lower-priorityoptiga: move some defs to the headerby Marko Bencun · 53a41be7 · Apr 8, 2026 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

optiga: move some defs to the header

So they can be exposed to Rust later.

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedadd bitbox-securechip-sys bindings crate add bitbox-securechip crateby Marko Bencun · a92647ce · Apr 8, 2026 · 21 filesMessage 65 · AdequateTriage 0Details
Commit message · Marko Bencun

add bitbox-securechip-sys bindings crate add bitbox-securechip crate

Safe/idiomatic wrappers around bitbox-securechip-sys.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
second-pass: unusually broad change
Lower-priorityAGENTS.md: async_test::test for async unit testsby Marko Bencun · 740abd5a · Apr 7, 2026 · 1 fileMessage 55 · ThinTriage 0Details
Commit message · Marko Bencun

AGENTS.md: async_test::test for async unit tests

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
documentation-only discount
AI review queuedbtc/payment_request: fix error status iconby Marko Bencun · dd28e0ea · Apr 7, 2026 · 2 filesMessage 45 · ThinTriage 12Details
Commit message · Marko Bencun

btc/payment_request: fix error status icon

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
Security candidatebitbox02: fix native cargo testby Marko Bencun · 00ebc4fd · Apr 7, 2026 · 4 filesMessage 90 · StrongInformational 15Details
Commit message · Marko Bencun

bitbox02: fix native cargo test

```
cd src/rust/bitbox02 && cargo test --all-features -- --test-threads 1
```

Failed because of a missing hex_lit feature.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100

This commit fixes a Rust build configuration issue so that the project's automated tests can run on a normal computer. It moves a required feature flag for the 'hex_lit' library from individual sub-crates to the shared workspace configuration. There is no indication this is a security fix or that it changes any runtime behavior on the actual BitBox02 device.

AI review queuedCHANGELOG: mark v9.26.0by Marko Bencun · 916c12fc · Apr 7, 2026 · 1 fileMessage 38 · OpaqueTriage 0Details
Commit message · Marko Bencun

CHANGELOG: mark v9.26.0

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI review queuedfix unit testby Marko Bencun · 3593da89 · Apr 7, 2026 · 1 fileMessage 38 · OpaqueTriage 0Details
Commit message · Marko Bencun

fix unit test

Regression from e39367090.

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
Security candidateeth: harmonize large data warnings for transactions and typed messagesby Tomas Vrba · 56a6ec34 · Apr 7, 2026 · 5 filesMessage 73 · AdequateLow 35Details
Commit message · Tomas Vrba

eth: harmonize large data warnings for transactions and typed messages

Adjust wording in transaction signing so warnings and truncating logic
match the newly implemented approach in sign_typed_msg.rs

Co-Authored-By: Marko Bencun <marko@shiftcrypto.ch>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 35/100

This commit changes how the BitBox02 hardware wallet warns users about very large Ethereum transaction data and typed messages. Previously, large transaction data was shown only as a byte count with the message 'too large to display.' Now the device shows a preview of the actual hex data (up to the screen limit, with a '...' truncation indicator) and adds a warning screen saying the value is too large to display in full. The change also reuses the same truncation logic already used for EIP-712 typed messages, so both flows behave consistently. The commit does not fix a vulnerability, but it improves the user's ability to inspect what they are signing.

AI review queuedpayment_request: update swapkit pubkeyby Marko Bencun · e3936709 · Apr 7, 2026 · 1 fileMessage 35 · OpaqueTriage 0Details
Commit message · Marko Bencun

payment_request: update swapkit pubkey

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI review queuedpayment_request: remove "send to" screenby Marko Bencun · cde7286c · Apr 7, 2026 · 3 filesMessage 78 · AdequateTriage 20Details
Commit message · Marko Bencun

payment_request: remove "send to" screen

Redundant with the coin purchase memo info, except for the account
number, but we choose to not show that for better UX. Keypath is still
validated.

The removed tests are redundant with tests of test_validate().

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
Lower-priorityAGENTS.md: improve dev_exec.sh and cargo test instructionsby Marko Bencun · 3a4fb99d · Apr 6, 2026 · 1 fileMessage 75 · AdequateTriage 0Details
Commit message · Marko Bencun

AGENTS.md: improve dev_exec.sh and cargo test instructions

Codex often tries make cmds without dev_exec.sh first, and tries cargo
test without the flags we need.

75/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
documentation-only discount
Security candidaterust: async unit tests instead of block_onby Marko Bencun · 2560d5d1 · Apr 6, 2026 · 41 filesMessage 55 · ThinInformational 15Details
Commit message · Marko Bencun

rust: async unit tests instead of block_on

Easier to read/write the unit tests.

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathauthentication path
AI analysis · Informational 15/100

This commit is a code-quality refactor for unit tests only. It introduces a small Rust helper macro called async_test::test that lets developers write async test functions directly, instead of manually wrapping async code in a block_on() call. The change touches many test files but does not alter any production firmware behavior, user-facing functionality, or security logic.

AI review queuedeth: drop needless RefCell in sign typed msg unit testsby Marko Bencun · 1452594b · Apr 6, 2026 · 1 fileMessage 60 · AdequateTriage 12Details
Commit message · Marko Bencun

eth: drop needless RefCell in sign typed msg unit tests

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
Lower-prioritysystem test use should_panicby Marko Bencun · 74e433e7 · Apr 6, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

system test use should_panic

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
Lower-priorityswap: make long destination amounts scrollableby Cedric Wiese · c116b0a8 · Apr 6, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Cedric Wiese

swap: make long destination amounts scrollable

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityrust/cbindgen: remove APP_ETH definesby Marko Bencun · f5fcb2f7 · Apr 4, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Marko Bencun

rust/cbindgen: remove APP_ETH defines

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body