Skip to content

feat: integrate Celo (42220) as second-class Relay chain#11939

Merged
gomesalexandre merged 20 commits intodevelopfrom
feat/integrate-celo-relay
Feb 23, 2026
Merged

feat: integrate Celo (42220) as second-class Relay chain#11939
gomesalexandre merged 20 commits intodevelopfrom
feat/integrate-celo-relay

Conversation

@NeOMakinG
Copy link
Collaborator

@NeOMakinG NeOMakinG commented Feb 18, 2026

Description

Add support for Celo (EVM chain, chainId 42220) as a second-class citizen. Celo is an EVM-compatible Layer 1 blockchain focused on mobile-first DeFi, with CELO as its native token.

This is PR 15 of 17 in a sequential chain integration series. These PRs must be reviewed and merged in order, as each builds on the previous one (stacked branches).

PR merge order:

  1. Mantle (feat: integrate Mantle (chainId 5000) as second-class EVM chain #11905)
  2. Cronos (feat: integrate Cronos (chainId 25) as second-class EVM chain #11910)
  3. Sonic (feat: integrate Sonic (eip155:146) as second-class EVM chain #11923)
  4. Unichain (feat: integrate Unichain (eip155:130) as second-class citizen via Relay #11924)
  5. BOB (feat: integrate BOB (eip155:60808) as second-class citizen #11925)
  6. Mode (feat: integrate Mode (eip155:34443) as second-class citizen #11926)
  7. Soneium (feat: integrate Soneium (chainId: 1868) via Relay #11930)
  8. Hemi (feat: integrate Hemi (chainId: 43111) via Relay #11931)
  9. World Chain (feat: integrate World Chain (480) as second-class Relay chain #11932)
  10. Blast (feat: integrate Blast (81457) as second-class Relay chain #11933)
  11. zkSync Era (feat: integrate zkSync Era (324) as second-class Relay chain #11934)
  12. Story (feat: integrate Story (1514) as second-class Relay chain #11936)
  13. Plume (feat: integrate Plume (98866) as second-class Relay chain #11937)
  14. Flow EVM (feat: integrate Flow EVM (747) as second-class Relay chain #11938)
  15. Celo (feat: integrate Celo (42220) as second-class Relay chain #11939) ← this PR
  16. Ethereal (feat: integrate Ethereal (5064014) as second-class Relay chain #11940)

Note: Linea (#11922) is already in develop.

Implements: CAIP constants, chain adapter (SecondClassEvmAdapter), plugin, feature flag, Relay swapper mapping, HDWallet support flags, CSP headers, asset generation script, viem/ethers client configuration, CoinGecko price feed integration, Zerion portfolio tracking, and all required shared-file entries.

Issue (if applicable)

Part of #11902

Risk

Low - All changes are behind the Celo feature flag (VITE_FEATURE_CELO), disabled by default in production.

No new on-chain transactions or contract interactions. Standard EVM chain support using existing SecondClassEvmAdapter pattern.

No protocols, transaction types, wallets or contract interactions are affected until the feature flag is enabled.

Testing

Engineering

  1. Set VITE_FEATURE_CELO=true in .env.development
  2. Run yarn dev
  3. Verify Celo appears in chain selector
  4. Verify native CELO balance loads
  5. Verify Relay swap routes include Celo
  6. Run yarn lint — passes with 0 errors
  7. Run yarn type-check — verify no new type errors

Operations

  • 🏁 My feature is behind a flag and doesn't require operations testing (yet)

Screenshots (if applicable)

N/A - Behind feature flag, no visual changes until enabled.

Summary by CodeRabbit

  • New Features

    • Added support for the Celo blockchain network with full integration across wallets, assets, and chain adapters.
    • Implemented wallet compatibility detection for Celo across multiple wallet providers.
    • Integrated Celo asset handling and pricing data via CoinGecko.
  • Chores

    • Added environment configuration and feature flag for Celo network.
    • Updated type definitions and constants to include Celo as a supported chain.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 18, 2026

Warning

Rate limit exceeded

@gomesalexandre has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 6 minutes and 13 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 93f7602 and 094c05b.

📒 Files selected for processing (6)
  • .env
  • .env.development
  • .env.production
  • packages/chain-adapters/src/evm/SecondClassEvmAdapter.ts
  • src/state/slices/opportunitiesSlice/mappings.ts
  • src/vite-env.d.ts
📝 Walkthrough

Walkthrough

Adds comprehensive support for the Celo blockchain to the platform. Includes environment configuration, CAIP constants, chain adapters, HDWallet capability flags, Viem/Ethers clients, CoingeckoAsset mappings, asset generation scripts, plugin registration, and feature-flag gating throughout the application infrastructure.

Changes

Cohort / File(s) Summary
Environment & Configuration
.env, .env.development, src/config.ts
Added VITE_FEATURE_CELO flag and VITE_CELO_NODE_URL environment variables with corresponding validators.
CAIP Constants & Types
packages/caip/src/constants.ts, packages/types/src/base.ts
Introduced celoChainId and celoAssetId constants with CHAIN_REFERENCE.CeloMainnet (42220), ASSET_REFERENCE.Celo (60), and added Celo to KnownChainIds and EvmChainId union types.
CSP Headers
headers/csps/chains/celo.ts, headers/csps/index.ts
Created new CSP configuration module for Celo with connect-src directive and integrated into main CSP exports.
Chain Adapters & EVM Support
packages/chain-adapters/src/evm/EvmBaseAdapter.ts, packages/chain-adapters/src/evm/celo/CeloChainAdapter.ts, packages/chain-adapters/src/evm/celo/index.ts, packages/chain-adapters/src/evm/index.ts, packages/chain-adapters/src/types.ts
Implemented Celo-specific chain adapter extending SecondClassEvmAdapter with BIP44 derivation, explorer metadata, and type mappings for account data and fee structures.
HDWallet Support Flags
packages/hdwallet-core/src/ethereum.ts, packages/hdwallet-core/src/wallet.ts, packages/hdwallet-coinbase/src/coinbase.ts, packages/hdwallet-gridplus/src/gridplus.ts, packages/hdwallet-keepkey/src/keepkey.ts, packages/hdwallet-ledger/src/ledger.ts, packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts, packages/hdwallet-native/src/ethereum.ts, packages/hdwallet-phantom/src/phantom.ts, packages/hdwallet-trezor/src/trezor.ts, packages/hdwallet-vultisig/src/vultisig.ts, packages/hdwallet-walletconnectv2/src/walletconnectV2.ts
Added _supportsCelo capability flag across all HDWallet implementations (true for GridPlus, Ledger, MetaMask, Native, Trezor, WalletConnectV2; false for others); added supportsCelo type guard function.
Viem & Ethers Clients
packages/contracts/src/ethersProviderSingleton.ts, packages/contracts/src/viemClient.ts
Configured ethers provider and Viem public client for Celo mainnet with RPC URL fallback to forno.celo.org.
CoingeckoAsset Adapter
packages/caip/src/adapters/coingecko/index.ts, packages/caip/src/adapters/coingecko/index.test.ts, packages/caip/src/adapters/coingecko/utils.ts, packages/caip/src/adapters/coingecko/utils.test.ts, src/lib/coingecko/constants.ts, src/lib/coingecko/utils.ts
Extended CoingeckoAssetPlatform enum with Celo entry; added bidirectional mappings between celoChainId and platform; integrated token parsing for Celo assets with ERC20 support and test coverage.
Asset Generation & Scripts
packages/utils/src/assetData/baseAssets.ts, packages/utils/src/assetData/getBaseAsset.ts, scripts/generateAssetData/celo/index.ts, scripts/generateAssetData/coingecko.ts, scripts/generateAssetData/generateAssetData.ts
Created Celo base asset definition with full metadata; added Celo case to asset generation pipeline and Coingecko asset retrieval script.
Fee & Chain Utility Mappings
packages/utils/src/chainIdToFeeAssetId.ts, packages/utils/src/getAssetNamespaceFromChainId.ts, packages/utils/src/getChainShortName.ts, packages/utils/src/getNativeFeeAssetReference.ts
Added Celo mappings to fee asset lookup, asset namespace (ERC20), chain short name (CELO), and native fee asset reference.
Plugin Infrastructure
src/plugins/celo/index.tsx, src/plugins/activePlugins.ts
Registered new Celo plugin with chain adapter instantiation, RPC configuration, and ERC20 token discovery from asset service.
Feature Flag Gating
src/constants/chains.ts, src/context/PluginProvider/PluginProvider.tsx, src/state/slices/preferencesSlice/preferencesSlice.ts, src/test/mocks/store.ts
Added VITE_FEATURE_CELO flag to preferences and chain constants; gated Celo in supported chain filters and feature flag state initialization.
Wallet & Account Support
src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts, src/lib/account/evm.ts, src/state/slices/portfolioSlice/utils/index.ts
Integrated Celo support checks in wallet chain support detection, EVM account derivation with feature gating, and asset support validation.
Service & UI Integration
src/lib/asset-service/service/AssetService.ts, src/lib/coingecko/constants.ts, src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx, src/pages/Markets/components/MarketsRow.tsx
Added Celo asset filtering in asset service, Coingecko platform mapping, popular assets query, and markets row display with feature flag controls.
Swapper Integration
packages/swapper/src/swappers/RelaySwapper/constant.ts, packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts, packages/types/src/zerion.ts
Extended Relay swapper chain mapping with Celo; added Celo to token-to-asset resolution; integrated Celo into Zerion chain definitions.

Sequence Diagram(s)

sequenceDiagram
    participant App as Application
    participant PluginMgr as Plugin Manager
    participant ChainAdapter as Celo Chain<br/>Adapter
    participant AssetService as Asset Service
    participant HDWallet as HDWallet
    participant RPC as Celo RPC

    App->>PluginMgr: Load Celo plugin (if feature enabled)
    PluginMgr->>ChainAdapter: Instantiate with config
    ChainAdapter->>AssetService: getKnownTokens()
    AssetService->>AssetService: Filter for celoChainId<br/>+ erc20 namespace
    AssetService-->>ChainAdapter: Return ERC20 tokens
    ChainAdapter-->>PluginMgr: Adapter ready
    
    App->>App: Derive accounts (EVM flow)
    App->>HDWallet: Check supportsCelo(wallet)
    alt Celo supported
        App->>ChainAdapter: Derive accounts<br/>with BIP44 (CELO)
        ChainAdapter->>RPC: Query balances/state
        RPC-->>ChainAdapter: Account data
        ChainAdapter-->>App: Accounts with metadata
    else Celo not supported
        App->>App: Skip Celo derivation
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • shapeshift/web#11926: Adds Berachain support using the same integration pattern—feature flag, CSP, CAIP constants, chain adapters, wallet support flags, plugins, and asset generation.
  • shapeshift/web#11925: Adds BOB chain support with parallel code-level changes across environment vars, CSPs, CAIP constants, chain adapters, viem clients, hdwallet support, and plugin registration.
  • shapeshift/web#11904: Adds a second-class EVM chain integration with analogous changes to CSP headers, CAIP constants, chain adapters, viem/ethers clients, HDWallet capability flags, and asset generation.

Suggested labels

high risk

Poem

🐰 Hops through chains with glee,
Celo now joins our family tree,
With wallets, adapters, and flags so bright,
Integration complete—WAGMI tonight!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and specifically describes the main change: adding Celo (chainId 42220) support as a second-class Relay chain, which aligns with the changeset's comprehensive additions across CAIP constants, adapters, plugins, feature flags, and integration points.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/integrate-celo-relay

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

Comment @coderabbitai help to get the list of available commands and usage tips.

CELO's native token also exists as ERC20 at 0x471ece3750da237f93b8e339c536989b8978a438.
Relay may return CELO using the ERC20 address, so we need both mappings for
proper CoinGecko price resolution.
gomesalexandre and others added 9 commits February 23, 2026 15:08
…o-relay

# Conflicts:
#	.env
#	.env.development
#	headers/csps/index.ts
#	packages/caip/src/adapters/coingecko/generated/index.ts
#	packages/caip/src/adapters/coingecko/index.ts
#	packages/caip/src/adapters/coingecko/utils.test.ts
#	packages/caip/src/adapters/coingecko/utils.ts
#	packages/caip/src/constants.ts
#	packages/chain-adapters/src/evm/EvmBaseAdapter.ts
#	packages/chain-adapters/src/evm/index.ts
#	packages/chain-adapters/src/types.ts
#	packages/contracts/src/ethersProviderSingleton.ts
#	packages/contracts/src/viemClient.ts
#	packages/hdwallet-coinbase/src/coinbase.ts
#	packages/hdwallet-core/src/ethereum.ts
#	packages/hdwallet-core/src/wallet.ts
#	packages/hdwallet-gridplus/src/gridplus.ts
#	packages/hdwallet-keepkey/src/keepkey.ts
#	packages/hdwallet-ledger/src/ledger.ts
#	packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts
#	packages/hdwallet-native/src/ethereum.ts
#	packages/hdwallet-phantom/src/phantom.ts
#	packages/hdwallet-trezor/src/trezor.ts
#	packages/hdwallet-vultisig/src/vultisig.ts
#	packages/hdwallet-walletconnectv2/src/walletconnectV2.ts
#	packages/swapper/src/swappers/RelaySwapper/constant.ts
#	packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts
#	packages/types/src/base.ts
#	packages/types/src/zerion.ts
#	packages/utils/src/assetData/baseAssets.ts
#	packages/utils/src/assetData/getBaseAsset.ts
#	packages/utils/src/chainIdToFeeAssetId.ts
#	packages/utils/src/getAssetNamespaceFromChainId.ts
#	packages/utils/src/getChainShortName.ts
#	packages/utils/src/getNativeFeeAssetReference.ts
#	scripts/generateAssetData/coingecko.ts
#	scripts/generateAssetData/generateAssetData.ts
#	src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx
#	src/config.ts
#	src/constants/chains.ts
#	src/context/PluginProvider/PluginProvider.tsx
#	src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts
#	src/lib/account/evm.ts
#	src/lib/asset-service/service/AssetService.ts
#	src/lib/coingecko/utils.ts
#	src/pages/Markets/components/MarketsRow.tsx
#	src/plugins/activePlugins.ts
#	src/state/slices/opportunitiesSlice/mappings.ts
#	src/state/slices/portfolioSlice/utils/index.ts
#	src/state/slices/preferencesSlice/preferencesSlice.ts
#	src/test/mocks/store.ts
CELO's native token also exists as ERC20 at 0x471ece3750da237f93b8e339c536989b8978a438.
Relay may return CELO using the ERC20 address, so we need both mappings for
proper CoinGecko price resolution.
@gomesalexandre gomesalexandre marked this pull request as ready for review February 23, 2026 16:46
@gomesalexandre gomesalexandre requested a review from a team as a code owner February 23, 2026 16:46
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

> [!CAUTION]

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/caip/src/constants.ts (1)

265-305: ⚠️ Potential issue | 🔴 Critical

CHAIN_REFERENCE.CeloMainnet is missing from VALID_CHAIN_IDS.

CeloMainnet is defined (line 180) and included in FEE_ASSET_IDS (line 355), but it is not in VALID_CHAIN_IDS[CHAIN_NAMESPACE.Evm]. This causes toChainId() / fromChainId() validation to reject eip155:42220, breaking Celo chain ID validation throughout the system.

Add CHAIN_REFERENCE.CeloMainnet between BnbSmartChainMainnet and PolygonMainnet to match the order in FEE_ASSET_IDS:

Correct placement
     CHAIN_REFERENCE.BnbSmartChainMainnet,
+    CHAIN_REFERENCE.CeloMainnet,
     CHAIN_REFERENCE.PolygonMainnet,
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/caip/src/constants.ts` around lines 265 - 305, VALID_CHAIN_IDS for
CHAIN_NAMESPACE.Evm is missing CHAIN_REFERENCE.CeloMainnet which causes
eip155:42220 to be rejected; update the array in the VALID_CHAIN_IDS constant
(the CHAIN_NAMESPACE.Evm entry) to insert CHAIN_REFERENCE.CeloMainnet between
CHAIN_REFERENCE.BnbSmartChainMainnet and CHAIN_REFERENCE.PolygonMainnet so the
ordering matches FEE_ASSET_IDS and to allow toChainId()/fromChainId() to
validate Celo.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.env:
- Line 14: Remove the duplicated environment variables VITE_FEATURE_CELO and
VITE_CELO_NODE_URL from the development-specific env file; these are already
defined globally in the base env so delete the VITE_FEATURE_CELO and
VITE_CELO_NODE_URL entries in .env.development to avoid redundancy and rely on
the base definitions instead.

---

Outside diff comments:
In `@packages/caip/src/constants.ts`:
- Around line 265-305: VALID_CHAIN_IDS for CHAIN_NAMESPACE.Evm is missing
CHAIN_REFERENCE.CeloMainnet which causes eip155:42220 to be rejected; update the
array in the VALID_CHAIN_IDS constant (the CHAIN_NAMESPACE.Evm entry) to insert
CHAIN_REFERENCE.CeloMainnet between CHAIN_REFERENCE.BnbSmartChainMainnet and
CHAIN_REFERENCE.PolygonMainnet so the ordering matches FEE_ASSET_IDS and to
allow toChainId()/fromChainId() to validate Celo.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6999bfa and 93f7602.

⛔ Files ignored due to path filters (41)
  • packages/caip/src/adapters/coincap/generated/eip155_1/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_10/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_137/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_42161/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_43114/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_56/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/eip155_8453/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_1/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_130/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_137/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_146/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_1514/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_1868/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_25/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_324/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_34443/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_42161/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_42220/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_43111/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_43114/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_480/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_5000/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_56/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_59144/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_60808/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_747/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_80094/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_81457/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_8453/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_98866/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/eip155_999/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/index.ts is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json is excluded by !**/generated/**
  • packages/caip/src/adapters/coingecko/generated/sui_35834a8a/adapter.json is excluded by !**/generated/**
  • public/generated/asset-manifest.json is excluded by !**/generated/**
  • public/generated/asset-manifest.json.br is excluded by !**/generated/**
  • public/generated/asset-manifest.json.gz is excluded by !**/*.gz, !**/generated/**
  • public/generated/generatedAssetData.json is excluded by !**/generated/**
  • public/generated/generatedAssetData.json.br is excluded by !**/generated/**
  • public/generated/generatedAssetData.json.gz is excluded by !**/*.gz, !**/generated/**
📒 Files selected for processing (56)
  • .env
  • .env.development
  • headers/csps/chains/celo.ts
  • headers/csps/index.ts
  • packages/caip/src/adapters/coingecko/index.test.ts
  • packages/caip/src/adapters/coingecko/index.ts
  • packages/caip/src/adapters/coingecko/utils.test.ts
  • packages/caip/src/adapters/coingecko/utils.ts
  • packages/caip/src/constants.ts
  • packages/chain-adapters/src/evm/EvmBaseAdapter.ts
  • packages/chain-adapters/src/evm/celo/CeloChainAdapter.ts
  • packages/chain-adapters/src/evm/celo/index.ts
  • packages/chain-adapters/src/evm/index.ts
  • packages/chain-adapters/src/types.ts
  • packages/contracts/src/ethersProviderSingleton.ts
  • packages/contracts/src/viemClient.ts
  • packages/hdwallet-coinbase/src/coinbase.ts
  • packages/hdwallet-core/src/ethereum.ts
  • packages/hdwallet-core/src/wallet.ts
  • packages/hdwallet-gridplus/src/gridplus.ts
  • packages/hdwallet-keepkey/src/keepkey.ts
  • packages/hdwallet-ledger/src/ledger.ts
  • packages/hdwallet-metamask-multichain/src/shapeshift-multichain.ts
  • packages/hdwallet-native/src/ethereum.ts
  • packages/hdwallet-phantom/src/phantom.ts
  • packages/hdwallet-trezor/src/trezor.ts
  • packages/hdwallet-vultisig/src/vultisig.ts
  • packages/hdwallet-walletconnectv2/src/walletconnectV2.ts
  • packages/swapper/src/swappers/RelaySwapper/constant.ts
  • packages/swapper/src/swappers/RelaySwapper/utils/relayTokenToAssetId.ts
  • packages/types/src/base.ts
  • packages/types/src/zerion.ts
  • packages/utils/src/assetData/baseAssets.ts
  • packages/utils/src/assetData/getBaseAsset.ts
  • packages/utils/src/chainIdToFeeAssetId.ts
  • packages/utils/src/getAssetNamespaceFromChainId.ts
  • packages/utils/src/getChainShortName.ts
  • packages/utils/src/getNativeFeeAssetReference.ts
  • scripts/generateAssetData/celo/index.ts
  • scripts/generateAssetData/coingecko.ts
  • scripts/generateAssetData/generateAssetData.ts
  • src/components/TradeAssetSearch/hooks/useGetPopularAssetsQuery.tsx
  • src/config.ts
  • src/constants/chains.ts
  • src/context/PluginProvider/PluginProvider.tsx
  • src/hooks/useWalletSupportsChain/useWalletSupportsChain.ts
  • src/lib/account/evm.ts
  • src/lib/asset-service/service/AssetService.ts
  • src/lib/coingecko/constants.ts
  • src/lib/coingecko/utils.ts
  • src/pages/Markets/components/MarketsRow.tsx
  • src/plugins/activePlugins.ts
  • src/plugins/celo/index.tsx
  • src/state/slices/portfolioSlice/utils/index.ts
  • src/state/slices/preferencesSlice/preferencesSlice.ts
  • src/test/mocks/store.ts

gomesalexandre and others added 2 commits February 23, 2026 17:55
- add VITE_CELO_NODE_URL + VITE_FEATURE_CELO to vite-env.d.ts
- move VITE_FEATURE_FLOWEVM to correct section (adjacent to node url)
- add celoChainId import + WCELO to SecondClassEvmAdapter
- add celo to .env.production
- use ankr rpc (0.030s) over forno (0.080s) across all envs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Contributor

@gomesalexandre gomesalexandre left a comment

Choose a reason for hiding this comment

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

Finally, urgh.

@gomesalexandre gomesalexandre enabled auto-merge (squash) February 23, 2026 17:11
@gomesalexandre gomesalexandre merged commit ed76a94 into develop Feb 23, 2026
6 checks passed
@gomesalexandre gomesalexandre deleted the feat/integrate-celo-relay branch February 23, 2026 17:23
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.

2 participants