Skip to content

Mint: Configure attested EVM deposit finality with RPC block tags - #313

Open
gofman8 wants to merge 4 commits into
devfrom
feat/evm-safe-finality
Open

gofman8 wants to merge 4 commits into
devfrom
feat/evm-safe-finality

Conversation

@gofman8

@gofman8 gofman8 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Configure EVM deposit verification with EVM_FINALITY_TAG=latest|safe|finalized, defaulting to safe. Both FundsIn authorization paths require a successful receipt at or below the selected head, a matching canonical block hash, and a consistent head snapshot across verification. Invalid configuration stops startup; unavailable or invalid RPC data refuses signing.

Policy V9 commits the selected tag. The launch verifier reads it from the measured image, the standalone verifier requires --expect-evm-finality-tag, and clone peers must match. Deploy matching EIF and parent/verifier releases with approved PCRs. The documentation describes the current tag choices and their Arbitrum behavior.

Validation for c368c067625a3f1fb3f9c69109c4bbd7da407a25:

  • Full Linux CI passed, including all build profiles, formatting, Clippy, tests, feature guards, and release guards.
  • Codex code review and dedicated security review completed without actionable findings.
  • Regression cases cover all three tags across both authorization paths, exact RPC tag selection over TLS, malformed or missing responses, canonical hashes, head regressions/forks, and attestation mismatches.

The pinned RPC remains trusted for chain correctness; the selected tag determines the accepted reorg risk.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T20:56:28.061487Z c368c06 Manual request
🔒 Security Review ✅ Completed 2026-10-09T20:57:56.429553Z c368c06 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

gofman8 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 770f06654e

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@gofman8 gofman8 changed the title Require safe canonical EVM deposits and remove confirmation counts Mint: Require safe canonical EVM deposits and remove confirmation counts Oct 9, 2026
@gofman8 gofman8 changed the title Mint: Require safe canonical EVM deposits and remove confirmation counts Configure attested EVM deposit finality with RPC block tags Oct 9, 2026

gofman8 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@codex security review

Please review the current head c368c06. Deposit verification now uses an attested EVM_FINALITY_TAG selecting latest, safe, or finalized (default safe).

gofman8 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: c368c06762

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: c368c06762

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@gofman8 gofman8 changed the title Configure attested EVM deposit finality with RPC block tags Mint: Configure attested EVM deposit finality with RPC block tags Oct 10, 2026
nklyy added a commit that referenced this pull request Oct 13, 2026
(latest, safe or finalized, default safe). The BFA mint lock now
follows the same tag instead of a hardcoded finalized block plus a
confirmation floor, and keeps the block > afterBlock rule.

Both sides changed the attested policy, so it becomes version 10 with
evm_finality_tag and spv_min_confirmations; V8 and V9 are refused.
The rgb-lib receiver still accepts the mint only once the deposit is
finalized, so with safe the enclave signs before the user sees the
mint.
nklyy added a commit that referenced this pull request Oct 13, 2026
Before #313 a production policy refused EVM_MIN_CONFIRMATIONS=0. #313
dropped that, so a production enclave could accept a deposit with no
confirmation. The boot and launch gates, the parent launch check and
attest-verify now refuse EVM_FINALITY_TAG=latest in production;
development builds may still use it.

The mint image checks the previous mint of a right lane at
SPV_MIN_CONFIRMATIONS, now 3 to match the bridge's
INIT_OP_MIN_CONFIRMATIONS; the burn image keeps 6. attest-verify
expects the depth of the signer role by default.

verify_rgb_funds_in notes why a non-finalized tag is enough for the
mint lock.
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