@chainlink/ccip-sdk 0.95.0 → 0.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +2 -2
  2. package/dist/all-chains.d.ts +23 -0
  3. package/dist/all-chains.d.ts.map +1 -0
  4. package/dist/all-chains.js +24 -0
  5. package/dist/all-chains.js.map +1 -0
  6. package/dist/api/index.d.ts +31 -19
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +46 -25
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/types.d.ts +24 -30
  11. package/dist/api/types.d.ts.map +1 -1
  12. package/dist/aptos/exec.d.ts +2 -2
  13. package/dist/aptos/exec.d.ts.map +1 -1
  14. package/dist/aptos/exec.js.map +1 -1
  15. package/dist/aptos/hasher.d.ts.map +1 -1
  16. package/dist/aptos/hasher.js +1 -1
  17. package/dist/aptos/hasher.js.map +1 -1
  18. package/dist/aptos/index.d.ts +43 -15
  19. package/dist/aptos/index.d.ts.map +1 -1
  20. package/dist/aptos/index.js +112 -105
  21. package/dist/aptos/index.js.map +1 -1
  22. package/dist/aptos/types.d.ts +2 -19
  23. package/dist/aptos/types.d.ts.map +1 -1
  24. package/dist/aptos/types.js +0 -11
  25. package/dist/aptos/types.js.map +1 -1
  26. package/dist/chain.d.ts +734 -174
  27. package/dist/chain.d.ts.map +1 -1
  28. package/dist/chain.js +216 -31
  29. package/dist/chain.js.map +1 -1
  30. package/dist/commits.d.ts +4 -6
  31. package/dist/commits.d.ts.map +1 -1
  32. package/dist/commits.js +4 -4
  33. package/dist/commits.js.map +1 -1
  34. package/dist/errors/CCIPError.d.ts +33 -4
  35. package/dist/errors/CCIPError.d.ts.map +1 -1
  36. package/dist/errors/CCIPError.js +33 -4
  37. package/dist/errors/CCIPError.js.map +1 -1
  38. package/dist/errors/codes.d.ts +5 -0
  39. package/dist/errors/codes.d.ts.map +1 -1
  40. package/dist/errors/codes.js +5 -1
  41. package/dist/errors/codes.js.map +1 -1
  42. package/dist/errors/index.d.ts +2 -2
  43. package/dist/errors/index.d.ts.map +1 -1
  44. package/dist/errors/index.js +2 -2
  45. package/dist/errors/index.js.map +1 -1
  46. package/dist/errors/recovery.d.ts.map +1 -1
  47. package/dist/errors/recovery.js +6 -1
  48. package/dist/errors/recovery.js.map +1 -1
  49. package/dist/errors/specialized.d.ts +1702 -121
  50. package/dist/errors/specialized.d.ts.map +1 -1
  51. package/dist/errors/specialized.js +1729 -125
  52. package/dist/errors/specialized.js.map +1 -1
  53. package/dist/errors/utils.d.ts.map +1 -1
  54. package/dist/errors/utils.js +0 -1
  55. package/dist/errors/utils.js.map +1 -1
  56. package/dist/evm/abi/OffRamp_2_0.d.ts +764 -0
  57. package/dist/evm/abi/OffRamp_2_0.d.ts.map +1 -0
  58. package/dist/evm/abi/OffRamp_2_0.js +744 -0
  59. package/dist/evm/abi/OffRamp_2_0.js.map +1 -0
  60. package/dist/evm/abi/OnRamp_2_0.d.ts +925 -0
  61. package/dist/evm/abi/OnRamp_2_0.d.ts.map +1 -0
  62. package/dist/evm/abi/OnRamp_2_0.js +992 -0
  63. package/dist/evm/abi/OnRamp_2_0.js.map +1 -0
  64. package/dist/evm/const.d.ts +12 -2
  65. package/dist/evm/const.d.ts.map +1 -1
  66. package/dist/evm/const.js +8 -2
  67. package/dist/evm/const.js.map +1 -1
  68. package/dist/evm/errors.d.ts.map +1 -1
  69. package/dist/evm/errors.js +7 -2
  70. package/dist/evm/errors.js.map +1 -1
  71. package/dist/evm/extra-args.d.ts +25 -0
  72. package/dist/evm/extra-args.d.ts.map +1 -0
  73. package/dist/evm/extra-args.js +309 -0
  74. package/dist/evm/extra-args.js.map +1 -0
  75. package/dist/evm/gas.d.ts.map +1 -1
  76. package/dist/evm/gas.js +7 -12
  77. package/dist/evm/gas.js.map +1 -1
  78. package/dist/evm/hasher.d.ts.map +1 -1
  79. package/dist/evm/hasher.js +23 -13
  80. package/dist/evm/hasher.js.map +1 -1
  81. package/dist/evm/index.d.ts +140 -35
  82. package/dist/evm/index.d.ts.map +1 -1
  83. package/dist/evm/index.js +306 -226
  84. package/dist/evm/index.js.map +1 -1
  85. package/dist/evm/messages.d.ts +59 -5
  86. package/dist/evm/messages.d.ts.map +1 -1
  87. package/dist/evm/messages.js +210 -0
  88. package/dist/evm/messages.js.map +1 -1
  89. package/dist/evm/offchain.js.map +1 -1
  90. package/dist/evm/types.d.ts +7 -2
  91. package/dist/evm/types.d.ts.map +1 -1
  92. package/dist/evm/types.js +22 -1
  93. package/dist/evm/types.js.map +1 -1
  94. package/dist/execution.d.ts +62 -22
  95. package/dist/execution.d.ts.map +1 -1
  96. package/dist/execution.js +102 -51
  97. package/dist/execution.js.map +1 -1
  98. package/dist/extra-args.d.ts +113 -4
  99. package/dist/extra-args.d.ts.map +1 -1
  100. package/dist/extra-args.js +38 -3
  101. package/dist/extra-args.js.map +1 -1
  102. package/dist/gas.d.ts +31 -5
  103. package/dist/gas.d.ts.map +1 -1
  104. package/dist/gas.js +43 -9
  105. package/dist/gas.js.map +1 -1
  106. package/dist/index.d.ts +11 -10
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +8 -8
  109. package/dist/index.js.map +1 -1
  110. package/dist/requests.d.ts +101 -22
  111. package/dist/requests.d.ts.map +1 -1
  112. package/dist/requests.js +115 -24
  113. package/dist/requests.js.map +1 -1
  114. package/dist/selectors.d.ts.map +1 -1
  115. package/dist/selectors.js +24 -0
  116. package/dist/selectors.js.map +1 -1
  117. package/dist/shared/bcs-codecs.d.ts +61 -0
  118. package/dist/shared/bcs-codecs.d.ts.map +1 -0
  119. package/dist/shared/bcs-codecs.js +102 -0
  120. package/dist/shared/bcs-codecs.js.map +1 -0
  121. package/dist/shared/constants.d.ts +3 -0
  122. package/dist/shared/constants.d.ts.map +1 -0
  123. package/dist/shared/constants.js +3 -0
  124. package/dist/shared/constants.js.map +1 -0
  125. package/dist/solana/exec.d.ts +2 -2
  126. package/dist/solana/exec.d.ts.map +1 -1
  127. package/dist/solana/exec.js.map +1 -1
  128. package/dist/solana/index.d.ts +148 -30
  129. package/dist/solana/index.d.ts.map +1 -1
  130. package/dist/solana/index.js +137 -44
  131. package/dist/solana/index.js.map +1 -1
  132. package/dist/sui/hasher.d.ts.map +1 -1
  133. package/dist/sui/hasher.js +1 -1
  134. package/dist/sui/hasher.js.map +1 -1
  135. package/dist/sui/index.d.ts +49 -19
  136. package/dist/sui/index.d.ts.map +1 -1
  137. package/dist/sui/index.js +76 -43
  138. package/dist/sui/index.js.map +1 -1
  139. package/dist/sui/manuallyExec/encoder.d.ts +2 -2
  140. package/dist/sui/manuallyExec/encoder.d.ts.map +1 -1
  141. package/dist/sui/manuallyExec/encoder.js.map +1 -1
  142. package/dist/sui/manuallyExec/index.d.ts +2 -2
  143. package/dist/sui/manuallyExec/index.d.ts.map +1 -1
  144. package/dist/ton/exec.d.ts +2 -2
  145. package/dist/ton/exec.d.ts.map +1 -1
  146. package/dist/ton/exec.js.map +1 -1
  147. package/dist/ton/index.d.ts +66 -27
  148. package/dist/ton/index.d.ts.map +1 -1
  149. package/dist/ton/index.js +172 -47
  150. package/dist/ton/index.js.map +1 -1
  151. package/dist/ton/send.d.ts +52 -0
  152. package/dist/ton/send.d.ts.map +1 -0
  153. package/dist/ton/send.js +166 -0
  154. package/dist/ton/send.js.map +1 -0
  155. package/dist/ton/types.d.ts +2 -2
  156. package/dist/ton/types.d.ts.map +1 -1
  157. package/dist/ton/types.js.map +1 -1
  158. package/dist/types.d.ts +148 -12
  159. package/dist/types.d.ts.map +1 -1
  160. package/dist/types.js +6 -1
  161. package/dist/types.js.map +1 -1
  162. package/dist/utils.d.ts +79 -4
  163. package/dist/utils.d.ts.map +1 -1
  164. package/dist/utils.js +92 -7
  165. package/dist/utils.js.map +1 -1
  166. package/package.json +16 -11
  167. package/src/all-chains.ts +26 -0
  168. package/src/api/index.ts +58 -34
  169. package/src/api/types.ts +24 -31
  170. package/src/aptos/exec.ts +2 -2
  171. package/src/aptos/hasher.ts +1 -1
  172. package/src/aptos/index.ts +127 -129
  173. package/src/aptos/types.ts +2 -15
  174. package/src/chain.ts +837 -191
  175. package/src/commits.ts +9 -9
  176. package/src/errors/CCIPError.ts +33 -4
  177. package/src/errors/codes.ts +5 -1
  178. package/src/errors/index.ts +2 -1
  179. package/src/errors/recovery.ts +9 -1
  180. package/src/errors/specialized.ts +1745 -132
  181. package/src/errors/utils.ts +0 -1
  182. package/src/evm/abi/OffRamp_2_0.ts +743 -0
  183. package/src/evm/abi/OnRamp_2_0.ts +991 -0
  184. package/src/evm/const.ts +10 -3
  185. package/src/evm/errors.ts +6 -2
  186. package/src/evm/extra-args.ts +360 -0
  187. package/src/evm/gas.ts +14 -13
  188. package/src/evm/hasher.ts +30 -18
  189. package/src/evm/index.ts +376 -281
  190. package/src/evm/messages.ts +323 -11
  191. package/src/evm/offchain.ts +2 -2
  192. package/src/evm/types.ts +20 -2
  193. package/src/execution.ts +126 -71
  194. package/src/extra-args.ts +118 -4
  195. package/src/gas.ts +44 -11
  196. package/src/index.ts +14 -11
  197. package/src/requests.ts +128 -24
  198. package/src/selectors.ts +24 -0
  199. package/src/shared/bcs-codecs.ts +132 -0
  200. package/src/shared/constants.ts +2 -0
  201. package/src/solana/exec.ts +4 -4
  202. package/src/solana/index.ts +170 -82
  203. package/src/sui/hasher.ts +1 -1
  204. package/src/sui/index.ts +88 -56
  205. package/src/sui/manuallyExec/encoder.ts +2 -2
  206. package/src/sui/manuallyExec/index.ts +2 -2
  207. package/src/ton/exec.ts +2 -2
  208. package/src/ton/index.ts +220 -58
  209. package/src/ton/send.ts +222 -0
  210. package/src/ton/types.ts +2 -2
  211. package/src/types.ts +173 -30
  212. package/src/utils.ts +91 -7
  213. package/dist/aptos/utils.d.ts +0 -12
  214. package/dist/aptos/utils.d.ts.map +0 -1
  215. package/dist/aptos/utils.js +0 -15
  216. package/dist/aptos/utils.js.map +0 -1
  217. package/src/aptos/utils.ts +0 -24
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRamp_2_0.js","sourceRoot":"","sources":["../../../src/evm/abi/OnRamp_2_0.ts"],"names":[],"mappings":"AAAA,sIAAsI;AACtI,eAAe;IACb,YAAY;IACZ,iJAAiJ;IACjJ,+BAA+B;IAC/B,4DAA4D;IAC5D,yDAAyD;IACzD,sFAAsF;IACtF;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,4BAA4B;gBAC1C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qBAAqB;qBACpC;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,6BAA6B;gBAC3C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,qCAAqC;gBACnD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,kBAAkB;qBACjC;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC1D;aACF;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,8BAA8B;gBAC5C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBACtD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,gCAAgC;wBAC9C,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,SAAS;6BACxB;4BACD;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,SAAS;6BACxB;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC5D;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC1E,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;YACxD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,iCAAiC;gBAC/C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,kBAAkB;qBACjC;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC1D;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,+BAA+B;gBAC7C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,kBAAkB;qBACjC;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC1D;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,6BAA6B;gBAC3C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,8BAA8B;gBAC5C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBACtD;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,gCAAgC;wBAC9C,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,SAAS;6BACxB;4BACD;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,SAAS;6BACxB;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC5D;aACF;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACpD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,iBAAiB;aAChC;SACF;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;QAC1E,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,4BAA4B;gBAC1C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qBAAqB;qBACpC;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QACrE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,6BAA6B;gBAC3C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAClE,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,WAAW;aAC1B;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,yBAAyB;gBACvC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAC5D;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC5D;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACxB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,4BAA4B;gBAC1C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qBAAqB;qBACpC;oBACD;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,6BAA6B;gBAC3C,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;aACvB;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,mCAAmC;gBACjD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,kBAAkB;qBACjC;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,yBAAyB;wBAC/B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACvB;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,WAAW;wBACjB,YAAY,EAAE,WAAW;qBAC1B;oBACD;wBACE,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC1D;aACF;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACxB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,EAAE,EAAE;IACpE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3D;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,6CAA6C;QACnD,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAChE;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACjE;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0DAA0D;QAChE,MAAM,EAAE,EAAE;KACX;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,EAAE,EAAE;IACjE;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACvE;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE;IACpD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,2CAA2C;aAC1D;YACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SAC7D;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,2CAA2C;aAC1D;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;SAC3D;KACF;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kCAAkC;QACxC,MAAM,EAAE,EAAE;KACX;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE;IACxD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,EAAE,EAAE;IACnE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,EAAE,EAAE;IAClE;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACtE;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC3D;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;SAC9D;KACF;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,EAAE,EAAE;IACpE;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,QAAQ;aACvB;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACtE;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC5D,eAAe;CACP,CAAA"}
@@ -1,7 +1,14 @@
1
1
  import { type EventFragment, AbiCoder, Interface } from 'ethers';
