Gate the DeFi Llama integrator slot off-Ethereum - #3
Conversation
Its address is confirmed for Ethereum only, matching the SEAL treatment: pinned on Ethereum, PENDING elsewhere, filled from DEFILLAMA_ADDRESS at deploy (fail-loud). Note in the fill loop: temp fills must be distinct addresses — the collector rejects one address holding two slots — and each temp slot later self-rotates to the real integrator (14d).
PR SummaryLow Risk Overview
Reviewed by Cursor Bugbot for commit 052bfac. Configure here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughFee schedules now use fixed or chain-specific temporary Safe addresses for unconfirmed integrator recipients. Deployment supports the DeFi Llama slot, while tests and documentation describe Ethereum-only confirmation and timed self-rotation. ChangesIntegrator slot configuration
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
Replace the env-filled PENDING_INTEGRATOR mechanism with pinned addresses: DefiLlama Research -> 0xE0DE2EF1 (all chains), SEAL -> 0x9bAee773 and DeFi Llama -> 0x1350e1C9 off-Ethereum (Ethereum keeps their confirmed addresses). All three temp Safes are Boardwalk-controlled, code-verified on all four chains, distinct per slot, and self-rotate to the real integrator via signalChangeAddress (14d) once confirmed. The deploy script no longer reads integrator envs.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@script/FeeSchedules.sol`:
- Around line 94-116: Update the Safe rotation descriptions in
script/FeeSchedules.sol lines 94-116, SPEC.md line 139, and AGENTS.md line 26 to
reflect the two-step API: signalChangeAddress schedules the rotation, then
executeChangeAddress performs it after 14 days and is permissionless.
- Around line 94-116: Update the rotation comments for the temporary Safe
entries in the fee-schedule initialization to accurately describe the two-step
API: signalChangeAddress only schedules the change, and
executeChangeAddress(slotIdx, newAddress) must be called after the 14-day delay
to update the slot. Preserve the existing address and fee assignments.
In `@test/unit/DeployConfigs.t.sol`:
- Around line 60-62: Replace the stale DuplicateIntegrator reference with the
implementation’s actual DuplicateAddress error identifier in the explanatory
comment at test/unit/DeployConfigs.t.sol lines 60-62 and the documented
identifier at AGENTS.md line 26.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 7e1d39e8-3c75-42fc-ae9f-a32080b9411b
📒 Files selected for processing (5)
AGENTS.mdSPEC.mdscript/02_DeployFactory.s.solscript/FeeSchedules.soltest/unit/DeployConfigs.t.sol
💤 Files with no reviewable changes (1)
- script/02_DeployFactory.s.sol
signalChangeAddress only schedules; executeChangeAddress(slotIdx, newAddress) performs the rotation permissionlessly after the 14-day delay. Also note the construction vs rotation duplicate-error names.
DeFi Llama's address is confirmed for Ethereum only. Same treatment as SEAL: pinned on Ethereum,
PENDING_INTEGRATORelsewhere, env-filled fromDEFILLAMA_ADDRESS(fail-loud). Needed for the temp-safe deploy plan on Base/Arbitrum/Robinhood.1336 tests pass.
Summary by CodeRabbit