Skip to content

chore(whitelist): allow Nexroute post-hook wrapper on base, robinhood (EXSC-1254) - #2625

Merged
gvladika merged 1 commit into
mainfrom
feature/exsc-1254-sc-whitelist-nexroute-backrunlifi-wrapper-contract-in-lifi
Nov 6, 2026
Merged

gvladika merged 1 commit into
mainfrom
feature/exsc-1254-sc-whitelist-nexroute-backrunlifi-wrapper-contract-in-lifi

Conversation

@gvladika

@gvladika gvladika commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Which Linear task belongs to this PR?

Fixes EXSC-1254

Why did I implement it this way?

Standalone whitelist update. Adds Nexroute's post-hook wrapper 0xf0E976E8460fdbc8B563816Fea2cf89CB7D55eA7 on base (chainId 8453) and robinhood (chainId 4663) with selector 0xf8989325, so it can be used as a post-hook step in swapData. The selector is stored with an empty signature string, as in #2539 (EXSC-1195), #2303 (EXSC-910) and #2030 (EXSC-495).

Checked before adding: the address is EIP-55 checksummed and has code on both chains (base 3118 bytes, robinhood 3451 bytes). It is not an EIP-1967 proxy on either chain (implementation slot is empty). 0xf8989325 is in the bytecode on both chains, and the pair is not yet whitelisted on either diamond. checkDeploymentAddressConsistency.ts passes.

On robinhood the current wrapper 0x58C8fa6dC39040A382fE787C5C8A12F0CdCe1289 (EXSC-1195) stays allowlisted so existing routes keep working during the switch. Whether to remove it later is an open question on the ticket.

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

… (EXSC-1254)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gvladika
gvladika requested a review from a team November 5, 2026 09:00
@lifi-action-bot
lifi-action-bot marked this pull request as draft November 5, 2026 09:01
@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The whitelist adds the Nexroute contract address and selector to the Base and Robinhood contract lists.

Changes

Nexroute whitelist entries

Layer / File(s) Summary
Add network contract entries
config/whitelist.json
The Base and Robinhood contract lists now include address 0xf0E976E8460fdbc8B563816Fea2cf89CB7D55eA7 and selector 0xf8989325.

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

Change: Feature

Merge Risk: Minimal · up to 9b9ae

The whitelist additions present no actionable merge-blocking risk.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title clearly identifies the whitelist change, the Nexroute post-hook wrapper, the affected networks, and the related task.
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.
Description check Passed The pull request description follows the required template. It identifies the Linear task, explains the implementation, documents the whitelist changes and validation checks, and includes both checkli…
Full details: Description check

Explanation

The pull request description follows the required template. It identifies the Linear task, explains the implementation, documents the whitelist changes and validation checks, and includes both checklists. The unchecked test, documentation, and reviewer items are explicitly disclosed and do not make the description incomplete.

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: 21976714-a50a-47e1-b10d-8b46027dd4d7
Commits

Reviewing files that changed from the base of the PR and between 057f6ff and 9b9aef6.

Files selected for processing: 1

  • config/whitelist.json

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

@gvladika
gvladika marked this pull request as ready for review November 5, 2026 09:07
@gvladika
gvladika enabled auto-merge (squash) November 5, 2026 09:12

@lifi-qa-agent lifi-qa-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🤖 [Automated QA Review] Approved — PR #2625: Nexroute wrapper whitelist matches EXSC-1195 precedent on base and robinhood

@lifi-qa-agent

lifi-qa-agent Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

🔍 QA Review — EXSC-1254 · PR #2625 (first review)

Verdict: ✅ Approve · Head 9b9aef6b4f64 · Critical 0 · High 0 · Medium 0 · Low 0 · Awaiting response: 0

Summary

Adds the Nexroute BackrunLiFi wrapper 0xf0E976E8460fdbc8B563816Fea2cf89CB7D55eA7 with selector 0xf8989325 to config/whitelist.json (DEXS > Nexroute) on base and robinhood. Shape, empty signature string and placement match the EXSC-1195 precedent (#2539).

Verified

  • Same EIP-55 string in title, body and both entries (checksum not recomputed); appears exactly twice, once per chain, no in-chain duplicate.
  • base (8453) and robinhood (4663) are active in config/networks.json; file parses at head; ordering follows the file's convention.
  • Ticket checklist: the wrapper has code on Base and on Robinhood (read-only eth_getCode), and the deployed bytecode on both chains contains selector f8989325.
  • config/whitelist.json is the only source of truth (.agents/rules/502-whitelist-branching.md); PR targets main. On-chain sync is a separate step.

Notes (non-gating)

  • The older Robinhood wrappers stay allowlisted by design; removal is an open question on the ticket and worth a follow-up.
  • The wrapper receives arbitrary post-hook calls through the Diamond; the reviewer should confirm its audit/trust status.
  • version-control shows CANCELLED (concurrency artifact); address-consistency and check-secrets passed.

Audit

AuditNotRequired (config only).

@lifi-qa-agent lifi-qa-agent Bot added the QA AI Approved Zeus QA review passed label Nov 5, 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.

Verified on-chain on base and robinhood: code present, no EIP-1967 implementation set, selector 0xf8989325 in bytecode. Minor: bytecode differs between the two chains at the same address — worth confirming it's the intended build on each.

@gvladika
gvladika merged commit 865f174 into main Nov 6, 2026
89 of 90 checks passed
@gvladika
gvladika deleted the feature/exsc-1254-sc-whitelist-nexroute-backrunlifi-wrapper-contract-in-lifi branch November 6, 2026 12:02
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.

3 participants