Skip to content

Initialize CCT SDK with setPool#273

Draft
apedrob wants to merge 5 commits into
mainfrom
feature/DAPP-10175-cct-sdk-set-pool
Draft

Initialize CCT SDK with setPool#273
apedrob wants to merge 5 commits into
mainfrom
feature/DAPP-10175-cct-sdk-set-pool

Conversation

@apedrob

@apedrob apedrob commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

  • 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 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

Comment on lines +37 to +38
validateAddress(OPERATION, 'tokenAddress', params.tokenAddress)
validateAddress(OPERATION, 'poolAddress', params.poolAddress)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Should we go deeper and validate whether the address is a token or pool contract through typeAndVersion?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thinking of a generic abstract class, e.g. Operation that defines function signatures for validate, generate and execute. What are your thoughts?

Comment on lines +17 to +18
abstract readonly chain: Chain<F>
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Should we add the function signatures for the chain-agnostic operations, i.e. generateUnsignedSetPool and setPool?

Comment thread ccip-sdk/package.json
"types": "./dist/all-chains.d.ts",
"default": "./dist/all-chains.js"
},
"./cct/evm": {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Exposed under the subpath /evm for now; we probably want to expose just /cct with a barrel export

@vercel

vercel Bot commented Jun 15, 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 a review from andrevmatos June 15, 2026 11:16
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.

1 participant