Repository navigation
CCTP V2 on Sui - #32
Merged
Merged
Conversation
drewstaylor
force-pushed
the
feature/contracts-v2
branch
3 times, most recently
from
September 21, 2026 15:28
bee7005 to
6bef662
Compare
drewstaylor
force-pushed
the
feature/contracts-v2
branch
from
September 23, 2026 16:41
6bef662 to
4f78b89
Compare
cyan1-circle
approved these changes
Oct 1, 2026
Brings the repository up to date with the current V2 contract source. The tree had not been updated since the V1 launch, so this is a large change: four new Move packages, a rewritten scripts/ tree, and new root infrastructure. Contracts - New packages: cctp_extensions, message_transmitter_v2, token_messenger_minter_v2 and stablecoin_handler, each with version control, migration and role management. - V1 packages are frozen, already-deployed artifacts. They are retained and continue to build under their original Sui release. Tooling - setup.sh installs both pinned Sui toolchains into ./bin (v1.37.3 for V1, v1.76.1 for V2), initializes submodules, and applies the stablecoin-sui unpin patch. versions.sh holds the package to toolchain mapping. - run.sh builds, tests and verifies each package with its pinned toolchain and build environment. - scripts/sui/ replaces scripts/sui-scripts/, adding V2 deploy, example and upgrade/migration tooling alongside the existing V1 scripts. - scripts/test/ adds V2 unit and end-to-end suites. The V2 end-to-end suite synthesizes EVM messages in TypeScript, so it needs only a local Sui node. - The V2 example scripts run against localnet, testnet or mainnet. Object ids come from the dotenv record named by `--config`, so a caller who did not deploy the contracts can point them at an existing deployment with their own key. Off localnet no attestation is forged: the burn prints the message and the url to poll, and the receive requires `--message` and `--attestation` from the attestation service. `scripts/sui/network.ts` and `scripts/sui/exampleCli.ts` hold the shared network resolution and CLI helpers. Dependencies - stablecoin-sui and evm-cctp-contracts submodules advance to the revisions the V2 packages build against. - Removes the empty root yarn.lock, a stale Yarn v1 artifact; the project uses Yarn 3 under scripts/. - Does not carry over editor configuration; .vscode/ is a local preference rather than something the project should pin. - Adds CONTRIBUTING.md, which the repository was missing. Uses Circle's standard public template with the repository name substituted. Verified on a clean checkout: setup.sh completes, all six packages build, and lint and formatting are clean. `./run.sh test --version 2` passes 391 of 391 Move tests with coverage at or above 99.85% per package, the V2 end-to-end suite passes 35 tests against a local node, and both example scripts complete a localnet burn and receive.
drewstaylor
force-pushed
the
feature/contracts-v2
branch
from
October 1, 2026 19:28
4f78b89 to
efa8676
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
V2 Sui smart contracts used by the Cross-Chain Transfer Protocol.