@wormhole-foundation/sdk-connect 0.6.9-beta.1 → 0.7.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 (143) hide show
  1. package/dist/cjs/circle-api.js.map +1 -1
  2. package/dist/cjs/common.js.map +1 -1
  3. package/dist/cjs/config.js +1 -1
  4. package/dist/cjs/config.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -4
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +1 -4
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/protocols/cctp/cctpTransfer.d.ts +46 -0
  10. package/dist/cjs/protocols/cctp/cctpTransfer.d.ts.map +1 -0
  11. package/dist/cjs/protocols/{cctpTransfer.js → cctp/cctpTransfer.js} +140 -151
  12. package/dist/cjs/protocols/cctp/cctpTransfer.js.map +1 -0
  13. package/dist/{esm/protocols → cjs/protocols/gateway}/gatewayTransfer.d.ts +8 -6
  14. package/dist/cjs/protocols/gateway/gatewayTransfer.d.ts.map +1 -0
  15. package/dist/cjs/protocols/{gatewayTransfer.js → gateway/gatewayTransfer.js} +23 -30
  16. package/dist/cjs/protocols/gateway/gatewayTransfer.js.map +1 -0
  17. package/dist/cjs/protocols/index.d.ts +5 -0
  18. package/dist/cjs/protocols/index.d.ts.map +1 -0
  19. package/dist/cjs/protocols/index.js +21 -0
  20. package/dist/cjs/protocols/index.js.map +1 -0
  21. package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts +46 -0
  22. package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts.map +1 -0
  23. package/dist/cjs/protocols/{tokenTransfer.js → tokenBridge/tokenTransfer.js} +175 -164
  24. package/dist/cjs/protocols/tokenBridge/tokenTransfer.js.map +1 -0
  25. package/dist/cjs/protocols/wormholeTransfer.d.ts.map +1 -1
  26. package/dist/cjs/routes/cctp/automatic.d.ts +5 -5
  27. package/dist/cjs/routes/cctp/automatic.d.ts.map +1 -1
  28. package/dist/cjs/routes/cctp/automatic.js +12 -8
  29. package/dist/cjs/routes/cctp/automatic.js.map +1 -1
  30. package/dist/cjs/routes/cctp/manual.d.ts +5 -4
  31. package/dist/cjs/routes/cctp/manual.d.ts.map +1 -1
  32. package/dist/cjs/routes/cctp/manual.js +12 -8
  33. package/dist/cjs/routes/cctp/manual.js.map +1 -1
  34. package/dist/cjs/routes/common.js.map +1 -1
  35. package/dist/cjs/routes/portico/automatic.d.ts +5 -4
  36. package/dist/cjs/routes/portico/automatic.d.ts.map +1 -1
  37. package/dist/cjs/routes/portico/automatic.js +6 -6
  38. package/dist/cjs/routes/portico/automatic.js.map +1 -1
  39. package/dist/cjs/routes/request.d.ts +1 -5
  40. package/dist/cjs/routes/request.d.ts.map +1 -1
  41. package/dist/cjs/routes/request.js +4 -8
  42. package/dist/cjs/routes/request.js.map +1 -1
  43. package/dist/cjs/routes/resolver.js +2 -2
  44. package/dist/cjs/routes/resolver.js.map +1 -1
  45. package/dist/cjs/routes/route.d.ts +2 -1
  46. package/dist/cjs/routes/route.d.ts.map +1 -1
  47. package/dist/cjs/routes/route.js.map +1 -1
  48. package/dist/cjs/routes/tokenBridge/automatic.d.ts +4 -2
  49. package/dist/cjs/routes/tokenBridge/automatic.d.ts.map +1 -1
  50. package/dist/cjs/routes/tokenBridge/automatic.js +14 -8
  51. package/dist/cjs/routes/tokenBridge/automatic.js.map +1 -1
  52. package/dist/cjs/routes/tokenBridge/manual.d.ts +4 -2
  53. package/dist/cjs/routes/tokenBridge/manual.d.ts.map +1 -1
  54. package/dist/cjs/routes/tokenBridge/manual.js +11 -7
  55. package/dist/cjs/routes/tokenBridge/manual.js.map +1 -1
  56. package/dist/cjs/tasks.js.map +1 -1
  57. package/dist/cjs/types.d.ts +5 -5
  58. package/dist/cjs/types.d.ts.map +1 -1
  59. package/dist/cjs/whscan-api.js.map +1 -1
  60. package/dist/cjs/wormhole.d.ts +2 -2
  61. package/dist/cjs/wormhole.d.ts.map +1 -1
  62. package/dist/cjs/wormhole.js +2 -2
  63. package/dist/cjs/wormhole.js.map +1 -1
  64. package/dist/esm/circle-api.js.map +1 -1
  65. package/dist/esm/common.js.map +1 -1
  66. package/dist/esm/config.js +1 -1
  67. package/dist/esm/config.js.map +1 -1
  68. package/dist/esm/index.d.ts +1 -4
  69. package/dist/esm/index.d.ts.map +1 -1
  70. package/dist/esm/index.js +1 -4
  71. package/dist/esm/index.js.map +1 -1
  72. package/dist/esm/protocols/cctp/cctpTransfer.d.ts +46 -0
  73. package/dist/esm/protocols/cctp/cctpTransfer.d.ts.map +1 -0
  74. package/dist/esm/protocols/{cctpTransfer.js → cctp/cctpTransfer.js} +139 -150
  75. package/dist/esm/protocols/cctp/cctpTransfer.js.map +1 -0
  76. package/dist/{cjs/protocols → esm/protocols/gateway}/gatewayTransfer.d.ts +8 -6
  77. package/dist/esm/protocols/gateway/gatewayTransfer.d.ts.map +1 -0
  78. package/dist/esm/protocols/{gatewayTransfer.js → gateway/gatewayTransfer.js} +22 -29
  79. package/dist/esm/protocols/gateway/gatewayTransfer.js.map +1 -0
  80. package/dist/esm/protocols/index.d.ts +5 -0
  81. package/dist/esm/protocols/index.d.ts.map +1 -0
  82. package/dist/esm/protocols/index.js +5 -0
  83. package/dist/esm/protocols/index.js.map +1 -0
  84. package/dist/esm/protocols/tokenBridge/tokenTransfer.d.ts +46 -0
  85. package/dist/esm/protocols/tokenBridge/tokenTransfer.d.ts.map +1 -0
  86. package/dist/esm/protocols/{tokenTransfer.js → tokenBridge/tokenTransfer.js} +174 -163
  87. package/dist/esm/protocols/tokenBridge/tokenTransfer.js.map +1 -0
  88. package/dist/esm/protocols/wormholeTransfer.d.ts.map +1 -1
  89. package/dist/esm/routes/cctp/automatic.d.ts +5 -5
  90. package/dist/esm/routes/cctp/automatic.d.ts.map +1 -1
  91. package/dist/esm/routes/cctp/automatic.js +12 -8
  92. package/dist/esm/routes/cctp/automatic.js.map +1 -1
  93. package/dist/esm/routes/cctp/manual.d.ts +5 -4
  94. package/dist/esm/routes/cctp/manual.d.ts.map +1 -1
  95. package/dist/esm/routes/cctp/manual.js +12 -8
  96. package/dist/esm/routes/cctp/manual.js.map +1 -1
  97. package/dist/esm/routes/common.js.map +1 -1
  98. package/dist/esm/routes/portico/automatic.d.ts +5 -4
  99. package/dist/esm/routes/portico/automatic.d.ts.map +1 -1
  100. package/dist/esm/routes/portico/automatic.js +6 -6
  101. package/dist/esm/routes/portico/automatic.js.map +1 -1
  102. package/dist/esm/routes/request.d.ts +1 -5
  103. package/dist/esm/routes/request.d.ts.map +1 -1
  104. package/dist/esm/routes/request.js +4 -8
  105. package/dist/esm/routes/request.js.map +1 -1
  106. package/dist/esm/routes/resolver.js +2 -2
  107. package/dist/esm/routes/resolver.js.map +1 -1
  108. package/dist/esm/routes/route.d.ts +2 -1
  109. package/dist/esm/routes/route.d.ts.map +1 -1
  110. package/dist/esm/routes/route.js.map +1 -1
  111. package/dist/esm/routes/tokenBridge/automatic.d.ts +4 -2
  112. package/dist/esm/routes/tokenBridge/automatic.d.ts.map +1 -1
  113. package/dist/esm/routes/tokenBridge/automatic.js +14 -8
  114. package/dist/esm/routes/tokenBridge/automatic.js.map +1 -1
  115. package/dist/esm/routes/tokenBridge/manual.d.ts +4 -2
  116. package/dist/esm/routes/tokenBridge/manual.d.ts.map +1 -1
  117. package/dist/esm/routes/tokenBridge/manual.js +11 -7
  118. package/dist/esm/routes/tokenBridge/manual.js.map +1 -1
  119. package/dist/esm/tasks.js.map +1 -1
  120. package/dist/esm/types.d.ts +5 -5
  121. package/dist/esm/types.d.ts.map +1 -1
  122. package/dist/esm/whscan-api.js.map +1 -1
  123. package/dist/esm/wormhole.d.ts +2 -2
  124. package/dist/esm/wormhole.d.ts.map +1 -1
  125. package/dist/esm/wormhole.js +2 -2
  126. package/dist/esm/wormhole.js.map +1 -1
  127. package/package.json +6 -3
  128. package/dist/cjs/protocols/cctpTransfer.d.ts +0 -43
  129. package/dist/cjs/protocols/cctpTransfer.d.ts.map +0 -1
  130. package/dist/cjs/protocols/cctpTransfer.js.map +0 -1
  131. package/dist/cjs/protocols/gatewayTransfer.d.ts.map +0 -1
  132. package/dist/cjs/protocols/gatewayTransfer.js.map +0 -1
  133. package/dist/cjs/protocols/tokenTransfer.d.ts +0 -42
  134. package/dist/cjs/protocols/tokenTransfer.d.ts.map +0 -1
  135. package/dist/cjs/protocols/tokenTransfer.js.map +0 -1
  136. package/dist/esm/protocols/cctpTransfer.d.ts +0 -43
  137. package/dist/esm/protocols/cctpTransfer.d.ts.map +0 -1
  138. package/dist/esm/protocols/cctpTransfer.js.map +0 -1
  139. package/dist/esm/protocols/gatewayTransfer.d.ts.map +0 -1
  140. package/dist/esm/protocols/gatewayTransfer.js.map +0 -1
  141. package/dist/esm/protocols/tokenTransfer.d.ts +0 -42
  142. package/dist/esm/protocols/tokenTransfer.d.ts.map +0 -1
  143. package/dist/esm/protocols/tokenTransfer.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransfer.d.ts","sourceRoot":"","sources":["../../../../src/protocols/tokenBridge/tokenTransfer.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { amount, encoding, toChain as toChainName } from "@wormhole-foundation/sdk-base";
