Skip to content

Conversation

@Farber98
Copy link
Contributor

@Farber98 Farber98 commented Dec 4, 2025

No description provided.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

Coverage Report

ℹ tests 296
ℹ suites 83
ℹ pass 296
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 8239.140947

> @chainlink/[email protected] test
> node --test

▶ e2e command show EVM
  ▶ pretty format (default)
    ✔ should show complete CCIP transaction details EVM to EVM (10238.666201ms)
  ✔ pretty format (default) (10239.541601ms)
  ▶ json format
    ✔ should output valid JSON with all expected fields (8877.71324ms)
  ✔ json format (8877.938699ms)
  ▶ log format
    ✔ should output in log format with object assignments (9222.147231ms)
  ✔ log format (9222.387047ms)
  ▶ verbose flag
    ✔ should work with verbose flag enabled (10277.738484ms)
  ✔ verbose flag (10277.941443ms)
  ▶ error handling
    ✔ should handle invalid transaction hash gracefully (1972.007773ms)
    ✔ should require transaction hash argument (1285.875906ms)
  ✔ error handling (3258.206856ms)
  ✔ should show complete CCIP transaction details EVM to Aptos (9233.831645ms)
  ✔ should show complete CCIP transaction details EVM to Solana (6014.019146ms)
✔ e2e command show EVM (57125.615463ms)
▶ e2e command show Solana
  ✔ should show complete CCIP transaction details Solana to EVM (9172.541983ms)
✔ e2e command show Solana (9172.765219ms)
▶ e2e command show Aptos
  ✔ should show complete CCIP transaction details Aptos to EVM (7611.155533ms)
✔ e2e command show Aptos (7611.334283ms)
ℹ tests 10
ℹ suites 8
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 74029.120933
------------------------|---------|----------|---------|---------|----------------------------------
File                    | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                
------------------------|---------|----------|---------|---------|----------------------------------
All files               |   62.08 |    76.47 |   54.43 |   62.08 |                                  
 ccip-cli/src           |    90.9 |      100 |     100 |    90.9 |                                  
  index.ts              |    90.9 |      100 |     100 |    90.9 | 74-75,80-85                      
 ccip-cli/src/commands  |   51.83 |     82.7 |   54.28 |   51.83 |                                  
  index.ts              |     100 |      100 |     100 |     100 |                                  
  manual-exec.ts        |   59.35 |      100 |       0 |   59.35 | 35-92,95-109,111-226             
  parse.ts              |   28.84 |      100 |       0 |   28.84 | 13-17,20-26,28-52                
  send.ts               |    8.91 |      100 |       0 |    8.91 | 26-123,126-136,138-314           
  show.ts               |    92.9 |       88 |     100 |    92.9 | 64-73                            
  supported-tokens.ts   |    20.4 |      100 |       0 |    20.4 | ...,66-76,78-173,175-230,232-245 
  types.ts              |     100 |      100 |     100 |     100 |                                  
  utils.ts              |   83.08 |    80.39 |   88.88 |   83.08 | ...3,364,366-376,384-392,402-408 
 ccip-cli/src/providers |   58.07 |    61.29 |   15.78 |   58.07 |                                  
  aptos.ts              |      41 |      100 |       0 |      41 | ...4-48,52-56,60-67,71-72,76-100 
  evm.ts                |   47.91 |      100 |       0 |   47.91 | 14,25-48                         
  index.ts              |   87.41 |    57.14 |     100 |   87.41 | 31-34,107-109,127-134,140-142    
  solana.ts             |   36.55 |      100 |       0 |   36.55 | ...31-42,45-57,60-66,69-70,74-93 
 ccip-sdk/src           |   93.21 |    88.19 |   95.34 |   93.21 |                                  
  chain.ts              |     100 |     92.3 |     100 |     100 | 299                              
  commits.ts            |     100 |    93.75 |     100 |     100 | 40                               
  execution.ts          |    83.2 |      100 |      75 |    83.2 | 110-131                          
  extra-args.ts         |     100 |    84.61 |     100 |     100 | 43,62                            
  gas.ts                |   98.51 |    92.85 |     100 |   98.51 | 79-80                            
  index.ts              |     100 |      100 |     100 |     100 |                                  
  offchain.ts           |     100 |      100 |     100 |     100 |                                  
  requests.ts           |   76.55 |    76.47 |   85.71 |   76.55 | ...8,285,303-304,308-309,332-354 
  supported-chains.ts   |     100 |      100 |     100 |     100 |                                  
  types.ts              |     100 |      100 |     100 |     100 |                                  
  utils.ts              |   94.65 |     89.5 |     100 |   94.65 | ...2,360-365,370-375,409-410,417 
 ccip-sdk/src/aptos     |    53.3 |    71.32 |   60.31 |    53.3 |                                  
  exec.ts               |   24.63 |      100 |       0 |   24.63 | 18-69                            
  hasher.ts             |   70.65 |       80 |   66.66 |   70.65 | 10-29,37-43                      
  index.ts              |   55.23 |    68.67 |      60 |   55.23 | ...6-539,542-577,580-673,676-687 
  logs.ts               |   84.76 |    71.05 |   85.71 |   84.76 | 136,139-166,192-194              
  send.ts               |   11.76 |      100 |       0 |   11.76 | 11-52,55-72,75-119               
  token.ts              |   18.66 |       75 |     100 |   18.66 | 28-149                           
  types.ts              |   70.58 |      100 |       0 |   70.58 | 61-85                            
  utils.ts              |     100 |      100 |     100 |     100 |                                  
 ccip-sdk/src/evm       |   63.76 |    70.11 |   62.31 |   63.76 |                                  
  const.ts              |     100 |      100 |     100 |     100 |                                  
  errors.ts             |   85.84 |    79.71 |     100 |   85.84 | ...0-101,112-113,155-157,193-211 
  hasher.ts             |     100 |     87.5 |     100 |     100 | 106                              
  index.ts              |   54.92 |     69.5 |   57.69 |   54.92 | ...1127-1148,1151-1224,1227-1276 
  logs.ts               |   35.65 |    41.17 |      25 |   35.65 | ...76,89-171,202-203,214-242,257 
  messages.ts           |     100 |      100 |     100 |     100 |                                  
  offchain.ts           |   79.36 |    55.17 |      75 |   79.36 | ...8-119,136-138,142-156,181-186 
 ccip-sdk/src/hasher    |   93.94 |    78.94 |     100 |   93.94 |                                  
  common.ts             |     100 |      100 |     100 |     100 |                                  
  hasher.ts             |     100 |    66.66 |     100 |     100 | 10                               
  index.ts              |     100 |      100 |     100 |     100 |                                  
  merklemulti.ts        |    93.2 |       78 |     100 |    93.2 | ...3-244,248-249,295-296,304-305 
 ccip-sdk/src/solana    |   45.35 |     66.8 |   54.21 |   45.35 |                                  
  cleanup.ts            |    8.83 |      100 |       0 |    8.83 | 20-215                           
  exec.ts               |    6.37 |      100 |       0 |    6.37 | ...8-398,400-475,477-516,518-643 
  hasher.ts             |   96.19 |    81.81 |     100 |   96.19 | 55-58                            
  index.ts              |   67.74 |    64.67 |   63.46 |   67.74 | ...1261-1414,1417-1441,1444-1465 
  offchain.ts           |   76.62 |     64.7 |      50 |   76.62 | ...96-98,102-105,118-123,138-154 
  patchBorsh.ts         |   61.84 |    57.14 |      75 |   61.84 | 23-42,58-59,65-71                
  send.ts               |    8.25 |      100 |       0 |    8.25 | ...3-249,252-294,297-383,385-436 
  utils.ts              |   61.56 |    78.94 |   77.77 |   61.56 | ...7-186,208-216,228-229,240-253 
 ccip-sdk/src/sui       |    67.1 |    73.33 |   17.07 |    67.1 |                                  
  hasher.ts             |   97.77 |    66.66 |     100 |   97.77 | 27,37                            
  index.ts              |   54.37 |    83.33 |   10.52 |   54.37 | ...3-204,207-208,211-212,215-216 
 ccip-sdk/src/ton       |   78.31 |    84.09 |   29.78 |   78.31 |                                  
  hasher.ts             |   94.44 |    76.92 |     100 |   94.44 | 94-102,160                       
  index.ts              |   62.45 |    66.66 |   13.15 |   62.45 | ...7-248,251-252,255-256,259-260 
  utils.ts              |     100 |      100 |     100 |     100 |                                  
