Skip to content

feat(cct-sdk): CCT SDK integration branch#304

Draft
apedrob wants to merge 63 commits into
mainfrom
cct-sdk
Draft

feat(cct-sdk): CCT SDK integration branch#304
apedrob wants to merge 63 commits into
mainfrom
cct-sdk

Conversation

@apedrob

@apedrob apedrob commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

-- Integration branch for CCT-SDK --

apedrob and others added 30 commits June 12, 2026 17:25
apedrob and others added 17 commits July 13, 2026 15:02
## What

- [DAPP-10460](https://smartcontract-it.atlassian.net/browse/DAPP-10460)
- Add the CCT SDK for solana at `ccip-sdk/cct/solana`
- Add Solana CCT `TokenAdminRegistry` `setPool` support
- Add PDA derivation helpers for Solana router programs

## Why

- Enables Solana CCT users to generate and submit `setPool` transactions
through the SDK

[DAPP-10460]:
https://smartcontract-it.atlassian.net/browse/DAPP-10460?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
## What

- [DAPP-10500](https://smartcontract-it.atlassian.net/browse/DAPP-10500)
- Add Solana CCT SDK support for appending addresses to an existing
lookup table
- Share CCIP lookup table address derivation between create and append
operations
- Add validation for ALT existence, authority mismatch, address sources,
and 256-address capacity limits

## Why

- Vault-owned ALTs need to be created empty and populated later through
the vault authority, which requires an extend-only operation that can be
serialized for external signing

[DAPP-10500]:
https://smartcontract-it.atlassian.net/browse/DAPP-10500?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

You must have Developer access to commit code to Chainlink Labs on Vercel. If you contact an administrator and receive Developer access, commit again to see your changes.

Learn more: https://vercel.com/docs/accounts/team-members-and-roles/access-roles#team-level-roles

@apedrob
apedrob requested review from aelmanaa and mervin-link July 16, 2026 15:43
apedrob and others added 10 commits July 17, 2026 10:45
## What
-
[DAPP-10175](https://smartcontract-it.atlassian.net/browse/DAPP-10175):
Add the CCT SDK at `@chainlink/ccip-sdk/cct`
- Introduce `EVMTokenManager` with `generateUnsignedSetPool` (build
unsigned tx) and `setPool` (sign + submit)
- Add `setPool` operation module: validates params, encodes
`setPool(localToken, pool)`, discovers `TokenAdminRegistry` via router
- Add `Operation` / `EVMOperation` lifecycle abstraction (validate →
encode → submit)
- Add shared CCT infra: `TokenManager` base, submit action, address
validations, and error types

## Why
- TMEM's Set Pool flow currently builds calldata client-side via
`ccip-contracts`. This adds a first-class SDK path for CCT admin ops so
consumers (partners / dapp team) can build and submit txs server-side
with consistent validation and error handling

# Testing
- CI

## Notes

- smartcontractkit/explorer#10928 vendors this
SDK and wires it into our server-side endpoint
- [CCT SDK Architecture & Requirements
(DD)](https://docs.google.com/document/d/1-4Q-l5bc_kX5olWH3JWOT2Sl5oqaESUFlum2LQNxs4Y/edit?usp=sharing)

[DAPP-10175]:
https://smartcontract-it.atlassian.net/browse/DAPP-10175?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
## What

- [DAPP-10480](https://smartcontract-it.atlassian.net/browse/DAPP-10480)
and
[DAPP-10500](https://smartcontract-it.atlassian.net/browse/DAPP-10500)
- Add Solana CCT `createLookupTable` and `appendToLookupTable` operation
for generating pool lookup table instructions
- Support typed Solana unsigned results with extra metadata such as
`lookupTableAddress`
- Add optional `computeUnits` support to Solana CCT execute params

## Why

- Solana token pool setup needs a reusable SDK operation to build ALT
instructions and return the derived lookup table address
- Future Solana CCT operations may also need generated metadata results
alongside unsigned transaction instructions

[DAPP-10480]:
https://smartcontract-it.atlassian.net/browse/DAPP-10480?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

[DAPP-10500]:
https://smartcontract-it.atlassian.net/browse/DAPP-10500?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
* chore(cct-sdk): Gate subtree from public releases

* Fix line comment
* feat: add deploy token op solana

* fix: add tsdoc

* fix: address comments

* fix: address comments
* Better separation of concerns and abstractions

* CCT: Add version dispatch + Transfer Ownership

* Adjust with base

* Address generic error types and doc examples

* Fix linting

* add example doc for op

* linting fix
* Better separation of concerns and abstractions

* CCT: Add version dispatch + Transfer Ownership

* Adjust with base

* Address generic error types and doc examples

* Fix linting

* feat(cct-sdk): Add deploy evm token

* Address PR comments

* Address PR comments by fixing chain-specific types

* feat(cct-sdk): Source chainlink/contracts-ccip artifacts (#303)

* feat(cct-sdk): Source token + pool abi/bytecode from contracts-ccip

* Remove outdated bytecodes

* feat(cct-sdk): Add CrossChainToken deployment + token versioning (#305)

* feat(cct-sdk): Source token + pool abi/bytecode from contracts-ccip

* feat(cct-sdk): Add versioned Deploy Token (CCT + ERC20)

* Remove outdated bytecodes

* Deploy only CrossChainToken

* Recover previous type changes

* Address preMint specs
* feat: add deploy token op solana

* feat: add deploy token pool op solana

* fix: add wallet and authority assertion

* fix: add tsdoc

* fix: add tsdoc

* fix: address comments

* fix: address comments

* fix: address comments

* fix: refactor validators

* fix: export pool programs and type

* fix: add validateAuthorityMatchesWallet
* feat: add deploy token op solana

* feat: add deploy token pool op solana

* fix: add wallet and authority assertion

* fix: add tsdoc

* fix: add tsdoc

* feat: add create token account op solana

* fix: group ops in SolanaTokenManager

* fix: address comments

* fix: remove helper function and override execute

* fix: address comments

* fix: address comments

* fix: refactor validators

* fix: export pool programs and type

* fix: add validateAuthorityMatchesWallet

* fix: use validateAuthorityMatchesWallet

* fix: add @remarks to deploy token pool

* fix: address comments

* fix: export resolveTokenMint
* feat: add deploy token op solana

* feat: add deploy token pool op solana

* fix: add wallet and authority assertion

* fix: add tsdoc

* fix: add tsdoc

* feat: add create token account op solana

* fix: group ops in SolanaTokenManager

* fix: address comments

* fix: remove helper function and override execute

* fix: address comments

* fix: address comments

* feat: add create token multisig op solana

* fix: refactor validators

* fix: refactor validators

* fix: export pool programs and type

* fix: use current module's PublicKey

* fix: address comments

* fix: add validateAuthorityMatchesWallet

* fix: use validateAuthorityMatchesWallet

* fix: add @remarks to deploy token pool

* fix: change to TransactionResult

* fix: address comments

* fix: export resolveTokenMint

* fix: merge conflicts
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