feat(cct-sdk): Add get supported tokens solana op - #319
Conversation
|
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 |
There was a problem hiding this comment.
I verified it live on devnet with a triple-source proof: the CCT op, core, and a from-scratch getProgramAccounts enumeration all return the identical 655-mint set against the real ccip-router 1.6.2 router, and I confirmed the enumeration's PDA invariant against a live router-owned v2 TAR. npm run check -w ccip-sdk is green and the touched tests (86) pass. My comments are all Low/Nit: the EVMTokenManager facade asymmetry (①, a follow-up, and milder than the 10787 analog because the shared read is already on Chain), a doc-the-no-pagination note (②), a perf note on the inherited unbounded scan in core (③, not this PR's fix), and an OffRamp-path test (④). None block. APPROVE (mergeable).
| /** Creates a CCT data decode error. */ | ||
| constructor(message = 'Unable to decode CCT data', options?: CCIPErrorOptions) { | ||
| super(CCIPErrorCode.CCT_DATA_DECODE_FAILED, message, { | ||
| constructor(account: string, options?: CCIPErrorOptions) { |
There was a problem hiding this comment.
[Nit — collateral breaking constructor change, acceptable] CCTDataDecodeError changed from (message?, options?) to (account: string, options?). This new shape is strictly better (structured context.account, CCIPError.from normalizing non-Error causes, both tested). Single caller updated (programs/token-pool.ts:65). No action needed — noting for the record since it's outside the getSupportedTokens feature proper.
One of the advantages here is that you can reuse this error and each time directly parse the account address from error.context.account (instead of parsing from a non structured string)
…eat/DAPP-10812-get-supported-tokens
…eat/DAPP-10812-get-supported-tokens
What
SolanaChain.getSupportedTokensimplementation through the Solana CCT facade, with CCT input validation and Router resolution.Why
Notes