------------------------|---------|----------|---------|---------|----------------------------------

Copy link
Collaborator

@andrevmatos andrevmatos left a comment

Choose a reason for hiding this comment

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

Nice! Some heads-up and nits, but overall, looking great for the new pattern! Ty!

| (EVMExtraArgsV2 & { _tag: 'EVMExtraArgsV2' })
| (SVMExtraArgsV1 & { _tag: 'SVMExtraArgsV1' })
| (SuiExtraArgsV1 & { _tag: 'SuiExtraArgsV1' })
| (GenericExtraArgsV2 & { _tag: 'GenericExtraArgsV2' })
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should still name this EVMExtraArgsV2; the _tag alias isn't of much use since this is actually the same type; trying to union it even makes TS complain (as above)

readonly network: NetworkInfo<typeof ChainFamily.TON>

constructor(network: NetworkInfo<typeof ChainFamily.TON>) {
super()
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just a heads-up: #70 changes slightly constructor/super call, passing network to super, plus some context/logger objects; should be trivial to adapt

Comment on lines +127 to +129
async getWalletAddress(_opts?: { wallet?: unknown }): Promise<string> {
return Promise.reject(new Error('Not implemented'))
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

This one is going away as well

* @param args - Extra arguments containing gas limit and execution flags
* @returns Hex string of BOC-encoded extra args (0x-prefixed)
*/
static encodeExtraArgs(args: ExtraArgs): string {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just FYI, encode/decodeExtraArgs are from the perspective of this source chain, to other chains; if TON is expected to send only to EVM at first, then it's fine to implement only EVMExtraArgsV2 encoding here; but if it's expected soon to support lanes to Solana, etc, you may also want to have serializations (with TON's codecs) of extraArgs to those chains

return Promise.reject(new Error('Not implemented'))
}

async sendMessage(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Heads-up: #70 also include some new methods, generateUnsigned*; again, should be trivial to add the Not implemented versions just to satisfy the interface

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants