✨ app: support exa token on base#1150
Conversation
🦋 Changeset detectedLatest commit: a240501 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
WalkthroughChangesEXA chain support
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant LI.FI
participant lifiTokensOptions
participant generatedChain
participant getToken
LI.FI->>lifiTokensOptions: request tokens for chain.id
lifiTokensOptions->>generatedChain: read exaAddress
lifiTokensOptions->>getToken: fetch EXA for chain.id and exaAddress
getToken-->>lifiTokensOptions: return chain-specific token
lifiTokensOptions-->>LI.FI: return deduplicated token list
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
✨ Simplify code
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request adds support for EXA and swaps on the Base network. It updates the wagmi configuration to load the EXA deployment and refactors the Li.Fi utility to dynamically use the EXA address instead of a hardcoded Optimism address, splitting the token allowlist by chain ID. The review feedback highlights two issues: a potential runtime TypeError in balancesOptions due to token.amount being a string instead of a bigint, and a case-sensitivity issue in the allowlist lookup because of a lowercase address entry.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
88a062b to
6779039
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 88a062bba2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "0xFdb794692724153d1488CcdBE0C56c252596735F", | ||
| ]), | ||
| [infra.base.id]: new Set([ | ||
| "0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A", |
There was a problem hiding this comment.
Keep base swap tokens on the deployed allowlist
For Base, this newly added allow list is not the same as the deployed ProposalManager allowlist: I checked contracts/broadcast/ProposalManager.s.sol/8453/run-latest.json, and 0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A (plus several other added Base addresses) is absent from the constructor targets. When a user selects one of these tokens as an external source, ExaPlugin.swap first calls approve on that token through the account, and ProposalManager.preExecutionChecker rejects non-allowlisted targets, so the UI will quote and enable swaps that revert. Keep this list to the deployed ProposalManager targets or update the on-chain allowlist.
Useful? React with 👍 / 👎.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1150 +/- ##
==========================================
+ Coverage 73.27% 73.28% +0.01%
==========================================
Files 254 254
Lines 10839 10844 +5
Branches 3598 3602 +4
==========================================
+ Hits 7942 7947 +5
+ Misses 2613 2611 -2
- Partials 284 286 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
6779039 to
2ef68c5
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2ef68c5296
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
2ef68c5 to
fbe082b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 9afca78b-58a0-4b1b-85b3-fbcf42a4bcb2
📒 Files selected for processing (4)
.changeset/nice-moles-invent.md.changeset/sour-items-strive.mdcommon/wagmi.config.tssrc/utils/lifi.ts
fbe082b to
f963393
Compare
f963393 to
a240501
Compare
Summary by CodeRabbit