2
2
  import { TokenBridge, deserialize, isNative, isTokenId, isTokenTransferDetails, isTransactionIdentifier, isWormholeMessageId, serialize, toNative, toUniversal, universalAddress, } from "@wormhole-foundation/sdk-definitions";
3
- import { signSendWait } from "../common.js";
4
- import { DEFAULT_TASK_TIMEOUT } from "../config.js";
5
- import { TransferState, isAttested, isSourceFinalized, isSourceInitiated } from "../types.js";
6
- import { getGovernedTokens, getGovernorLimits } from "../whscan-api.js";
7
- import { Wormhole } from "../wormhole.js";
8
- // 8 is maximum precision supported by the token bridge VAA
9
- const TOKEN_BRIDGE_MAX_DECIMALS = 8;
3
+ import { signSendWait } from "../../common.js";
4
+ import { DEFAULT_TASK_TIMEOUT } from "../../config.js";
5
+ import { TransferState, isAttested, isSourceFinalized, isSourceInitiated } from "../../types.js";
6
+ import { getGovernedTokens, getGovernorLimits } from "../../whscan-api.js";
7
+ import { Wormhole } from "../../wormhole.js";
10
8
  export class TokenTransfer {
11
9
  wh;
12
10
  fromChain;
@@ -66,7 +64,7 @@ export class TokenTransfer {
66
64
  // immediately have enough info to get the _correct_ one
67
65
  let from = { chain: vaa.emitterChain, address: vaa.emitterAddress };
68
66
  let { token, to } = vaa.payload;
69
- const scaledAmount = amount.scale(amount.fromBaseUnits(token.amount, TOKEN_BRIDGE_MAX_DECIMALS), await wh.getDecimals(token.chain, token.address));
67
+ const scaledAmount = amount.scale(amount.fromBaseUnits(token.amount, TokenTransfer.MAX_DECIMALS), await wh.getDecimals(token.chain, token.address));
70
68
  let nativeGasAmount = 0n;
71
69
  if (automatic) {
72
70
  nativeGasAmount = vaa.payload.payload.toNativeTokenAmount;
@@ -147,9 +145,13 @@ export class TokenTransfer {
147
145
  this._state = TransferState.DestinationInitiated;
148
146
  return redeemTxids.map(({ txid }) => txid);
149
147
  }
148
+ }
149
+ (function (TokenTransfer) {
150
+ /** 8 is maximum precision supported by the token bridge VAA */
151
+ TokenTransfer.MAX_DECIMALS = 8;
150
152
  // Static method to perform the transfer so a custom RPC may be used
151
153
  // Note: this assumes the transfer has already been validated with `validateTransfer`
152
- static async transfer(fromChain, transfer, signer) {
154
+ async function transfer(fromChain, transfer, signer) {
153
155
  const senderAddress = toNative(signer.chain(), signer.address());
154
156
  const token = isTokenId(transfer.token) ? transfer.token.address : transfer.token;
155
157
  let xfer;
@@ -163,48 +165,138 @@ export class TokenTransfer {
163
165
  }
164
166
  return signSendWait(fromChain, xfer, signer);
165
167
  }
168
+ TokenTransfer.transfer = transfer;
166
169
  // Static method to allow passing a custom RPC
167
- static async redeem(toChain, vaa, signer) {
170
+ async function redeem(toChain, vaa, signer) {
168
171
  const signerAddress = toNative(signer.chain(), signer.address());
169
172
  const xfer = vaa.protocolName === "AutomaticTokenBridge"
170
173
  ? (await toChain.getAutomaticTokenBridge()).redeem(signerAddress, vaa)
171
174
  : (await toChain.getTokenBridge()).redeem(signerAddress, vaa);
172
175
  return signSendWait(toChain, xfer, signer);
173
176
  }
174
- static async isTransferComplete(toChain, vaa) {
175
- // TODO: converter?
176
- if (vaa.protocolName === "AutomaticTokenBridge")
177
- vaa = deserialize("TokenBridge:TransferWithPayload", serialize(vaa));
178
- const tb = await toChain.getTokenBridge();
179
- return tb.isTransferCompleted(vaa);
180
- }
181
- static async getTransferMessage(chain, txid, timeout) {
182
- // A Single wormhole message will be returned for a standard token transfer
183
- const whm = await Wormhole.parseMessageFromTx(chain, txid, timeout);
184
- if (whm.length !== 1)
185
- throw new Error("Expected a single Wormhole Message, got: " + whm.length);
186
- return whm[0];
177
+ TokenTransfer.redeem = redeem;
178
+ // AsyncGenerator fn that produces status updates through an async generator
179
+ // eventually producing a receipt
180
+ // can be called repeatedly so the receipt is updated as it moves through the
181
+ // steps of the transfer
182
+ async function* track(wh, receipt, timeout = DEFAULT_TASK_TIMEOUT, fromChain, toChain) {
183
+ const start = Date.now();
184
+ const leftover = (start, max) => Math.max(max - (Date.now() - start), 0);
185
+ fromChain = fromChain ?? wh.getChain(receipt.from);
186
+ toChain = toChain ?? wh.getChain(receipt.to);
187
+ // Check the source chain for initiation transaction
188
+ // and capture the message id
189
+ if (isSourceInitiated(receipt)) {
190
+ if (receipt.originTxs.length === 0)
191
+ throw "Origin transactions required to fetch message id";
192
+ const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
193
+ const msg = await TokenTransfer.getTransferMessage(fromChain, txid, leftover(start, timeout));
194
+ receipt = {
195
+ ...receipt,
196
+ state: TransferState.SourceFinalized,
197
+ attestation: { id: msg },
198
+ };
199
+ yield receipt;
200
+ }
201
+ // If the source is finalized, we need to fetch the signed attestation
202
+ // so that we may deliver it to the destination chain
203
+ // or at least track the transfer through its progress
204
+ if (isSourceFinalized(receipt)) {
205
+ if (!receipt.attestation.id)
206
+ throw "Attestation id required to fetch attestation";
207
+ const { id } = receipt.attestation;
208
+ const attestation = await TokenTransfer.getTransferVaa(wh, id, leftover(start, timeout));
209
+ receipt = {
210
+ ...receipt,
211
+ attestation: { id, attestation },
212
+ state: TransferState.Attested,
213
+ };
214
+ yield receipt;
215
+ }
216
+ // First try to grab the tx status from the API
217
+ // Note: this requires a subsequent async step on the backend
218
+ // to have the dest txid populated, so it may be delayed by some time
219
+ if (isAttested(receipt) || isSourceFinalized(receipt)) {
220
+ if (!receipt.attestation.id)
221
+ throw "Attestation id required to fetch redeem tx";
222
+ const { id } = receipt.attestation;
223
+ const txStatus = await wh.getTransactionStatus(id, leftover(start, timeout));
224
+ if (txStatus && txStatus.globalTx?.destinationTx?.txHash) {
225
+ const { chainId, txHash } = txStatus.globalTx.destinationTx;
226
+ receipt = {
227
+ ...receipt,
228
+ destinationTxs: [{ chain: toChainName(chainId), txid: txHash }],
229
+ state: TransferState.DestinationInitiated,
230
+ };
231
+ }
232
+ yield receipt;
233
+ }
234
+ // Fall back to asking the destination chain if this VAA has been redeemed
235
+ // Note: We do not get any destinationTxs with this method
236
+ if (isAttested(receipt)) {
237
+ if (!receipt.attestation.attestation)
238
+ throw "Signed Attestation required to check for redeem";
239
+ let isComplete = await TokenTransfer.isTransferComplete(toChain, receipt.attestation.attestation);
240
+ if (isComplete) {
241
+ receipt = {
242
+ ...receipt,
243
+ state: TransferState.DestinationFinalized,
244
+ };
245
+ }
246
+ yield receipt;
247
+ }
248
+ yield receipt;
187
249
  }
188
- static async getTransferVaa(wh, key, timeout) {
189
- const vaa = await wh.getVaa(key, TokenBridge.getTransferDiscriminator(), timeout);
190
- if (!vaa)
191
- throw new Error(`No VAA available after retries exhausted`);
192
- // TODO: converter
193
- // Check if its automatic and re-de-serialize
194
- if (vaa.payloadName === "TransferWithPayload") {
195
- const { chain, address } = vaa.payload.to;
196
- const { tokenBridgeRelayer } = wh.config.chains[chain].contracts;
197
- const relayerAddress = tokenBridgeRelayer ? toUniversal(chain, tokenBridgeRelayer) : null;
198
- // If the target address is the relayer address, expect its an automatic token bridge vaa
199
- if (!!relayerAddress && address.equals(relayerAddress)) {
200
- return deserialize("AutomaticTokenBridge:TransferWithRelay", serialize(vaa));
250
+ TokenTransfer.track = track;
251
+ function getReceipt(xfer) {
252
+ const { transfer } = xfer;
253
+ const from = transfer.from.chain;
254
+ const to = transfer.to.chain;
255
+ let receipt = {
256
+ from: from,
257
+ to: to,
258
+ state: TransferState.Created,
259
+ };
260
+ const originTxs = xfer.txids.filter((txid) => txid.chain === transfer.from.chain);
261
+ if (originTxs.length > 0) {
262
+ receipt = {
263
+ ...receipt,
264
+ state: TransferState.SourceInitiated,
265
+ originTxs: originTxs,
266
+ };
267
+ }
268
+ const att = xfer.attestations && xfer.attestations.length > 0 ? xfer.attestations[0] : undefined;
269
+ const attestation = att && att.id ? { id: att.id, attestation: att.attestation } : undefined;
270
+ if (attestation) {
271
+ if (attestation.id) {
272
+ receipt = {
273
+ ...receipt,
274
+ state: TransferState.SourceFinalized,
275
+ attestation: { id: attestation.id },
276
+ };
277
+ if (attestation.attestation) {
278
+ receipt = {
279
+ ...receipt,
280
+ state: TransferState.Attested,
281
+ attestation: { id: attestation.id, attestation: attestation.attestation },
282
+ };
283
+ }
201
284
  }
202
285
  }
203
- return vaa;
286
+ const destinationTxs = xfer.txids.filter((txid) => txid.chain === transfer.to.chain);
287
+ if (destinationTxs.length > 0) {
288
+ receipt = {
289
+ ...receipt,
290
+ state: TransferState.DestinationFinalized,
291
+ destinationTxs: destinationTxs,
292
+ };
293
+ }
294
+ return receipt;
204
295
  }
296
+ TokenTransfer.getReceipt = getReceipt;
205
297
  // Lookup the token id for the destination chain given the source chain
206
298
  // and token id
207
- static async lookupDestinationToken(srcChain, dstChain, token) {
299
+ async function lookupDestinationToken(srcChain, dstChain, token) {
208
300
  // that will be minted when the transfer is redeemed
209
301
  let lookup;
210
302
  if (isNative(token.address)) {
@@ -231,7 +323,40 @@ export class TokenTransfer {
231
323
  const dstAddress = await dstTb.getWrappedAsset(lookup);
232
324
  return { chain: dstChain.chain, address: dstAddress };
233
325
  }
234
- static validateTransferDetails(wh, transfer, fromChain, toChain) {
326
+ TokenTransfer.lookupDestinationToken = lookupDestinationToken;
327
+ async function isTransferComplete(toChain, vaa) {
328
+ if (vaa.protocolName === "AutomaticTokenBridge")
329
+ vaa = deserialize("TokenBridge:TransferWithPayload", serialize(vaa));
330
+ const tb = await toChain.getTokenBridge();
331
+ return tb.isTransferCompleted(vaa);
332
+ }
333
+ TokenTransfer.isTransferComplete = isTransferComplete;
334
+ async function getTransferMessage(chain, txid, timeout) {
335
+ // A Single wormhole message will be returned for a standard token transfer
336
+ const whm = await Wormhole.parseMessageFromTx(chain, txid, timeout);
337
+ if (whm.length !== 1)
338
+ throw new Error("Expected a single Wormhole Message, got: " + whm.length);
339
+ return whm[0];
340
+ }
341
+ TokenTransfer.getTransferMessage = getTransferMessage;
342
+ async function getTransferVaa(wh, key, timeout) {
343
+ const vaa = await wh.getVaa(key, TokenBridge.getTransferDiscriminator(), timeout);
344
+ if (!vaa)
345
+ throw new Error(`No VAA available after retries exhausted`);
346
+ // Check if its automatic and re-de-serialize
347
+ if (vaa.payloadName === "TransferWithPayload") {
348
+ const { chain, address } = vaa.payload.to;
349
+ const { tokenBridgeRelayer } = wh.config.chains[chain].contracts;
350
+ const relayerAddress = tokenBridgeRelayer ? toUniversal(chain, tokenBridgeRelayer) : null;
351
+ // If the target address is the relayer address, expect its an automatic token bridge vaa
352
+ if (!!relayerAddress && address.equals(relayerAddress)) {
353
+ return deserialize("AutomaticTokenBridge:TransferWithRelay", serialize(vaa));
354
+ }
355
+ }
356
+ return vaa;
357
+ }
358
+ TokenTransfer.getTransferVaa = getTransferVaa;
359
+ function validateTransferDetails(wh, transfer, fromChain, toChain) {
235
360
  if (transfer.amount === 0n)
236
361
  throw new Error("Amount cannot be 0");
237
362
  if (transfer.from.chain === transfer.to.chain)
@@ -258,10 +383,11 @@ export class TokenTransfer {
258
383
  throw new Error(`Token Bridge not supported on ${transfer.to.chain}`);
259
384
  }
260
385
  }
261
- static async quoteTransfer(wh, srcChain, dstChain, transfer) {
386
+ TokenTransfer.validateTransferDetails = validateTransferDetails;
387
+ async function quoteTransfer(wh, srcChain, dstChain, transfer) {
262
388
  const srcDecimals = await srcChain.getDecimals(transfer.token.address);
263
389
  const srcAmount = amount.fromBaseUnits(transfer.amount, srcDecimals);
264
- const srcAmountTruncated = amount.truncate(srcAmount, TOKEN_BRIDGE_MAX_DECIMALS);
390
+ const srcAmountTruncated = amount.truncate(srcAmount, TokenTransfer.MAX_DECIMALS);
265
391
  const srcToken = isNative(transfer.token.address)
266
392
  ? await srcChain.getNativeWrappedTokenId()
267
393
  : transfer.token;
@@ -284,7 +410,7 @@ export class TokenTransfer {
284
410
  if (notionalTransferAmt > limit.available)
285
411
  throw new Error(`Transfer amount exceeds available governed amount: ${notionalTransferAmt} > ${limit.available}`);
286
412
  }
287
- const dstToken = await this.lookupDestinationToken(srcChain, dstChain, transfer.token);
413
+ const dstToken = await TokenTransfer.lookupDestinationToken(srcChain, dstChain, transfer.token);
288
414
  const dstDecimals = await dstChain.getDecimals(dstToken.address);
289
415
  const dstAmountReceivable = amount.scale(srcAmountTruncated, dstDecimals);
290
416
  if (!transfer.automatic) {
@@ -297,8 +423,8 @@ export class TokenTransfer {
297
423
  // The fee is removed from the amount transferred
298
424
  // quoted on the source chain
299
425
  const stb = await srcChain.getAutomaticTokenBridge();
300
- const fee = await stb.getRelayerFee(transfer.from.address, transfer.to, srcToken.address);
301
- const feeAmountDest = amount.scale(amount.truncate(amount.fromBaseUnits(fee, srcDecimals), TOKEN_BRIDGE_MAX_DECIMALS), dstDecimals);
426
+ const fee = await stb.getRelayerFee(dstChain.chain, srcToken.address);
427
+ const feeAmountDest = amount.scale(amount.truncate(amount.fromBaseUnits(fee, srcDecimals), TokenTransfer.MAX_DECIMALS), dstDecimals);
302
428
  const dstNativeGasAmountRequested = transfer.nativeGas ?? 0n;
303
429
  // The expected destination gas can be pulled from the destination token bridge
304
430
  let destinationNativeGas = 0n;
@@ -326,7 +452,8 @@ export class TokenTransfer {
326
452
  destinationNativeGas,
327
453
  };
328
454
  }
329
- static async destinationOverrides(srcChain, dstChain, transfer) {
455
+ TokenTransfer.quoteTransfer = quoteTransfer;
456
+ async function destinationOverrides(srcChain, dstChain, transfer) {
330
457
  const _transfer = { ...transfer };
331
458
  // Bit of (temporary) hackery until solana contracts support being
332
459
  // sent a VAA with the primary address
@@ -354,122 +481,6 @@ export class TokenTransfer {
354
481
  }
355
482
  return _transfer;
356
483
  }
357
- static getReceipt(xfer) {
358
- const { transfer } = xfer;
359
- const from = transfer.from.chain;
360
- const to = transfer.to.chain;
361
- let receipt = {
362
- from: from,
363
- to: to,
364
- state: TransferState.Created,
365
- };
366
- const originTxs = xfer.txids.filter((txid) => txid.chain === transfer.from.chain);
367
- if (originTxs.length > 0) {
368
- receipt = {
369
- ...receipt,
370
- state: TransferState.SourceInitiated,
371
- originTxs: originTxs,
372
- };
373
- }
374
- const att = xfer.attestations && xfer.attestations.length > 0 ? xfer.attestations[0] : undefined;
375
- const attestation = att && att.id ? { id: att.id, attestation: att.attestation } : undefined;
376
- if (attestation) {
377
- if (attestation.id) {
378
- receipt = {
379
- ...receipt,
380
- state: TransferState.SourceFinalized,
381
- attestation: { id: attestation.id },
382
- };
383
- if (attestation.attestation) {
384
- receipt = {
385
- ...receipt,
386
- state: TransferState.Attested,
387
- attestation: { id: attestation.id, attestation: attestation.attestation },
388
- };
389
- }
390
- }
391
- }
392
- const destinationTxs = xfer.txids.filter((txid) => txid.chain === transfer.to.chain);
393
- if (destinationTxs.length > 0) {
394
- receipt = {
395
- ...receipt,
396
- state: TransferState.DestinationFinalized,
397
- destinationTxs: destinationTxs,
398
- };
399
- }
400
- return receipt;
401
- }
402
- // AsyncGenerator fn that produces status updates through an async generator
403
- // eventually producing a receipt
404
- // can be called repeatedly so the receipt is updated as it moves through the
405
- // steps of the transfer
406
- static async *track(wh, receipt, timeout = DEFAULT_TASK_TIMEOUT, fromChain, toChain) {
407
- const start = Date.now();
408
- const leftover = (start, max) => Math.max(max - (Date.now() - start), 0);
409
- fromChain = fromChain ?? wh.getChain(receipt.from);
410
- toChain = toChain ?? wh.getChain(receipt.to);
411
- // Check the source chain for initiation transaction
412
- // and capture the message id
413
- if (isSourceInitiated(receipt)) {
414
- if (receipt.originTxs.length === 0)
415
- throw "Origin transactions required to fetch message id";
416
- const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
417
- const msg = await TokenTransfer.getTransferMessage(fromChain, txid, leftover(start, timeout));
418
- receipt = {
419
- ...receipt,
420
- state: TransferState.SourceFinalized,
421
- attestation: { id: msg },
422
- };
423
- yield receipt;
424
- }
425
- // If the source is finalized, we need to fetch the signed attestation
426
- // so that we may deliver it to the destination chain
427
- // or at least track the transfer through its progress
428
- if (isSourceFinalized(receipt)) {
429
- if (!receipt.attestation.id)
430
- throw "Attestation id required to fetch attestation";
431
- const { id } = receipt.attestation;
432
- const attestation = await TokenTransfer.getTransferVaa(wh, id, leftover(start, timeout));
433
- receipt = {
434
- ...receipt,
435
- attestation: { id, attestation },
436
- state: TransferState.Attested,
437
- };
438
- yield receipt;
439
- }
440
- // First try to grab the tx status from the API
441
- // Note: this requires a subsequent async step on the backend
442
- // to have the dest txid populated, so it may be delayed by some time
443
- if (isAttested(receipt) || isSourceFinalized(receipt)) {
444
- if (!receipt.attestation.id)
445
- throw "Attestation id required to fetch redeem tx";
446
- const { id } = receipt.attestation;
447
- const txStatus = await wh.getTransactionStatus(id, leftover(start, timeout));
448
- if (txStatus && txStatus.globalTx?.destinationTx?.txHash) {
449
- const { chainId, txHash } = txStatus.globalTx.destinationTx;
450
- receipt = {
451
- ...receipt,
452
- destinationTxs: [{ chain: toChainName(chainId), txid: txHash }],
453
- state: TransferState.DestinationInitiated,
454
- };
455
- }
456
- yield receipt;
457
- }
458
- // Fall back to asking the destination chain if this VAA has been redeemed
459
- // Note: We do not get any destinationTxs with this method
460
- if (isAttested(receipt)) {
461
- if (!receipt.attestation.attestation)
462
- throw "Signed Attestation required to check for redeem";
463
- let isComplete = await TokenTransfer.isTransferComplete(toChain, receipt.attestation.attestation);
464
- if (isComplete) {
465
- receipt = {
466
- ...receipt,
467
- state: TransferState.DestinationFinalized,
468
- };
469
- }
470
- yield receipt;
471
- }
472
- yield receipt;
473
- }
474
- }
484
+ TokenTransfer.destinationOverrides = destinationOverrides;
485
+ })(TokenTransfer || (TokenTransfer = {}));
475
486
  //# sourceMappingURL=tokenTransfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransfer.js","sourceRoot":"","sources":["../../../../src/protocols/tokenBridge/tokenTransfer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wormholeTransfer.d.ts","sourceRoot":"","sources":["../../../src/protocols/wormholeTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,MAAM,EACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,YAAY,GAAG,YAAY,IAAI,EAAE,SACpE,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,EAAE,SAAS,cAAc,GAAG,uBAAuB,GACnD,qBAAqB,GACrB,EAAE,SAAS,WAAW,GACtB,sBAAsB,GACtB,KAAK,CAAC;AAIV,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,YAAY;IACvD,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,KAAK,EACnD,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EACvC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,KAAK,CAAC,CAAC,SAAS,OAAO,EACrB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5D;AAID,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,YAAY;IACvD,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAI9B,gBAAgB,IAAI,aAAa,CAAC;IAIlC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAIpD,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAI7D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAMrD"}
1
+ {"version":3,"file":"wormholeTransfer.d.ts","sourceRoot":"","sources":["../../../src/protocols/wormholeTransfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,MAAM,EACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,YAAY,GAAG,YAAY,IAAI,EAAE,SACpE,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,EAAE,SAAS,cAAc,GAAG,uBAAuB,GACnD,qBAAqB,GACrB,EAAE,SAAS,WAAW,GACtB,sBAAsB,GACtB,KAAK,CAAC;AAIV,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,YAAY;IACvD,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,KAAK,EACnD,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EACvC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,KAAK,CAAC,CAAC,SAAS,OAAO,EACrB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EACf,IAAI,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5D;AAID,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,YAAY;IACvD,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAI9B,gBAAgB,IAAI,aAAa,CAAC;IAIlC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAIpD,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAI7D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACrD"}
@@ -1,7 +1,7 @@
1
1
  import type { Chain, Network } from "@wormhole-foundation/sdk-base";
2
2
  import { amount } from "@wormhole-foundation/sdk-base";
3
- import type { ChainContext, Signer, TokenId } from "@wormhole-foundation/sdk-definitions";
4
- import type { CircleAttestationReceipt } from "../../protocols/cctpTransfer.js";
3
+ import type { ChainAddress, ChainContext, Signer, TokenId } from "@wormhole-foundation/sdk-definitions";
4
+ import { CircleTransfer } from "../../protocols/cctp/cctpTransfer.js";
5
5
  import type { StaticRouteMethods } from "../route.js";
6
6
  import { AutomaticRoute } from "../route.js";
7
7
  import type { Quote, QuoteResult, Receipt, TransferParams, ValidatedTransferParams, ValidationResult } from "../types.js";
@@ -24,7 +24,7 @@ type Tp = TransferParams<Op>;
24
24
  type Vr = ValidationResult<Op>;
25
25
  type Q = Quote<Op, Vp>;
26
26
  type QR = QuoteResult<Op, Vp>;
27
- type R = Receipt<CircleAttestationReceipt>;
27
+ type R = Receipt<CircleTransfer.AttestationReceipt>;
28
28
  export declare class AutomaticCCTPRoute<N extends Network> extends AutomaticRoute<N, Op, Vp, R> implements StaticRouteMethods<typeof AutomaticCCTPRoute> {
29
29
  NATIVE_GAS_DROPOFF_SUPPORTED: boolean;
30
30
  static meta: {
@@ -41,8 +41,8 @@ export declare class AutomaticCCTPRoute<N extends Network> extends AutomaticRout
41
41
  quote(params: Vp): Promise<QR>;
42
42
  private normalizeTransferParams;
43
43
  private toTransferDetails;
44
- initiate(signer: Signer, quote: Q): Promise<R>;
45
- track(receipt: R, timeout?: number): AsyncGenerator<import("../../protocols/cctpTransfer.js").CircleTransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">, void, unknown>;
44
+ initiate(signer: Signer, quote: Q, to: ChainAddress): Promise<R>;
45
+ track(receipt: R, timeout?: number): AsyncGenerator<CircleTransfer.TransferReceipt<"Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance", "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Near" | "Acala" | "Arbitrum" | "Aurora" | "Avalanche" | "Base" | "Bsc" | "Celo" | "Ethereum" | "Fantom" | "Gnosis" | "Karura" | "Klaytn" | "Moonbeam" | "Neon" | "Oasis" | "Optimism" | "Polygon" | "Rootstock" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "Mantle" | "Scroll" | "Blast" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Pythnet" | "Cosmoshub" | "Evmos" | "Injective" | "Kujira" | "Osmosis" | "Sei" | "Terra" | "Terra2" | "Wormchain" | "Xpla" | "Dymension" | "Neutron" | "Stargaze" | "Celestia" | "Seda" | "Provenance">, void, unknown>;
46
46
  }
47
47
  export {};
48
48
  //# sourceMappingURL=automatic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/cctp/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../../../src/routes/cctp/automatic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { amount, circle, contracts } from "@wormhole-foundation/sdk-base";
2
- import { CircleTransfer } from "../../protocols/cctpTransfer.js";
2
+ import { CircleTransfer } from "../../protocols/cctp/cctpTransfer.js";
3
3
  import { TransferState } from "../../types.js";
4
4
  import { Wormhole } from "../../wormhole.js";
5
5
  import { AutomaticRoute } from "../route.js";
@@ -67,7 +67,11 @@ export class AutomaticCCTPRoute extends AutomaticRoute {
67
67
  }
68
68
  async quote(params) {
69
69
  try {
70
- return this.request.displayQuote(await CircleTransfer.quoteTransfer(this.request.fromChain, this.request.toChain, this.toTransferDetails(params)), params);
70
+ return this.request.displayQuote(await CircleTransfer.quoteTransfer(this.request.fromChain, this.request.toChain, {
71
+ automatic: true,
72
+ amount: amount.units(params.normalizedParams.amount),
73
+ nativeGas: amount.units(params.normalizedParams.nativeGasAmount),
74
+ }), params);
71
75
  }
72
76
  catch (e) {
73
77
  return {
@@ -79,7 +83,7 @@ export class AutomaticCCTPRoute extends AutomaticRoute {
79
83
  async normalizeTransferParams(params) {
80
84
  const amt = this.request.parseAmount(params.amount);
81
85
  const ctb = await this.request.fromChain.getAutomaticCircleBridge();
82
- const fee = await ctb.getRelayerFee(this.request.to.chain);
86
+ const fee = await ctb.getRelayerFee(this.request.toChain.chain);
83
87
  const minAmount = (fee * 105n) / 100n;
84
88
  if (amount.units(amt) < minAmount) {
85
89
  throw new Error(`Minimum amount is ${amount.display(this.request.amountFromBaseUnits(minAmount))}`);
@@ -101,18 +105,18 @@ export class AutomaticCCTPRoute extends AutomaticRoute {
101
105
  nativeGasAmount: this.request.amountFromBaseUnits(nativeGasAmount),
102
106
  };
103
107
  }
104
- toTransferDetails(params) {
108
+ toTransferDetails(params, from, to) {
105
109
  return {
106
- from: this.request.from,
107
- to: this.request.to,
110
+ from,
111
+ to,
108
112
  amount: amount.units(params.normalizedParams.amount),
109
113
  automatic: true,
110
114
  nativeGas: amount.units(params.normalizedParams.nativeGasAmount),
111
115
  };
112
116
  }
113
- async initiate(signer, quote) {
117
+ async initiate(signer, quote, to) {
114
118
  const { params } = quote;
115
- let transfer = this.toTransferDetails(params);
119
+ let transfer = this.toTransferDetails(params, Wormhole.chainAddress(signer.chain(), signer.address()), to);
116
120
  let txids = await CircleTransfer.transfer(this.request.fromChain, transfer, signer);
117
121
  const msg = await CircleTransfer.getTransferMessage(this.request.fromChain, txids[txids.length - 1].txid);
118
122
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/cctp/automatic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../../../src/routes/cctp/automatic.ts"],"names":[],"mappings":"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"}