Skip to content

feat: migrate Solana_Adapter to CCTP V2 (EVM side) - #1559

Merged
tbwebb22 merged 2 commits into
masterfrom
sol-cctpv2-evm
Oct 6, 2026
Merged

tbwebb22 merged 2 commits into
masterfrom
sol-cctpv2-evm

Conversation

@grasphoper

Copy link
Copy Markdown
Collaborator

EVM-only slice of the Solana CCTP V2 migration, split out of #1548 so the EVM and SVM changes can be audited separately. The Solana program, TS client and operational script changes stay in #1548, which is stacked on this branch.

  • Solana_Adapter sends admin messages through IMessageTransmitterV2 with destinationCaller = bytes32(0) and a configurable minimum finality threshold (finalized, 2000). The Solana spoke pool only implements the finalized message handler.
  • Add IMessageTransmitterV2.sendMessage to CCTPInterfaces and a MockCCTPMessageTransmitterV2 mock; existing V2 transmitter mocks gain a no-op sendMessage.
  • Solana_Adapter Foundry tests migrated to the V2 mocks, with constructor and invalid-target coverage.
  • Add DeploySolanaAdapter Foundry script plus cctpV2MessageTransmitter L1 constants (src/consts.ts -> generated/constants.json -> Constants.sol) and a CCTP_FINALITY_THRESHOLD_FINALIZED constant.

EVM-only slice of the Solana CCTP V2 migration, split out of #1548 so the
EVM and SVM changes can be audited separately. The Solana program, TS
client and operational script changes stay in #1548, which is stacked on
this branch.

- Solana_Adapter sends admin messages through IMessageTransmitterV2 with
  destinationCaller = bytes32(0) and a configurable minimum finality
  threshold (finalized, 2000). The Solana spoke pool only implements the
  finalized message handler.
- Add IMessageTransmitterV2.sendMessage to CCTPInterfaces and a
  MockCCTPMessageTransmitterV2 mock; existing V2 transmitter mocks gain a
  no-op sendMessage.
- Solana_Adapter Foundry tests migrated to the V2 mocks, with constructor
  and invalid-target coverage.
- Add DeploySolanaAdapter Foundry script plus cctpV2MessageTransmitter
  L1 constants (src/consts.ts -> generated/constants.json -> Constants.sol)
  and a CCTP_FINALITY_THRESHOLD_FINALIZED constant.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-17T04:48:59.878811Z b888ba9 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Reinis-FRP
Reinis-FRP previously approved these changes Sep 17, 2026

@Reinis-FRP Reinis-FRP 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.

Approved. Verified that #1559 and #1561 together preserve the exact changes from #1548, including #1555.

Only caveat: please update the PR body to identify #1561 as the SVM counterpart targeting epic-v5/svm, replacing the stale reference to #1548 being stacked here, and note that deployment of the two sides must be coordinated.


Sent from Reinis Martinsons's Codex CLI Agent using gpt-6-astra 🤖

@Reinis-FRP Reinis-FRP 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.

LGTM. The fixed 2000 threshold matches the finalized-only SVM handler and HubPool’s finality requirement.

Only remaining nit: please update the PR body to remove the configurable-threshold wording

@tbwebb22
tbwebb22 merged commit 950e915 into master Oct 6, 2026
6 of 7 checks passed
@tbwebb22
tbwebb22 deleted the sol-cctpv2-evm branch October 6, 2026 17:17
Reinis-FRP added a commit that referenced this pull request Oct 9, 2026
Import master 950e915 onto epic a132069.
The file tree is identical to the clean merge tested in 6c6d74f.

Upstream changes: #1559, #1458, #1563, #1558, #1557, #1554, #1529, #1530, #1552.
Squash the integration so historical upstream DCO metadata does not block this PR; no upstream branch history is rewritten.

Signed-off-by: Reinis Martinsons <reinis@umaproject.org>
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.

3 participants