@wormhole-labs/cctp-executor-route 0.3.0 → 0.5.0-beta.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 (148) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/aptos/executor.d.ts +1 -1
  3. package/dist/cjs/aptos/executor.d.ts.map +1 -1
  4. package/dist/cjs/aptos/executor.js +1 -1
  5. package/dist/cjs/aptos/executor.js.map +1 -1
  6. package/dist/cjs/consts.d.ts +22 -1
  7. package/dist/cjs/consts.d.ts.map +1 -1
  8. package/dist/cjs/consts.js +224 -6
  9. package/dist/cjs/consts.js.map +1 -1
  10. package/dist/cjs/evm/executor.d.ts +1 -1
  11. package/dist/cjs/evm/executor.d.ts.map +1 -1
  12. package/dist/cjs/evm/executor.js +1 -1
  13. package/dist/cjs/evm/executor.js.map +1 -1
  14. package/dist/cjs/evm/executorV2.d.ts +25 -0
  15. package/dist/cjs/evm/executorV2.d.ts.map +1 -0
  16. package/dist/cjs/evm/executorV2.js +100 -0
  17. package/dist/cjs/evm/executorV2.js.map +1 -0
  18. package/dist/cjs/evm/index.d.ts +1 -0
  19. package/dist/cjs/evm/index.d.ts.map +1 -1
  20. package/dist/cjs/evm/index.js +3 -0
  21. package/dist/cjs/evm/index.js.map +1 -1
  22. package/dist/cjs/index.d.ts +1 -91
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +15 -334
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/layouts/circle.d.ts +161 -0
  27. package/dist/cjs/layouts/circle.d.ts.map +1 -0
  28. package/dist/cjs/layouts/circle.js +48 -0
  29. package/dist/cjs/layouts/circle.js.map +1 -0
  30. package/dist/cjs/layouts/index.d.ts +1 -1
  31. package/dist/cjs/layouts/index.d.ts.map +1 -1
  32. package/dist/cjs/layouts/index.js +1 -1
  33. package/dist/cjs/layouts/index.js.map +1 -1
  34. package/dist/cjs/routes/cctpV1.d.ts +92 -0
  35. package/dist/cjs/routes/cctpV1.d.ts.map +1 -0
  36. package/dist/cjs/routes/cctpV1.js +190 -0
  37. package/dist/cjs/routes/cctpV1.js.map +1 -0
  38. package/dist/cjs/routes/cctpV2Base.d.ts +57 -0
  39. package/dist/cjs/routes/cctpV2Base.d.ts.map +1 -0
  40. package/dist/cjs/routes/cctpV2Base.js +179 -0
  41. package/dist/cjs/routes/cctpV2Base.js.map +1 -0
  42. package/dist/cjs/routes/cctpV2Fast.d.ts +42 -0
  43. package/dist/cjs/routes/cctpV2Fast.d.ts.map +1 -0
  44. package/dist/cjs/routes/cctpV2Fast.js +138 -0
  45. package/dist/cjs/routes/cctpV2Fast.js.map +1 -0
  46. package/dist/cjs/routes/cctpV2Standard.d.ts +42 -0
  47. package/dist/cjs/routes/cctpV2Standard.d.ts.map +1 -0
  48. package/dist/cjs/routes/cctpV2Standard.js +126 -0
  49. package/dist/cjs/routes/cctpV2Standard.js.map +1 -0
  50. package/dist/cjs/routes/helpers.d.ts +12 -0
  51. package/dist/cjs/routes/helpers.d.ts.map +1 -0
  52. package/dist/cjs/routes/helpers.js +181 -0
  53. package/dist/cjs/routes/helpers.js.map +1 -0
  54. package/dist/cjs/routes/index.d.ts +5 -0
  55. package/dist/cjs/routes/index.d.ts.map +1 -0
  56. package/dist/cjs/routes/index.js +21 -0
  57. package/dist/cjs/routes/index.js.map +1 -0
  58. package/dist/cjs/sui/executor.d.ts +1 -1
  59. package/dist/cjs/sui/executor.d.ts.map +1 -1
  60. package/dist/cjs/svm/executor.d.ts +1 -1
  61. package/dist/cjs/svm/executor.d.ts.map +1 -1
  62. package/dist/cjs/svm/executor.js +1 -1
  63. package/dist/cjs/svm/executor.js.map +1 -1
  64. package/dist/cjs/types.d.ts +8 -1
  65. package/dist/cjs/types.d.ts.map +1 -1
  66. package/dist/cjs/utils.d.ts +20 -1
  67. package/dist/cjs/utils.d.ts.map +1 -1
  68. package/dist/cjs/utils.js +86 -2
  69. package/dist/cjs/utils.js.map +1 -1
  70. package/dist/esm/aptos/executor.d.ts +1 -1
  71. package/dist/esm/aptos/executor.d.ts.map +1 -1
  72. package/dist/esm/aptos/executor.js +2 -2
  73. package/dist/esm/aptos/executor.js.map +1 -1
  74. package/dist/esm/consts.d.ts +22 -1
  75. package/dist/esm/consts.d.ts.map +1 -1
  76. package/dist/esm/consts.js +217 -5
  77. package/dist/esm/consts.js.map +1 -1
  78. package/dist/esm/evm/executor.d.ts +1 -1
  79. package/dist/esm/evm/executor.d.ts.map +1 -1
  80. package/dist/esm/evm/executor.js +2 -2
  81. package/dist/esm/evm/executor.js.map +1 -1
  82. package/dist/esm/evm/executorV2.d.ts +25 -0
  83. package/dist/esm/evm/executorV2.d.ts.map +1 -0
  84. package/dist/esm/evm/executorV2.js +96 -0
  85. package/dist/esm/evm/executorV2.js.map +1 -0
  86. package/dist/esm/evm/index.d.ts +1 -0
  87. package/dist/esm/evm/index.d.ts.map +1 -1
  88. package/dist/esm/evm/index.js +3 -0
  89. package/dist/esm/evm/index.js.map +1 -1
  90. package/dist/esm/index.d.ts +1 -91
  91. package/dist/esm/index.d.ts.map +1 -1
  92. package/dist/esm/index.js +1 -331
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/layouts/circle.d.ts +161 -0
  95. package/dist/esm/layouts/circle.d.ts.map +1 -0
  96. package/dist/esm/layouts/circle.js +43 -0
  97. package/dist/esm/layouts/circle.js.map +1 -0
  98. package/dist/esm/layouts/index.d.ts +1 -1
  99. package/dist/esm/layouts/index.d.ts.map +1 -1
  100. package/dist/esm/layouts/index.js +1 -1
  101. package/dist/esm/layouts/index.js.map +1 -1
  102. package/dist/esm/routes/cctpV1.d.ts +92 -0
  103. package/dist/esm/routes/cctpV1.d.ts.map +1 -0
  104. package/dist/esm/routes/cctpV1.js +185 -0
  105. package/dist/esm/routes/cctpV1.js.map +1 -0
  106. package/dist/esm/routes/cctpV2Base.d.ts +57 -0
  107. package/dist/esm/routes/cctpV2Base.d.ts.map +1 -0
  108. package/dist/esm/routes/cctpV2Base.js +175 -0
  109. package/dist/esm/routes/cctpV2Base.js.map +1 -0
  110. package/dist/esm/routes/cctpV2Fast.d.ts +42 -0
  111. package/dist/esm/routes/cctpV2Fast.d.ts.map +1 -0
  112. package/dist/esm/routes/cctpV2Fast.js +133 -0
  113. package/dist/esm/routes/cctpV2Fast.js.map +1 -0
  114. package/dist/esm/routes/cctpV2Standard.d.ts +42 -0
  115. package/dist/esm/routes/cctpV2Standard.d.ts.map +1 -0
  116. package/dist/esm/routes/cctpV2Standard.js +121 -0
  117. package/dist/esm/routes/cctpV2Standard.js.map +1 -0
  118. package/dist/esm/routes/helpers.d.ts +12 -0
  119. package/dist/esm/routes/helpers.d.ts.map +1 -0
  120. package/dist/esm/routes/helpers.js +177 -0
  121. package/dist/esm/routes/helpers.js.map +1 -0
  122. package/dist/esm/routes/index.d.ts +5 -0
  123. package/dist/esm/routes/index.d.ts.map +1 -0
  124. package/dist/esm/routes/index.js +5 -0
  125. package/dist/esm/routes/index.js.map +1 -0
  126. package/dist/esm/sui/executor.d.ts +1 -1
  127. package/dist/esm/sui/executor.d.ts.map +1 -1
  128. package/dist/esm/svm/executor.d.ts +1 -1
  129. package/dist/esm/svm/executor.d.ts.map +1 -1
  130. package/dist/esm/svm/executor.js +2 -2
  131. package/dist/esm/svm/executor.js.map +1 -1
  132. package/dist/esm/types.d.ts +8 -1
  133. package/dist/esm/types.d.ts.map +1 -1
  134. package/dist/esm/utils.d.ts +20 -1
  135. package/dist/esm/utils.d.ts.map +1 -1
  136. package/dist/esm/utils.js +83 -3
  137. package/dist/esm/utils.js.map +1 -1
  138. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  139. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  140. package/package.json +8 -8
  141. package/dist/cjs/layouts/requestForExecution.d.ts +0 -18
  142. package/dist/cjs/layouts/requestForExecution.d.ts.map +0 -1
  143. package/dist/cjs/layouts/requestForExecution.js +0 -15
  144. package/dist/cjs/layouts/requestForExecution.js.map +0 -1
  145. package/dist/esm/layouts/requestForExecution.d.ts +0 -18
  146. package/dist/esm/layouts/requestForExecution.d.ts.map +0 -1
  147. package/dist/esm/layouts/requestForExecution.js +0 -12
  148. package/dist/esm/layouts/requestForExecution.js.map +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Transfer Example
