Skip to content

chore(deploy): roll out EcoFacet v3.0.0 to 13 chains (EXSC-1278) - #2610

Merged
gvladika merged 5 commits into
mainfrom
feature/exsc-1278-roll-out-ecofacet-v300-to-production
Nov 5, 2026
Merged

gvladika merged 5 commits into
mainfrom
feature/exsc-1278-roll-out-ecofacet-v300-to-production

Conversation

@gvladika

@gvladika gvladika commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Which Linear task belongs to this PR?

Ref EXSC-1278

Why did I implement it this way?

Deployment-log updates for the production rollout of EcoFacet 2.0.0 → 3.0.0 (facet logic merged in #2530). Opening this PR with the deployed addresses now, alongside the multisig requests, per the deploy-log-transparency convention.

Each chain got a fresh EcoFacet deployment and a diamondCut proposed to its Safe, wrapped in a LiFiTimelockController.scheduleBatch. Live diamonds stay on 2.0.0 until signers approve and execute and the timelock delay passes. Constructor args (portal, backendSigner) are unchanged from v2.0.0.

Do not execute before the backend ships EXBE-611. v3.0.0 changes the EcoData struct and the EIP-712 EcoPayload typehash, so v2 calldata and signatures revert against v3.

Chain Contract address Safe nonce
mainnet 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 140
arbitrum 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 105
arc 0x93C8E204d6913Fc7B80E01CBDB6Eb16D5F9a4ca3 37
base 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 103
bsc 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 81
celo 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 46
hyperevm 0x65c4cE91c213684112B42CFBF4B5Aff4Db49c4B3 68
ink 0x6e713e750D4D8e5cf005a9016BAdE8760BE03717 61
optimism 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 89
polygon 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 89
sonic 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 61
unichain 0x6e713e750D4D8e5cf005a9016BAdE8760BE03717 77
worldchain 0x1221db5424DC22DF9f426ec38A4F31950f6a5600 57

Only the flat <chain>.json pointers are updated here; the <chain>.diamond.json registries and _targetState.json are synced once the cuts execute. All 13 are verified on Sourcify and on 12 block explorers; arc's explorer (explorer.arc.io) is behind a Cloudflare challenge, so its explorer verification is still pending. Tron is tracked separately in EXSC-1282.

Checklist before requesting a review

Checklist for reviewer (DO NOT DEPLOY and contracts BEFORE CHECKING THIS!!!)

  • I have checked that any arbitrary calls to external contracts are validated and or restricted
  • I have checked that any privileged calls (i.e. storage modifications) are validated and or restricted
  • I have ensured that any new contracts have had AT A MINIMUM 1 preliminary audit conducted on by <company/auditor>

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 73a8d11e-ff9e-417d-9b3e-68e0d99556ba
Commits

Reviewing files that changed from the base of the PR and between 6f5b053 and 2a71197.

Files selected for processing: 26
  • deployments/arbitrum.diamond.json
  • deployments/arbitrum.json
  • deployments/arc.diamond.json
  • deployments/arc.json
  • deployments/base.diamond.json
  • deployments/base.json
  • deployments/bsc.diamond.json
  • deployments/bsc.json
  • deployments/celo.diamond.json
  • deployments/celo.json
  • deployments/hyperevm.diamond.json
  • deployments/hyperevm.json
  • deployments/ink.diamond.json
  • deployments/ink.json
  • deployments/mainnet.diamond.json
  • deployments/mainnet.json
  • deployments/optimism.diamond.json
  • deployments/optimism.json
  • deployments/polygon.diamond.json
  • deployments/polygon.json
  • deployments/sonic.diamond.json
  • deployments/sonic.json
  • deployments/unichain.diamond.json
  • deployments/unichain.json
  • deployments/worldchain.diamond.json
  • deployments/worldchain.json

No actionable comments were generated in the recent review.

Walkthrough

Deployment configuration files update EcoFacet addresses across 13 chains. Diamond manifests update the EcoFacet addresses and versions to 3.0.0.

Changes

Chain deployment manifests

Layer / File(s) Summary
Update chain EcoFacet addresses
deployments/*.json
The configured EcoFacet address changes for 13 chains. Nine chain configurations use one shared address. Arc, HyperEVM, Ink, and Unichain use chain-specific addresses.
Update diamond deployment manifests
deployments/*.diamond.json
The manifests update EcoFacet addresses and versions from 2.0.0 to 3.0.0 across 13 chains.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related PRs

  • lifinance/contracts#2611: Updates production diamond logs after the EcoFacet v3.0.0 cut, including overlapping EcoFacet entries.
  • lifinance/contracts#2530: Implements EcoFacet v3.0.0, the version recorded in these deployment manifests.
  • lifinance/contracts#2568: Updates health-check behavior for queued facet cuts that register deployment-log addresses and versions, a state described for this rollout.
Merge Risk: Minimal · previous review 6f5b0

This change updates deployment records so the EcoFacet entries point to the v3.0.0 deployments. The records appear to match the executed rollout and no concrete defect remains. The PR text still describes the cuts as pending, so confirm that description is out of date before merging.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title names the main change: a deployment-log rollout of EcoFacet v3.0.0 across 13 chains, tracked under EXSC-1278. The changeset updates the EcoFacet addresses and versions in the flat chain JSON…
Description check Passed The description follows the repository template. It includes the Linear task link (EXSC-1278), a detailed rationale covering the deployment approach, the timelock and Safe flow, the execution warning …
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: a deployment-log rollout of EcoFacet v3.0.0 across 13 chains, tracked under EXSC-1278. The changeset updates the EcoFacet addresses and versions in the flat chain JSON pointers and the diamond JSON files for those chains, which matches the title. The title is concise, single-sentence, and uses the conventional commit prefix. The Linear ticket reference is extra detail and does not affect the match.

Full details: Description check

Explanation

The description follows the repository template. It includes the Linear task link (EXSC-1278), a detailed rationale covering the deployment approach, the timelock and Safe flow, the execution warning tied to EXBE-611, a per-chain address and Safe nonce table, and verification status. The template's checklist items are present. Two items remain unchecked: adding tests and updating documentation. The reviewer checklist is also unchecked, and the audit line still contains template placeholders (<date> and <company/auditor>). These gaps are acceptable for a deployment-log PR, but the audit placeholder should be addressed or explained.

Resolution

Optional: replace the audit placeholder in the reviewer checklist with the actual audit details or mark it not applicable, since this PR adds no new contracts. Confirm the tests and documentation items are intentionally unchecked, since this PR only updates deployment logs.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.)

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6571fdfa-65af-49a4-96a4-6826dc063559
Commits

Reviewing files that changed from the base of the PR and between 8ec91b4 and 6f5b053.

Files selected for processing: 4
  • deployments/arbitrum.diamond.json
  • deployments/base.diamond.json
  • deployments/polygon.diamond.json
  • deployments/sonic.diamond.json

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.

@coderabbitai coderabbitai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • Fix comments: Fix CodeRabbit comments on this PR

Comment thread deployments/arbitrum.json Resolved
gvladika and others added 2 commits November 4, 2026 10:50
…-1278)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gvladika
gvladika marked this pull request as ready for review November 4, 2026 10:11
@gvladika
gvladika requested a review from a team November 4, 2026 10:11
@gvladika
gvladika enabled auto-merge (squash) November 4, 2026 10:19
gvladika added a commit that referenced this pull request Nov 4, 2026
…2.1.0 (EXSC-1276)

Regenerated from on-chain state on the 56 chains where the timelock op
executed. The logs also pick up the EcoFacet v3.0.0 cut (#2610) that
executed on 13 of these chains; on arbitrum, arc, hyperevm and polygon
its address is not yet named in the flat logs, so it shows unnamed until
#2610 records it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gvladika added a commit that referenced this pull request Nov 4, 2026
…logs (EXSC-1276)

The diamond-log regeneration picked up the EcoFacet v3.0.0 cut from
#2610 on 13 chains, whose flat logs still list v2.0.0, which fails
address-consistency. Restore the previous EcoFacet entries; #2610
records v3.0.0 in both logs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@thesems thesems left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Holding approval for the Sonic deployment-log regression below.

Comment thread deployments/sonic.diamond.json Resolved
gvladika added a commit that referenced this pull request Nov 4, 2026
…276) (#2611)

* chore(deployments): roll out FeeForwarder v2.1.0 to 56 chains (EXSC-1276)

Logs the production FeeForwarder v2.1.0 deploy, adds
forwardERC20FeesShares to whitelistPeripheryFunctions and regenerates
config/whitelist.json for the rolled-out chains.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deployments): log FeeForwarder v2.1.0 on arbitrumnova (EXSC-1276)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deployments): drop gravity from FeeForwarder v2.1.0 rollout (EXSC-1276)

Gravity Alpha's RPCs are disabled since the chain shut down, so the
timelock proposal never executed and v2.0.0 stays registered there.
Restore deployments/gravity.json and its whitelist entry to main.
Deprecation is tracked in EXSC-1291.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deployments): sync production diamond logs after FeeForwarder v2.1.0 (EXSC-1276)

Regenerated from on-chain state on the 56 chains where the timelock op
executed. The logs also pick up the EcoFacet v3.0.0 cut (#2610) that
executed on 13 of these chains; on arbitrum, arc, hyperevm and polygon
its address is not yet named in the flat logs, so it shows unnamed until
#2610 records it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deployments): keep EcoFacet v3.0.0 out of FeeForwarder diamond logs (EXSC-1276)

The diamond-log regeneration picked up the EcoFacet v3.0.0 cut from
#2610 on 13 chains, whose flat logs still list v2.0.0, which fails
address-consistency. Restore the previous EcoFacet entries; #2610
records v3.0.0 in both logs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Restore sonic DiamondCutFacet to 1.0.0 (per #2582) and drop the M0Facet
reordering in arbitrum/base/polygon that the loupe regeneration introduced.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gvladika
gvladika requested a review from thesems November 4, 2026 13:10
thesems
thesems previously approved these changes Nov 4, 2026

@thesems thesems left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Re-reviewed at 6f5b053. The Sonic finding is fixed: DiamondCutFacet remains at 1.0.0 at the existing address, preserving #2582. The full diff now contains only EcoFacet v3.0.0 deployment-log updates across the 13 chains, with matching addresses in the flat logs and diamond registries. No blocking findings remain. AuditNotRequired confirmed; no failed or pending checks at review time. This approval covers the repository records, not independent verification of every live deployment.

# Conflicts:
#	deployments/arbitrum.json
#	deployments/celo.json
#	deployments/ink.json
#	deployments/optimism.json
#	deployments/polygon.json
#	deployments/sonic.json
#	deployments/unichain.json
#	deployments/worldchain.json
@gvladika
gvladika merged commit 057f6ff into main Nov 5, 2026
47 checks passed
@gvladika
gvladika deleted the feature/exsc-1278-roll-out-ecofacet-v300-to-production branch November 5, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants