Skip to content

fix(sdk): treat Solana 2.0 lanes in testing as 1.6 in every method - #537

Merged
andrevmatos merged 1 commit into
mainfrom
solana/auto
Nov 10, 2026
Merged

andrevmatos merged 1 commit into
mainfrom
solana/auto

Conversation

@andrevmatos

Copy link
Copy Markdown
Collaborator

A Solana 2.0 Router lane with its sender allowlist enabled is in testing. getFee and sendMessage already sent over its 1.6 lane; now the other methods agree:

  • getLaneFeatures reports no fast finality for it.
  • getOnRampConfig without opts.version reads the 1.6 lane config, and returns the lane read as laneVersion.
  • getRequiredCCVs and estimateReceiveExecution discover the 1.6 OffRamp.
  • CLI lane shows the 1.6 lane and OffRamp by default.

A SolanaChain instance memoizes each lane's observe_dest_chain_v2 result for 10 min, so these methods see the same lane version. After the allowlist is lifted, they select 2.0 with no SDK update. The internal sendV2OnAllowlistedLanes opt-in stays for getFee and send.

@andrevmatos andrevmatos self-assigned this Nov 10, 2026
@andrevmatos
andrevmatos requested a review from a team as a code owner November 10, 2026 11:11
@vercel

vercel Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ccip-tools-ts Ready Ready Preview Nov 10, 2026 12:45pm UTC

Request Review

@github-actions

Copy link
Copy Markdown

πŸ‘‹ andrevmatos, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

CI Test Report

βœ… 4583/4583 tests passed (1133 suites) in 6m 5s

Summary