4
4
 
5
- This project includes a script for testing a USDC token transfer using the CCTPv1 Executor route with a referrer fee. You can change the source and destination chains in the `examples/transfer.ts` file.
5
+ This project includes a script for testing a USDC token transfer using the CCTPv1 or CCTPv2 Executor routes with a referrer fee. You can change the source and destination chains in the `examples/transfer.ts` file.
6
6
 
7
7
  ### Prerequisites
8
8
 
@@ -2,7 +2,7 @@ import { Aptos } from "@aptos-labs/ts-sdk";
2
2
  import { type AccountAddress, type ChainAddress, type ChainsConfig, type Contracts, type Network, type Platform } from "@wormhole-foundation/sdk-connect";
3
3
  import { AptosChains, AptosUnsignedTransaction } from "@wormhole-foundation/sdk-aptos";
4
4
  import { CCTPExecutor } from "../types";
5
- import { QuoteDetails } from "..";
5
+ import { QuoteDetails } from "../routes/cctpV1";
6
6
  export declare class AptosCCTPExecutor<N extends Network, C extends AptosChains> implements CCTPExecutor<N, C> {
7
7
  readonly network: N;
8
8
  readonly chain: C;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,WAAW,EAEX,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,WAAW,CACrE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,KAAK;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,SAAS;WAkBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAWtC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA0CjD,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,WAAW,EAEX,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,WAAW,CACrE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,KAAK;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,SAAS;WAkBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAWtC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA0CjD,OAAO,CAAC,gBAAgB;CAazB"}
@@ -24,7 +24,7 @@ class AptosCCTPExecutor {
24
24
  throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);
25
25
  }
