@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/dist/cjs/utils.js CHANGED
@@ -3,15 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RelayStatus = void 0;
6
+ exports.RequestPrefix = exports.RelayStatus = void 0;
7
7
  exports.fetchCapabilities = fetchCapabilities;
8
8
  exports.fetchSignedQuote = fetchSignedQuote;
9
9
  exports.fetchStatus = fetchStatus;
10
10
  exports.calculateReferrerFee = calculateReferrerFee;
11
11
  exports.sleep = sleep;
12
+ exports.getCircleV2Attestation = getCircleV2Attestation;
13
+ exports.getCircleV2FastBurnFee = getCircleV2FastBurnFee;
14
+ exports.reattestCircleV2Message = reattestCircleV2Message;
15
+ exports.getCircleV2FastBurnAllowance = getCircleV2FastBurnAllowance;
12
16
  const sdk_base_1 = require("@wormhole-foundation/sdk-base");
17
+ const layouts_1 = require("./layouts");
13
18
  const axios_1 = __importDefault(require("axios"));
14
19
  const consts_1 = require("./consts");
20
+ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
15
21
  var RelayStatus;
16
22
  (function (RelayStatus) {
17
23
  RelayStatus["Pending"] = "pending";
@@ -21,6 +27,14 @@ var RelayStatus;
21
27
  RelayStatus["Underpaid"] = "underpaid";
22
28
  RelayStatus["Aborted"] = "aborted";
23
29
  })(RelayStatus || (exports.RelayStatus = RelayStatus = {}));