β„Ή tests 4583
β„Ή suites 1133
β„Ή pass 4583
β„Ή fail 0
β„Ή cancelled 0
β„Ή skipped 0
β„Ή todo 0
β„Ή duration_ms 364572.139818
Coverage report
File                                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
---------------------------------------|---------|----------|---------|---------|-------------------
All files                              |   87.18 |    84.97 |    78.7 |   87.18 |                   
 ccip-cli/src                          |   93.78 |    86.13 |   88.46 |   93.78 |                   
  chain-selectors.ts                   |   98.14 |    90.22 |     100 |   98.14 | ...33-134,285-287 
  index.ts                             |   87.44 |    60.71 |   66.66 |   87.44 | ...05-209,215-220 
 ccip-cli/src/commands                 |    57.4 |    84.36 |   66.17 |    57.4 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  lane-latency.ts                      |   70.76 |    83.33 |   33.33 |   70.76 | ...,76-83,119-128 
  lane.ts                              |   88.72 |       76 |     100 |   88.72 | ...76-179,183-185 
  manual-exec.ts                       |   20.45 |      100 |       0 |   20.45 | ...42-152,154-350 
  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.23 |      100 |       0 |   14.23 | ...08-236,238-548 
  show.ts                              |   88.27 |    85.61 |      90 |   88.27 | ...11-315,326-334 
  supported-tokens.ts                  |   17.83 |      100 |       0 |   17.83 | ...82-355,357-370 
  token.ts                             |   22.72 |      100 |       0 |   22.72 | ...3,60-67,69-132 
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   92.63 |    84.01 |     100 |   92.63 | ...30,736,738-748 
 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                |   58.44 |    79.45 |   28.26 |   58.44 |                   
  aptos.ts                             |   51.47 |      100 |       0 |   51.47 | ...,95-96,105-136 
  evm.ts                               |   72.25 |    63.63 |      75 |   72.25 | ...34,137-149,169 
  index.ts                             |    80.9 |    83.48 |    90.9 |    80.9 | ...70,332,392-440 
  solana.ts                            |   44.89 |      100 |       0 |   44.89 | ...12-113,122-147 
  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         |   69.57 |     76.4 |   45.71 |   69.57 |                   
  auth.ts                              |   82.41 |    73.01 |   53.33 |   82.41 | ...17-333,464-469 
  config.ts                            |   75.64 |       75 |     100 |   75.64 | 36-43,48-58       
  index.ts                             |     100 |      100 |     100 |     100 |                   
  wallet.ts                            |   53.09 |      100 |   33.33 |   53.09 | ...58-260,411-452 
 ccip-cli/src/verifiers                |   82.26 |    90.47 |   33.33 |   82.26 |                   
  grpc-transport.ts                    |     100 |       90 |   66.66 |     100 | 48,57             
  options.ts                           |   62.12 |      100 |       0 |   62.12 | 12-20,34-37,52-63 
 ccip-sdk/src                          |   96.83 |    89.49 |   94.81 |   96.83 |                   
  all-chains.ts                        |     100 |      100 |     100 |     100 |                   
  chain.ts                             |   97.47 |    85.71 |   86.36 |   97.47 | ...3064,3097-3098 
  commits.ts                           |   97.18 |    92.85 |     100 |   97.18 | 111-118,201-202   
  execution.ts                         |   87.21 |    82.85 |     100 |   87.21 | ...04-211,234-235 
  explorer.ts                          |     100 |      100 |     100 |     100 |                   
  extra-args.ts                        |     100 |    90.24 |     100 |     100 | 258,287,306,319   
  fetch.ts                             |   98.09 |    94.57 |   97.95 |   98.09 | ...-953,1250-1252 
  gas.ts                               |   94.17 |    80.32 |     100 |   94.17 | ...23-334,468-479 
  http-status.ts                       |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  messages.ts                          |   80.28 |    52.54 |   57.14 |   80.28 | ...17-328,332-345 
  networks.ts                          |     100 |      100 |     100 |     100 |                   
  offchain.ts                          |    95.2 |    87.39 |     100 |    95.2 | ...36-442,474-476 
  requests.ts                          |   96.85 |    90.22 |     100 |   96.85 | ...90-691,716-721 
  supported-chains.ts                  |     100 |       90 |     100 |     100 | 33-34             
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   99.36 |    96.31 |     100 |   99.36 | ...15,217,336-337 
 ccip-sdk/src/api                      |   93.59 |    83.66 |   95.23 |   93.59 |                   
  index.ts                             |   93.59 |    83.66 |   95.23 |   93.59 | ...73-876,929-958 
 ccip-sdk/src/aptos                    |   72.58 |    75.57 |    63.8 |   72.58 |                   
  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                             |   54.67 |    78.31 |   41.86 |   54.67 | ...1096,1100-1111 
  logs.ts                              |   95.09 |    74.76 |   90.38 |   95.09 | ...1442-1444,1731 
  send.ts                              |    25.6 |      100 |       0 |    25.6 | ...2,63-80,93-125 
  token.ts                             |     7.5 |      100 |       0 |     7.5 | 13-160            
  types.ts                             |   65.97 |      100 |       0 |   65.97 | 26-33,65-89       
 ccip-sdk/src/canton                   |   55.87 |    75.86 |   51.33 |   55.87 |                   
  addressCodec.ts                      |   95.12 |    95.38 |   91.66 |   95.12 | ...69-176,277-280 
  amount.ts                            |   92.59 |       70 |     100 |   92.59 | 22-23             
  ccv-addresses.ts                     |   96.99 |    79.16 |     100 |   96.99 | 19-20,22,29       
  defaults.ts                          |   99.21 |     92.3 |     100 |   99.21 | 90                
  events.ts                            |   54.21 |    68.08 |    42.1 |   54.21 | ...54-566,572-581 
  index.ts                             |    39.3 |    58.66 |   20.27 |    39.3 | ...2679,2682-2684 
  networks.ts                          |     100 |      100 |     100 |     100 |                   
  submit-commands.ts                   |   89.53 |    67.74 |     100 |   89.53 | ...96,148-152,159 
  types.ts                             |     100 |      100 |     100 |     100 |                   
  update-id.ts                         |    88.7 |    88.88 |   66.66 |    88.7 | 52,57-62          
 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            |   70.89 |    70.49 |   44.73 |   70.89 |                   
  client.ts                            |   69.78 |       70 |   44.73 |   69.78 | ...30-831,834-835 
  index.ts                             |     100 |      100 |     100 |     100 |                   
 ...dk/src/canton/explicit-disclosures |   72.01 |    67.74 |   53.19 |   72.01 |                   
  acs.ts                               |   87.42 |    67.47 |   89.28 |   87.42 | ...53,574,609-610 
  eds.ts                               |   51.12 |      100 |       0 |   51.12 | ...70-477,481-486 
 ccip-sdk/src/canton/token-metadata    |   59.52 |      100 |       0 |   59.52 |                   
  client.ts                            |   59.52 |      100 |       0 |   59.52 | 120-199,206-210   
 ...dk/src/canton/transfer-instruction |   50.63 |      100 |       0 |   50.63 |                   
  client.ts                            |   50.63 |      100 |       0 |   50.63 | 114-224,231-235   
 ccip-sdk/src/cct                      |     100 |    98.38 |     100 |     100 |                   
  errors.ts                            |     100 |      100 |     100 |     100 |                   
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  remote-address.ts                    |     100 |    95.45 |     100 |     100 | 80                
  token-manager.ts                     |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/canton               |   73.21 |    73.61 |      50 |   73.21 |                   
  constants.ts                         |     100 |      100 |     100 |     100 |                   
  encoding.ts                          |   98.24 |       75 |     100 |   98.24 | 53                
  gateway.test.helpers.ts              |   20.79 |       50 |       0 |   20.79 | ...90-133,143-226 
  index.ts                             |   86.86 |      100 |      40 |   86.86 | ...78-181,185-186 
  operation.ts                         |   96.06 |       64 |     100 |   96.06 | 127-128,132-136   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  validate.ts                          |   79.84 |       75 |     100 |   79.84 | ...19-124,126-127 
 ...rc/cct/canton/token-admin-registry |      86 |    83.33 |     100 |      86 |                   
  shared.ts                            |      86 |    83.33 |     100 |      86 | 121-135,143-148   
 ...on/token-admin-registry/operations |   98.94 |    82.14 |     100 |   98.94 |                   
  get-token-admin-registry.ts          |   98.88 |    81.48 |     100 |   98.88 | 133,178           
  index.ts                             |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/canton/token-pool    |   91.05 |       90 |   89.47 |   91.05 |                   
  preapproval.ts                       |   93.18 |    57.14 |     100 |   93.18 | 38-40             
  shared.ts                            |    90.9 |    94.33 |   88.88 |    90.9 | ...72-377,551-552 
 ...c/cct/canton/token-pool/operations |   92.38 |    71.83 |     100 |   92.38 |                   
  apply-chain-updates.ts               |   84.38 |    77.41 |     100 |   84.38 | ...34,136-141,235 
  deploy-token-pool.ts                 |   93.68 |    77.58 |     100 |   93.68 | ...19-224,226-231 
  get-rate-limiter-state.ts            |   96.68 |    79.31 |     100 |   96.68 | 75-80             
  get-token-pool-state.ts              |   93.07 |    55.55 |     100 |   93.07 | ...75,283-287,320 
  index.ts                             |     100 |      100 |     100 |     100 |                   
  pool-choice-operation.ts             |   89.47 |       80 |     100 |   89.47 | 33-38             
  set-observers.ts                     |     100 |      100 |     100 |     100 |                   
  set-rate-limit-config.ts             |   89.15 |    73.68 |     100 |   89.15 | ...21-126,158-163 
 ccip-sdk/src/cct/evm                  |   94.07 |    96.72 |   37.98 |   94.07 |                   
  index.ts                             |   93.18 |      100 |    25.5 |   93.18 | ...4534,4549-4550 
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  simulate.ts                          |   96.72 |    96.96 |     100 |   96.72 | 78-83             
  submit.ts                            |     100 |    87.17 |     100 |     100 | 45,93,113-114,133 
  validate.ts                          |   98.12 |    98.24 |     100 |   98.12 | 100-104           
 ...dk/src/cct/evm/advanced-pool-hooks |     100 |     97.5 |     100 |     100 |                   
  contracts.ts                         |     100 |     97.5 |     100 |     100 | 255               
 ...evm/advanced-pool-hooks/operations |   99.01 |    98.05 |     100 |   99.01 |                   
  apply-ccv-config-updates.ts          |   94.32 |    90.47 |     100 |   94.32 | 81-84,101-104     
  deploy-advanced-pool-hooks.ts        |     100 |      100 |     100 |     100 |                   
  ...-pool-hooks-authorized-callers.ts |     100 |      100 |     100 |     100 |                   
  get-all-ccv-configs.ts               |     100 |      100 |     100 |     100 |                   
  get-ccv-config.ts                    |     100 |      100 |     100 |     100 |                   
  get-policy-engine.ts                 |     100 |      100 |     100 |     100 |                   
  get-required-ccvs.ts                 |     100 |      100 |     100 |     100 |                   
  get-threshold-amount.ts              |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  set-policy-engine.ts                 |     100 |      100 |     100 |     100 |                   
  set-threshold-amount.ts              |     100 |      100 |     100 |     100 |                   
  update-authorized-callers.ts         |     100 |      100 |     100 |     100 |                   
 .../cct/evm/artifacts/bytecode/V2_0_0 |     100 |      100 |     100 |     100 |                   
  advanced-pool-hooks.ts               |     100 |      100 |     100 |     100 |                   
  burn-from-mint-token-pool.ts         |     100 |      100 |     100 |     100 |                   
  burn-mint-token-pool.ts              |     100 |      100 |     100 |     100 |                   
  ...h-lock-release-flag-token-pool.ts |     100 |      100 |     100 |     100 |                   
  burn-to-address-mint-token-pool.ts   |     100 |      100 |     100 |     100 |                   
  burn-with-from-mint-token-pool.ts    |     100 |      100 |     100 |     100 |                   
  cross-chain-pool-token.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 |                   
  siloed-lock-release-token-pool.ts    |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/lockbox          |     100 |    97.05 |     100 |     100 |                   
  contracts.ts                         |     100 |    97.05 |     100 |     100 | 97                
 ...sdk/src/cct/evm/lockbox/operations |     100 |      100 |     100 |     100 |                   
  accept-lockbox-ownership.ts          |     100 |      100 |     100 |     100 |                   
  deploy-lockbox.ts                    |     100 |      100 |     100 |     100 |                   
  deposit.ts                           |     100 |      100 |     100 |     100 |                   
  ...all-lockbox-authorized-callers.ts |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  transfer-lockbox-ownership.ts        |     100 |      100 |     100 |     100 |                   
  update-authorized-callers.ts         |     100 |      100 |     100 |     100 |                   
  withdraw.ts                          |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/token            |   99.36 |    87.69 |     100 |   99.36 |                   
  contracts.ts                         |   99.05 |    91.48 |     100 |   99.05 | 87-88,110         
  roles.ts                             |     100 |    77.77 |     100 |     100 | 55-61,80-86       
 ...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 |                   
  index.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 |    99.45 |     100 |     100 |                   
  contracts.ts                         |     100 |    99.34 |     100 |     100 | 901               
  rate-limit.ts                        |     100 |      100 |     100 |     100 |                   
  remote-pool.ts                       |     100 |      100 |     100 |     100 |                   
 ...sdk/src/cct/evm/token-pool-factory |      99 |    93.33 |     100 |      99 |                   
  contracts.ts                         |   93.27 |    85.71 |     100 |   93.27 | 68-75             
  deploy.ts                            |     100 |    93.65 |     100 |     100 | 336,339,341,398   
  predict.ts                           |     100 |       95 |     100 |     100 | 88                
 .../src/cct/evm/token-pool/operations |   99.77 |    96.85 |     100 |   99.77 |                   
  accept-pool-ownership.ts             |     100 |      100 |     100 |     100 |                   
  add-remote-pool.ts                   |     100 |      100 |     100 |     100 |                   
  apply-allowlist-updates.ts           |     100 |    96.87 |     100 |     100 | 232               
  apply-chain-updates.ts               |     100 |      100 |     100 |     100 |                   
  ...en-transfer-fee-config-updates.ts |   97.98 |    92.59 |     100 |   97.98 | 159-162           
  configure-siloed-lockboxes.ts        |     100 |      100 |     100 |     100 |                   
  deploy-cross-chain-pool-token.ts     |     100 |      100 |     100 |     100 |                   
  deploy-token-pool.ts                 |     100 |    85.71 |     100 |     100 | 150-153,164       
  get-advanced-pool-hooks.ts           |     100 |      100 |     100 |     100 |                   
  get-all-siloed-lockbox-configs.ts    |     100 |      100 |     100 |     100 |                   
  get-allowed-finality-config.ts       |     100 |      100 |     100 |     100 |                   
  get-allowlist-enabled.ts             |     100 |      100 |     100 |     100 |                   
  get-allowlist.ts                     |     100 |      100 |     100 |     100 |                   
  get-available-tokens.ts              |     100 |    88.88 |     100 |     100 | 80                
  get-burn-address.ts                  |     100 |      100 |     100 |     100 |                   
  get-chain-rebalancer.ts              |     100 |      100 |     100 |     100 |                   
  get-dynamic-config.ts                |     100 |      100 |     100 |     100 |                   
  get-fee.ts                           |     100 |     90.9 |     100 |     100 | 56                
  get-lockbox.ts                       |     100 |      100 |     100 |     100 |                   
  get-rebalancer.ts                    |     100 |      100 |     100 |     100 |                   
  get-siloed-lockbox.ts                |     100 |    88.88 |     100 |     100 | 82                
  get-token-pool-remotes.ts            |     100 |      100 |     100 |     100 |                   
  get-token-pool-state.ts              |   98.75 |    96.15 |     100 |   98.75 | 316-319           
  get-token-transfer-fee-config.ts     |   94.79 |    57.14 |     100 |   94.79 | 63,66-69          
  index.ts                             |     100 |      100 |     100 |     100 |                   
  is-siloed.ts                         |     100 |      100 |     100 |     100 |                   
  provide-liquidity.ts                 |     100 |      100 |     100 |     100 |                   
  provide-siloed-liquidity.ts          |     100 |      100 |     100 |     100 |                   
  remove-remote-pool.ts                |     100 |      100 |     100 |     100 |                   
  set-allowed-finality-config.ts       |     100 |      100 |     100 |     100 |                   
  set-chain-rate-limiter-configs.ts    |     100 |    97.05 |     100 |     100 | 116               
  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 |                   
  set-silo-rebalancer.ts               |     100 |      100 |     100 |     100 |                   
  transfer-liquidity.ts                |     100 |      100 |     100 |     100 |                   
  transfer-pool-ownership.ts           |     100 |      100 |     100 |     100 |                   
  update-advanced-pool-hooks.ts        |     100 |      100 |     100 |     100 |                   
  update-silo-designations.ts          |     100 |      100 |     100 |     100 |                   
  withdraw-fee-tokens.ts               |     100 |      100 |     100 |     100 |                   
  withdraw-liquidity.ts                |     100 |      100 |     100 |     100 |                   
  withdraw-siloed-liquidity.ts         |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/evm/token/operations |     100 |     99.4 |     100 |     100 |                   
  accept-default-admin-transfer.ts     |     100 |      100 |     100 |     100 |                   
  accept-token-ownership.ts            |     100 |      100 |     100 |     100 |                   
  approve-token.ts                     |     100 |      100 |     100 |     100 |                   
  begin-default-admin-transfer.ts      |     100 |      100 |     100 |     100 |                   
  cancel-default-admin-transfer.ts     |     100 |      100 |     100 |     100 |                   
  deploy-token.ts                      |     100 |      100 |     100 |     100 |                   
  get-burners.ts                       |     100 |      100 |     100 |     100 |                   
  get-ccip-admin.ts                    |     100 |      100 |     100 |     100 |                   
  get-minters.ts                       |     100 |      100 |     100 |     100 |                   
  get-token-default-admin.ts           |     100 |      100 |     100 |     100 |                   
  get-token-owner.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 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  is-burner.ts                         |     100 |      100 |     100 |     100 |                   
  is-minter.ts                         |     100 |      100 |     100 |     100 |                   
  mint.ts                              |     100 |     90.9 |     100 |     100 | 85                
  revoke-burn-role.ts                  |     100 |      100 |     100 |     100 |                   
  revoke-mint-role.ts                  |     100 |      100 |     100 |     100 |                   
  set-ccip-admin.ts                    |     100 |      100 |     100 |     100 |                   
  transfer-token-ownership.ts          |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/cct/solana               |   99.72 |    97.56 |   98.14 |   99.72 |                   
  index.ts                             |   99.66 |      100 |   97.22 |   99.66 | 253-254,2377-2382 
  operation.ts                         |     100 |      100 |     100 |     100 |                   
  query.ts                             |     100 |      100 |     100 |     100 |                   
  serialize.ts                         |     100 |     92.3 |     100 |     100 | 27                
  submit.ts                            |   99.23 |     87.5 |     100 |   99.23 | 123               
  validate.ts                          |     100 |    99.35 |     100 |     100 | 453               
 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.63 |    98.76 |     100 |   99.63 |                   
  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                    |   98.03 |       95 |     100 |   98.03 | 219-223           
  set-pool.ts                          |     100 |      100 |     100 |     100 |                   
  transfer-admin.ts                    |     100 |      100 |     100 |     100 |                   
 ...c/cct/solana/token-pool/operations |   99.64 |    98.46 |     100 |   99.64 |                   
  accept-pool-ownership.ts             |     100 |      100 |     100 |     100 |                   
  append-remote-pool-addresses.ts      |     100 |      100 |     100 |     100 |                   
  apply-chain-updates.ts               |     100 |    98.27 |     100 |     100 | 158               
  configure-allowlist.ts               |     100 |      100 |     100 |     100 |                   
  create-token-multisig.ts             |   96.03 |    92.68 |     100 |   96.03 | ...07-108,110-115 
  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.15 |    96.15 |     100 |   99.15 | 65-66             
  set-rate-limit-admin.ts              |     100 |      100 |     100 |     100 |                   
  set-rebalancer.ts                    |     100 |      100 |     100 |     100 |                   
  transfer-pool-ownership.ts           |     100 |      100 |     100 |     100 |                   
  withdraw-liquidity.ts                |     100 |      100 |     100 |     100 |                   
 ...dk/src/cct/solana/token/operations |     100 |    97.98 |     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 |    97.61 |     100 |     100 | 141               
  update-metadata-authority.ts         |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/errors                   |   91.85 |    79.03 |    65.3 |   91.85 |                   
  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                       |   90.11 |    76.87 |   63.57 |   90.11 | ...4078,4101-4110 
  utils.ts                             |   94.44 |    81.48 |     100 |   94.44 | 15,17,22,24       
 ccip-sdk/src/evm                      |   93.81 |     84.1 |   93.43 |   93.81 |                   
  const.ts                             |   98.71 |    92.85 |     100 |   98.71 | 128-129           
  errors.ts                            |   92.74 |    83.33 |     100 |   92.74 | ...85,239-242,247 
  exec-fixtures.test.helpers.ts        |   84.92 |       75 |      80 |   84.92 | ...12-119,121-125 
  extra-args.ts                        |   98.07 |    63.93 |     100 |   98.07 | ...85-186,211-212 
  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                             |   90.31 |    83.55 |   92.13 |   90.31 | ...2850,3353-3384 
  logs.ts                              |   99.16 |     92.3 |      90 |   99.16 | 70-71,76-77       
  messageCodec.ts                      |     100 |      100 |     100 |     100 |                   
  messages.ts                          |     100 |      100 |     100 |     100 |                   
  offchain.ts                          |   94.48 |    72.41 |     100 |   94.48 | ...23-124,126-128 
  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.24 |    80.35 |     100 |   94.24 |                   
  common.ts                            |     100 |      100 |     100 |     100 |                   
  hasher.ts                            |     100 |      100 |     100 |     100 |                   
  index.ts                             |     100 |      100 |     100 |     100 |                   
  merklemulti.ts                       |   93.43 |       78 |     100 |   93.43 | ...06-307,315-316 
 ccip-sdk/src/shared                   |    82.8 |    88.75 |   70.58 |    82.8 |                   
  bcs-codecs.ts                        |   74.82 |    66.66 |   44.44 |   74.82 | ...60-269,278-282 
  codec.ts                             |    94.3 |    95.08 |     100 |    94.3 | 139-140,178-186   
  constants.ts                         |     100 |      100 |     100 |     100 |                   
 ccip-sdk/src/solana                   |   90.76 |    83.53 |   94.47 |   90.76 |                   
  cleanup.ts                           |   58.17 |     62.5 |      80 |   58.17 | ...28-247,259-263 
  coder.ts                             |     100 |    88.23 |     100 |     100 | 33-36             
  exec-v2.ts                           |   97.67 |    87.71 |     100 |   97.67 | ...69-371,469-470 
  exec.ts                              |   81.59 |    63.33 |   83.33 |   81.59 | ...76-480,520-521 
  extra-args.ts                        |   79.51 |       84 |   83.33 |   79.51 | 137-195           
  fork.test.data.ts                    |     100 |      100 |     100 |     100 |                   
  gas.ts                               |   92.06 |       75 |     100 |   92.06 | ...,81-90,170-171 
  hasher.ts                            |   96.49 |    81.81 |     100 |   96.49 | 64-67             
  index.ts                             |   90.79 |    83.25 |   93.84 |   90.79 | ...2398,2402-2435 
  logs.ts                              |   90.11 |    78.57 |     100 |   90.11 | ...50-151,163-164 
  offchain.ts                          |     100 |      100 |     100 |     100 |                   
  resolution.ts                        |   99.82 |    98.38 |     100 |   99.82 | 199               
  send-v2.ts                           |   97.72 |    96.66 |     100 |   97.72 | 188-193,310-311   
  send.ts                              |   96.36 |    66.66 |     100 |   96.36 | ...07,412-413,447 
  signatures-cache.ts                  |   87.58 |    75.38 |     100 |   87.58 | ...25-232,274-275 
  token-admin-registry.ts              |     100 |    96.96 |     100 |     100 | 60                
  token-pool.ts                        |     100 |      100 |     100 |     100 |                   
  types.ts                             |     100 |      100 |     100 |     100 |                   
  utils.ts                             |   86.22 |    83.59 |   86.66 |   86.22 | ...71-772,973-976 
  v1.ts                                |   96.63 |       86 |     100 |   96.63 | 66-69,122-125     
 ccip-sdk/src/sui                      |    68.6 |    68.96 |   60.28 |    68.6 |                   
  discovery.ts                         |   31.38 |    28.57 |   13.33 |   31.38 | ...37-785,788-822 
  events.ts                            |   86.71 |     65.4 |   83.33 |   86.71 | ...20-627,686-699 
  exec.ts                              |   30.71 |      100 |       0 |   30.71 | 37-89,101-153     
  execution.test.data.ts               |     100 |      100 |     100 |     100 |                   
  grpc-shapes.ts                       |   82.66 |    60.63 |   88.57 |   82.66 | ...1150,1172-1175 
  grpc.ts                              |   74.13 |    76.32 |    65.3 |   74.13 | ...1082,1085-1094 
  hasher.ts                            |   98.19 |    66.66 |     100 |   98.19 | 35,51             
  index.ts                             |   50.48 |    76.56 |   41.17 |   50.48 | ...2383,2387-2403 
  logs.ts                              |   97.28 |    66.66 |     100 |   97.28 | ...62-165,186-187 
  objects.ts                           |   47.65 |       80 |   58.33 |   47.65 | ...60-316,327-470 
  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                      |   91.66 |    83.79 |   92.42 |   91.66 |                   
  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                             |   93.09 |    86.03 |   85.93 |   93.09 | ...2207,2214-2215 
  logs.ts                              |    94.2 |    86.11 |     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                             |    77.4 |    70.58 |     100 |    77.4 | ...52-410,412-415 
 ccip-sdk/src/verifiers                |   98.13 |       91 |     100 |   98.13 |                   
  codec.ts                             |   96.87 |    89.13 |     100 |   96.87 | 51-53,70,97       
  index.ts                             |     100 |      100 |     100 |     100 |                   
  transport.ts                         |   98.54 |     87.5 |     100 |   98.54 | 84-85             
 scripts                               |   90.49 |    73.52 |     100 |   90.49 |                   
  test-endpoints.ts                    |   98.62 |    90.24 |     100 |   98.62 | 171-173,286       
  useResource.ts                       |   83.57 |    62.29 |     100 |   83.57 | ...81-286,301-302 
