Skip to content

Add full ERC-7730 clear signing on alpha - #782

Merged
BitHighlander merged 38 commits into
alphafrom
feature/alpha-erc7730
Sep 17, 2026
Merged

BitHighlander merged 38 commits into
alphafrom
feature/alpha-erc7730

Conversation

@BitHighlander

@BitHighlander BitHighlander commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

Goal

Implement complete active ERC-7730 v2 clear signing on alpha using reusable signed definitions by default. KeepKey’s transaction-bound live signer remains available only for facts that signed metadata and device-side decoding cannot establish.

Implemented in this draft

  • architecture, trust boundaries, conformance target, protocol ownership, and verification gates
  • allocation-free bounded C ABI interpreter with a flat forward-only type graph
  • recursive tuples and fixed/dynamic arrays
  • uint/int widths, address, bool, fixed/dynamic bytes and UTF-8 string validation
  • canonical padding, offset, packed-tail, overlap/gap, trailing-byte and resource-limit rejection
  • positive/negative tuple/array path indices
  • native adversarial unit coverage for recursive decoding and malformed encodings

Canonical protocol dependency

Verification so far

  • strict C11 compile with -Wall -Wextra -Werror
  • native GTest slice: 4/4 passed
  • complete firmware target compiled through all C/C++ objects; the local macOS link then hit the repository’s pre-existing nanopb field-alignment linker failure
  • protocol: protoc validation and npm generated JS/JSON build passed

Remaining before full-support claim

Signed envelope/catalog verification, compiled-program parser, display/path/condition/formatter VM, calldata signing integration, shared streamed EIP-712 tree, host compiler/resolver/cache, registry and adversarial corpora, fuzzing, OLED evidence, ARM/bitcoin-only/full gates, and audit review.

Reference implementation: Trezor current main dc99b24533b390b305682730c027231bf2244dc2.

This is alpha-only and does not modify a bootloader, storage format, or release branch.

@BitHighlander

Copy link
Copy Markdown
Owner Author

Canonical dependency chain advanced with full repository authority:

Next implementation unit remains the signed-envelope/program parser and session streaming state machine.

@BitHighlander
BitHighlander marked this pull request as ready for review September 17, 2026 05:05
@BitHighlander
BitHighlander merged commit 61186d4 into alpha Sep 17, 2026
8 of 10 checks passed
BitHighlander added a commit that referenced this pull request Sep 20, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 20, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 20, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 20, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 20, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 21, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 21, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
BitHighlander added a commit that referenced this pull request Sep 21, 2026
Add full ERC-7730 clear signing on alpha

(cherry picked from commit 61186d4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant