Skip to content

Conversation

@andrevmatos
Copy link
Collaborator

  • Split EVM.getLogs generator into an utility function
  • Implements another filter option, onlyFallback, which may be:
    • unset/undefined: current behavior, paginate on main provider RPC
    • false: first try wide range on main provider, then (if can't), falls back to public archive RPCs and race them, then fallsback to pagination
    • true: do only wide range on main, then fallback provider; throws if it can't
  • Uses onlyFallback=true to fetch v1.5 FeeConfigSet events to collect feeTokens

@andrevmatos andrevmatos self-assigned this Nov 29, 2025
@andrevmatos andrevmatos requested a review from a team as a code owner November 29, 2025 16:36
@github-actions
Copy link

👋 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
Copy link

github-actions bot commented Nov 29, 2025

Coverage Report

ℹ tests 269
ℹ suites 72
ℹ pass 269
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 8036.418809

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

▶ e2e command show EVM
  ▶ pretty format (default)
    ✔ should show complete CCIP transaction details EVM to EVM (8668.128832ms)
  ✔ pretty format (default) (8669.07383ms)
  ▶ json format
    ✔ should output valid JSON with all expected fields (6997.490824ms)
  ✔ json format (6997.756392ms)
  ▶ log format
    ✔ should output in log format with object assignments (7350.153892ms)
  ✔ log format (7350.381226ms)
  ▶ verbose flag
    ✔ should work with verbose flag enabled (8463.52449ms)
  ✔ verbose flag (8463.752997ms)
  ▶ error handling
    ✔ should handle invalid transaction hash gracefully (1920.383536ms)
    ✔ should require transaction hash argument (1323.854567ms)
  ✔ error handling (3244.577848ms)
  ✔ should show complete CCIP transaction details EVM to Aptos (7539.475501ms)
  ✔ should show complete CCIP transaction details EVM to Solana (14347.616824ms)
✔ e2e command show EVM (56613.727142ms)
▶ e2e command show Solana
  ✔ should show complete CCIP transaction details Solana to EVM (18138.676135ms)
✔ e2e command show Solana (18138.936533ms)
▶ e2e command show Aptos
  ✔ should show complete CCIP transaction details Aptos to EVM (6670.353201ms)
✔ e2e command show Aptos (6670.532467ms)
ℹ tests 10
ℹ suites 8
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 81549.028449
------------------------|---------|----------|---------|---------|----------------------------------
File                    | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                
------------------------|---------|----------|---------|---------|----------------------------------
All files               |   61.66 |    76.43 |    58.1 |   61.66 |                                  
 ccip-cli/src           |   97.43 |      100 |     100 |   97.43 |                                  
  index.ts              |   97.43 |      100 |     100 |   97.43 | 74-75                            
 ccip-cli/src/commands  |   52.03 |    82.44 |   54.28 |   52.03 |                                  
  index.ts              |     100 |      100 |     100 |     100 |                                  
  manual-exec.ts        |    59.4 |      100 |       0 |    59.4 | 37-94,97-111,113-229             
  parse.ts              |   28.84 |      100 |       0 |   28.84 | 13-17,20-26,28-52                
  send.ts               |    9.17 |      100 |       0 |    9.17 | 27-124,127-137,139-316           
  show.ts               |   93.37 |       88 |     100 |   93.37 | 65-74                            
  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              |   82.92 |       80 |   88.88 |   82.92 | ...9,360,362-372,380-388,398-404 
 ccip-cli/src/providers |   57.85 |    58.62 |   15.78 |   57.85 |                                  
  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.23 |    53.84 |     100 |   87.23 | 31-34,105-107,125-132,138-140    
  solana.ts             |   36.55 |      100 |       0 |   36.55 | ...31-42,45-57,60-66,69-70,74-93 
 ccip-sdk/src           |   94.88 |    89.36 |    97.5 |   94.88 |                                  
  chain.ts              |     100 |      100 |     100 |     100 |                                  
  commits.ts            |     100 |    93.75 |     100 |     100 | 42                               
  execution.ts          |     100 |    96.29 |     100 |     100 | 117                              
  extra-args.ts         |     100 |    84.61 |     100 |     100 | 39,57                            
  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           |   75.22 |    72.85 |   85.71 |   75.22 | ...3,270,288-289,293-294,317-339 
  supported-chains.ts   |     100 |      100 |     100 |     100 |                                  
  types.ts              |     100 |      100 |     100 |     100 |                                  
  utils.ts              |   98.27 |    94.07 |     100 |   98.27 | 58-59,71-72,237-238,358          
 ccip-sdk/src/aptos     |   54.12 |    72.26 |   62.29 |   54.12 |                                  
  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              |   56.97 |    69.51 |   62.79 |   56.97 | ...3-516,519-554,557-650,653-664 
  logs.ts               |   84.76 |     72.5 |   85.71 |   84.76 | 136,139-166,192-194              
  send.ts               |    12.5 |      100 |       0 |    12.5 | 12-53,56-73,76-120               
  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.9 |    69.81 |   63.07 |    63.9 |                                  
  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 | 105                              
  index.ts              |   54.28 |    69.11 |   58.33 |   54.28 | ...1085-1106,1109-1182,1184-1233 
  logs.ts               |   35.68 |     37.5 |      25 |   35.68 | ...70,83-154,185-186,197-225,240 
  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.79 |    67.75 |   54.32 |   45.79 |                                  
  cleanup.ts            |    8.83 |      100 |       0 |    8.83 | 20-215                           
  exec.ts               |    6.66 |      100 |       0 |    6.66 | ...0-400,402-477,479-518,520-645 
  hasher.ts             |   96.15 |    81.81 |     100 |   96.15 | 54-57                            
  index.ts              |   69.14 |    65.78 |    64.7 |   69.14 | ...1245-1398,1401-1425,1428-1449 
  offchain.ts           |   76.62 |     64.7 |      50 |   76.62 | ...96-98,102-105,118-123,138-154 
  patchBorsh.ts         |    59.7 |       60 |   66.66 |    59.7 | 13-30,50-51,57-63                
  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       |   69.09 |    73.33 |    17.5 |   69.09 |                                  
  hasher.ts             |   97.77 |    66.66 |     100 |   97.77 | 27,37                            
  index.ts              |   56.06 |    83.33 |   10.81 |   56.06 | ...2-183,186-187,190-191,194-195 
------------------------|---------|----------|---------|---------|----------------------------------

fallback to public list of archive RPCs, race them for some wide-range
getLogs when requested (e.g. for v1.5 `FeeConfigSet` events)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant