Skip to content

refactor(bridge): remove CCTP initiation - #428

Open
chrstph-dvx wants to merge 1 commit into
masterfrom
cdeveaux/remove-cctp-initiation
Open

refactor(bridge): remove CCTP initiation#428
chrstph-dvx wants to merge 1 commit into
masterfrom
cdeveaux/remove-cctp-initiation

Conversation

@chrstph-dvx

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings July 27, 2026 17:07
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
arbitrum-portal Ready Ready Preview Jul 28, 2026 9:53am

Request Review

Copilot AI 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.

Pull request overview

Refactors the Bridge UI to remove CCTP transfer initiation (route selection + transfer starter + UI-driver flow), while keeping legacy CCTP claim/history support and updating test coverage to focus on claims.

Changes:

  • Removes CCTP route initiation across the UI, SDK, dialogs, and routing logic; keeps CCTP utilities for legacy claims.
  • Reworks USDC token handling by introducing canonical token overrides and curated LiFi token metadata (notably for L2-native USDC).
  • Updates E2E coverage/config to run only “legacy CCTP claim” tests and adjusts CI workflow wiring accordingly.

Reviewed changes

Copilot reviewed 74 out of 74 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/arb-token-bridge-ui/tests/support/commands.ts Updates Cypress helpers to reflect removed CCTP route selection and improves rejected-claim assertion.
packages/arb-token-bridge-ui/tests/e2e/specs/withdrawCctp.cy.ts Removes CCTP withdrawal initiation E2E coverage.
packages/arb-token-bridge-ui/tests/e2e/specs/depositCctp.cy.ts Removes CCTP deposit initiation E2E coverage.
packages/arb-token-bridge-ui/tests/e2e/specs/cctpClaims.cy.ts Adds E2E suite focused on legacy CCTP claims + transaction history behavior.
packages/arb-token-bridge-ui/tests/e2e/cctp.json Removes legacy CCTP initiation specfile config.
packages/arb-token-bridge-ui/tests/e2e/cctp-claims.json Adds specfile config for legacy CCTP claim tests.
packages/arb-token-bridge-ui/synpress.cctp-claims.config.ts Switches Synpress config to legacy claim suite and seeds legacy CCTP fixtures.
packages/arb-token-bridge-ui/src/util/WithdrawOnlyUtils.ts Replaces USDC.e token checks with direct address comparisons after removing helpers.
packages/arb-token-bridge-ui/src/util/TokenUtils.ts Removes USDC/CCTP-specific token predicate helpers; inlines address checks where needed.
packages/arb-token-bridge-ui/src/util/curatedLifiTokens.ts Introduces curated LiFi token entries (notably L2-native USDC) keyed by chain.
packages/arb-token-bridge-ui/src/util/CommonAddressUtils.ts Removes CCTP token messenger addresses from common address registry.
packages/arb-token-bridge-ui/src/util/cctp/TokenMinterAbi.ts Removes unused CCTP TokenMinter ABI.
packages/arb-token-bridge-ui/src/util/cctp/TokenMessengerAbi.ts Removes unused CCTP TokenMessenger ABI.
packages/arb-token-bridge-ui/src/util/canonicalTokenOverrides.ts Adds canonical L1→L2 token override mappings (USDC → USDC.e).
packages/arb-token-bridge-ui/src/util/canonicalTokenOverrides.test.ts Adds unit tests validating canonical override mappings.
packages/arb-token-bridge-ui/src/util/AnalyticsUtils.ts Removes “Use CCTP Click” event and adjusts simplified route typing to retain legacy CCTP classification.
packages/arb-token-bridge-ui/src/ui-driver/UiDriverTestUtils.ts Removes UI-driver test helpers previously used only by CCTP UI-driver tests.
packages/arb-token-bridge-ui/src/ui-driver/UiDriverCommon.ts Removes shared UI-driver utilities no longer needed after removing CCTP UI-driver.
packages/arb-token-bridge-ui/src/ui-driver/UiDriverCctp.ts Removes CCTP UI-driver step generator.
packages/arb-token-bridge-ui/src/ui-driver/UiDriverCctp.test.ts Removes CCTP UI-driver test suite.
packages/arb-token-bridge-ui/src/ui-driver/UiDriver.ts Removes generic UI-driver implementation after CCTP flow removal.
packages/arb-token-bridge-ui/src/ui-driver/UiDriver.test.ts Removes UI-driver unit tests.
packages/arb-token-bridge-ui/src/token-bridge-sdk/CctpTransferStarter.ts Removes CCTP transfer starter implementation.
packages/arb-token-bridge-ui/src/token-bridge-sdk/CctpTransferStarter.test.ts Removes CCTP transfer starter unit tests.
packages/arb-token-bridge-ui/src/token-bridge-sdk/cctp.ts Strips initiation-related contract config and burn-limit reads; keeps receiveMessage + attestation helpers.
packages/arb-token-bridge-ui/src/token-bridge-sdk/BridgeTransferStarter.ts Removes CCTP transfer type and unused prepare-tx request helpers.
packages/arb-token-bridge-ui/src/state/cctpState.ts Simplifies USDC-address lookup helper to a single function.
packages/arb-token-bridge-ui/src/hooks/useSelectedToken.ts Replaces dynamic USDC resolution with curated LiFi token lookup + normalized address selection.
packages/arb-token-bridge-ui/src/hooks/useBalanceOnSourceChain.ts Removes native-USDC special casing tied to prior CCTP logic.
packages/arb-token-bridge-ui/src/hooks/useBalanceOnDestinationChain.ts Removes native-USDC special casing tied to prior CCTP logic.
packages/arb-token-bridge-ui/src/hooks/useArbTokenBridge.ts Adds canonical token overrides and curated LiFi tokens into bridge token registry + balance updates.
packages/arb-token-bridge-ui/src/hooks/TransferPanel/useSelectedTokenBalances.ts Removes USDC special casing tied to prior native/cctp handling.
packages/arb-token-bridge-ui/src/hooks/TransferPanel/useIsBatchTransferSupported.ts Removes native-USDC batch-transfer exclusion (CCTP no longer applies).
packages/arb-token-bridge-ui/src/hooks/TransferPanel/useGasSummary.ts Simplifies gas-summary logic by removing native-USDC/CCTP unavailable states.
packages/arb-token-bridge-ui/src/hooks/tests/useUpdateUsdcBalances.test.ts Removes tests for deleted CCTP balance updater hook.
packages/arb-token-bridge-ui/src/hooks/tests/useSelectedToken.test.ts Updates selected-token tests for canonical override + curated token selection behavior.
packages/arb-token-bridge-ui/src/hooks/tests/useGasSummary.test.tsx Updates gas-summary tests after removing native-USDC unavailable cases.
packages/arb-token-bridge-ui/src/constants.ts Removes CCTP documentation constant (CCTP initiation UI removed).
packages/arb-token-bridge-ui/src/components/TransferPanel/useTransferReadiness.ts Removes CCTP-specific fee sanitization and native-USDC L2-address handling.
packages/arb-token-bridge-ui/src/components/TransferPanel/USDCWithdrawal/UsdcWithdrawalConfirmationDialogCheckbox.tsx Removes CCTP withdrawal confirmation checkbox component.
packages/arb-token-bridge-ui/src/components/TransferPanel/USDCWithdrawal/CctpUsdcWithdrawalConfirmationDialog.tsx Removes CCTP withdrawal confirmation dialog.
packages/arb-token-bridge-ui/src/components/TransferPanel/USDCDeposit/UsdcDepositConfirmationDialogCheckbox.tsx Simplifies checkbox UI now that CCTP initiation confirmations are removed.
packages/arb-token-bridge-ui/src/components/TransferPanel/USDCDeposit/CctpUsdcDepositConfirmationDialog.tsx Removes CCTP deposit confirmation dialog.
packages/arb-token-bridge-ui/src/components/TransferPanel/TransferPanelMain/SourceNetworkBox.tsx Removes CCTP-related helper messaging and imports.
packages/arb-token-bridge-ui/src/components/TransferPanel/TransferPanelMain/DestinationNetworkBox.tsx Removes destination balance row special-casing for CCTP display.
packages/arb-token-bridge-ui/src/components/TransferPanel/TransferPanelMain.tsx Removes CCTP balance updater hook usage and USDC special casing.
packages/arb-token-bridge-ui/src/components/TransferPanel/TransferPanel.tsx Removes CCTP transfer path and updates selection/confirmation logic for USDC.e canonical deposits.
packages/arb-token-bridge-ui/src/components/TransferPanel/TokenSearch.tsx Switches USDC handling to curated tokens; removes SWR-based USDC resolution logic.
packages/arb-token-bridge-ui/src/components/TransferPanel/TokenRow.tsx Uses isL2Native to label curated native tokens; removes CCTP/native-USDC special casing.
packages/arb-token-bridge-ui/src/components/TransferPanel/TokenInfo.tsx Simplifies logo fallback by preferring token-provided metadata (works with curated tokens).
packages/arb-token-bridge-ui/src/components/TransferPanel/TokenApprovalDialog.tsx Removes CCTP-specific approval gas estimation and contract address selection.
packages/arb-token-bridge-ui/src/components/TransferPanel/Routes/Routes.tsx Removes CCTP route option and simplifies route-tag selection logic.
packages/arb-token-bridge-ui/src/components/TransferPanel/Routes/CctpRoute.tsx Removes CCTP route UI component.
packages/arb-token-bridge-ui/src/components/TransferPanel/Routes/ArbitrumCanonicalRoute.tsx Updates “USDC transfer” detection after removing isTokenNativeUSDC.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useRoutesUpdater.ts Removes CCTP from eligible-route logic and default selection; exports helpers for testing.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useRoutesUpdater.test.ts Adds unit tests covering updated eligible-route behavior after CCTP removal.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useRouteStore.ts Removes CCTP route type/data from route store typings.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useIsCctpTransfer.ts Removes hook used to detect CCTP initiation.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useIsCctpTransfer.test.ts Removes tests for deleted CCTP initiation hook.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useIsCanonicalTransfer.ts Disables canonical route for L2-native tokens and updates SWR keying.
packages/arb-token-bridge-ui/src/components/TransferPanel/hooks/useIsCanonicalTransfer.test.ts Adds regression coverage ensuring canonical route is not offered for L2-native tokens.
packages/arb-token-bridge-ui/src/components/TransferPanel/DestinationTokenSearch.tsx Removes destination token sort priority that explicitly elevated USDC.
packages/arb-token-bridge-ui/src/components/TransferPanel/CustomFeeTokenApprovalDialog.tsx Updates comment to remove outdated CCTP mention.
packages/arb-token-bridge-ui/src/components/TransferPanel/CctpTabContent.tsx Removes CCTP tab content component (blocked-jurisdiction messaging no longer needed).
packages/arb-token-bridge-ui/src/components/syncers/useBalanceUpdater.tsx Replaces USDC balance updater with direct child-balance refresh for curated L2-native tokens.
packages/arb-token-bridge-ui/src/components/common/Dialog2.tsx Removes CCTP dialog types and dialog routing.
packages/arb-token-bridge-ui/src/components/App/App.tsx Removes eager CCTP blocked-status prefetch.
package.json Points test:e2e:cctp to the new legacy-claims Synpress config.
DEVELOPMENT.md Updates docs wording to reflect claim-only CCTP E2E suite.
.github/workflows/run-cctp-claim-tests.yml Renames workflow/jobs and updates to new cctp-claims test type.
.github/workflows/formatSpecfiles.js Updates workflow matrix generation for sequential cctp-claims runs.
.github/workflows/e2e-tests.yml Updates CI to run legacy claim suite under cctp-claims and adjusts dependencies/artifacts.
Comments suppressed due to low confidence (1)

packages/arb-token-bridge-ui/synpress.cctp-claims.config.ts:206

  • The legacy-claim suite always seeds 4 CCTP transfers (2 on Sepolia + 2 on Arb Sepolia), but fundWallets() only funds the user wallet when the spec filename contains deposit/withdraw. With the new cctpClaims spec pattern, neither condition matches, so the wallet may not have enough ETH/USDC for the seeding transactions and the run will fail during createCctpTx approvals/deposits.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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