26
26
  this.usdcId = usdcId;
27
- const shimContract = consts_1.shimContracts[network]?.[chain];
27
+ const shimContract = consts_1.shimContractsV1[network]?.[chain];
28
28
  if (!shimContract)
29
29
  throw new Error(`Shim contract for ${chain} not found`);
30
30
  this.shimContract = shimContract;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":";;;AAAA,+CAM4B;AAC5B,kEAS0C;AAC1C,8DAKwC;AAExC,sCAA0C;AAG1C,MAAa,iBAAiB;IAOjB;IACA;IACA;IACA;IAPF,MAAM,CAAS;IACf,YAAY,CAAS;IAE9B,YACW,OAAU,EACV,KAAQ,EACR,QAAe,EACf,SAAoB;QAHpB,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,aAAQ,GAAR,QAAQ,CAAO;QACf,cAAS,GAAT,SAAS,CAAW;QAE7B,IAAI,OAAO,KAAK,QAAQ;YACtB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,oBAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,YAAY,GAAG,sBAAa,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,QAAe,EACf,MAAiC;QAEjC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,yBAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC;QAErE,OAAO,IAAI,iBAAiB,CAAC,OAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ,CACb,MAAyB,EACzB,SAAuB,EACvB,OAAqB;QAErB,MAAM,aAAa,GAAG,IAAI,wBAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,uBAAmB,CAAC,IAAI,CAC5C,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,CACtD,CAAC;QACF,MAAM,SAAS,GAAG,uBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;QAE7D,MAAM,iBAAiB,GAAG,oBAAM,CAAC,aAAa,CAAC,GAAG,CAChD,IAAI,CAAC,OAAO,EACZ,SAAS,CAAC,KAAK,CACf,CAAC;QAEH,MAAM,UAAU,GAAG,aAAa,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,wBAAY,CAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CACpC,CAAC,MAAM,EAAE,CAAC;QACX,MAAM,iBAAiB,GAEnB;YACF,MAAM;YACN,iBAAiB;YACjB,aAAa,CAAC,QAAQ,EAAE;YACxB,SAAS,CAAC,QAAQ,EAAE;YACpB,OAAO,CAAC,aAAa;YACrB,IAAA,uBAAS,EAAC,SAAS,CAAC,KAAK,CAAC;YAC1B,UAAU;YACV,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,eAAe;YACvB,KAAK;SACN,CAAC;QAEF,MAAM,EAAE,GAAwC;YAC9C,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,iDAAiD;YAC/E,iBAAiB;SAClB,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAChE,CAAC;IAEO,gBAAgB,CACtB,KAA0C,EAC1C,WAAmB,EACnB,iBAA0B,KAAK;QAE/B,OAAO,IAAI,oCAAwB,CACjC,KAAK,EACL,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC;CACF;AArGD,8CAqGC"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Chain, Network } from "@wormhole-foundation/sdk-connect";
2
2
  export declare const apiBaseUrl: Partial<Record<Network, string>>;
