Skip to content

test: reproduce and archive independent Safe/ERC-1271/7702 wallet evidence - #41

Merged
XiaoHai67890 merged 3 commits into
mainfrom
test/independent-wallet-evidence-20261107
Nov 8, 2026
Merged

XiaoHai67890 merged 3 commits into
mainfrom
test/independent-wallet-evidence-20261107

Conversation

@XiaoHai67890

Copy link
Copy Markdown
Collaborator

Summary

Record and reproduce @haot3x's scoped independent wallet client against official ERC-8350 reference source at 8b11215cf267f710b49ea003384e678bcf953eae.

  • Pin haot3x/agent-economy-contributions@b4ba24169e63ede14eb2f11f8115ff058845aa55, relevant file SHA-256 values, exact scenario names and build digest.
  • Run the unchanged external client from a fresh detached checkout with an isolated environment and pinned toolchain. Verify 34 scenarios plus one historical-decoder negative control, and 188 mined receipts (131 success, 57 expected reverts).
  • Archive native reports, logs, commands, local block range and artifact hashes. Preserve the initial maintainer-wrapper failure: ethers Receipt.toJSON() omits type; the fixed validator uses the unchanged pinned executable's explicit type-4 assertion and required named outcome instead of inventing a report field.
  • Add fail-closed validator tests and a read-only CI workflow; map coverage into the authorization and Draft-to-Review packets.

Scope and limitations

This is independent client execution against the official reference, not an independent Registry implementation, full #21 acceptance, an audit, or production certification. Safe is pinned to 1.4.1; local Anvil/Prague execution does not imply Sepolia/mainnet or arbitrary wallet-version coverage. Historical Python evidence keeps its original pins. Issue #21 remains open.

Official ethereum/ERCs#2151 was author-approved and merged as 47c7f884; that NatSpec-only correction is documented without relabelling these source-pinned runs as tests of the newer commit. No core runtime, signing input or baseline manifest is changed here.

Verification

  • Local gate: clean consumer checkout, clean external source before/after, exact official-source SHA-256 checks, Node 24.11.0 / npm 11.6.1 / Foundry 1.7.1 / Solidity 0.8.24.
  • node --test scripts/independent-wallet-gate.test.mjs scripts/independent-client-gate.test.mjs scripts/spec-baseline.test.mjs scripts/review-candidate.test.mjs: 78 passing, zero skipped.
  • The native successful record and preserved initial wrapper failure are linked in docs/interop/independent-wallet-results.md.
  • GitHub CI status is reported by the checks on this PR, not inferred from local success.

Related: project #21; official ethereum/ERCs#2148 and ethereum/ERCs#2151.

@XiaoHai67890

Copy link
Copy Markdown
Collaborator Author

Verification completed at head 5e659ab647bd001c394c57e93aefde00531e1e83:

@haot3x haot3x left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the wallet evidence at 5e659ab. All 11 file hashes and 35 named outcomes match my pinned client/run; the 16 gate tests pass locally. The scope and receipt-type caveat are accurate. Approved for this evidence/CI change.

@XiaoHai67890
XiaoHai67890 merged commit 7e9932e into main Nov 8, 2026
11 checks passed
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.

2 participants