Skip to content

docs: clarify that disallowContractSigner is not enforced on-chain - #19

Open
feafel wants to merge 1 commit into
circlefin:masterfrom
feafel:docs/clarify-revoked-signer-semantics
Open

feafel wants to merge 1 commit into
circlefin:masterfrom
feafel:docs/clarify-revoked-signer-semantics

Conversation

@feafel

@feafel feafel commented Nov 4, 2026

Copy link
Copy Markdown

Closes #18

Implements option (a) from the discussion on #18 (agreed with @furkan3152): keep the behaviour exactly as-is and correct the documentation that implied otherwise.

Changes (natspec only, no logic changes)

  • ContractSignerDisallowed event — previously documented the address as "no longer allowed to use EIP-1271 signing". Now states that revocation is not enforced on-chain (the contract can still authorize burns via its own ERC-1271 signature, per _wasEverAllowlistedContractSigner).
  • disallowContractSigner — @dev section now explains that new burn intents signed after revocation remain valid, and that Revoked is kept distinct from Unallowlisted for off-chain consumers rather than to stop signing.
  • ContractSignerAllowlistStatus.Revoked enum comment — rewritten to match actual burn-path semantics.
  • _wasEverAllowlistedContractSigner — fixed a stale inline typo (RevokedAllowlist → Revoked).

No code paths change; test_burnIntent_withRevokedContractSigner_succeeds and friends still pass unchanged (36/36 behaviour tests in this repo plus the full suite — see below).

Testing

forge test on this branch: same result as master — 539 passed, 5 failed where all five are toolchain-version artifacts of the local environment (FoundryVersion.t.sol pins foundry 1.0.0 vs local 1.5.1; BytecodeMatch.t.sol compares against artifacts compiled with the pinned toolchain). No behavioural test was added because there is no behavioural change; the existing revoked-signer tests are the coverage.

@feafel
feafel requested a review from a team as a code owner November 4, 2026 21:15
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.

disallowContractSigner does not block new EIP-1271 burn intents, contradicting ContractSignerDisallowed natspec

2 participants