Skip to content

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

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

apedrob wants to merge 121 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
mervin-link and others added 20 commits August 21, 2026 14:47
* feat: add transfer pool ownership op solana

* fix: address comments

* feat(cct-sdk): Add accept pool ownership op solana (#359)

feat: add accept pool ownership op solana
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* fix: address comments

* fix: revert register admin

* feat(cct-sdk): Add mint tokens op solana (#365)

* feat: add mint tokens op solana

* fix: address comments
* fix: refactor public exports

* fix: address comments
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* fix: update tsdoc

* fix: address comments

* feat(cct-sdk): Add set rebalancer op solana (#370)

* feat: add set rebalancer op solana

* fix: update tsdoc

* fix: address comments
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* fix: address comments

* fix: revert unrelated changes
Add exporting contracts from package to get the access to abis used in
TMEM
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* feat: add provider liquidity op solana

* fix: address comments

* fix: revert unrelated changes

* fix: add preflight checks

* fix: update tsdoc

* fix: extract validate pool liquidity config

* fix: lint errors

* fix: address comments

* feat(cct-sdk): Add withdraw liquidity op solana (#384)

* feat: add withdraw liquidity op solana

* fix: add preflight checks

* fix: lint errors
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* Address PR comments

* Fix lint
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* feat(cct-sdk): Add EVM remote pool ops

* Address PR comments

* Fix lint

* Fix lint
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* feat(cct-sdk): Add EVM remote pool ops

* Address PR comments

* feat(cct-sdk): Add set chain rate limiter configs op

* Fix lint

* Fix lint

* Fix lint

* Fix tsdoc and lint

* cleanup
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* feat(cct-sdk): Add EVM remote pool ops

* Address PR comments

* feat(cct-sdk): Add set chain rate limiter configs op

* feat(cct-sdk): Add set rate limit admin and set dynamic config ops

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix tsdoc and lint

* cleanup

* linting
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* feat(cct-sdk): Add EVM remote pool ops

* Address PR comments

* feat(cct-sdk): Add set chain rate limiter configs op

* feat(cct-sdk): Add set rate limit admin and set dynamic config ops

* feat(cct-sdk): Add apply allowlist updates evm op

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix tsdoc and lint

* cleanup

* Address PR comments

* linting
* feat(cct-sdk): Add get token pool remotes evm query

* feat(cct-sdk): Add generic EVM param validators

* feat(cct-sdk): Read siloed lock/release pool state

* feat(cct-sdk): Add pool owner pre-flight and encoder removal ceilings

* refactor(cct-sdk): Hoist validate/parse lifecycle to the shared Operation base

* feat(cct-sdk): Add apply chain updates evm op

* fix(cct-sdk): Reject a declared version that is not the pool's calldata shape

* feat(cct-sdk): Add EVM remote pool ops

* Address PR comments

* feat(cct-sdk): Add set chain rate limiter configs op

* feat(cct-sdk): Add set rate limit admin and set dynamic config ops

* feat(cct-sdk): Add apply allowlist updates evm op

* chore(cct-sdk): Accept 1.5 proxy token pools

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Address Mervin comments
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* feat: add provider liquidity op solana

* fix: address comments

* fix: revert unrelated changes

* fix: add preflight checks

* fix: update tsdoc

* fix: extract validate pool liquidity config

* feat: add withdraw liquidity op solana

* fix: add preflight checks

* feat: add update metadata authority op solana

* fix: lint errors

* fix: lint errors

* fix: address comments

* fix(cct-sdk): Refactor and expand Solana CCT unit tests (#395)

* fix: refactor unit tests

* fix: refactor export
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* feat: add provider liquidity op solana

* fix: address comments

* fix: revert unrelated changes

* fix: add preflight checks

* fix: update tsdoc

* fix: extract validate pool liquidity config

* feat: add withdraw liquidity op solana

* fix: add preflight checks

* feat: add update metadata authority op solana

* fix: lint errors

* fix: lint errors

* fix: address comments

* fix: refactor unit tests

* fix: refactor export

* feat: add owner override pending admint op solana

* fix: update tsdoc and add preflight check

* fix: update tsdoc @example

* fix: update tsdoc @throws

* feat(cct-sdk): Add includeApproval option to provide liquidity (#401)

feat: add includeApproval option in provide liquidity
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

CI Test Report

25 of 2858 tests did not pass (pass 2827, fail 2, cancelled 23, skipped 6) in 4m 23s

Failed suites: ccip-sdk/src/evm/dest-liquidity.integration.test.ts, ccip-sdk/src/sui/integration.test.ts

Failed tests
test at ccip-sdk/src/evm/dest-liquidity.integration.test.ts:153:7
✖ LBTC dest on ethereum (LombardTokenPoolV2) => attestation-required pre-send, not a block (119.509303ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'LombardTokenPool'
  - 'LombardTokenPoolV2'
                     ^
  
      at TestContext.<anonymous> (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/evm/dest-liquidity.integration.test.ts:159:16)
      at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
      at async Test.run (node:internal/test_runner/test:1404:7)
      at async Suite.processPendingSubtests (node:internal/test_runner/test:969:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'LombardTokenPool',
    expected: 'LombardTokenPoolV2',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at ccip-sdk/src/evm/dest-liquidity.integration.test.ts:153:7
✖ LBTC dest on monad (LombardTokenPoolV2) => attestation-required pre-send, not a block (139.570533ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
  + actual - expected
  
  + 'LombardTokenPool'
  - 'LombardTokenPoolV2'
                     ^
  
      at TestContext.<anonymous> (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/evm/dest-liquidity.integration.test.ts:159:16)
      at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
      at async Test.run (node:internal/test_runner/test:1404:7)
      at async Suite.processPendingSubtests (node:internal/test_runner/test:969:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 'LombardTokenPool',
    expected: 'LombardTokenPoolV2',
    operator: 'strictEqual',
    diff: 'simple'
  }

test at ccip-sdk/src/sui/integration.test.ts:80:3
✖ connects and detects sui-testnet
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:85:3
✖ getBlockInfo returns real checkpoints for tags, depths and numbers
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:102:3
✖ getLogs streams CCIPMessageSent events over a bounded range
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:134:3
✖ getLogs resolves startTime to a checkpoint
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:150:3
✖ getTransaction returns events with original package addresses
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:159:3
✖ discovers ccip package and configs from the onramp
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:207:3
✖ reports the offramp static, dynamic and per-source config
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:241:3
✖ accepts the ccip state object as the router handle for both ramps
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:263:3
✖ discovers the offramp from ccip activity, without ownership or publish history
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:270:3
✖ discovers the offramp through the ccip package (pruned-history fallback)
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:289:5
✖ discoverOffRamp pairs lanes in both directions
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:286:3
✖ EVM counterpart lane (fuji)
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:303:3
✖ getFee quotes a positive SUI fee for a sui→sepolia CCIP BnM transfer
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:326:3
✖ getBalance returns native SUI and CCIP BnM balances
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:341:3
✖ getTokenPoolRemotes resolves the sepolia CCIP BnM address
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:353:3
✖ show decodes the token-transfer sends with amounts and CCIP BnM metadata
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:399:3
✖ get-supported-tokens: router lists registry tokens and fee tokens
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:426:3
✖ get-supported-tokens: router + token resolves the registry config and pool
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:443:3
✖ get-supported-tokens: tokenPool address resolves token, router, and remotes
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:74:1
✖ SuiChain integration (sui-testnet) (322.464002ms)
  Error [CCIPDataFormatUnsupportedError]: Unsupported data format: Unable to fetch chain identifier from URL: https://sui-testnet.blockvision.org/v1/***
      at SuiChain.fromUrl (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/sui/index.ts:378:13)
      at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
      at async SuiteContext.<anonymous> (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/sui/integration.test.ts:77:13)
      at async TestHook.run (node:internal/test_runner/test:1404:7)
      at async Suite.runHook (node:internal/test_runner/test:1284:9)
      at async Suite.run (node:internal/test_runner/test:1883:7)
      at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
    _isCCIPError: true,
    code: 'DATA_FORMAT_UNSUPPORTED',
    context: { data: 'Unable to fetch chain identifier from URL: https://sui-testnet.blockvision.org/v1/***' },
    isTransient: false,
    retryAfterMs: undefined,
    recovery: 'Unsupported data format. Use hex, bytes, or base64.',
    [cause]: undefined
  }

test at ccip-sdk/src/sui/integration.test.ts:520:3
✖ getLogs emits the success and skips the double-exec attempt for a message that succeeded
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:554:3
✖ getTransaction does not reconstruct a failure from the skipped double-exec attempt
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:564:3
✖ getExecutionReceipts emits only the success of a double-executed message, breaking on it
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:588:3
✖ getLogs emits BOTH failures of a message whose executions all failed
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:633:3
✖ getExecutionReceipts yields both failures of the definitively-failed message
  'test did not finish before its parent and was cancelled'

test at ccip-sdk/src/sui/integration.test.ts:460:1
✖ Sui failed execution detection integration (sui-testnet) (305.44904ms)
  Error [CCIPDataFormatUnsupportedError]: Unsupported data format: Unable to fetch chain identifier from URL: https://sui-testnet.blockvision.org/v1/***
      at SuiChain.fromUrl (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/sui/index.ts:378:13)
      at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
      at async SuiteContext.<anonymous> (file:///home/runner/work/ccip-tools-ts/ccip-tools-ts/ccip-sdk/src/sui/integration.test.ts:517:13)
      at async TestHook.run (node:internal/test_runner/test:1404:7)
      at async Suite.runHook (node:internal/test_runner/test:1284:9)
      at async Suite.run (node:internal/test_runner/test:1883:7)
      at async Test.processPendingSubtests (node:internal/test_runner/test:969:7) {
    _isCCIPError: true,
    code: 'DATA_FORMAT_UNSUPPORTED',
    context: { data: 'Unable to fetch chain identifier from URL: https://sui-testnet.blockvision.org/v1/***' },
    isTransient: false,
    retryAfterMs: undefined,
    recovery: 'Unsupported data format. Use hex, bytes, or base64.',
    [cause]: undefined
  }
---------------------------------------|---------|----------|---------|---------|-------------------

Summary

ℹ tests 2858
ℹ suites 737
ℹ pass 2827
ℹ fail 2
ℹ cancelled 23
ℹ skipped 6
ℹ todo 0
ℹ duration_ms 262786.142472
Coverage report
File                                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------------------------------|---------|----------|---------|---------|-------------------
All files                              |   83.64 |    83.69 |   75.16 |   83.64 |                   
 ccip-cli/src                          |   90.42 |    59.25 |      75 |   90.42 |                   
  index.ts                             |   90.42 |    59.25 |      75 |   90.42 | ...73-174,180-185 
 ccip-cli/src/commands                 |   52.65 |    75.47 |    62.9 |   52.65 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  lane-latency.ts                      |   70.76 |    83.33 |   33.33 |   70.76 | ...,76-83,119-128 
  lane.ts                              |   86.98 |    68.42 |     100 |   86.98 | ...41-144,148-150 
  manual-exec.ts                       |   20.34 |      100 |       0 |   20.34 | ...39-149,151-347 
  parse.ts                             |    55.2 |      100 |       0 |    55.2 | 47-51,58-65,67-96 
  search.ts                            |   81.25 |      100 |       0 |   81.25 | 24-29             
  send.ts                              |   14.13 |      100 |       0 |   14.13 | ...09-237,239-552 
  show.ts                              |   75.68 |    63.75 |     100 |   75.68 | ...15-318,399-401 
  supported-tokens.ts                  |   17.93 |      100 |       0 |   17.93 | ...80-353,355-368 
  token.ts                             |   22.72 |      100 |       0 |   22.72 | ...3,60-67,69-132 
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   87.89 |    79.48 |   96.66 |   87.89 | ...11-721,729-737 
 ccip-cli/src/commands/search          |   53.89 |    76.19 |    12.5 |   53.89 |                   
  messages.ts                          |   53.89 |    76.19 |    12.5 |   53.89 | ...36-258,260-295 
 ccip-cli/src/providers                |   53.41 |    86.45 |   21.73 |   53.41 |                   
  aptos.ts                             |   51.47 |      100 |       0 |   51.47 | ...,95-96,105-136 
  evm.ts                               |    36.3 |      100 |       0 |    36.3 | ...69-104,116-168 
  index.ts                             |   81.37 |    85.71 |    90.9 |   81.37 | ...20,290,344-392 
  solana.ts                            |   47.82 |      100 |       0 |   47.82 | ...03-104,113-138 
  sui.ts                               |    49.5 |      100 |       0 |    49.5 | ...57-258,267-301 
  ton.ts                               |   15.03 |      100 |       0 |   15.03 | 24-153            
 ccip-cli/src/providers/canton         |    85.4 |    77.89 |      68 |    85.4 |                   
  auth.ts                              |   82.41 |    73.01 |   53.33 |   82.41 | ...17-333,464-469 
  config.ts                            |   80.41 |    81.81 |     100 |   80.41 | 36-43,48-58       
  index.ts                             |     100 |      100 |     100 |     100 |                   
  wallet.ts                            |   92.93 |      100 |   85.71 |   92.93 | 172-184           
 ccip-sdk/src                          |   95.55 |    88.61 |   93.15 |   95.55 |                   
  chain.ts                             |   96.54 |    84.36 |   84.37 |   96.54 | ...2440,2473-2474 
  commits.ts                           |    90.9 |    81.25 |     100 |    90.9 | ...06,115-118,120 
  execution.ts                         |   93.13 |    88.23 |     100 |   93.13 | ...53-159,192-199 
  explorer.ts                          |     100 |      100 |     100 |     100 |                   
  extra-args.ts                        |     100 |    89.47 |     100 |     100 | 225,260,297,312   
  fetch.ts                             |   98.33 |    93.88 |   97.87 |   98.33 | ...-942,1188-1190 
  gas.ts                               |   85.14 |    86.04 |      75 |   85.14 | ...82-293,402-451 
  http-status.ts                       |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  messages.ts                          |    79.2 |    47.16 |      40 |    79.2 | ...99-310,314-327 
  networks.ts                          |     100 |      100 |     100 |     100 |                   
  offchain.ts                          |   84.64 |    76.92 |     100 |   84.64 | ...18-227,236-237 
  requests.ts                          |    95.4 |    90.58 |     100 |    95.4 | ...54-655,680-685 
  supported-chains.ts                  |     100 |      100 |     100 |     100 |                   
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   99.28 |    96.27 |     100 |   99.28 | ...12,217-218,220 
 ccip-sdk/src/api                      |   93.22 |    83.44 |   94.73 |   93.22 |                   
  index.ts                             |   93.22 |    83.44 |   94.73 |   93.22 | ...92-895,898-901 
 ccip-sdk/src/aptos                    |    78.9 |    78.03 |   76.19 |    78.9 |                   
  exec.ts                              |   29.31 |      100 |       0 |   29.31 | 18-58             
  hasher.ts                            |   75.89 |       80 |   66.66 |   75.89 | 17-36,50-56       
  index.ts                             |   69.45 |       80 |   67.44 |   69.45 | ...1094,1098-1109 
  logs.ts                              |   96.47 |    77.37 |    92.3 |   96.47 | ...1442-1444,1731 
  send.ts                              |    25.6 |      100 |       0 |    25.6 | ...2,63-80,93-125 
  token.ts                             |   23.75 |       75 |     100 |   23.75 | 35-156            
  types.ts                             |   65.97 |      100 |       0 |   65.97 | 26-33,65-89       
 ccip-sdk/src/canton                   |   45.32 |    76.16 |   31.66 |   45.32 |                   
  amount.ts                            |   92.59 |       70 |     100 |   92.59 | 22-23             
  ccv-addresses.ts                     |     100 |    91.07 |     100 |     100 | 13,30,64,67       
  defaults.ts                          |   99.28 |    90.24 |     100 |   99.28 | 93                
  events.ts                            |   45.38 |     52.5 |   23.52 |   45.38 | ...15-527,533-542 
  index.ts                             |   34.89 |    58.82 |   12.82 |   34.89 | ...2614,2617-2619 
  types.ts                             |   95.26 |      100 |      50 |   95.26 | 55-62             
  update-id.ts                         |   98.11 |    88.88 |     100 |   98.11 | 52                
 ccip-sdk/src/canton/authentication    |   93.05 |    79.31 |    92.3 |   93.05 |                   
  authorization-code.ts                |   89.83 |    84.31 |    90.9 |   89.83 | ...58-376,432-443 
  client-credentials.ts                |   91.28 |       75 |     100 |   91.28 | ...92-196,198-202 
  index.ts                             |    96.8 |       75 |     100 |    96.8 | 168-173           
  metadata.ts                          |   81.89 |    44.44 |      50 |   81.89 | ...55,73-78,93-94 
  static.ts                            |     100 |      100 |     100 |     100 |                   
  token-source.ts                      |   98.88 |    77.77 |     100 |   98.88 | 165-166           
  types.ts                             |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/canton/client            |    57.4 |    60.86 |   22.85 |    57.4 |                   
  client.ts                            |   55.62 |    59.09 |   22.85 |   55.62 | ...37-756,771-791 
  index.ts                             |     100 |      100 |     100 |     100 |                   
 ...dk/src/canton/explicit-disclosures |   74.81 |    69.35 |    55.1 |   74.81 |                   
  acs.ts                               |   87.36 |     69.1 |      90 |   87.36 | ...20,568,606-607 
  eds.ts                               |   54.34 |      100 |       0 |   54.34 | ...86-393,397-402 
 ccip-sdk/src/canton/token-metadata    |   61.37 |      100 |       0 |   61.37 |                   
  client.ts                            |   61.37 |      100 |       0 |   61.37 | 111-178,185-189   
 ...dk/src/canton/transfer-instruction |    52.4 |      100 |       0 |    52.4 |                   
  client.ts                            |    52.4 |      100 |       0 |    52.4 | 104-197,204-208   
 ccip-sdk/src/cct                      |     100 |    96.87 |     100 |     100 |                   
  errors.ts                            |     100 |       96 |     100 |     100 | 203               
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  token-manager.ts                     |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm                  |   96.61 |    96.42 |   58.94 |   96.61 |                   
  index.ts                             |   95.69 |      100 |   45.07 |   95.69 | ...1991,2023-2026 
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  submit.ts                            |     100 |    79.16 |     100 |     100 | 28,52,68-69,87    
  validate.ts                          |     100 |      100 |     100 |     100 |                   
 .../cct/evm/artifacts/bytecode/V2_0_0 |     100 |      100 |     100 |     100 |                   
  burn-from-mint-token-pool.ts         |     100 |      100 |     100 |     100 |                   
  burn-mint-token-pool.ts              |     100 |      100 |     100 |     100 |                   
  burn-with-from-mint-token-pool.ts    |     100 |      100 |     100 |     100 |                   
  cross-chain-token.ts                 |     100 |      100 |     100 |     100 |                   
  erc20-lockbox.ts                     |     100 |      100 |     100 |     100 |                   
  lock-release-token-pool.ts           |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/lockbox          |     100 |      100 |     100 |     100 |                   
  contracts.ts                         |     100 |      100 |     100 |     100 |                   
 ...sdk/src/cct/evm/lockbox/operations |     100 |      100 |     100 |     100 |                   
  authorize-callers.ts                 |     100 |      100 |     100 |     100 |                   
  deploy-lockbox.ts                    |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/token            |     100 |    71.42 |     100 |     100 |                   
  contracts.ts                         |     100 |    71.42 |     100 |     100 | ...38-145,184-191 
 ...k/src/cct/evm/token-admin-registry |     100 |      100 |     100 |     100 |                   
  contracts.ts                         |     100 |      100 |     100 |     100 |                   
 ...vm/token-admin-registry/operations |     100 |      100 |     100 |     100 |                   
  accept-admin.ts                      |     100 |      100 |     100 |     100 |                   
  get-supported-tokens.ts              |     100 |      100 |     100 |     100 |                   
  get-token-admin-registry.ts          |     100 |      100 |     100 |     100 |                   
  register-admin.ts                    |     100 |      100 |     100 |     100 |                   
  set-pool.ts                          |     100 |      100 |     100 |     100 |                   
  transfer-admin.ts                    |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/token-pool       |     100 |      100 |     100 |     100 |                   
  contracts.ts                         |     100 |      100 |     100 |     100 |                   
  rate-limit.ts                        |     100 |      100 |     100 |     100 |                   
  remote-pool.ts                       |     100 |      100 |     100 |     100 |                   
 .../src/cct/evm/token-pool/operations |   99.86 |    98.16 |     100 |   99.86 |                   
  add-remote-pool.ts                   |     100 |      100 |     100 |     100 |                   
  apply-allowlist-updates.ts           |     100 |    96.29 |     100 |     100 | 229               
  apply-chain-updates.ts               |     100 |      100 |     100 |     100 |                   
  deploy-token-pool.ts                 |     100 |    85.71 |     100 |     100 | 83-86             
  get-rebalancer.ts                    |     100 |      100 |     100 |     100 |                   
  get-token-pool-remotes.ts            |     100 |      100 |     100 |     100 |                   
  get-token-pool-state.ts              |   98.61 |       95 |     100 |   98.61 | 282-285           
  provide-liquidity.ts                 |     100 |      100 |     100 |     100 |                   
  remove-remote-pool.ts                |     100 |      100 |     100 |     100 |                   
  set-chain-rate-limiter-configs.ts    |     100 |    97.05 |     100 |     100 | 112               
  set-dynamic-config.ts                |     100 |      100 |     100 |     100 |                   
  set-rate-limit-admin.ts              |     100 |      100 |     100 |     100 |                   
  set-rebalancer.ts                    |     100 |      100 |     100 |     100 |                   
  set-remote-pool.ts                   |     100 |      100 |     100 |     100 |                   
  transfer-liquidity.ts                |     100 |      100 |     100 |     100 |                   
  transfer-ownership.ts                |     100 |      100 |     100 |     100 |                   
  withdraw-liquidity.ts                |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/token/operations |     100 |      100 |     100 |     100 |                   
  approve-token.ts                     |     100 |      100 |     100 |     100 |                   
  deploy-token.ts                      |     100 |      100 |     100 |     100 |                   
  get-burners.ts                       |     100 |      100 |     100 |     100 |                   
  get-minters.ts                       |     100 |      100 |     100 |     100 |                   
  grant-burn-role.ts                   |     100 |      100 |     100 |     100 |                   
  grant-mint-and-burn-roles.ts         |     100 |      100 |     100 |     100 |                   
  grant-mint-role.ts                   |     100 |      100 |     100 |     100 |                   
  is-burner.ts                         |     100 |      100 |     100 |     100 |                   
  is-minter.ts                         |     100 |      100 |     100 |     100 |                   
  mint.ts                              |     100 |      100 |     100 |     100 |                   
  revoke-burn-role.ts                  |     100 |      100 |     100 |     100 |                   
  revoke-mint-role.ts                  |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/solana               |   99.74 |    97.03 |   98.03 |   99.74 |                   
  index.ts                             |   99.67 |      100 |   97.22 |   99.67 | 258-259,2425-2430 
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  serialize.ts                         |     100 |     92.3 |     100 |     100 | 27                
  submit.ts                            |     100 |    81.81 |     100 |     100 | 31,48,53,72       
  validate.ts                          |     100 |    98.34 |     100 |     100 | 284,391           
 ccip-sdk/src/cct/solana/programs      |     100 |      100 |     100 |     100 |                   
  alt.ts                               |     100 |      100 |     100 |     100 |                   
  fee-quoter.ts                        |     100 |      100 |     100 |     100 |                   
  router.ts                            |     100 |      100 |     100 |     100 |                   
  token-pool.ts                        |     100 |      100 |     100 |     100 |                   
  token.ts                             |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/solana/token         |     100 |      100 |     100 |     100 |                   
  constants.ts                         |     100 |      100 |     100 |     100 |                   
 ...rc/cct/solana/token-admin-registry |     100 |      100 |     100 |     100 |                   
  constants.ts                         |     100 |      100 |     100 |     100 |                   
 ...na/token-admin-registry/operations |   99.61 |    98.75 |     100 |   99.61 |                   
  accept-admin.ts                      |     100 |      100 |     100 |     100 |                   
  append-to-lookup-table.ts            |     100 |      100 |     100 |     100 |                   
  create-lookup-table.ts               |     100 |      100 |     100 |     100 |                   
  get-supported-tokens.ts              |     100 |      100 |     100 |     100 |                   
  get-token-admin-registry.ts          |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  ...override-pending-administrator.ts |     100 |      100 |     100 |     100 |                   
  register-admin.ts                    |   97.95 |    94.44 |     100 |   97.95 | 212-216           
  set-pool.ts                          |     100 |      100 |     100 |     100 |                   
  transfer-admin.ts                    |     100 |      100 |     100 |     100 |                   
 ...c/cct/solana/token-pool/operations |   99.63 |    98.49 |     100 |   99.63 |                   
  accept-ownership.ts                  |     100 |      100 |     100 |     100 |                   
  append-remote-pool-addresses.ts      |     100 |      100 |     100 |     100 |                   
  apply-chain-updates.ts               |     100 |    98.43 |     100 |     100 | 149               
  configure-allowlist.ts               |     100 |      100 |     100 |     100 |                   
  create-token-multisig.ts             |    95.9 |     92.5 |     100 |    95.9 | ...01-102,104-109 
  delete-chain-remote-config.ts        |     100 |      100 |     100 |     100 |                   
  deploy-token-pool.ts                 |     100 |      100 |     100 |     100 |                   
  edit-chain-remote-config.ts          |     100 |      100 |     100 |     100 |                   
  get-token-pool-remotes.ts            |     100 |      100 |     100 |     100 |                   
  get-token-pool-state.ts              |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  init-chain-remote-config.ts          |     100 |      100 |     100 |     100 |                   
  provide-liquidity.ts                 |     100 |      100 |     100 |     100 |                   
  remove-from-allowlist.ts             |     100 |      100 |     100 |     100 |                   
  set-can-accept-liquidity.ts          |     100 |      100 |     100 |     100 |                   
  set-chain-rate-limit.ts              |   99.11 |    96.15 |     100 |   99.11 | 64-65             
  set-rate-limit-admin.ts              |     100 |      100 |     100 |     100 |                   
  set-rebalancer.ts                    |     100 |      100 |     100 |     100 |                   
  transfer-ownership.ts                |     100 |      100 |     100 |     100 |                   
  withdraw-liquidity.ts                |     100 |      100 |     100 |     100 |                   
 ...dk/src/cct/solana/token/operations |     100 |    98.39 |     100 |     100 |                   
  approve-token.ts                     |     100 |      100 |     100 |     100 |                   
  create-token-account.ts              |     100 |      100 |     100 |     100 |                   
  deploy-token.ts                      |     100 |      100 |     100 |     100 |                   
  get-token-info.ts                    |     100 |       70 |     100 |     100 | 69,80-81          
  index.ts                             |     100 |      100 |     100 |     100 |                   
  mint-tokens.ts                       |     100 |      100 |     100 |     100 |                   
  set-token-authority.ts               |     100 |      100 |     100 |     100 |                   
  update-metadata-authority.ts         |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/errors                   |   90.49 |    76.63 |   59.85 |   90.49 |                   
  CCIPError.ts                         |     100 |      100 |     100 |     100 |                   
  codes.ts                             |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  pure.ts                              |     100 |       75 |     100 |     100 | 32                
  recovery.ts                          |     100 |      100 |     100 |     100 |                   
  specialized.ts                       |   88.34 |    73.27 |   57.69 |   88.34 | ...3664,3687-3696 
  utils.ts                             |   94.44 |    81.48 |     100 |   94.44 | 15,17,22,24       
 ccip-sdk/src/evm                      |   93.09 |    82.18 |   93.16 |   93.09 |                   
  const.ts                             |   98.66 |    92.85 |     100 |   98.66 | 122-123           
  errors.ts                            |   91.98 |    81.57 |     100 |   91.98 | ...85,239-242,247 
  extra-args.ts                        |    94.5 |    61.01 |     100 |    94.5 | ...11-212,328-340 
  fork.test.data.ts                    |     100 |      100 |     100 |     100 |                   
  gas.ts                               |   98.19 |    63.15 |     100 |   98.19 | 90-91,93          
  hasher.ts                            |     100 |     92.3 |     100 |     100 | 135               
  index.ts                             |   88.72 |    80.13 |    90.9 |   88.72 | ...2725,2880-2911 
  logs.ts                              |   99.16 |    92.02 |      90 |   99.16 | 69-70,75-76       
  messageCodec.ts                      |     100 |      100 |     100 |     100 |                   
  messages.ts                          |     100 |      100 |     100 |     100 |                   
  offchain.ts                          |    87.5 |    71.42 |     100 |    87.5 | 13-14             
  simulate.ts                          |     100 |    94.82 |     100 |     100 | 109-111,425       
  types.ts                             |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/evm/viem                 |   79.76 |    90.62 |   69.23 |   79.76 |                   
  client-adapter.ts                    |     100 |       90 |     100 |     100 | 48,74             
  index.ts                             |     100 |      100 |     100 |     100 |                   
  wallet-adapter.ts                    |   63.09 |     90.9 |   55.55 |   63.09 | ...91-124,131-157 
 ccip-sdk/src/hasher                   |   94.29 |    78.94 |     100 |   94.29 |                   
  common.ts                            |     100 |      100 |     100 |     100 |                   
  hasher.ts                            |     100 |    66.66 |     100 |     100 | 19                
  index.ts                             |     100 |      100 |     100 |     100 |                   
  merklemulti.ts                       |   93.43 |       78 |     100 |   93.43 | ...06-307,315-316 
 ccip-sdk/src/shared                   |   83.43 |    87.17 |   70.58 |   83.43 |                   
  bcs-codecs.ts                        |   75.88 |    66.66 |   44.44 |   75.88 | ...60-269,278-282 
  codec.ts                             |    94.3 |    93.22 |     100 |    94.3 | 139-140,178-186   
  constants.ts                         |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/solana                   |   82.89 |    75.94 |    87.8 |   82.89 |                   
  cleanup.ts                           |   26.95 |    66.66 |   33.33 |   26.95 | ...59-101,114-227 
  exec.ts                              |   69.11 |    62.96 |   66.66 |   69.11 | ...69-473,513-514 
  extra-args.ts                        |   59.49 |    76.47 |      60 |   59.49 | 86-122,132-190    
  fork.test.data.ts                    |     100 |      100 |     100 |     100 |                   
  gas.ts                               |   92.06 |    68.57 |     100 |   92.06 | ...,81-90,170-171 
  hasher.ts                            |   96.49 |    81.81 |     100 |   96.49 | 64-67             
  index.ts                             |   87.23 |    76.87 |   90.74 |   87.23 | ...2129,2133-2166 
  logs.ts                              |   90.11 |     80.7 |     100 |   90.11 | ...50-151,163-164 
  offchain.ts                          |     100 |      100 |     100 |     100 |                   
  patchBorsh.ts                        |   78.31 |       50 |     100 |   78.31 | ...47,65-66,72-78 
  send.ts                              |    95.7 |    53.48 |     100 |    95.7 | ...03,346-347,421 
  signatures-cache.ts                  |   79.78 |    71.15 |    87.5 |   79.78 | ...51-260,274-275 
  token-admin-registry.ts              |     100 |    96.29 |     100 |     100 | 27                
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   82.28 |    76.92 |   85.71 |   82.28 | ...91,661,733-744 
  v1.ts                                |   94.17 |    83.72 |     100 |   94.17 | ...02-105,186-189 
 ccip-sdk/src/sui                      |   52.37 |     68.9 |   39.16 |   52.37 |                   
  discovery.ts                         |   25.51 |      100 |       0 |   25.51 | ...34-782,785-819 
  events.ts                            |    86.7 |     65.4 |   83.33 |    86.7 | ...19-626,685-698 
  exec.ts                              |   30.71 |      100 |       0 |   30.71 | 37-89,101-153     
  hasher.ts                            |   98.19 |    66.66 |     100 |   98.19 | 35,51             
  index.ts                             |   42.85 |    76.02 |   28.57 |   42.85 | ...2316,2320-2336 
  logs.ts                              |   97.28 |    66.66 |     100 |   97.28 | ...62-165,186-187 
  objects.ts                           |   35.76 |    33.33 |      25 |   35.76 | ...57-313,324-467 
  types.ts                             |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/sui/manuallyExec         |   53.36 |       75 |      50 |   53.36 |                   
  encoder.ts                           |    83.9 |    66.66 |     100 |    83.9 | 51-58,73-77,82    
  index.ts                             |   33.82 |      100 |       0 |   33.82 | 47-136            
 ccip-sdk/src/ton                      |   86.42 |    81.36 |   88.54 |   86.42 |                   
  exec.ts                              |     100 |      100 |     100 |     100 |                   
  extra-args.ts                        |   98.66 |    72.72 |     100 |   98.66 | 156-157,222       
  hasher.ts                            |   78.07 |    77.77 |      75 |   78.07 | 100-108,156-187   
  index.ts                             |    85.5 |    80.68 |   79.68 |    85.5 | ...2205,2212-2213 
  logs.ts                              |    94.2 |    84.43 |     100 |    94.2 | ...17-624,680-683 
  send.ts                              |   95.52 |    66.66 |     100 |   95.52 | 37-44,188         
  ton-cache.ts                         |     100 |    96.55 |     100 |     100 | 102               
  types.ts                             |   91.24 |    81.25 |     100 |   91.24 | ...61-63,71-74,92 
  utils.ts                             |   63.71 |    78.57 |    90.9 |   63.71 | ...37-395,397-400 
 scripts                               |   88.49 |    65.82 |     100 |   88.49 |                   
  test-endpoints.ts                    |   97.35 |    77.77 |     100 |   97.35 | 143-145,187-188   
  useResource.ts                       |   83.57 |    62.29 |     100 |   83.57 | ...81-286,301-302 
---------------------------------------|---------|----------|---------|---------|-------------------

mervin-link and others added 9 commits September 8, 2026 15:35
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* feat: add provider liquidity op solana

* fix: address comments

* fix: revert unrelated changes

* fix: add preflight checks

* fix: update tsdoc

* fix: extract validate pool liquidity config

* feat: add withdraw liquidity op solana

* fix: add preflight checks

* feat: add update metadata authority op solana

* fix: lint errors

* fix: lint errors

* fix: address comments

* fix: refactor unit tests

* fix: refactor export

* feat: add owner override pending admint op solana

* fix: update tsdoc and add preflight check

* fix: update tsdoc @example

* feat: add includeApproval option in provide liquidity

* feat: add createRecipientATA option to mint tokens op

* fix: address comments

* fix: lint errors
* fix: lint errors

* fix: npm install

* fix: update metadata authority
* feat: add transfer pool ownership op solana

* feat: add accept pool ownership op solana

* feat: add transfer authority op solana

* fix: update export barrel

* feat: add mint tokens op solana

* fix: address comments

* fix: address comments

* feat: add set can accept liquidity op solana

* fix: add lock release token pool idl

* feat: add set rebalancer op solana

* fix: update tsdoc

* feat: add approve token op solana

* feat: add provider liquidity op solana

* fix: address comments

* fix: revert unrelated changes

* fix: add preflight checks

* fix: update tsdoc

* fix: extract validate pool liquidity config

* feat: add withdraw liquidity op solana

* fix: add preflight checks

* feat: add update metadata authority op solana

* fix: lint errors

* fix: lint errors

* fix: address comments

* fix: refactor unit tests

* fix: refactor export

* feat: add owner override pending admint op solana

* fix: update tsdoc and add preflight check

* fix: update tsdoc @example

* feat: add includeApproval option in provide liquidity

* feat: add createRecipientATA option to mint tokens op

* feat: add get token info op solana

* fix: address comments

* fix: package lock file - remove stale axios version

* feat(cct-sdk):Add createPoolSignerATA option to deploy token pool (#412)

* feat: add createPoolSignerATA option to deploy token pool op

* fix: address comments
* refactor(cct-sdk): reuse Solana execution preparation

* fix(cct-sdk): bound Solana preMint to u64

* fix(cct-sdk): reject partial canonical ALT blocks

* fix(cct-sdk): reject duplicate Solana pool configuration

* chore: update image-size lockfile

* style(ccip-sdk): format gas fallback

* fix: address comments
* feat(cct-sdk): Add EVM mint/burn role management ops

* tight tsdoc
* feat(cct-sdk): Add lock-release liquidity contract layer

* feat(cct-sdk): Add set/get rebalancer evm ops

* feat(cct-sdk): Add lock-release liquidity evm ops

* feat(cct-sdk): Add approve token evm op

* Add more preflight checks and tsdoc

* Address PR comments

* linting
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