---------------------------------------|---------|----------|---------|---------|-------------------

@PabloMansanet PabloMansanet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What happens on a lane that's v2 only, with an allowlist? (i.e. staging, used in the fork tests). Could we fall back to 2.0 when there's no 1.6 config?

Other than that, LGTM!

A Solana 2.0 Router lane with its sender allowlist enabled is in testing.
getFee and sendMessage already sent over its 1.6 lane; now the other
methods agree:

- getLaneFeatures reports no fast finality for it.
- getOnRampConfig without opts.version reads the 1.6 lane config, and
  returns the lane read as laneVersion.
- getRequiredCCVs and estimateReceiveExecution discover the 1.6 OffRamp.
- CLI lane shows the 1.6 lane and OffRamp by default.

A SolanaChain instance memoizes each lane's observe_dest_chain_v2
result for 10 min, so these methods see the same lane version. After
the allowlist is lifted, they select 2.0 with no SDK update. The
internal sendV2OnAllowlistedLanes opt-in stays for getFee and send.
@andrevmatos
andrevmatos merged commit 053a92e into main Nov 10, 2026
13 checks passed
@andrevmatos
andrevmatos deleted the solana/auto branch November 10, 2026 13:25

This branch was successfully deployed

2 active deployments
Production β€” 053a92ed Deployed Nov 10, 2026 by vercel[bot]
Preview β€” 053a92ed Deployed Nov 10, 2026 by vercel[bot]
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