3
- export declare const shimContracts: Partial<Record<Network, Partial<Record<Chain, string>>>>;
3
+ export declare const shimContractsV1: Partial<Record<Network, Partial<Record<Chain, string>>>>;
4
+ export declare const shimContractsV2: Partial<Record<Network, Partial<Record<Chain, string>>>>;
4
5
  export type SuiExecutorIds = {
5
6
  executorId: string;
6
7
  executorRequestsId: string;
@@ -10,4 +11,24 @@ export declare const solanaExecutorId: Partial<Record<Network, string>>;
10
11
  export declare const SOLANA_MSG_VALUE_BASE_FEE = 5001n;
11
12
  export declare const gasLimits: Partial<Record<Network, Partial<Record<Chain, bigint>>>>;
12
13
  export declare const referrers: Partial<Record<Network, Partial<Record<Chain, string>>>>;
14
+ export type CircleV2Contracts = {
15
+ tokenMessengerV2: string;
16
+ messageTransmitterV2: string;
17
+ };
18
+ export declare const circleV2Contracts: Partial<Record<Network, Partial<Record<Chain, CircleV2Contracts>>>>;
19
+ export declare const circleV1Domains: Partial<Record<Network, Partial<Record<Chain, number>>>>;
20
+ export declare const isCircleV1Chain: (network: Network, chain: Chain) => boolean;
21
+ export declare const getCircleV1Domain: (network: Network, chain: Chain) => number;
22
+ export declare const circleV2Domains: Partial<Record<Network, Partial<Record<Chain, number>>>>;
23
+ export declare const isCircleV2Chain: (network: Network, chain: Chain) => boolean;
24
+ export declare const getCircleV2Domain: (network: Network, chain: Chain) => number;
25
+ export declare const getCircleV2Chain: (network: Network, domain: number) => Chain;
26
+ export declare const circleV2Api: Partial<Record<Network, string>>;
27
+ export declare enum CircleV2FinalityThreshold {
28
+ CONFIRMED = 1000,
29
+ FINALIZED = 2000
30
+ }
31
+ export declare const fastTransferETAs: Partial<Record<Network, Partial<Record<Chain, number>>>>;
32
+ export declare const isCircleV2FastChain: (network: Network, chain: Chain) => boolean;
33
+ export declare const usdcContracts: Partial<Record<Network, Partial<Record<Chain, string>>>>;
13
34
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAElE,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAGvD,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,OAAO,CACjC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAoBhD,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAanE,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAG7D,CAAC;AAGF,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAKhD,eAAO,MAAM,SAAS,EAAE,OAAO,CAC7B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAsBhD,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,OAAO,CAC7B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAsBhD,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.referrers = exports.gasLimits = exports.SOLANA_MSG_VALUE_BASE_FEE = exports.solanaExecutorId = exports.suiExecutorIds = exports.shimContracts = exports.apiBaseUrl = void 0;
3
+ exports.usdcContracts = exports.isCircleV2FastChain = exports.fastTransferETAs = exports.CircleV2FinalityThreshold = exports.circleV2Api = exports.getCircleV2Chain = exports.getCircleV2Domain = exports.isCircleV2Chain = exports.circleV2Domains = exports.getCircleV1Domain = exports.isCircleV1Chain = exports.circleV1Domains = exports.circleV2Contracts = exports.referrers = exports.gasLimits = exports.SOLANA_MSG_VALUE_BASE_FEE = exports.solanaExecutorId = exports.suiExecutorIds = exports.shimContractsV2 = exports.shimContractsV1 = exports.apiBaseUrl = void 0;
4
4
  exports.apiBaseUrl = {
5
5
  Testnet: "https://executor-testnet.labsapis.com",
6
6
  Mainnet: "https://executor.labsapis.com",
7
7
  };
8
- // Shim Contract Addresses (e.g. CCTPv1WithExecutor.sol)
9
- exports.shimContracts = {
8
+ // CCTPv1 Shim Contract Addresses (CCTPv1WithExecutor.sol)
9
+ exports.shimContractsV1 = {
10
10
  Testnet: {
11
11
  Aptos: "0x14a12d1fd6ef371b70c2113155534ec152ec7f779e281b54866c796c9a4a58d3",
12
12
  Avalanche: "0x2cfEC91B50f657Cc86Ec693542527ac3e03bF742",
@@ -26,6 +26,22 @@ exports.shimContracts = {
26
26
  Solana: "CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs",
27
27
  },
28
28
  };
29
+ // CCTPv2 Shim Contract Addresses (CCTPv2WithExecutor.sol)
30
+ exports.shimContractsV2 = {
31
+ Testnet: {
32
+ Avalanche: "0x4058F0C3924eDaB19c15597C438968ed49C1a213",
33
+ BaseSepolia: "0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",
34
+ Sepolia: "0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2",
35
+ },
36
+ Mainnet: {
37
+ Arbitrum: "0x8442d68524217601ed126f6859694E4B0C7c66A1",
38
+ Avalanche: "0x3952914628650Ca510404872D84DfF10A844C5B5",
39
+ Base: "0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",
40
+ Ethereum: "0x2cCf230467FE7387674BAa657747F0B5485c7fEC",
41
+ Linea: "0xc48c126468BE919068dE1983F00F65af759a4E87",
42
+ Sonic: "0xc39BF082ec91D9bC385F956D24a8D66C0c26223d",
43
+ },
44
+ };
29
45
  exports.suiExecutorIds = {
30
46
  Testnet: {
31
47
  executorId: "0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",
@@ -49,22 +65,27 @@ exports.SOLANA_MSG_VALUE_BASE_FEE = 5001n;
49
65
  exports.gasLimits = {
50
66
  Testnet: {
51
67
  Aptos: 5000n,
68
+ ArbitrumSepolia: 500000n,
52
69
  Avalanche: 200000n,
53
70
  BaseSepolia: 200000n,
71
+ Linea: 250000n,
54
72
  Sepolia: 200000n,
55
73
  Solana: 250000n,
74
+ Sonic: 250000n,
56
75
  Sui: 8000000n,
57
76
  },
58
77
  Mainnet: {
59
78
  Aptos: 5000n,
60
- Arbitrum: 400000n,
79
+ Arbitrum: 500000n,
61
80
  Avalanche: 250000n,
62
81
  Base: 250000n,
63
82
  Ethereum: 250000n,
83
+ Linea: 250000n,
64
84
  Optimism: 250000n,
65
85
  Polygon: 250000n,
66
86
  Unichain: 250000n,
67
87
  Solana: 250000n,
88
+ Sonic: 250000n,
68
89
  Sui: 8000000n,
69
90
  },
70
91
  };
@@ -80,15 +101,212 @@ exports.referrers = {
80
101
  },
81
102
  Mainnet: {
82
103
  Aptos: "0x1f177e724a874ab6267172a3049291c480fc665883e6a3ac95d0909492c09dc8",
83
- Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
84
- Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
85
104
  Arbitrum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
86
105
  Avalanche: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
87
106
  Base: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
88
107
  Ethereum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
89
108
  Optimism: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
109
+ Linea: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
90
110
  Polygon: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
91
111
  Unichain: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
112
+ Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
113
+ Sonic: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
114
+ Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
115
+ },
116
+ };
117
+ exports.circleV2Contracts = {
118
+ Testnet: {
119
+ ArbitrumSepolia: {
120
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
121
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
122
+ },
123
+ Avalanche: {
124
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
125
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
126
+ },
127
+ BaseSepolia: {
128
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
129
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
130
+ },
131
+ Linea: {
132
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
133
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
134
+ },
135
+ Sepolia: {
136
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
137
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
138
+ },
139
+ Sonic: {
140
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
141
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
142
+ },
143
+ },
144
+ Mainnet: {
145
+ Arbitrum: {
146
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
147
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
148
+ },
149
+ Avalanche: {
150
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
151
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
152
+ },
153
+ Base: {
154
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
155
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
156
+ },
157
+ Ethereum: {
158
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
159
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
160
+ },
161
+ Linea: {
162
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
163
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
164
+ },
165
+ Sonic: {
166
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
167
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
168
+ },
169
+ },
170
+ };
171
+ exports.circleV1Domains = {
172
+ Testnet: {
173
+ Sepolia: 0,
174
+ Avalanche: 1,
175
+ OptimismSepolia: 2,
176
+ ArbitrumSepolia: 3,
177
+ Solana: 5,
178
+ BaseSepolia: 6,
179
+ Polygon: 7,
180
+ Sui: 8,
181
+ Aptos: 9,
182
+ Unichain: 10,
183
+ },
184
+ Mainnet: {
185
+ Ethereum: 0,
186
+ Avalanche: 1,
187
+ Optimism: 2,
188
+ Arbitrum: 3,
189
+ Solana: 5,
190
+ Base: 6,
191
+ Polygon: 7,
192
+ Sui: 8,
193
+ Aptos: 9,
194
+ Unichain: 10,
195
+ },
196
+ };
197
+ const isCircleV1Chain = (network, chain) => {
198
+ const chains = Object.keys(exports.circleV1Domains[network] ?? {});
199
+ return chains.includes(chain);
200
+ };
201
+ exports.isCircleV1Chain = isCircleV1Chain;
202
+ const getCircleV1Domain = (network, chain) => {
203
+ const domain = exports.circleV1Domains[network]?.[chain];
204
+ if (domain === undefined) {
205
+ throw new Error(`CircleV1 domain not found for network ${network} and chain ${chain}`);
206
+ }
207
+ return domain;
208
+ };
209
+ exports.getCircleV1Domain = getCircleV1Domain;
210
+ exports.circleV2Domains = {
211
+ Testnet: {
212
+ Sepolia: 0,
213
+ Avalanche: 1,
214
+ ArbitrumSepolia: 3,
215
+ BaseSepolia: 6,
216
+ Linea: 11,
217
+ Sonic: 13,
218
+ },
219
+ Mainnet: {
220
+ Ethereum: 0,
221
+ Avalanche: 1,
222
+ Arbitrum: 3,
223
+ Base: 6,
224
+ Linea: 11,
225
+ Sonic: 13,
226
+ },
227
+ };
228
+ const isCircleV2Chain = (network, chain) => {
229
+ const chains = Object.keys(exports.circleV2Domains[network] ?? {});
230
+ return chains.includes(chain);
231
+ };
232
+ exports.isCircleV2Chain = isCircleV2Chain;
233
+ const getCircleV2Domain = (network, chain) => {
234
+ const domain = exports.circleV2Domains[network]?.[chain];
235
+ if (domain === undefined) {
236
+ throw new Error(`CircleV2 domain not found for network ${network} and chain ${chain}`);
237
+ }
238
+ return domain;
239
+ };
240
+ exports.getCircleV2Domain = getCircleV2Domain;
241
+ const getCircleV2Chain = (network, domain) => {
242
+ const chain = Object.entries(exports.circleV2Domains[network] ?? {}).find(([, d]) => d === domain)?.[0];
243
+ if (chain === undefined) {
244
+ throw new Error(`CircleV2 chain not found for network ${network} and domain ${domain}`);
245
+ }
246
+ return chain;
247
+ };
248
+ exports.getCircleV2Chain = getCircleV2Chain;
249
+ exports.circleV2Api = {
250
+ Testnet: "https://iris-api-sandbox.circle.com/v2",
251
+ Mainnet: "https://iris-api.circle.com/v2",
252
+ };
253
+ // https://github.com/circlefin/evm-cctp-contracts/blob/master/src/v2/FinalityThresholds.sol
254
+ var CircleV2FinalityThreshold;
255
+ (function (CircleV2FinalityThreshold) {
256
+ CircleV2FinalityThreshold[CircleV2FinalityThreshold["CONFIRMED"] = 1000] = "CONFIRMED";
257
+ CircleV2FinalityThreshold[CircleV2FinalityThreshold["FINALIZED"] = 2000] = "FINALIZED";
258
+ })(CircleV2FinalityThreshold || (exports.CircleV2FinalityThreshold = CircleV2FinalityThreshold = {}));
259
+ // https://developers.circle.com/stablecoins/required-block-confirmations
260
+ exports.fastTransferETAs = {
261
+ // milliseconds
262
+ Testnet: {
263
+ ArbitrumSepolia: 8_000,
264
+ BaseSepolia: 8_000,
265
+ Sepolia: 20_000,
266
+ Linea: 8_000,
267
+ },
268
+ Mainnet: {
269
+ Arbitrum: 8_000,
270
+ Base: 8_000,
271
+ Ethereum: 20_000,
272
+ Linea: 8_000,
273
+ },
274
+ };
275
+ const isCircleV2FastChain = (network, chain) => {
276
+ const fastChains = Object.keys(exports.fastTransferETAs[network] ?? {});
277
+ return fastChains.includes(chain);
278
+ };
279
+ exports.isCircleV2FastChain = isCircleV2FastChain;
280
+ // The USDC addresses for V2 only chains aren't defined in the Wormhole SDK,
281
+ // and I'm not sure if they should be since the Wormhole SDK doesn't support
282
+ // CCTP V2 which might cause confusion. So I'm defining them here for now.
283
+ exports.usdcContracts = {
284
+ Testnet: {
285
+ Aptos: "0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832",
286
+ ArbitrumSepolia: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
287
+ Avalanche: "0x5425890298aed601595a70AB815c96711a31Bc65",
288
+ BaseSepolia: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
289
+ Linea: "0xFEce4462D57bD51A6A552365A011b95f0E16d9B7",
290
+ OptimismSepolia: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
291
+ Sepolia: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
292
+ Solana: "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
293
+ Sonic: "0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6",
294
+ Sui: "0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",
295
+ Unichain: "0x31d0220469e10c4E71834a79b1f276d740d3768F",
296
+ },
297
+ Mainnet: {
298
+ Aptos: "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",
299
+ Arbitrum: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
300
+ Avalanche: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
301
+ Base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
302
+ Ethereum: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
303
+ Linea: "0x176211869cA2b568f2A7D4EE941E073a821EE1ff",
304
+ Optimism: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
305
+ Polygon: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
306
+ Solana: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
307
+ Sonic: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894",
308
+ Sui: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
309
+ Unichain: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
92
310
  },
93
311
  };
94
312
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAqC;IAC1D,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF,wDAAwD;AAC3C,QAAA,aAAa,GAEtB;IACF,OAAO,EAAE;QACP,KAAK,EAAE,oEAAoE;QAC3E,SAAS,EAAE,4CAA4C;QACvD,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,4CAA4C;QACrD,MAAM,EAAE,8CAA8C;KACvD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,oEAAoE;QAC3E,QAAQ,EAAE,4CAA4C;QACtD,SAAS,EAAE,4CAA4C;QACvD,IAAI,EAAE,4CAA4C;QAClD,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,4CAA4C;QACtD,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;QACtD,MAAM,EAAE,8CAA8C;KACvD;CACF,CAAC;AAIW,QAAA,cAAc,GAA6C;IACtE,OAAO,EAAE;QACP,UAAU,EACR,oEAAoE;QACtE,kBAAkB,EAChB,oEAAoE;KACvE;IACD,OAAO,EAAE;QACP,UAAU,EACR,oEAAoE;QACtE,kBAAkB,EAChB,oEAAoE;KACvE;CACF,CAAC;AAEF,8BAA8B;AACjB,QAAA,gBAAgB,GAAqC;IAChE,OAAO,EAAE,6CAA6C;IACtD,OAAO,EAAE,6CAA6C;CACvD,CAAC;AAEF,uDAAuD;AAC1C,QAAA,yBAAyB,GAAG,KAAM,CAAC;AAEhD,iFAAiF;AACjF,8EAA8E;AAC9E,kDAAkD;AACrC,QAAA,SAAS,GAElB;IACF,OAAO,EAAE;QACP,KAAK,EAAE,KAAM;QACb,SAAS,EAAE,OAAQ;QACnB,WAAW,EAAE,OAAQ;QACrB,OAAO,EAAE,OAAQ;QACjB,MAAM,EAAE,OAAQ;QAChB,GAAG,EAAE,QAAU;KAChB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,KAAM;QACb,QAAQ,EAAE,OAAQ;QAClB,SAAS,EAAE,OAAQ;QACnB,IAAI,EAAE,OAAQ;QACd,QAAQ,EAAE,OAAQ;QAClB,QAAQ,EAAE,OAAQ;QAClB,OAAO,EAAE,OAAQ;QACjB,QAAQ,EAAE,OAAQ;QAClB,MAAM,EAAE,OAAQ;QAChB,GAAG,EAAE,QAAU;KAChB;CACF,CAAC;AAEF,+DAA+D;AAClD,QAAA,SAAS,GAElB;IACF,OAAO,EAAE;QACP,KAAK,EAAE,oEAAoE;QAC3E,SAAS,EAAE,4CAA4C;QACvD,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,4CAA4C;QACrD,MAAM,EAAE,8CAA8C;QACtD,GAAG,EAAE,oEAAoE;KAC1E;IACD,OAAO,EAAE;QACP,KAAK,EAAE,oEAAoE;QAC3E,MAAM,EAAE,8CAA8C;QACtD,GAAG,EAAE,oEAAoE;QACzE,QAAQ,EAAE,4CAA4C;QACtD,SAAS,EAAE,4CAA4C;QACvD,IAAI,EAAE,4CAA4C;QAClD,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,4CAA4C;QACtD,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;KACvD;CACF,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { EvmChains } from "@wormhole-foundation/sdk-evm";
3
3
  import { EvmUnsignedTransaction } from "@wormhole-foundation/sdk-evm";
4
4
  import type { Provider } from "ethers";
5
5
  import { CCTPExecutor } from "../types";
6
- import { QuoteDetails } from "..";
6
+ import { QuoteDetails } from "../routes/cctpV1";
7
7
  export declare class EvmCCTPExecutor<N extends Network, C extends EvmChains> implements CCTPExecutor<N, C> {
8
8
  readonly network: N;
9
9
  readonly chain: C;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACjE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAelB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAQlC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA+D/C,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACjE,YAAW,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAM3B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAP/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAelB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAQlC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,YAAY,GACpB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA+D/C,OAAO,CAAC,gBAAgB;CAazB"}
@@ -20,7 +20,7 @@ class EvmCCTPExecutor {
20
20
  if (network === "Devnet")
21
21
  throw new Error("CCTPExecutor not supported on Devnet");
22
22
  this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
23
- const shimContract = consts_1.shimContracts[network]?.[chain];
23
+ const shimContract = consts_1.shimContractsV1[network]?.[chain];
24
24
  if (!shimContract)
25
25
  throw new Error(`Shim contract for ${chain} not found`);
26
26
  this.shimContract = shimContract;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/evm/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, Platform } from "@wormhole-foundation/sdk-connect";
2
+ import type { EvmChains } from "@wormhole-foundation/sdk-evm";
3
+ import { EvmUnsignedTransaction } from "@wormhole-foundation/sdk-evm";
4
+ import type { Provider } from "ethers";
5
+ import { CCTPv2Executor } from "../types";
6
+ import { CircleV2Message } from "../layouts";
7
+ import { CCTPv2QuoteDetails } from "../routes/cctpV2Base";
8
+ export declare class EvmCCTPv2Executor<N extends Network, C extends EvmChains> implements CCTPv2Executor<N, C> {
9
+ readonly network: N;
10
+ readonly chain: C;
11
+ readonly provider: Provider;
12
+ readonly contracts: Contracts;
13
+ readonly chainId: bigint;
14
+ readonly shimContract: string;
15
+ readonly messageTransmitter: string;
16
+ readonly usdcContract: string;
17
+ constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
18
+ static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmCCTPv2Executor<N, EvmChains>>;
19
+ transfer(sender: AccountAddress<C>, recipient: ChainAddress, details: CCTPv2QuoteDetails): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
20
+ isTransferCompleted(message: CircleV2Message): Promise<boolean>;
21
+ redeem(sender: AccountAddress<C>, message: CircleV2Message, attestation: string): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
22
+ getCurrentBlock(): Promise<bigint>;
23
+ private createUnsignedTx;
24
+ }
25
+ //# sourceMappingURL=executorV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorV2.d.ts","sourceRoot":"","sources":["../../../src/evm/executorV2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACT,MAAM,kCAAkC,CAAC;AAO1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C,OAAO,EAAE,eAAe,EAA4B,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACnE,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ7B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAyBlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAQpC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAwEzC,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAc9D,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,GAClB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAsBzC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxC,OAAO,CAAC,gBAAgB;CAazB"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvmCCTPv2Executor = void 0;
4
+ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
5
+ const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
6
+ const ethers_1 = require("ethers");
7
+ const consts_1 = require("../consts");
8
+ const layouts_1 = require("../layouts");
9
+ class EvmCCTPv2Executor {
10
+ network;
11
+ chain;
12
+ provider;
13
+ contracts;
14
+ chainId;
15
+ shimContract;
16
+ messageTransmitter;
17
+ usdcContract;
18
+ constructor(network, chain, provider, contracts) {
19
+ this.network = network;
20
+ this.chain = chain;
21
+ this.provider = provider;
22
+ this.contracts = contracts;
23
+ if (network === "Devnet")
24
+ throw new Error("CCTPv2Executor not supported on Devnet");
25
+ this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
26
+ const shimContract = consts_1.shimContractsV2[network]?.[chain];
27
+ if (!shimContract)
28
+ throw new Error(`Shim contract for ${chain} not found`);
29
+ this.shimContract = shimContract;
30
+ const messageTransmitter = consts_1.circleV2Contracts[network]?.[chain]?.messageTransmitterV2;
31
+ if (!messageTransmitter)
32
+ throw new Error(`MessageTransmitter contract for ${chain} not found`);
33
+ this.messageTransmitter = messageTransmitter;
34
+ const usdcContract = consts_1.usdcContracts[network]?.[chain];
35
+ if (!usdcContract)
36
+ throw new Error(`USDC contract for ${chain} not found`);
37
+ this.usdcContract = usdcContract;
38
+ }
39
+ static async fromRpc(provider, config) {
40
+ const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
41
+ const conf = config[chain];
42
+ if (conf.network !== network)
43
+ throw new Error(`Network mismatch: ${conf.network} != ${network}`);
44
+ return new EvmCCTPv2Executor(network, chain, provider, conf.contracts);
45
+ }
46
+ async *transfer(sender, recipient, details) {
47
+ const senderAddress = new sdk_evm_1.EvmAddress(sender).toString();
48
+ const recipientAddress = recipient.address
49
+ .toUniversalAddress()
50
+ .toUint8Array();
51
+ const amount = details.remainingAmount + details.referrerFee;
52
+ const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, this.usdcContract);
53
+ const allowance = await tokenContract.allowance(senderAddress, this.shimContract);
54
+ if (allowance < amount) {
55
+ const txReq = await tokenContract.approve.populateTransaction(this.shimContract, amount);
56
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddress), "ERC20.approve of EvmCCTPv2Executor", false);
57
+ }
58
+ // TODO: type safety. typechain brings in so much boilerplate code and is soft deprecated. use viem?
59
+ const shimAbi = [
60
+ "function depositForBurn(uint256 amount, uint16 destinationChain, uint32 destinationDomain, bytes32 mintRecipient, address burnToken, bytes32 destinationCaller, uint256 maxFee, uint32 minFinalityThreshold, (address refundAddress, bytes signedQuote, bytes instructions) executorArgs, (uint16 dbps, address payee) feeArgs) external payable returns (uint64 nonce)",
61
+ ];
62
+ // If equal to bytes32(0), any address can call receiveMessage() on destination domain.
63
+ const destinationCaller = new Uint8Array(32);
64
+ const shim = new ethers_1.Contract(this.shimContract, shimAbi, this.provider);
65
+ const destinationCircleDomain = (0, consts_1.getCircleV2Domain)(this.network, recipient.chain);
66
+ const txReq = await shim.getFunction("depositForBurn").populateTransaction(amount, (0, sdk_connect_1.toChainId)(recipient.chain), destinationCircleDomain, recipientAddress, this.usdcContract, destinationCaller, details.fastTransferMaxFee, details.minFinalityThreshold, {
67
+ refundAddress: senderAddress,
68
+ signedQuote: details.signedQuote,
69
+ instructions: details.relayInstructions,
70
+ }, {
71
+ dbps: details.referrerFeeDbps,
72
+ payee: details.referrer.address.toString(),
73
+ });
74
+ txReq.value = details.estimatedCost;
75
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddress), "EvmCCTPv2Executor.depositForBurn");
76
+ }
77
+ async isTransferCompleted(message) {
78
+ const contract = new ethers_1.Contract(this.messageTransmitter, ["function usedNonces(bytes32) public view returns (uint256)"], this.provider);
79
+ const result = await contract
80
+ .getFunction("usedNonces")
81
+ .staticCall(message.nonce);
82
+ return result === 1n;
83
+ }
84
+ async *redeem(sender, message, attestation) {
85
+ const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
86
+ const contract = new ethers_1.Contract(this.messageTransmitter, ["function receiveMessage(bytes message, bytes attestation)"], this.provider);
87
+ const txReq = await contract
88
+ .getFunction("receiveMessage")
89
+ .populateTransaction((0, layouts_1.serializeCircleV2Message)(message), sdk_connect_1.encoding.hex.decode(attestation));
90
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), "MessageTransmitterV2.receiveMessage");
91
+ }
92
+ async getCurrentBlock() {
93
+ return BigInt(await this.provider.getBlockNumber());
94
+ }
95
+ createUnsignedTx(txReq, description, parallelizable = false) {
96
+ return new sdk_evm_1.EvmUnsignedTransaction((0, sdk_evm_1.addChainId)(txReq, this.chainId), this.network, this.chain, description, parallelizable);
97
+ }
98
+ }
99
+ exports.EvmCCTPv2Executor = EvmCCTPv2Executor;
100
+ //# sourceMappingURL=executorV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorV2.js","sourceRoot":"","sources":["../../../src/evm/executorV2.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from "./executor";
2
+ export * from "./executorV2";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -17,6 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
18
18
  const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
19
19
  const executor_1 = require("./executor");
20
+ const executorV2_1 = require("./executorV2");
20
21
  __exportStar(require("./executor"), exports);
22
+ __exportStar(require("./executorV2"), exports);
21
23
  (0, sdk_definitions_1.registerProtocol)(sdk_evm_1._platform, "CCTPExecutor", executor_1.EvmCCTPExecutor);
24
+ (0, sdk_definitions_1.registerProtocol)(sdk_evm_1._platform, "CCTPv2Executor", executorV2_1.EvmCCTPv2Executor);
22
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwE;AACxE,0DAAyD;AACzD,yCAA6C;AAE7C,6CAA2B;AAE3B,IAAA,kCAAgB,EAAC,mBAAS,EAAE,cAAc,EAAE,0BAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/evm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0EAAwE;AACxE,0DAAyD;AACzD,yCAA6C;AAC7C,6CAAiD;AAEjD,6CAA2B;AAC3B,+CAA6B;AAE7B,IAAA,kCAAgB,EAAC,mBAAS,EAAE,cAAc,EAAE,0BAAe,CAAC,CAAC;AAC7D,IAAA,kCAAgB,EAAC,mBAAS,EAAE,gBAAgB,EAAE,8BAAiB,CAAC,CAAC"}