Skip to content

feat: ensure Aave + Morpho supported on all OP Stack chains#319

Draft
its-everdred wants to merge 8 commits intomainfrom
feat/269-aave-morpho-all-chains
Draft

feat: ensure Aave + Morpho supported on all OP Stack chains#319
its-everdred wants to merge 8 commits intomainfrom
feat/269-aave-morpho-all-chains

Conversation

@its-everdred
Copy link
Collaborator

Summary

Closes #269

  • Add Ink (57073), Soneium (1868), Mode (34443) to supported chains
  • Refactor Aave address config to unified Partial<Record<SupportedChainId, AaveAddresses>> pattern (matching Uniswap)
  • Add Aave V3 addresses for Soneium and Ink (from aave-address-book)
  • Refactor Morpho address config to unified Partial<Record<SupportedChainId, MorphoContracts>> pattern
  • Add Morpho Blue addresses (IRM) for OP Mainnet, Base, Unichain, World Chain, Ink, Soneium, Mode
  • Fix Morpho GraphQL API hardcoded chainId: 130 — now passes actual chain ID
  • Fix MorphoLendProvider.SUPPORTED_CHAIN_IDS over-claiming support for all chains
  • Add ETH/WETH/USDC asset entries for new chains (fix missing worldchain ETH)
  • Remove dead code (isAaveChainSupported, isMorphoChainSupported)
  • Update stale mainnet/testnet comments

Protocol Deployment Matrix

Chain ID Uniswap V4 Aave V3 Morpho Blue
OP Mainnet 10
Base 8453
Unichain 130
World Chain 480
Ink 57073
Soneium 1868
Mode 34443

Test plan

  • pnpm tsc --noEmit — 0 errors
  • pnpm vitest run — 47 test files, 339 passed, 0 failed
  • pnpm lint:fix — 0 errors (66 pre-existing warnings)
  • Updated Aave test to expect 6 chains (was 4)
  • Updated Morpho API test calls to pass chainId parameter

@netlify
Copy link

netlify bot commented Mar 17, 2026

Deploy Preview for actions-ui ready!

Name Link
🔨 Latest commit 45036b6
🔍 Latest deploy log https://app.netlify.com/projects/actions-ui/deploys/69bdb3b05af77e0008e256e7
😎 Deploy Preview https://deploy-preview-319--actions-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@its-everdred its-everdred marked this pull request as ready for review March 17, 2026 22:10
@its-everdred its-everdred requested a review from a team as a code owner March 17, 2026 22:10
@its-everdred its-everdred requested a review from lucasmoore March 17, 2026 22:10
@its-everdred its-everdred marked this pull request as draft March 17, 2026 22:12
@its-applekid
Copy link

Review Notes

Architecture:
✅ Unified address config pattern for Aave (Partial<Record<SupportedChainId, AaveAddresses>>) matches Uniswap — good consistency
✅ Dead code removal (isAaveChainSupported, isMorphoChainSupported) — nice cleanup
✅ Protocol deployment matrix in PR description is excellent for reference

Bug Fixes:
✅ Morpho GraphQL API hardcoded chainId: 130 fix — critical for multi-chain support
MorphoLendProvider.SUPPORTED_CHAIN_IDS over-claiming support — good catch

New Chains:

  • Ink (57073)
  • Soneium (1868)
  • Mode (34443)

Address Verification:
🔒 Aave V3 addresses sourced from aave-address-book (trusted source)
🔒 Morpho Blue IRM addresses — verify these are correct for each chain

Test Coverage:
✅ Tests updated (47 files, 339 passed)
✅ Aave test expects 6 chains (was 4)
✅ Morpho API test passes chainId

Concern:

  • Missing ETH/WETH/USDC for World Chain fixed in this PR — good catch! Any other missing asset definitions for new chains?

Ready for merge?
After Morpho address verification, yes. Clean PR!

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.

Ensure Aave + Morpho supported on all OP Stack chains

2 participants