2
2
  export declare const defaultAbiCoder: AbiCoder;
3
- export declare const DEFAULT_GAS_LIMIT = 200000n;
4
- export declare const DEFAULT_APPROVE_GAS_LIMIT = 120000n;
3
+ export declare const VersionedContractABI: readonly [{
4
+ readonly name: "typeAndVersion";
5
+ readonly type: "function";
6
+ readonly stateMutability: "view";
7
+ readonly inputs: readonly [];
8
+ readonly outputs: readonly [{
9
+ readonly type: "string";
10
+ }];
11
+ }];
5
12
  export declare const interfaces: {
6
13
  readonly Router: Interface;
7
14
  readonly Token: Interface;
@@ -12,9 +19,11 @@ export declare const interfaces: {
12
19
  readonly TokenPool_v1_6: Interface;
13
20
  readonly CommitStore_v1_5: Interface;
14
21
  readonly CommitStore_v1_2: Interface;
22
+ readonly OffRamp_v2_0: Interface;
15
23
  readonly OffRamp_v1_6: Interface;
16
24
  readonly EVM2EVMOffRamp_v1_5: Interface;
17
25
  readonly EVM2EVMOffRamp_v1_2: Interface;
26
+ readonly OnRamp_v2_0: Interface;
18
27
  readonly OnRamp_v1_6: Interface;
19
28
  readonly EVM2EVMOnRamp_v1_5: Interface;
20
29
  readonly EVM2EVMOnRamp_v1_2: Interface;
@@ -30,4 +39,5 @@ export declare function getAllFragmentsMatchingEvents(events: readonly string[])
30
39
  export declare const requestsFragments: Record<`0x${string}`, EventFragment>;
31
40
  export declare const commitsFragments: Record<`0x${string}`, EventFragment>;
32
41
  export declare const receiptsFragments: Record<`0x${string}`, EventFragment>;
42
+ export declare const CCV_INDEXER_URL = "https://chainlink-ccv-indexer.ccip.stage.external.griddle.sh/all";
33
43
  //# sourceMappingURL=const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAmBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AAEzD,eAAO,MAAM,iBAAiB,UAAW,CAAA;AACzC,eAAO,MAAM,yBAAyB,UAAW,CAAA;AAQjD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAkBb,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAStC;AACD,eAAO,MAAM,iBAAiB,sCAG5B,CAAA;AACF,eAAO,MAAM,gBAAgB,sCAG3B,CAAA;AACF,eAAO,MAAM,iBAAiB,sCAA2D,CAAA"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAqBhE,eAAO,MAAM,eAAe,UAA6B,CAAA;AASzD,eAAO,MAAM,oBAAoB;;;;;;;;EAAgE,CAAA;AAEjG,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBb,CAAA;AAEV;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,CAStC;AACD,eAAO,MAAM,iBAAiB,sCAG5B,CAAA;AACF,eAAO,MAAM,gBAAgB,sCAG3B,CAAA;AACF,eAAO,MAAM,iBAAiB,sCAA2D,CAAA;AAEzF,eAAO,MAAM,eAAe,qEAAqE,CAAA"}
package/dist/evm/const.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { parseAbi } from 'abitype';
1
2
  import { AbiCoder, Interface } from 'ethers';
2
3
  import Token_ABI from "./abi/BurnMintERC677Token.js";
3
4
  import CommitStore_1_2_ABI from "./abi/CommitStore_1_2.js";
@@ -9,20 +10,22 @@ import TokenPool_1_6_ABI from "./abi/LockReleaseTokenPool_1_6_1.js";
9
10
  import EVM2EVMOffRamp_1_2_ABI from "./abi/OffRamp_1_2.js";
10
11
  import EVM2EVMOffRamp_1_5_ABI from "./abi/OffRamp_1_5.js";
11
12
  import OffRamp_1_6_ABI from "./abi/OffRamp_1_6.js";
13
+ import OffRamp_2_0_ABI from "./abi/OffRamp_2_0.js";
12
14
  import EVM2EVMOnRamp_1_2_ABI from "./abi/OnRamp_1_2.js";
13
15
  import EVM2EVMOnRamp_1_5_ABI from "./abi/OnRamp_1_5.js";
14
16
  import OnRamp_1_6_ABI from "./abi/OnRamp_1_6.js";
17
+ import OnRamp_2_0_ABI from "./abi/OnRamp_2_0.js";
15
18
  import PriceRegistry_1_2_ABI from "./abi/PriceRegistry_1_2.js";
16
19
  import Router_ABI from "./abi/Router.js";
17
20
  import TokenAdminRegistry_ABI from "./abi/TokenAdminRegistry_1_5.js";
18
21
  export const defaultAbiCoder = AbiCoder.defaultAbiCoder();
19
- export const DEFAULT_GAS_LIMIT = 200000n;
20
- export const DEFAULT_APPROVE_GAS_LIMIT = 120000n;
21
22
  const customErrors = [
22
23
  'error NoContract()',
23
24
  'error NoGasForCallExactCheck()',
24
25
  'error NotEnoughGasForCall()',
26
+ 'error InvalidChain(uint64 chainSelector)',
25
27
  ];
28
+ export const VersionedContractABI = parseAbi(['function typeAndVersion() view returns (string)']);
26
29
  export const interfaces = {
27
30
  Router: new Interface(Router_ABI),
28
31
  Token: new Interface(Token_ABI),
@@ -33,9 +36,11 @@ export const interfaces = {
33
36
  TokenPool_v1_6: new Interface(TokenPool_1_6_ABI),
34
37
  CommitStore_v1_5: new Interface(CommitStore_1_5_ABI),
35
38
  CommitStore_v1_2: new Interface(CommitStore_1_2_ABI),
39
+ OffRamp_v2_0: new Interface(OffRamp_2_0_ABI),
36
40
  OffRamp_v1_6: new Interface(OffRamp_1_6_ABI),
37
41
  EVM2EVMOffRamp_v1_5: new Interface(EVM2EVMOffRamp_1_5_ABI),
38
42
  EVM2EVMOffRamp_v1_2: new Interface(EVM2EVMOffRamp_1_2_ABI),
43
+ OnRamp_v2_0: new Interface(OnRamp_2_0_ABI),
39
44
  OnRamp_v1_6: new Interface(OnRamp_1_6_ABI),
40
45
  EVM2EVMOnRamp_v1_5: new Interface(EVM2EVMOnRamp_1_5_ABI),
41
46
  EVM2EVMOnRamp_v1_2: new Interface(EVM2EVMOnRamp_1_2_ABI),
@@ -67,4 +72,5 @@ export const commitsFragments = getAllFragmentsMatchingEvents([
67
72
  'CommitReportAccepted',
68
73
  ]);
69
74
  export const receiptsFragments = getAllFragmentsMatchingEvents(['ExecutionStateChanged']);
75
+ export const CCV_INDEXER_URL = 'https://chainlink-ccv-indexer.ccip.stage.external.griddle.sh/all';
70
76
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/evm/const.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,MAAM,EAMP,MAAM,QAAQ,CAAA;AAMf;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB7D;AAED;;;;;;;;;;;;IAYI;AACJ,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GAEd,SAAS;IACP,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,aAAa;IAC1D,YAAY,EAAE,MAAM;IACpB,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,SAAS,CAoDZ;AAOD;;;;;;;IAOI;AACJ,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAuC5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoC5E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,MAAM,EAMP,MAAM,QAAQ,CAAA;AAMf;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB7D;AAED;;;;;;;;;;;;IAYI;AACJ,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,GAEd,SAAS;IACP,QAAQ,EAAE,aAAa,GAAG,gBAAgB,GAAG,aAAa;IAC1D,YAAY,EAAE,MAAM;IACpB,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,SAAS,CAoDZ;AAOD;;;;;;;IAOI;AACJ,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CA2C5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoC5E"}
@@ -97,7 +97,7 @@ export function parseWithFragment(selector, data) {
97
97
  }
98
98
  // join truthy property names, separated by a dot
99
99
  function j(...args) {
100
- return args.filter(Boolean).join('.');
100
+ return args.reduce((acc, v) => (!v ? acc : acc ? acc + (v.match(/^\w/) ? '.' : '') + v : v), '');
101
101
  }
102
102
  /**
103
103
  * Recursively parse error data, returning an array of key/value pairs, where key is the path to
@@ -113,7 +113,12 @@ export function recursiveParseError(key, data) {
113
113
  return key ? [[key, data.toArray()]] : [];
114
114
  let kv;
115
115
  try {
116
- kv = Object.entries(data.toObject()).map(([k, v]) => [j(key, k), v]);
116
+ const obj = data.toObject();
117
+ const keys = Object.keys(obj);
118
+ // eslint-disable-next-line no-restricted-syntax
119
+ if (keys.length > 0 && keys.every((k) => k.startsWith('_')))
120
+ throw new Error('not an obj');
121
+ kv = Object.entries(obj).map(([k, v]) => [j(key, k), v]);
117
122
  }
118
123
  catch (_) {
119
124
  kv = data.toArray().map((v, i) => [j(key, `[${i}]`), v]);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/evm/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type BytesLike } from 'ethers';
2
+ import { type EVMExtraArgsV1, type EVMExtraArgsV2, type ExtraArgs, type GenericExtraArgsV3, type SVMExtraArgsV1, type SuiExtraArgsV1 } from '../extra-args.ts';
3
+ /**
4
+ * Decodes extra arguments from a CCIP message.
5
+ * @param extraArgs - Encoded extra arguments bytes.
6
+ * @returns Decoded extra arguments with tag, or undefined if unknown format.
7
+ */
8
+ export declare function decodeExtraArgs(extraArgs: BytesLike): (EVMExtraArgsV1 & {
9
+ _tag: 'EVMExtraArgsV1';
10
+ }) | (EVMExtraArgsV2 & {
11
+ _tag: 'EVMExtraArgsV2';
12
+ }) | (GenericExtraArgsV3 & {
13
+ _tag: 'GenericExtraArgsV3';
14
+ }) | (SVMExtraArgsV1 & {
15
+ _tag: 'SVMExtraArgsV1';
16
+ }) | (SuiExtraArgsV1 & {
17
+ _tag: 'SuiExtraArgsV1';
18
+ }) | undefined;
19
+ /**
20
+ * Encodes extra arguments for a CCIP message.
21
+ * @param args - Extra arguments to encode.
22
+ * @returns Encoded extra arguments as hex string.
23
+ */
24
+ export declare function encodeExtraArgs(args: ExtraArgs | undefined): string;
25
+ //# sourceMappingURL=extra-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra-args.d.ts","sourceRoot":"","sources":["../../src/evm/extra-args.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAUf,MAAM,QAAQ,CAAA;AAEf,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EAMpB,MAAM,kBAAkB,CAAA;AA+OzB;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,GAElB,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC,GACrD,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,CAAC,cAAc,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC7C,SAAS,CAmCZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAwCnE"}
@@ -0,0 +1,309 @@
1
+ import { concat, dataSlice, encodeBase58, getAddress, hexlify, toBeHex, toBigInt, toNumber, zeroPadValue, } from 'ethers';
2
+ import { EVMExtraArgsV1Tag, EVMExtraArgsV2Tag, GenericExtraArgsV3Tag, SVMExtraArgsV1Tag, SuiExtraArgsV1Tag, } from "../extra-args.js";
3
+ import { DEFAULT_GAS_LIMIT } from "../shared/constants.js";
4
+ import { getAddressBytes, getDataBytes } from "../utils.js";
5
+ import { defaultAbiCoder } from "./const.js";
6
+ import { resultToObject } from "./types.js";
7
+ // ABI type strings for extra args encoding
8
+ const EVMExtraArgsV1ABI = 'tuple(uint256 gasLimit)';
9
+ const EVMExtraArgsV2ABI = 'tuple(uint256 gasLimit, bool allowOutOfOrderExecution)';
10
+ const SVMExtraArgsV1ABI = 'tuple(uint32 computeUnits, uint64 accountIsWritableBitmap, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] accounts)';
11
+ const SuiExtraArgsV1ABI = 'tuple(uint256 gasLimit, bool allowOutOfOrderExecution, bytes32 tokenReceiver, bytes32[] receiverObjectIds)';
12
+ /**
13
+ * Encodes GenericExtraArgsV3 using tightly packed binary format.
14
+ *
15
+ * Binary format:
16
+ * - tag (4 bytes): 0xa69dd4aa
17
+ * - gasLimit (4 bytes): uint32 big-endian
18
+ * - blockConfirmations (2 bytes): uint16 big-endian
19
+ * - ccvsLength (1 byte): uint8
20
+ * - For each CCV:
21
+ * - ccvAddressLength (1 byte): 0 or 20
22
+ * - ccvAddress (0 or 20 bytes)
23
+ * - ccvArgsLength (2 bytes): uint16 big-endian
24
+ * - ccvArgs (variable)
25
+ * - executorLength (1 byte): 0 or 20
26
+ * - executor (0 or 20 bytes)
27
+ * - executorArgsLength (2 bytes): uint16 big-endian
28
+ * - executorArgs (variable)
29
+ * - tokenReceiverLength (1 byte): uint8
30
+ * - tokenReceiver (variable)
31
+ * - tokenArgsLength (2 bytes): uint16 big-endian
32
+ * - tokenArgs (variable)
33
+ */
34
+ function encodeExtraArgsV3(args) {
35
+ const parts = [];
36
+ // Tag (4 bytes)
37
+ parts.push(getDataBytes(GenericExtraArgsV3Tag));
38
+ // gasLimit (4 bytes, uint32 big-endian)
39
+ parts.push(getDataBytes(toBeHex(args.gasLimit, 4)));
40
+ // blockConfirmations (2 bytes, uint16 big-endian)
41
+ parts.push(getDataBytes(toBeHex(args.blockConfirmations, 2)));
42
+ // ccvsLength (1 byte)
43
+ parts.push(new Uint8Array([args.ccvs.length]));
44
+ // For each CCV
45
+ for (let i = 0; i < args.ccvs.length; i++) {
46
+ const ccvAddress = args.ccvs[i];
47
+ const ccvArgsBytes = getDataBytes(args.ccvArgs[i] ?? '0x');
48
+ if (ccvAddress && ccvAddress !== '' && ccvAddress !== '0x') {
49
+ // ccvAddressLength = 20
50
+ parts.push(new Uint8Array([20]));
51
+ // ccvAddress (20 bytes)
52
+ parts.push(getDataBytes(ccvAddress));
53
+ }
54
+ else {
55
+ // ccvAddressLength = 0
56
+ parts.push(new Uint8Array([0]));
57
+ }
58
+ // ccvArgsLength (2 bytes, uint16 big-endian)
59
+ parts.push(getDataBytes(toBeHex(ccvArgsBytes.length, 2)));
60
+ // ccvArgs (variable)
61
+ if (ccvArgsBytes.length > 0) {
62
+ parts.push(ccvArgsBytes);
63
+ }
64
+ }
65
+ // executorLength (1 byte)
66
+ if (args.executor && args.executor !== '' && args.executor !== '0x') {
67
+ parts.push(new Uint8Array([20]));
68
+ parts.push(getDataBytes(args.executor));
69
+ }
70
+ else {
71
+ parts.push(new Uint8Array([0]));
72
+ }
73
+ // Convert BytesLike fields to Uint8Array
74
+ const executorArgsBytes = getDataBytes(args.executorArgs);
75
+ const tokenReceiverBytes = getDataBytes(args.tokenReceiver);
76
+ const tokenArgsBytes = getDataBytes(args.tokenArgs);
77
+ // executorArgsLength (2 bytes, uint16 big-endian)
78
+ parts.push(getDataBytes(toBeHex(executorArgsBytes.length, 2)));
79
+ // executorArgs (variable)
80
+ if (executorArgsBytes.length > 0) {
81
+ parts.push(executorArgsBytes);
82
+ }
83
+ // tokenReceiverLength (1 byte)
84
+ parts.push(new Uint8Array([tokenReceiverBytes.length]));
85
+ // tokenReceiver (variable)
86
+ if (tokenReceiverBytes.length > 0) {
87
+ parts.push(tokenReceiverBytes);
88
+ }
89
+ // tokenArgsLength (2 bytes, uint16 big-endian)
90
+ parts.push(getDataBytes(toBeHex(tokenArgsBytes.length, 2)));
91
+ // tokenArgs (variable)
92
+ if (tokenArgsBytes.length > 0) {
93
+ parts.push(tokenArgsBytes);
94
+ }
95
+ return hexlify(concat(parts));
96
+ }
97
+ /**
98
+ * Decodes GenericExtraArgsV3 from tightly packed binary format.
99
+ * @param data - Bytes to decode (without the tag prefix).
100
+ * @returns Decoded GenericExtraArgsV3 or undefined if parsing fails.
101
+ */
102
+ function decodeExtraArgsV3(data) {
103
+ let offset = 0;
104
+ // gasLimit (4 bytes, uint32 big-endian)
105
+ if (offset + 4 > data.length)
106
+ return undefined;
107
+ const gasLimit = toBigInt(data.subarray(offset, offset + 4));
108
+ offset += 4;
109
+ // blockConfirmations (2 bytes, uint16 big-endian)
110
+ if (offset + 2 > data.length)
111
+ return undefined;
112
+ const blockConfirmations = toNumber(data.subarray(offset, offset + 2));
113
+ offset += 2;
114
+ // ccvsLength (1 byte)
115
+ if (offset + 1 > data.length)
116
+ return undefined;
117
+ const ccvsLength = data[offset];
118
+ offset += 1;
119
+ const ccvs = [];
120
+ const ccvArgs = [];
121
+ // For each CCV
122
+ for (let i = 0; i < ccvsLength; i++) {
123
+ // ccvAddressLength (1 byte)
124
+ if (offset + 1 > data.length)
125
+ return undefined;
126
+ const ccvAddrLen = data[offset];
127
+ offset += 1;
128
+ // ccvAddress (0 or 20 bytes)
129
+ if (ccvAddrLen === 20) {
130
+ if (offset + 20 > data.length)
131
+ return undefined;
132
+ ccvs.push(getAddress(hexlify(data.slice(offset, offset + 20))));
133
+ offset += 20;
134
+ }
135
+ else if (ccvAddrLen === 0) {
136
+ ccvs.push('');
137
+ }
138
+ else {
139
+ return undefined; // Invalid address length
140
+ }
141
+ // ccvArgsLength (2 bytes, uint16 big-endian)
142
+ if (offset + 2 > data.length)
143
+ return undefined;
144
+ const ccvArgsLen = toNumber(data.subarray(offset, offset + 2));
145
+ offset += 2;
146
+ // ccvArgs (variable)
147
+ if (offset + ccvArgsLen > data.length)
148
+ return undefined;
149
+ ccvArgs.push(hexlify(data.slice(offset, offset + ccvArgsLen)));
150
+ offset += ccvArgsLen;
151
+ }
152
+ // executorLength (1 byte)
153
+ if (offset + 1 > data.length)
154
+ return undefined;
155
+ const executorLen = data[offset];
156
+ offset += 1;
157
+ // executor (0 or 20 bytes)
158
+ let executor = '';
159
+ if (executorLen === 20) {
160
+ if (offset + 20 > data.length)
161
+ return undefined;
162
+ executor = getAddress(hexlify(data.slice(offset, offset + 20)));
163
+ offset += 20;
164
+ }
165
+ else if (executorLen !== 0) {
166
+ return undefined; // Invalid executor length
167
+ }
168
+ // executorArgsLength (2 bytes, uint16 big-endian)
169
+ if (offset + 2 > data.length)
170
+ return undefined;
171
+ const executorArgsLen = toNumber(data.subarray(offset, offset + 2));
172
+ offset += 2;
173
+ // executorArgs (variable)
174
+ if (offset + executorArgsLen > data.length)
175
+ return undefined;
176
+ const executorArgs = hexlify(data.slice(offset, offset + executorArgsLen));
177
+ offset += executorArgsLen;
178
+ // tokenReceiverLength (1 byte)
179
+ if (offset + 1 > data.length)
180
+ return undefined;
181
+ const tokenReceiverLen = data[offset];
182
+ offset += 1;
183
+ // tokenReceiver (variable)
184
+ if (offset + tokenReceiverLen > data.length)
185
+ return undefined;
186
+ const tokenReceiverBytes = data.slice(offset, offset + tokenReceiverLen);
187
+ offset += tokenReceiverLen;
188
+ // Convert tokenReceiver bytes to string
189
+ let tokenReceiver;
190
+ if (tokenReceiverLen === 0) {
191
+ tokenReceiver = '';
192
+ }
193
+ else if (tokenReceiverLen === 20) {
194
+ // 20 bytes = EVM address, return checksummed
195
+ tokenReceiver = getAddress(hexlify(tokenReceiverBytes));
196
+ }
197
+ else {
198
+ // Other lengths: return as hex string
199
+ tokenReceiver = hexlify(tokenReceiverBytes);
200
+ }
201
+ // tokenArgsLength (2 bytes, uint16 big-endian)
202
+ if (offset + 2 > data.length)
203
+ return undefined;
204
+ const tokenArgsLen = toNumber(data.subarray(offset, offset + 2));
205
+ offset += 2;
206
+ // tokenArgs (variable)
207
+ if (offset + tokenArgsLen > data.length)
208
+ return undefined;
209
+ const tokenArgs = hexlify(data.slice(offset, offset + tokenArgsLen));
210
+ offset += tokenArgsLen;
211
+ return {
212
+ gasLimit,
213
+ blockConfirmations,
214
+ ccvs,
215
+ ccvArgs,
216
+ executor,
217
+ executorArgs,
218
+ tokenReceiver,
219
+ tokenArgs,
220
+ };
221
+ }
222
+ /**
223
+ * Decodes extra arguments from a CCIP message.
224
+ * @param extraArgs - Encoded extra arguments bytes.
225
+ * @returns Decoded extra arguments with tag, or undefined if unknown format.
226
+ */
227
+ export function decodeExtraArgs(extraArgs) {
228
+ const data = getDataBytes(extraArgs), tag = dataSlice(data, 0, 4);
229
+ switch (tag) {
230
+ case EVMExtraArgsV1Tag: {
231
+ const args = defaultAbiCoder.decode([EVMExtraArgsV1ABI], dataSlice(data, 4));
232
+ return { ...resultToObject(args[0]), _tag: 'EVMExtraArgsV1' };
233
+ }
234
+ case EVMExtraArgsV2Tag: {
235
+ const args = defaultAbiCoder.decode([EVMExtraArgsV2ABI], dataSlice(data, 4));
236
+ return { ...resultToObject(args[0]), _tag: 'EVMExtraArgsV2' };
237
+ }
238
+ case GenericExtraArgsV3Tag: {
239
+ const parsed = decodeExtraArgsV3(data.slice(4));
240
+ if (!parsed)
241
+ return undefined;
242
+ return { ...parsed, _tag: 'GenericExtraArgsV3' };
243
+ }
244
+ case SVMExtraArgsV1Tag: {
245
+ const args = defaultAbiCoder.decode([SVMExtraArgsV1ABI], dataSlice(data, 4));
246
+ const parsed = resultToObject(args[0]);
247
+ parsed.tokenReceiver = encodeBase58(parsed.tokenReceiver);
248
+ parsed.accounts = parsed.accounts.map((a) => encodeBase58(a));
249
+ return { ...parsed, _tag: 'SVMExtraArgsV1' };
250
+ }
251
+ case SuiExtraArgsV1Tag: {
252
+ const args = defaultAbiCoder.decode([SuiExtraArgsV1ABI], dataSlice(data, 4));
253
+ const parsed = resultToObject(args[0]);
254
+ return {
255
+ ...parsed,
256
+ _tag: 'SuiExtraArgsV1',
257
+ };
258
+ }
259
+ default:
260
+ return undefined;
261
+ }
262
+ }
263
+ /**
264
+ * Encodes extra arguments for a CCIP message.
265
+ * @param args - Extra arguments to encode.
266
+ * @returns Encoded extra arguments as hex string.
267
+ */
268
+ export function encodeExtraArgs(args) {
269
+ if (!args)
270
+ return '0x';
271
+ if ('blockConfirmations' in args) {
272
+ // GenericExtraArgsV3 - tightly packed binary encoding
273
+ return encodeExtraArgsV3(args);
274
+ }
275
+ else if ('computeUnits' in args) {
276
+ return concat([
277
+ SVMExtraArgsV1Tag,
278
+ defaultAbiCoder.encode([SVMExtraArgsV1ABI], [
279
+ {
280
+ ...args,
281
+ tokenReceiver: getAddressBytes(args.tokenReceiver),
282
+ accounts: args.accounts.map((a) => getAddressBytes(a)),
283
+ },
284
+ ]),
285
+ ]);
286
+ }
287
+ else if ('receiverObjectIds' in args) {
288
+ return concat([
289
+ SuiExtraArgsV1Tag,
290
+ defaultAbiCoder.encode([SuiExtraArgsV1ABI], [
291
+ {
292
+ ...args,
293
+ tokenReceiver: zeroPadValue(getAddressBytes(args.tokenReceiver), 32),
294
+ receiverObjectIds: args.receiverObjectIds.map((a) => getDataBytes(a)),
295
+ },
296
+ ]),
297
+ ]);
298
+ }
299
+ else if ('allowOutOfOrderExecution' in args) {
300
+ if (args.gasLimit == null)
301
+ args.gasLimit = DEFAULT_GAS_LIMIT;
302
+ return concat([EVMExtraArgsV2Tag, defaultAbiCoder.encode([EVMExtraArgsV2ABI], [args])]);
303
+ }
304
+ else if (args.gasLimit != null) {
305
+ return concat([EVMExtraArgsV1Tag, defaultAbiCoder.encode([EVMExtraArgsV1ABI], [args])]);
306
+ }
307
+ return '0x';
308
+ }
309
+ //# sourceMappingURL=extra-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra-args.js","sourceRoot":"","sources":["../../src/evm/extra-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,QAAQ,CAAA;AAEf,OAAO,EAOL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,2CAA2C;AAC3C,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AACnD,MAAM,iBAAiB,GAAG,wDAAwD,CAAA;AAClF,MAAM,iBAAiB,GACrB,sIAAsI,CAAA;AACxI,MAAM,iBAAiB,GACrB,4GAA4G,CAAA;AAE9G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,iBAAiB,CAAC,IAAwB;IACjD,MAAM,KAAK,GAAiB,EAAE,CAAA;IAE9B,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/C,wCAAwC;IACxC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE7D,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAE9C,eAAe;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAA;QAChC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;QAE1D,IAAI,UAAU,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3D,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChC,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,6CAA6C;QAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEzD,qBAAqB;QACrB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzD,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEnD,kDAAkD;IAClD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9D,0BAA0B;IAC1B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC/B,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEvD,2BAA2B;IAC3B,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAChC,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D,uBAAuB;IACvB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAgB;IACzC,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,wCAAwC;IACxC,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5D,MAAM,IAAI,CAAC,CAAA;IAEX,kDAAkD;IAClD,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACtE,MAAM,IAAI,CAAC,CAAA;IAEX,sBAAsB;IACtB,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAE,CAAA;IAChC,MAAM,IAAI,CAAC,CAAA;IAEX,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,eAAe;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,4BAA4B;QAC5B,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAE,CAAA;QAChC,MAAM,IAAI,CAAC,CAAA;QAEX,6BAA6B;QAC7B,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/D,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAA,CAAC,yBAAyB;QAC5C,CAAC;QAED,6CAA6C;QAC7C,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,IAAI,CAAC,CAAA;QAEX,qBAAqB;QACrB,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QACvD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,IAAI,UAAU,CAAA;IACtB,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAE,CAAA;IACjC,MAAM,IAAI,CAAC,CAAA;IAEX,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC/C,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAA,CAAC,0BAA0B;IAC7C,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,IAAI,CAAC,CAAA;IAEX,0BAA0B;IAC1B,IAAI,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAA;IAC1E,MAAM,IAAI,eAAe,CAAA;IAEzB,+BAA+B;IAC/B,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAE,CAAA;IACtC,MAAM,IAAI,CAAC,CAAA;IAEX,2BAA2B;IAC3B,IAAI,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAA;IACxE,MAAM,IAAI,gBAAgB,CAAA;IAE1B,wCAAwC;IACxC,IAAI,aAAqB,CAAA;IACzB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC3B,aAAa,GAAG,EAAE,CAAA;IACpB,CAAC;SAAM,IAAI,gBAAgB,KAAK,EAAE,EAAE,CAAC;QACnC,6CAA6C;QAC7C,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACzD,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IAED,+CAA+C;IAC/C,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,IAAI,CAAC,CAAA;IAEX,uBAAuB;IACvB,IAAI,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAA;IACpE,MAAM,IAAI,YAAY,CAAA;IAEtB,OAAO;QACL,QAAQ;QACR,kBAAkB;QAClB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,SAAS;KACV,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAoB;IAQpB,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,EAClC,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,OAAO,EAAE,GAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAoB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;QACnF,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,OAAO,EAAE,GAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAoB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;QACnF,CAAC;QACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAC7B,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAA;QAClD,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAmB,CAAA;YACxD,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YACzD,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACrE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;QAC9C,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAmB,CAAA;YACxD,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE,gBAAgB;aACvB,CAAA;QACH,CAAC;QACD;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,sDAAsD;QACtD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;SAAM,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;YACZ,iBAAiB;YACjB,eAAe,CAAC,MAAM,CACpB,CAAC,iBAAiB,CAAC,EACnB;gBACE;oBACE,GAAG,IAAI;oBACP,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;oBAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBACvD;aACF,CACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;YACZ,iBAAiB;YACjB,eAAe,CAAC,MAAM,CACpB,CAAC,iBAAiB,CAAC,EACnB;gBACE;oBACE,GAAG,IAAI;oBACP,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;oBACpE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBACtE;aACF,CACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,0BAA0B,IAAI,IAAI,EAAE,CAAC;QAC9C,IAAK,IAA6B,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAA;QACtF,OAAO,MAAM,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,CAAC;SAAM,IAAK,IAA6B,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/evm/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAWxB,MAAM,QAAQ,CAAA;AAIf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AA8DxC,KAAK,mBAAmB,GAAG,IAAI,CAC7B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,SAAS,GAAG,UAAU,CACvB,GAAG;IAEF,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,mBAmDrB"}
1
+ {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/evm/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAWxB,MAAM,QAAQ,CAAA;AAIf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AA+DxC,KAAK,mBAAmB,GAAG,IAAI,CAC7B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,SAAS,GAAG,UAAU,CACvB,GAAG;IAEF,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,mBAAmB,mBAmDrB"}
package/dist/evm/gas.js CHANGED
@@ -11,30 +11,25 @@ const ccipReceive = FunctionFragment.from({
11
11
  inputs: RouterABI.find((v) => v.type === 'function' && v.name === 'routeMessage').inputs.slice(0, 1),
12
12
  outputs: [],
13
13
  });
14
- const transferFragment = interfaces.Token.getFunction('transfer');
15
14
  /**
16
15
  * Finds suitable token balance slot by simulating a fake transfer between 2 non-existent accounts,
17
16
  * with state overrides for the holders' balance, which reverts if override slot is wrong
18
17
  */
19
- const findBalancesSlot = memoize(async function findBalancesSlot_(token, provider) {
20
- const fakeHolder = getAddress(hexlify(randomBytes(20)));
21
- const fakeRecipient = getAddress(hexlify(randomBytes(20)));
22
- const fakeAmount = 1e7;
23
- const calldata = concat([
24
- transferFragment.selector,
25
- defaultAbiCoder.encode(transferFragment.inputs, [fakeRecipient, fakeAmount]),
26
- ]);
18
+ const findBalancesSlot = memoize(async function findBalancesSlot_(token, provider, holder = getAddress(hexlify(randomBytes(20))), recipient = getAddress(hexlify(randomBytes(20)))) {
19
+ const contract = new Contract(token, interfaces.Token, provider);
20
+ const fakeAmount = (await contract.totalSupply()) + 1n;
21
+ const calldata = interfaces.Token.encodeFunctionData('transfer', [recipient, fakeAmount]);
27
22
  let firstErr;
28
23
  // try range(0..15), but start with most probable 0 (common ERC20) and 9 (USDC)
29
24
  for (const slot of [0, 9, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15]) {
30
25
  try {
31
26
  await provider.send('eth_estimateGas', [
32
- { from: fakeHolder, to: token, data: calldata },
27
+ { from: holder, to: token, data: calldata },
33
28
  'latest',
34
29
  {
35
30
  [token]: {
36
31
  stateDiff: {
37
- [solidityPackedKeccak256(['uint256', 'uint256'], [fakeHolder, slot])]: toBeHex(fakeAmount, 32),
32
+ [solidityPackedKeccak256(['uint256', 'uint256'], [holder, slot])]: toBeHex(fakeAmount, 32),
38
33
  },
39
34
  },
40
35
  },
@@ -64,7 +59,7 @@ export async function estimateExecGas({ provider, router, receiver, message, })
64
59
  destAmounts[token] = currentBalance;
65
60
  }
66
61
  destAmounts[token] += amount;
67
- const balancesSlot = await findBalancesSlot(token, provider);
62
+ const balancesSlot = await findBalancesSlot(token, provider, receiver, router);
68
63
  stateOverrides[token] = {
69
64
  stateDiff: {
70
65
  [solidityPackedKeccak256(['uint256', 'uint256'], [receiver, balancesSlot])]: toBeHex(destAmounts[token], 32),