30
+ var RequestPrefix;
31
+ (function (RequestPrefix) {
32
+ RequestPrefix["ERM1"] = "ERM1";
33
+ RequestPrefix["ERV1"] = "ERV1";
34
+ RequestPrefix["ERN1"] = "ERN1";
35
+ RequestPrefix["ERC1"] = "ERC1";
36
+ RequestPrefix["ERC2"] = "ERC2";
37
+ })(RequestPrefix || (exports.RequestPrefix = RequestPrefix = {}));
24
38
  async function fetchCapabilities(network) {
25
39
  const url = `${consts_1.apiBaseUrl[network]}/v0/capabilities`;
26
40
  try {
@@ -73,6 +87,76 @@ function calculateReferrerFee(amount, dBps) {
73
87
  return { referrerFee: 0n, remainingAmount: amount };
74
88
  }
75
89
  function sleep(ms) {
76
- return new Promise(resolve => setTimeout(resolve, ms));
90
+ return new Promise((resolve) => setTimeout(resolve, ms));
91
+ }
92
+ async function getCircleV2Attestation(tx, network, timeout = sdk_connect_1.DEFAULT_TASK_TIMEOUT) {
93
+ const sourceDomain = (0, consts_1.getCircleV2Domain)(network, tx.chain);
94
+ return sdk_connect_1.tasks.retry(async () => {
95
+ const url = `${consts_1.circleV2Api[network]}/messages/${sourceDomain}?transactionHash=${tx.txid}`;
96
+ try {
97
+ const response = await axios_1.default.get(url);
98
+ // CCTP V2 could be used to send multiple transfers on a single tx
99
+ // but we'll assume it's only one
100
+ const attestation = response.data.messages[0];
101
+ if (!attestation)
102
+ return null;
103
+ if (attestation.cctpVersion !== 2)
104
+ throw new Error("CCTPv1 attestation found");
105
+ if (attestation.status === "pending_confirmations")
106
+ return null;
107
+ const message = (0, layouts_1.deserializeCircleV2Message)(sdk_base_1.encoding.hex.decode(attestation.message));
108
+ return {
109
+ message,
110
+ attestation: attestation.attestation,
111
+ };
112
+ }
113
+ catch (error) {
114
+ if (!error)
115
+ return null;
116
+ if (typeof error === "object") {
117
+ // A 404 error means the message is not yet available
118
+ // since its not available yet, we return null signaling it can be tried again
119
+ if (axios_1.default.isAxiosError(error) && error.response?.status === 404)
120
+ return null;
121
+ if ("status" in error && error.status === 404)
122
+ return null;
123
+ }
124
+ throw error;
125
+ }
126
+ }, 2000, timeout, "CCTPv2:GetMessage");
127
+ }
128
+ async function getCircleV2FastBurnFee(network, fromChain, toChain) {
129
+ const sourceDomain = (0, consts_1.getCircleV2Domain)(network, fromChain);
130
+ const destinationDomain = (0, consts_1.getCircleV2Domain)(network, toChain);
131
+ const url = `${consts_1.circleV2Api[network]}/fastBurn/USDC/fees/${sourceDomain}/${destinationDomain}`;
132
+ const response = await axios_1.default.get(url);
133
+ return BigInt(response.data.minimumFee);
134
+ }
135
+ // https://developers.circle.com/api-reference/stablecoins/common/reattest-message
136
+ async function reattestCircleV2Message(network, attestation) {
137
+ // Re-Attest the message
138
+ const nonce = sdk_base_1.encoding.hex.encode(attestation.attestation.message.nonce, true);
139
+ const url = `${consts_1.circleV2Api[network]}/reattest/${nonce}`;
140
+ const response = await axios_1.default.post(url);
141
+ if (response.data.error) {
142
+ if (response.data.error.includes("Message is already finalized")) {
143
+ return attestation.attestation;
144
+ }
145
+ throw new Error(`Error re-attesting message: ${response.data.error}`);
146
+ }
147
+ const fromChain = (0, consts_1.getCircleV2Chain)(network, attestation.attestation.message.sourceDomain);
148
+ return sdk_connect_1.tasks.retry(async () => {
149
+ const newAttestation = await getCircleV2Attestation({ txid: attestation.id, chain: fromChain }, network);
150
+ if (!newAttestation)
151
+ return null;
152
+ if (newAttestation.message.messageBody.expirationBlock !== 0n)
153
+ return null;
154
+ return newAttestation;
155
+ }, 2000, sdk_connect_1.DEFAULT_TASK_TIMEOUT, "CCTPv2:Reattest");
156
+ }
157
+ async function getCircleV2FastBurnAllowance(network) {
158
+ const url = `${consts_1.circleV2Api[network]}/fastBurn/USDC/allowance`;
159
+ const response = await axios_1.default.get(url);
160
+ return sdk_base_1.amount.units(sdk_base_1.amount.parse(response.data.allowance, 6));
77
161
  }
78
162
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AAyDA,8CAWC;AAOD,4CAkBC;AAQD,kCAgBC;AAGD,oDAaC;AAED,sBAEC;AAzID,4DAA0E;AAE1E,kDAA0B;AAC1B,qCAAsC;AAEtC,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;IAC3B,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;AACrB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AA6CM,KAAK,UAAU,iBAAiB,CACrC,OAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,QAAe,EACf,QAAe,EACf,iBAAyB,CAAC,uBAAuB;;IAEjD,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAgB,GAAG,EAAE;YACpD,QAAQ,EAAE,IAAA,oBAAS,EAAC,QAAQ,CAAC;YAC7B,QAAQ,EAAE,IAAA,oBAAS,EAAC,QAAQ,CAAC;YAC7B,iBAAiB;SAClB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAOD,eAAe;AACR,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,MAAc,EACd,KAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,eAAe,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAmB,GAAG,EAAE;YACvD,MAAM;YACN,OAAO,EAAE,IAAA,oBAAS,EAAC,KAAK,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,MAAO,CAAC;AACxB,SAAgB,oBAAoB,CAClC,MAAc,EACd,IAAY;IAEZ,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAQ,CAAC;QAC/C,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;QAC7C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AAsFA,8CAWC;AAOD,4CAkBC;AAQD,kCAgBC;AAGD,oDAaC;AAED,sBAEC;AAYD,wDAgDC;AAMD,wDAUC;AASD,0DAwCC;AAOD,oEAMC;AAhTD,4DAMuC;AACvC,uCAImB;AACnB,kDAA0B;AAC1B,qCAKkB;AAClB,kEAI0C;AAG1C,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;IAC3B,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;AACrB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAkCD,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,8BAAa,CAAA;AACf,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAaM,KAAK,UAAU,iBAAiB,CACrC,OAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,GAAG,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,QAAe,EACf,QAAe,EACf,iBAAyB,CAAC,uBAAuB;;IAEjD,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAgB,GAAG,EAAE;YACpD,QAAQ,EAAE,IAAA,oBAAS,EAAC,QAAQ,CAAC;YAC7B,QAAQ,EAAE,IAAA,oBAAS,EAAC,QAAQ,CAAC;YAC7B,iBAAiB;SAClB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAOD,eAAe;AACR,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,MAAc,EACd,KAAY;IAEZ,MAAM,GAAG,GAAG,GAAG,mBAAU,CAAC,OAAO,CAAC,eAAe,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAmB,GAAG,EAAE;YACvD,MAAM;YACN,OAAO,EAAE,IAAA,oBAAS,EAAC,KAAK,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,MAAO,CAAC;AACxB,SAAgB,oBAAoB,CAClC,MAAc,EACd,IAAY;IAEZ,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAQ,CAAC;QAC/C,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;QAC7C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAYM,KAAK,UAAU,sBAAsB,CAC1C,EAAiB,EACjB,OAAgB,EAChB,UAAkB,kCAAoB;IAEtC,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAE1D,OAAO,mBAAK,CAAC,KAAK,CAChB,KAAK,IAAI,EAAE;QACT,MAAM,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,CAAC,aAAa,YAAY,oBAAoB,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;YAEnE,kEAAkE;YAClE,iCAAiC;YACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAE9B,IAAI,WAAW,CAAC,WAAW,KAAK,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAE9C,IAAI,WAAW,CAAC,MAAM,KAAK,uBAAuB;gBAAE,OAAO,IAAI,CAAC;YAEhE,MAAM,OAAO,GAAG,IAAA,oCAA0B,EACxC,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CACzC,CAAC;YAEF,OAAO;gBACL,OAAO;gBACP,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,qDAAqD;gBACrD,8EAA8E;gBAC9E,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;oBAC7D,OAAO,IAAI,CAAC;gBACd,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,IAAI,CAAC;YAC7D,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EACD,IAAI,EACJ,OAAO,EACP,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,sBAAsB,CAC1C,OAAgB,EAChB,SAAgB,EAChB,OAAc;IAEd,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,CAAC,uBAAuB,YAAY,IAAI,iBAAiB,EAAE,CAAC;IAC9F,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAQD,kFAAkF;AAC3E,KAAK,UAAU,uBAAuB,CAC3C,OAAgB,EAChB,WAA4C;IAE5C,wBAAwB;IACxB,MAAM,KAAK,GAAG,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAC/B,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EACrC,IAAI,CACL,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,CAAC,aAAa,KAAK,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAA2B,GAAG,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACjE,OAAO,WAAW,CAAC,WAAW,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,yBAAgB,EAChC,OAAO,EACP,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAC7C,CAAC;IAEF,OAAO,mBAAK,CAAC,KAAK,CAChB,KAAK,IAAI,EAAE;QACT,MAAM,cAAc,GAAG,MAAM,sBAAsB,CACjD,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC1C,OAAO,CACR,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,KAAK,EAAE;YAC3D,OAAO,IAAI,CAAC;QAEd,OAAO,cAAc,CAAC;IACxB,CAAC,EACD,IAAI,EACJ,kCAAoB,EACpB,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,4BAA4B,CAChD,OAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAoC,GAAG,CAAC,CAAC;IACzE,OAAO,iBAAM,CAAC,KAAK,CAAC,iBAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -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"}
@@ -1,7 +1,7 @@
1
1
  import { AccountAddress as AptosAccountAddress, } from "@aptos-labs/ts-sdk";
2
2
  import { circle, toChainId, } from "@wormhole-foundation/sdk-connect";
3
3
  import { AptosAddress, AptosPlatform, AptosUnsignedTransaction, } from "@wormhole-foundation/sdk-aptos";
4
- import { shimContracts } from "../consts";
4
+ import { shimContractsV1 } from "../consts";
5
5
  export class AptosCCTPExecutor {
6
6
  network;
7
7
  chain;
@@ -21,7 +21,7 @@ export class AptosCCTPExecutor {
21
21
  throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);
22
22
  }
23
23
  this.usdcId = usdcId;
24
- const shimContract = shimContracts[network]?.[chain];
24
+ const shimContract = shimContractsV1[network]?.[chain];
25
25
  if (!shimContract)
26
26
  throw new Error(`Shim contract for ${chain} not found`);
27
27
  this.shimContract = shimContract;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/aptos/executor.ts"],"names":[],"mappings":"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"}
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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"}
@@ -2,8 +2,8 @@ export const apiBaseUrl = {
2
2
  Testnet: "https://executor-testnet.labsapis.com",
3
3
  Mainnet: "https://executor.labsapis.com",
4
4
  };
5
- // Shim Contract Addresses (e.g. CCTPv1WithExecutor.sol)
6
- export const shimContracts = {
5
+ // CCTPv1 Shim Contract Addresses (CCTPv1WithExecutor.sol)
6
+ export const shimContractsV1 = {
7
7
  Testnet: {
8
8
  Aptos: "0x14a12d1fd6ef371b70c2113155534ec152ec7f779e281b54866c796c9a4a58d3",
9
9
  Avalanche: "0x2cfEC91B50f657Cc86Ec693542527ac3e03bF742",
@@ -23,6 +23,22 @@ export const shimContracts = {
23
23
  Solana: "CXGRA5SCc8jxDbaQPZrmmZNu2JV34DP7gFW4m31uC1zs",
24
24
  },
25
25
  };
26
+ // CCTPv2 Shim Contract Addresses (CCTPv2WithExecutor.sol)
27
+ export const shimContractsV2 = {
28
+ Testnet: {
29
+ Avalanche: "0x4058F0C3924eDaB19c15597C438968ed49C1a213",
30
+ BaseSepolia: "0xC400FcC0e92d3406747FBb6f513D3aa8B038fcE9",
31
+ Sepolia: "0x0F18DD26D0B41fb1eaa9cF34D1Ec6022aA69a8e2",
32
+ },
33
+ Mainnet: {
34
+ Arbitrum: "0x8442d68524217601ed126f6859694E4B0C7c66A1",
35
+ Avalanche: "0x3952914628650Ca510404872D84DfF10A844C5B5",
36
+ Base: "0xbd8d42f40a11b37bD1b3770D754f9629F7cd5679",
37
+ Ethereum: "0x2cCf230467FE7387674BAa657747F0B5485c7fEC",
38
+ Linea: "0xc48c126468BE919068dE1983F00F65af759a4E87",
39
+ Sonic: "0xc39BF082ec91D9bC385F956D24a8D66C0c26223d",
40
+ },
41
+ };
26
42
  export const suiExecutorIds = {
27
43
  Testnet: {
28
44
  executorId: "0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",
@@ -46,22 +62,27 @@ export const SOLANA_MSG_VALUE_BASE_FEE = 5001n;
46
62
  export const gasLimits = {
47
63
  Testnet: {
48
64
  Aptos: 5000n,
65
+ ArbitrumSepolia: 500000n,
49
66
  Avalanche: 200000n,
50
67
  BaseSepolia: 200000n,
68
+ Linea: 250000n,
51
69
  Sepolia: 200000n,
52
70
  Solana: 250000n,
71
+ Sonic: 250000n,
53
72
  Sui: 8000000n,
54
73
  },
55
74
  Mainnet: {
56
75
  Aptos: 5000n,
57
- Arbitrum: 400000n,
76
+ Arbitrum: 500000n,
58
77
  Avalanche: 250000n,
59
78
  Base: 250000n,
60
79
  Ethereum: 250000n,
80
+ Linea: 250000n,
61
81
  Optimism: 250000n,
62
82
  Polygon: 250000n,
63
83
  Unichain: 250000n,
64
84
  Solana: 250000n,
85
+ Sonic: 250000n,
65
86
  Sui: 8000000n,
66
87
  },
67
88
  };
@@ -77,15 +98,206 @@ export const referrers = {
77
98
  },
78
99
  Mainnet: {
79
100
  Aptos: "0x1f177e724a874ab6267172a3049291c480fc665883e6a3ac95d0909492c09dc8",
80
- Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
81
- Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
82
101
  Arbitrum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
83
102
  Avalanche: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
84
103
  Base: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
85
104
  Ethereum: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
86
105
  Optimism: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
106
+ Linea: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
87
107
  Polygon: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
88
108
  Unichain: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
109
+ Solana: "JB3rmygUVuVZzgkxvMdV8mSKLJeQAkSXEK284Dqsziah",
110
+ Sonic: "0xF11e0efF8b11Ce382645dd75352fC16b3aB3551E",
111
+ Sui: "0xbfa1240e48c622d97881473953be730091161b7931d89bd6afe667841cf69ef4",
112
+ },
113
+ };
114
+ export const circleV2Contracts = {
115
+ Testnet: {
116
+ ArbitrumSepolia: {
117
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
118
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
119
+ },
120
+ Avalanche: {
121
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
122
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
123
+ },
124
+ BaseSepolia: {
125
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
126
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
127
+ },
128
+ Linea: {
129
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
130
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
131
+ },
132
+ Sepolia: {
133
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
134
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
135
+ },
136
+ Sonic: {
137
+ tokenMessengerV2: "0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",
138
+ messageTransmitterV2: "0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",
139
+ },
140
+ },
141
+ Mainnet: {
142
+ Arbitrum: {
143
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
144
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
145
+ },
146
+ Avalanche: {
147
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
148
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
149
+ },
150
+ Base: {
151
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
152
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
153
+ },
154
+ Ethereum: {
155
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
156
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
157
+ },
158
+ Linea: {
159
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
160
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
161
+ },
162
+ Sonic: {
163
+ tokenMessengerV2: "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
164
+ messageTransmitterV2: "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",
165
+ },
166
+ },
167
+ };
168
+ export const circleV1Domains = {
169
+ Testnet: {
170
+ Sepolia: 0,
171
+ Avalanche: 1,
172
+ OptimismSepolia: 2,
173
+ ArbitrumSepolia: 3,
174
+ Solana: 5,
175
+ BaseSepolia: 6,
176
+ Polygon: 7,
177
+ Sui: 8,
178
+ Aptos: 9,
179
+ Unichain: 10,
180
+ },
181
+ Mainnet: {
182
+ Ethereum: 0,
183
+ Avalanche: 1,
184
+ Optimism: 2,
185
+ Arbitrum: 3,
186
+ Solana: 5,
187
+ Base: 6,
188
+ Polygon: 7,
189
+ Sui: 8,
190
+ Aptos: 9,
191
+ Unichain: 10,
192
+ },
193
+ };
194
+ export const isCircleV1Chain = (network, chain) => {
195
+ const chains = Object.keys(circleV1Domains[network] ?? {});
196
+ return chains.includes(chain);
197
+ };
198
+ export const getCircleV1Domain = (network, chain) => {
199
+ const domain = circleV1Domains[network]?.[chain];
200
+ if (domain === undefined) {
201
+ throw new Error(`CircleV1 domain not found for network ${network} and chain ${chain}`);
202
+ }
203
+ return domain;
204
+ };
205
+ export const circleV2Domains = {
206
+ Testnet: {
207
+ Sepolia: 0,
208
+ Avalanche: 1,
209
+ ArbitrumSepolia: 3,
210
+ BaseSepolia: 6,
211
+ Linea: 11,
212
+ Sonic: 13,
213
+ },
214
+ Mainnet: {
215
+ Ethereum: 0,
216
+ Avalanche: 1,
217
+ Arbitrum: 3,
218
+ Base: 6,
219
+ Linea: 11,
220
+ Sonic: 13,
221
+ },
222
+ };
223
+ export const isCircleV2Chain = (network, chain) => {
224
+ const chains = Object.keys(circleV2Domains[network] ?? {});
225
+ return chains.includes(chain);
226
+ };
227
+ export const getCircleV2Domain = (network, chain) => {
228
+ const domain = circleV2Domains[network]?.[chain];
229
+ if (domain === undefined) {
230
+ throw new Error(`CircleV2 domain not found for network ${network} and chain ${chain}`);
231
+ }
232
+ return domain;
233
+ };
234
+ export const getCircleV2Chain = (network, domain) => {
235
+ const chain = Object.entries(circleV2Domains[network] ?? {}).find(([, d]) => d === domain)?.[0];
236
+ if (chain === undefined) {
237
+ throw new Error(`CircleV2 chain not found for network ${network} and domain ${domain}`);
238
+ }
239
+ return chain;
240
+ };
241
+ export const circleV2Api = {
242
+ Testnet: "https://iris-api-sandbox.circle.com/v2",
243
+ Mainnet: "https://iris-api.circle.com/v2",
244
+ };
245
+ // https://github.com/circlefin/evm-cctp-contracts/blob/master/src/v2/FinalityThresholds.sol
246
+ export var CircleV2FinalityThreshold;
247
+ (function (CircleV2FinalityThreshold) {
248
+ CircleV2FinalityThreshold[CircleV2FinalityThreshold["CONFIRMED"] = 1000] = "CONFIRMED";
249
+ CircleV2FinalityThreshold[CircleV2FinalityThreshold["FINALIZED"] = 2000] = "FINALIZED";
250
+ })(CircleV2FinalityThreshold || (CircleV2FinalityThreshold = {}));
251
+ // https://developers.circle.com/stablecoins/required-block-confirmations
252
+ export const fastTransferETAs = {
253
+ // milliseconds
254
+ Testnet: {
255
+ ArbitrumSepolia: 8_000,
256
+ BaseSepolia: 8_000,
257
+ Sepolia: 20_000,
258
+ Linea: 8_000,
259
+ },
260
+ Mainnet: {
261
+ Arbitrum: 8_000,
262
+ Base: 8_000,
263
+ Ethereum: 20_000,
264
+ Linea: 8_000,
265
+ },
266
+ };
267
+ export const isCircleV2FastChain = (network, chain) => {
268
+ const fastChains = Object.keys(fastTransferETAs[network] ?? {});
269
+ return fastChains.includes(chain);
270
+ };
271
+ // The USDC addresses for V2 only chains aren't defined in the Wormhole SDK,
272
+ // and I'm not sure if they should be since the Wormhole SDK doesn't support
273
+ // CCTP V2 which might cause confusion. So I'm defining them here for now.
274
+ export const usdcContracts = {
275
+ Testnet: {
276
+ Aptos: "0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832",
277
+ ArbitrumSepolia: "0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",
278
+ Avalanche: "0x5425890298aed601595a70AB815c96711a31Bc65",
279
+ BaseSepolia: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
280
+ Linea: "0xFEce4462D57bD51A6A552365A011b95f0E16d9B7",
281
+ OptimismSepolia: "0x5fd84259d66Cd46123540766Be93DFE6D43130D7",
282
+ Sepolia: "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
283
+ Solana: "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
284
+ Sonic: "0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6",
285
+ Sui: "0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",
286
+ Unichain: "0x31d0220469e10c4E71834a79b1f276d740d3768F",
287
+ },
288
+ Mainnet: {
289
+ Aptos: "0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",
290
+ Arbitrum: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
291
+ Avalanche: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
292
+ Base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
293
+ Ethereum: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
294
+ Linea: "0x176211869cA2b568f2A7D4EE941E073a821EE1ff",
295
+ Optimism: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
296
+ Polygon: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
297
+ Solana: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
298
+ Sonic: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894",
299
+ Sui: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
300
+ Unichain: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
89
301
  },
90
302
  };
91
303
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAqC;IAC1D,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,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;AAIF,MAAM,CAAC,MAAM,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;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,OAAO,EAAE,6CAA6C;IACtD,OAAO,EAAE,6CAA6C;CACvD,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAM,CAAC;AAEhD,iFAAiF;AACjF,8EAA8E;AAC9E,kDAAkD;AAClD,MAAM,CAAC,MAAM,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;AAC/D,MAAM,CAAC,MAAM,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"}
@@ -1,7 +1,7 @@
1
1
  import { circle, nativeChainIds, toChainId, } from "@wormhole-foundation/sdk-connect";
2
2
  import { EvmAddress, EvmPlatform, EvmUnsignedTransaction, addChainId, addFrom, } from "@wormhole-foundation/sdk-evm";
3
3
  import { Contract } from "ethers";
4
- import { shimContracts } from "../consts";
4
+ import { shimContractsV1 } from "../consts";
5
5
  export class EvmCCTPExecutor {
6
6
  network;
7
7
  chain;
@@ -17,7 +17,7 @@ export class EvmCCTPExecutor {
17
17
  if (network === "Devnet")
18
18
  throw new Error("CCTPExecutor not supported on Devnet");
19
19
  this.chainId = nativeChainIds.networkChainToNativeChainId.get(network, chain);
20
- const shimContract = shimContracts[network]?.[chain];
20
+ const shimContract = shimContractsV1[network]?.[chain];
21
21
  if (!shimContract)
22
22
  throw new Error(`Shim contract for ${chain} not found`);
23
23
  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"}