Skip to content

Add ENS TXT compatibility validation for signer proof checks#20

Merged
GsCommand merged 1 commit into
mainfrom
codex/verify-ens-signer-compatibility
May 15, 2026
Merged

Add ENS TXT compatibility validation for signer proof checks#20
GsCommand merged 1 commit into
mainfrom
codex/verify-ens-signer-compatibility

Conversation

@GsCommand
Copy link
Copy Markdown
Contributor

Motivation

  • Ensure CLAS canonical proof verification can be constrained by ENS TXT records (cl.sig.* and cl.receipt.signer) without hardcoding production keys.
  • Enforce fail-closed behavior by requiring metadata.proof.signature.kid for canonical proof verification.
  • Provide a small compatibility surface so callers can compare resolved ENS values to receipt proofs when ENS verification is used.

Description

  • Added EnsVerificationRecord type and optional ensRecord parameter to verifyCommandLayerReceipt to allow ENS-driven checks of kid, canonicalization, and signer identity.
  • Require metadata.proof.signature.kid presence during verification and return explicit error reasons on mismatch.
  • Exported EnsVerificationRecord from the package root API (src/index.ts).
  • Added tests and fixtures: a runtime ENS TXT-shape fixture in test/ens.test.ts and ENS-constrained verification cases plus missing-kid checks in test/compat.test.ts.
  • No network calls introduced and no production signer hardcoded; ENS fixture is used only for test coverage and examples.

Testing

  • Ran build and typecheck with npm run build and npm run typecheck, both succeeded.
  • Executed the full test suite with npm test, all tests passed (68 tests, 0 failures).
  • New tests exercised ENS TXT fixture parsing and ENS-constrained verification scenarios and succeeded.

Codex Task

@GsCommand GsCommand merged commit 889b54d into main May 15, 2026
1 of 3 checks passed
@GsCommand GsCommand deleted the codex/verify-ens-signer-compatibility branch May 24, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant