@wormhole-foundation/sdk-connect 4.23.0 → 5.0.0-beta.1

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 (179) hide show
  1. package/dist/esm/indexers/__tests__/balances.test.js +1 -0
  2. package/dist/esm/indexers/__tests__/balances.test.js.map +1 -1
  3. package/dist/esm/routes/cctp/automatic.d.ts +1 -1
  4. package/dist/esm/routes/cctp/manual.d.ts +1 -1
  5. package/dist/esm/routes/common.d.ts +1 -1
  6. package/dist/esm/routes/common.d.ts.map +1 -1
  7. package/dist/esm/routes/portico/automatic.d.ts +2 -2
  8. package/dist/esm/routes/tbtc/tbtc.d.ts +1 -1
  9. package/dist/esm/routes/tokenBridge/automatic.d.ts +1 -1
  10. package/dist/esm/routes/tokenBridge/executor.d.ts +6 -6
  11. package/dist/esm/routes/tokenBridge/manual.d.ts +1 -1
  12. package/package.json +32 -126
  13. package/dist/cjs/circle-api.d.ts +0 -20
  14. package/dist/cjs/circle-api.d.ts.map +0 -1
  15. package/dist/cjs/circle-api.js +0 -67
  16. package/dist/cjs/circle-api.js.map +0 -1
  17. package/dist/cjs/common.d.ts +0 -6
  18. package/dist/cjs/common.d.ts.map +0 -1
  19. package/dist/cjs/common.js +0 -60
  20. package/dist/cjs/common.js.map +0 -1
  21. package/dist/cjs/config.d.ts +0 -41
  22. package/dist/cjs/config.d.ts.map +0 -1
  23. package/dist/cjs/config.js +0 -65
  24. package/dist/cjs/config.js.map +0 -1
  25. package/dist/cjs/index.d.ts +0 -22
  26. package/dist/cjs/index.d.ts.map +0 -1
  27. package/dist/cjs/index.js +0 -71
  28. package/dist/cjs/index.js.map +0 -1
  29. package/dist/cjs/indexers/AlchemyClient.d.ts +0 -17
  30. package/dist/cjs/indexers/AlchemyClient.d.ts.map +0 -1
  31. package/dist/cjs/indexers/AlchemyClient.js +0 -112
  32. package/dist/cjs/indexers/AlchemyClient.js.map +0 -1
  33. package/dist/cjs/indexers/GoldRushClient.d.ts +0 -14
  34. package/dist/cjs/indexers/GoldRushClient.d.ts.map +0 -1
  35. package/dist/cjs/indexers/GoldRushClient.js +0 -90
  36. package/dist/cjs/indexers/GoldRushClient.js.map +0 -1
  37. package/dist/cjs/indexers/__tests__/balances.test.d.ts +0 -2
  38. package/dist/cjs/indexers/__tests__/balances.test.d.ts.map +0 -1
  39. package/dist/cjs/indexers/__tests__/balances.test.js +0 -323
  40. package/dist/cjs/indexers/__tests__/balances.test.js.map +0 -1
  41. package/dist/cjs/indexers/__tests__/utils.test.d.ts +0 -2
  42. package/dist/cjs/indexers/__tests__/utils.test.d.ts.map +0 -1
  43. package/dist/cjs/indexers/__tests__/utils.test.js +0 -71
  44. package/dist/cjs/indexers/__tests__/utils.test.js.map +0 -1
  45. package/dist/cjs/indexers/balances.d.ts +0 -5
  46. package/dist/cjs/indexers/balances.d.ts.map +0 -1
  47. package/dist/cjs/indexers/balances.js +0 -70
  48. package/dist/cjs/indexers/balances.js.map +0 -1
  49. package/dist/cjs/indexers/index.d.ts +0 -3
  50. package/dist/cjs/indexers/index.d.ts.map +0 -1
  51. package/dist/cjs/indexers/index.js +0 -21
  52. package/dist/cjs/indexers/index.js.map +0 -1
  53. package/dist/cjs/indexers/types.d.ts +0 -30
  54. package/dist/cjs/indexers/types.d.ts.map +0 -1
  55. package/dist/cjs/indexers/types.js +0 -3
  56. package/dist/cjs/indexers/types.js.map +0 -1
  57. package/dist/cjs/indexers/utils.d.ts +0 -2
  58. package/dist/cjs/indexers/utils.d.ts.map +0 -1
  59. package/dist/cjs/indexers/utils.js +0 -21
  60. package/dist/cjs/indexers/utils.js.map +0 -1
  61. package/dist/cjs/package.json +0 -1
  62. package/dist/cjs/protocols/cctp/cctpTransfer.d.ts +0 -46
  63. package/dist/cjs/protocols/cctp/cctpTransfer.d.ts.map +0 -1
  64. package/dist/cjs/protocols/cctp/cctpTransfer.js +0 -498
  65. package/dist/cjs/protocols/cctp/cctpTransfer.js.map +0 -1
  66. package/dist/cjs/protocols/gateway/gatewayTransfer.d.ts +0 -43
  67. package/dist/cjs/protocols/gateway/gatewayTransfer.d.ts.map +0 -1
  68. package/dist/cjs/protocols/gateway/gatewayTransfer.js +0 -399
  69. package/dist/cjs/protocols/gateway/gatewayTransfer.js.map +0 -1
  70. package/dist/cjs/protocols/index.d.ts +0 -5
  71. package/dist/cjs/protocols/index.d.ts.map +0 -1
  72. package/dist/cjs/protocols/index.js +0 -21
  73. package/dist/cjs/protocols/index.js.map +0 -1
  74. package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts +0 -68
  75. package/dist/cjs/protocols/tokenBridge/tokenTransfer.d.ts.map +0 -1
  76. package/dist/cjs/protocols/tokenBridge/tokenTransfer.js +0 -800
  77. package/dist/cjs/protocols/tokenBridge/tokenTransfer.js.map +0 -1
  78. package/dist/cjs/protocols/wormholeTransfer.d.ts +0 -20
  79. package/dist/cjs/protocols/wormholeTransfer.d.ts.map +0 -1
  80. package/dist/cjs/protocols/wormholeTransfer.js +0 -3
  81. package/dist/cjs/protocols/wormholeTransfer.js.map +0 -1
  82. package/dist/cjs/routes/cctp/automatic.d.ts +0 -47
  83. package/dist/cjs/routes/cctp/automatic.d.ts.map +0 -1
  84. package/dist/cjs/routes/cctp/automatic.js +0 -159
  85. package/dist/cjs/routes/cctp/automatic.js.map +0 -1
  86. package/dist/cjs/routes/cctp/index.d.ts +0 -3
  87. package/dist/cjs/routes/cctp/index.d.ts.map +0 -1
  88. package/dist/cjs/routes/cctp/index.js +0 -19
  89. package/dist/cjs/routes/cctp/index.js.map +0 -1
  90. package/dist/cjs/routes/cctp/manual.d.ts +0 -46
  91. package/dist/cjs/routes/cctp/manual.d.ts.map +0 -1
  92. package/dist/cjs/routes/cctp/manual.js +0 -139
  93. package/dist/cjs/routes/cctp/manual.js.map +0 -1
  94. package/dist/cjs/routes/common.d.ts +0 -13
  95. package/dist/cjs/routes/common.d.ts.map +0 -1
  96. package/dist/cjs/routes/common.js +0 -51
  97. package/dist/cjs/routes/common.js.map +0 -1
  98. package/dist/cjs/routes/index.d.ts +0 -10
  99. package/dist/cjs/routes/index.d.ts.map +0 -1
  100. package/dist/cjs/routes/index.js +0 -26
  101. package/dist/cjs/routes/index.js.map +0 -1
  102. package/dist/cjs/routes/portico/automatic.d.ts +0 -48
  103. package/dist/cjs/routes/portico/automatic.d.ts.map +0 -1
  104. package/dist/cjs/routes/portico/automatic.js +0 -232
  105. package/dist/cjs/routes/portico/automatic.js.map +0 -1
  106. package/dist/cjs/routes/portico/index.d.ts +0 -3
  107. package/dist/cjs/routes/portico/index.d.ts.map +0 -1
  108. package/dist/cjs/routes/portico/index.js +0 -18
  109. package/dist/cjs/routes/portico/index.js.map +0 -1
  110. package/dist/cjs/routes/request.d.ts +0 -29
  111. package/dist/cjs/routes/request.d.ts.map +0 -1
  112. package/dist/cjs/routes/request.js +0 -72
  113. package/dist/cjs/routes/request.js.map +0 -1
  114. package/dist/cjs/routes/resolver.d.ts +0 -14
  115. package/dist/cjs/routes/resolver.d.ts.map +0 -1
  116. package/dist/cjs/routes/resolver.js +0 -58
  117. package/dist/cjs/routes/resolver.js.map +0 -1
  118. package/dist/cjs/routes/route.d.ts +0 -79
  119. package/dist/cjs/routes/route.d.ts.map +0 -1
  120. package/dist/cjs/routes/route.js +0 -63
  121. package/dist/cjs/routes/route.js.map +0 -1
  122. package/dist/cjs/routes/tbtc/index.d.ts +0 -2
  123. package/dist/cjs/routes/tbtc/index.d.ts.map +0 -1
  124. package/dist/cjs/routes/tbtc/index.js +0 -18
  125. package/dist/cjs/routes/tbtc/index.js.map +0 -1
  126. package/dist/cjs/routes/tbtc/tbtc.d.ts +0 -44
  127. package/dist/cjs/routes/tbtc/tbtc.d.ts.map +0 -1
  128. package/dist/cjs/routes/tbtc/tbtc.js +0 -244
  129. package/dist/cjs/routes/tbtc/tbtc.js.map +0 -1
  130. package/dist/cjs/routes/token.d.ts +0 -13
  131. package/dist/cjs/routes/token.d.ts.map +0 -1
  132. package/dist/cjs/routes/token.js +0 -45
  133. package/dist/cjs/routes/token.js.map +0 -1
  134. package/dist/cjs/routes/tokenBridge/automatic.d.ts +0 -47
  135. package/dist/cjs/routes/tokenBridge/automatic.d.ts.map +0 -1
  136. package/dist/cjs/routes/tokenBridge/automatic.js +0 -205
  137. package/dist/cjs/routes/tokenBridge/automatic.js.map +0 -1
  138. package/dist/cjs/routes/tokenBridge/executor.d.ts +0 -107
  139. package/dist/cjs/routes/tokenBridge/executor.d.ts.map +0 -1
  140. package/dist/cjs/routes/tokenBridge/executor.js +0 -245
  141. package/dist/cjs/routes/tokenBridge/executor.js.map +0 -1
  142. package/dist/cjs/routes/tokenBridge/index.d.ts +0 -4
  143. package/dist/cjs/routes/tokenBridge/index.d.ts.map +0 -1
  144. package/dist/cjs/routes/tokenBridge/index.js +0 -20
  145. package/dist/cjs/routes/tokenBridge/index.js.map +0 -1
  146. package/dist/cjs/routes/tokenBridge/manual.d.ts +0 -45
  147. package/dist/cjs/routes/tokenBridge/manual.d.ts.map +0 -1
  148. package/dist/cjs/routes/tokenBridge/manual.js +0 -135
  149. package/dist/cjs/routes/tokenBridge/manual.js.map +0 -1
  150. package/dist/cjs/routes/types.d.ts +0 -59
  151. package/dist/cjs/routes/types.d.ts.map +0 -1
  152. package/dist/cjs/routes/types.js +0 -31
  153. package/dist/cjs/routes/types.js.map +0 -1
  154. package/dist/cjs/tasks.d.ts +0 -7
  155. package/dist/cjs/tasks.d.ts.map +0 -1
  156. package/dist/cjs/tasks.js +0 -65
  157. package/dist/cjs/tasks.js.map +0 -1
  158. package/dist/cjs/tokens.d.ts +0 -3
  159. package/dist/cjs/tokens.d.ts.map +0 -1
  160. package/dist/cjs/tokens.js +0 -19
  161. package/dist/cjs/tokens.js.map +0 -1
  162. package/dist/cjs/types.d.ts +0 -131
  163. package/dist/cjs/types.d.ts.map +0 -1
  164. package/dist/cjs/types.js +0 -66
  165. package/dist/cjs/types.js.map +0 -1
  166. package/dist/cjs/warnings.d.ts +0 -10
  167. package/dist/cjs/warnings.d.ts.map +0 -1
  168. package/dist/cjs/warnings.js +0 -3
  169. package/dist/cjs/warnings.js.map +0 -1
  170. package/dist/cjs/whscan-api.d.ts +0 -173
  171. package/dist/cjs/whscan-api.d.ts.map +0 -1
  172. package/dist/cjs/whscan-api.js +0 -238
  173. package/dist/cjs/whscan-api.js.map +0 -1
  174. package/dist/cjs/wormhole.d.ts +0 -244
  175. package/dist/cjs/wormhole.d.ts.map +0 -1
  176. package/dist/cjs/wormhole.js +0 -377
  177. package/dist/cjs/wormhole.js.map +0 -1
  178. package/index.d.cts +0 -22
  179. package/index.d.mts +0 -22
@@ -1,399 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GatewayTransfer = void 0;
4
- const sdk_base_1 = require("@wormhole-foundation/sdk-base");
5
- const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
6
- const common_js_1 = require("../../common.js");
7
- const tasks_js_1 = require("../../tasks.js");
8
- const types_js_1 = require("../../types.js");
9
- const wormhole_js_1 = require("../../wormhole.js");
10
- class GatewayTransfer {
11
- static chain = "Wormchain";
12
- wh;
13
- // Wormchain context
14
- gateway;
15
- // Wormchain IBC Bridge
16
- gatewayIbcBridge;
17
- // Contract address
18
- gatewayAddress;
19
- // state machine tracker
20
- _state;
21
- // cached message derived from transfer details
22
- // note: we dont want to create multiple different ones since
23
- // the nonce may change and we want to keep it consistent
24
- msg;
25
- // Initial Transfer Settings
26
- transfer;
27
- // Transaction Ids from source chain
28
- transactions = [];
29
- // The corresponding vaa representing the GatewayTransfer
30
- // on the source chain (if it came from outside cosmos and if its been completed and finalized)
31
- vaas;
32
- // Any transfers we do over ibc
33
- ibcTransfers = [];
34
- constructor(wh, transfer, gateway, gatewayIbc) {
35
- this._state = types_js_1.TransferState.Created;
36
- this.wh = wh;
37
- this.transfer = transfer;
38
- // reference from conf instead of asking the module
39
- // so we can prevent weird imports
40
- this.gatewayAddress = {
41
- chain: GatewayTransfer.chain,
42
- address: (0, sdk_definitions_1.toNative)(GatewayTransfer.chain, this.wh.config.chains[GatewayTransfer.chain].contracts.gateway),
43
- };
44
- // cache the wormchain chain context since we need it for checks
45
- this.gateway = gateway;
46
- this.gatewayIbcBridge = gatewayIbc;
47
- // cache the message since we don't want to regenerate it any time we need it
48
- this.msg = (0, sdk_definitions_1.gatewayTransferMsg)(this.transfer);
49
- }
50
- getTransferState() {
51
- return this._state;
52
- }
53
- static async from(wh, from, timeout) {
54
- // we need this regardless of the type of `from`
55
- const wc = wh.getChain(GatewayTransfer.chain);
56
- const wcibc = await wc.getIbcBridge();
57
- // Fresh new transfer
58
- if ((0, sdk_definitions_1.isGatewayTransferDetails)(from)) {
59
- const fromChain = wh.getChain(from.from.chain);
60
- const toChain = wh.getChain(from.to.chain);
61
- const overrides = await GatewayTransfer.destinationOverrides(fromChain, toChain, wc, from);
62
- // Override transfer params if necessary
63
- from = { ...from, ...overrides };
64
- return new GatewayTransfer(wh, from, wc, wcibc);
65
- }
66
- // Picking up where we left off
67
- let gtd;
68
- let txns = [];
69
- if ((0, sdk_definitions_1.isTransactionIdentifier)(from)) {
70
- txns.push(from);
71
- gtd = await GatewayTransfer._fromTransaction(wh, from);
72
- }
73
- else if ((0, sdk_definitions_1.isWormholeMessageId)(from)) {
74
- // TODO: we're missing the transaction that created this
75
- // get it from transaction status search on wormholescan?
76
- gtd = await GatewayTransfer._fromMsgId(wh, from);
77
- }
78
- else {
79
- throw new Error("Invalid `from` parameter for GatewayTransfer");
80
- }
81
- const gt = new GatewayTransfer(wh, gtd, wc, wcibc);
82
- gt.transactions = txns;
83
- // Since we're picking up from somewhere we can move the
84
- // state maching to initiated
85
- gt._state = types_js_1.TransferState.SourceInitiated;
86
- // Wait for what _can_ complete to complete
87
- await gt.fetchAttestation(timeout);
88
- return gt;
89
- }
90
- // Recover Transfer info from VAA details
91
- static async _fromMsgId(wh, from, timeout) {
92
- // Starting with the VAA
93
- const vaa = await GatewayTransfer.getTransferVaa(wh, from, timeout);
94
- // The VAA may have a payload which may have a nested GatewayTransferMessage
95
- let payload = vaa.payloadName === "TransferWithPayload" ? vaa.payload.payload : undefined;
96
- // Nonce for GatewayTransferMessage may be in the payload
97
- // and since we use the payload to find the Wormchain transacton
98
- // we need to preserve it
99
- let nonce;
100
- let to = { ...vaa.payload.to };
101
- // The payload here may be the message for Gateway
102
- // Lets be sure to pull the real payload if its set
103
- // Otherwise revert to undefined
104
- if (payload) {
105
- try {
106
- const maybeWithPayload = (0, sdk_definitions_1.toGatewayMsg)(sdk_base_1.encoding.bytes.decode(payload));
107
- nonce = maybeWithPayload.nonce;
108
- payload = maybeWithPayload.payload
109
- ? sdk_base_1.encoding.bytes.encode(maybeWithPayload.payload)
110
- : undefined;
111
- const destChain = (0, sdk_base_1.toChain)(maybeWithPayload.chain);
112
- // b64 decode the address to its string representation
113
- const recipientAddress = sdk_base_1.encoding.bytes.decode(sdk_base_1.encoding.b64.decode(maybeWithPayload.recipient));
114
- to = wormhole_js_1.Wormhole.chainAddress(destChain, recipientAddress);
115
- }
116
- catch {
117
- /*Ignoring, throws if not the payload isnt JSON*/
118
- }
119
- }
120
- const { chain, address, amount } = vaa.payload.token;
121
- // Reconstruct the details
122
- const details = {
123
- token: { chain, address },
124
- amount: amount,
125
- // TODO: the `from.address` here is a lie, but we don't
126
- // immediately have enough info to get the _correct_ one
127
- from: { chain: from.chain, address: from.emitter },
128
- to,
129
- nonce,
130
- payload: payload,
131
- };
132
- return details;
133
- }
134
- // Init from source tx hash, depending on the source chain
135
- // we pull Transfer info from either IBC or a wh message
136
- static async _fromTransaction(wh, from, timeout) {
137
- const { chain, txid } = from;
138
- const originChain = wh.getChain(chain);
139
- // If its origin chain supports IBC, it should be an IBC message
140
- if (originChain.supportsIbcBridge()) {
141
- // Get the ibc tx info from the origin
142
- const ibcBridge = await originChain.getIbcBridge();
143
- const [xfer] = await ibcBridge.lookupTransferFromTx(from.txid);
144
- return GatewayTransfer.ibcTransfertoGatewayTransfer(xfer);
145
- }
146
- // Otherwise grab the vaa details from the origin tx
147
- const msgs = await wormhole_js_1.Wormhole.parseMessageFromTx(originChain, txid);
148
- if (!msgs)
149
- throw new Error("No messages found in transaction");
150
- return await GatewayTransfer._fromMsgId(wh, msgs[0], timeout);
151
- }
152
- // Recover transfer info the first step in the transfer
153
- static ibcTransfertoGatewayTransfer(xfer) {
154
- const token = wormhole_js_1.Wormhole.tokenId(xfer.id.chain, xfer.data.denom);
155
- const msg = (0, sdk_definitions_1.toGatewayMsg)(xfer.data.memo);
156
- const destChain = (0, sdk_base_1.toChain)(msg.chain);
157
- const _recip = sdk_base_1.encoding.b64.decode(msg.recipient);
158
- const recipient = (0, sdk_base_1.chainToPlatform)(destChain) === "Cosmwasm"
159
- ? wormhole_js_1.Wormhole.chainAddress(destChain, sdk_base_1.encoding.bytes.decode(_recip))
160
- : {
161
- chain: destChain,
162
- address: new sdk_definitions_1.UniversalAddress(_recip).toNative(destChain),
163
- };
164
- const payload = msg.payload ? sdk_base_1.encoding.bytes.encode(msg.payload) : undefined;
165
- const details = {
166
- token,
167
- amount: BigInt(xfer.data.amount),
168
- from: {
169
- chain: xfer.id.chain,
170
- address: (0, sdk_definitions_1.toNative)(xfer.id.chain, xfer.data.sender),
171
- },
172
- to: recipient,
173
- fee: BigInt(msg.fee),
174
- payload,
175
- };
176
- return details;
177
- }
178
- // start the WormholeTransfer by submitting transactions to the source chain
179
- // returns a transaction hash
180
- async initiateTransfer(signer) {
181
- if (this._state !== types_js_1.TransferState.Created)
182
- throw new Error("Invalid state transition in `start`");
183
- this.transactions = await (this.fromGateway()
184
- ? this._transferIbc(signer)
185
- : this._transfer(signer));
186
- // Update State Machine
187
- this._state = types_js_1.TransferState.SourceInitiated;
188
- return this.transactions.map((tx) => tx.txid);
189
- }
190
- async _transfer(signer) {
191
- const tokenAddress = this.transfer.token.address;
192
- const fromChain = this.wh.getChain(this.transfer.from.chain);
193
- // Build the message needed to send a transfer through the gateway
194
- const tb = await fromChain.getTokenBridge();
195
- const xfer = tb.transfer(this.transfer.from.address, this.gatewayAddress, tokenAddress, this.transfer.amount, sdk_base_1.encoding.bytes.encode(JSON.stringify(this.msg)));
196
- return (0, common_js_1.signSendWait)(fromChain, xfer, signer);
197
- }
198
- async _transferIbc(signer) {
199
- if ((0, sdk_definitions_1.isNative)(this.transfer.token.address))
200
- throw new Error("Native not supported for IBC transfers");
201
- const fromChain = this.wh.getChain(this.transfer.from.chain);
202
- const ibcBridge = await fromChain.getIbcBridge();
203
- const xfer = ibcBridge.transfer(this.transfer.from.address, this.transfer.to, this.transfer.token.address, this.transfer.amount);
204
- return (0, common_js_1.signSendWait)(fromChain, xfer, signer);
205
- }
206
- // wait for the Attestations to be ready
207
- async fetchAttestation(timeout) {
208
- // Note: this method probably does too much
209
- if (this._state < types_js_1.TransferState.SourceInitiated || this._state > types_js_1.TransferState.Attested)
210
- throw new Error("Invalid state transition in `fetchAttestation`");
211
- const attestations = [];
212
- const chain = this.wh.getChain(this.transfer.from.chain);
213
- // collect ibc transfers and additional transaction ids
214
- if (this.fromGateway()) {
215
- // assume all the txs are from the same chain
216
- // and get the ibc bridge once
217
- const originIbcbridge = await chain.getIbcBridge();
218
- // Ultimately we need to find the corresponding Wormchain transaction
219
- // from the intitiating cosmos chain, this will contain the details of the
220
- // outbound transaction to the destination chain
221
- // start by getting the IBC transfers into wormchain
222
- // from the cosmos chain
223
- this.ibcTransfers = (await Promise.all(this.transactions.map((tx) => originIbcbridge.lookupTransferFromTx(tx.txid)))).flat();
224
- // I don't know why this would happen so lmk if you see this
225
- if (this.ibcTransfers.length != 1)
226
- throw new Error("why?");
227
- const [xfer] = this.ibcTransfers;
228
- if (!this.toGateway()) {
229
- // If we're leaving cosmos, grab the VAA from the gateway
230
- // now find the corresponding wormchain transaction given the ibcTransfer info
231
- const retryInterval = 5000;
232
- const task = () => this.gatewayIbcBridge.lookupMessageFromIbcMsgId(xfer.id);
233
- const whm = await (0, tasks_js_1.retry)(task, retryInterval, timeout, "Gateway:IbcBridge:LookupWormholeMessageFromIncomingIbcMessage");
234
- if (!whm)
235
- throw new Error("Matching wormhole message not found after retries exhausted");
236
- const vaa = await GatewayTransfer.getTransferVaa(this.wh, whm);
237
- this.vaas = [{ id: whm, vaa }];
238
- attestations.push(whm);
239
- }
240
- else {
241
- // Otherwise we need to get the transfer on the destination chain
242
- // using the transfer from wormchain
243
- const gatewayTransferTask = () => (0, tasks_js_1.fetchIbcXfer)(this.gatewayIbcBridge, xfer.id);
244
- const gatewayIbcTransfers = await (0, tasks_js_1.retry)(gatewayTransferTask, 5000, timeout, "Gateway:IbcBridge:LookupWormchainIbcTransfer");
245
- if (gatewayIbcTransfers === null)
246
- throw new Error("Gateway IBC transfer not found after retries exhausted");
247
- const toDestChainIbcTransfer = gatewayIbcTransfers[1];
248
- const dstChain = this.wh.getChain(this.transfer.to.chain);
249
- const dstIbcBridge = await dstChain.getIbcBridge();
250
- const dstMsgTask = () => (0, tasks_js_1.fetchIbcXfer)(dstIbcBridge, toDestChainIbcTransfer.id);
251
- const dstIbcTransfers = await (0, tasks_js_1.retry)(dstMsgTask, 5000, timeout, "Gateway:IbcBridge:LookupDestinationIbcTransfer");
252
- if (!dstIbcTransfers)
253
- throw new Error("Destination IBC transfer not found after retries exhausted");
254
- this.ibcTransfers.push(dstIbcTransfers[0]);
255
- }
256
- }
257
- else {
258
- // Otherwise, we're coming from outside cosmos and
259
- // we need to find the wormchain ibc transaction information
260
- // by searching for the transaction containing the
261
- // GatewayTransferMsg
262
- const transferTransaction = this.transactions[this.transactions.length - 1];
263
- const [whm] = await wormhole_js_1.Wormhole.parseMessageFromTx(chain, transferTransaction.txid);
264
- const vaa = await GatewayTransfer.getTransferVaa(this.wh, whm);
265
- this.vaas = [{ id: whm, vaa }];
266
- attestations.push(whm);
267
- // TODO: conf for these settings? how do we choose them?
268
- const vaaRedeemedRetryInterval = 2000;
269
- const transferCompleteInterval = 5000;
270
- // Wait until the vaa is redeemed before trying to look up the
271
- // transfer message
272
- const wcTb = await this.gateway.getTokenBridge();
273
- // Since we want to retry until its redeemed, return null
274
- // in the case that its not redeemed
275
- const isRedeemedTask = () => (0, tasks_js_1.isTokenBridgeVaaRedeemed)(wcTb, vaa);
276
- const redeemed = await (0, tasks_js_1.retry)(isRedeemedTask, vaaRedeemedRetryInterval, timeout, "Gateway:TokenBridge:IsVaaRedeemed");
277
- if (!redeemed)
278
- throw new Error("VAA not redeemed after retries exhausted");
279
- // Next, get the IBC transactions from wormchain
280
- // Note: Because we search by GatewayTransferMsg payload
281
- // there is a possibility of dupe messages being returned
282
- // using a nonce should help
283
- const wcTransferTask = () => (0, tasks_js_1.fetchIbcXfer)(this.gatewayIbcBridge, this.msg);
284
- const wcTransfers = await (0, tasks_js_1.retry)(wcTransferTask, vaaRedeemedRetryInterval, timeout, "Gateway:IbcBridge:WormchainTransferInitiated");
285
- if (!wcTransfers)
286
- throw new Error("Wormchain transfer not found after retries exhausted");
287
- const [wcTransfer] = wcTransfers;
288
- if (wcTransfer.pending) {
289
- // TODO: check if pending and bail(?) if so
290
- }
291
- this.ibcTransfers.push(wcTransfer);
292
- // Finally, get the IBC transfer to the destination chain
293
- const destChain = this.wh.getChain(this.transfer.to.chain);
294
- const destIbcBridge = await destChain.getIbcBridge();
295
- const destTransferTask = () => (0, tasks_js_1.fetchIbcXfer)(destIbcBridge, wcTransfer.id);
296
- const destTransfer = await (0, tasks_js_1.retry)(destTransferTask, transferCompleteInterval, timeout, "Destination:IbcBridge:WormchainTransferCompleted");
297
- if (!destTransfer)
298
- throw new Error("IBC Transfer into destination not found after retries exhausted" +
299
- JSON.stringify(wcTransfer));
300
- this.ibcTransfers.push(destTransfer[0]);
301
- }
302
- // Add transfers to attestations we return
303
- // Note: there is no ordering guarantee here
304
- attestations.push(...this.ibcTransfers.map((xfer) => xfer.id));
305
- this._state = types_js_1.TransferState.Attested;
306
- return attestations;
307
- }
308
- // finish the WormholeTransfer by submitting transactions to the destination chain
309
- // returns a transaction hash
310
- async completeTransfer(signer) {
311
- if (this._state < types_js_1.TransferState.Attested)
312
- throw new Error("Invalid state transition in `finish`. Be sure to call `fetchAttestation`.");
313
- if (this.toGateway())
314
- // TODO: assuming the last transaction captured is the one from gateway to the destination
315
- return [this.transactions[this.transactions.length - 1].txid];
316
- if (!this.vaas)
317
- throw new Error("No VAA details available to redeem");
318
- if (this.vaas.length > 1)
319
- throw new Error("Expected 1 vaa");
320
- const toChain = this.wh.getChain(signer.chain());
321
- const toAddress = (0, sdk_definitions_1.toNative)(signer.chain(), signer.address());
322
- const tb = await toChain.getTokenBridge();
323
- const { vaa } = this.vaas[0];
324
- if (!vaa)
325
- throw new Error(`No VAA found for ${this.vaas[0].id.sequence}`);
326
- const xfer = tb.redeem(toAddress, vaa);
327
- const redeemTxs = await (0, common_js_1.signSendWait)(toChain, xfer, signer);
328
- this.transactions.push(...redeemTxs);
329
- this._state = types_js_1.TransferState.DestinationInitiated;
330
- return redeemTxs.map(({ txid }) => txid);
331
- }
332
- // Implicitly determine if the chain is Gateway enabled by
333
- // checking to see if the Gateway IBC bridge has a transfer channel setup
334
- // If this is a new chain, add the channels to the constants file
335
- fromGateway() {
336
- return this.gatewayIbcBridge.getTransferChannel(this.transfer.from.chain) !== null;
337
- }
338
- toGateway() {
339
- return this.gatewayIbcBridge.getTransferChannel(this.transfer.to.chain) !== null;
340
- }
341
- }
342
- exports.GatewayTransfer = GatewayTransfer;
343
- (function (GatewayTransfer) {
344
- async function getTransferVaa(wh, whm, timeout) {
345
- const vaa = await wh.getVaa(whm, sdk_definitions_1.TokenBridge.getTransferDiscriminator(), timeout);
346
- if (!vaa)
347
- throw new Error(`No VAA Available: ${whm.chain}/${whm.emitter}/${whm.sequence}`);
348
- return vaa;
349
- }
350
- GatewayTransfer.getTransferVaa = getTransferVaa;
351
- async function destinationOverrides(srcChain, dstChain, gatewayChain, transfer) {
352
- const _transfer = { ...transfer };
353
- // Bit of (temporary) hackery until solana contracts support being
354
- // sent a VAA with the primary address
355
- if ((0, sdk_base_1.chainToPlatform)(transfer.to.chain) === "Solana") {
356
- const destinationToken = await GatewayTransfer.lookupDestinationToken(srcChain, dstChain, gatewayChain, _transfer.token);
357
- _transfer.to = await dstChain.getTokenAccount(_transfer.to.address, destinationToken.address);
358
- }
359
- return _transfer;
360
- }
361
- GatewayTransfer.destinationOverrides = destinationOverrides;
362
- // Lookup the token id for the destination chain given the source chain
363
- // and token id
364
- async function lookupDestinationToken(srcChain, dstChain, gatewayChain, token) {
365
- // that will be minted when the transfer is redeemed
366
- let lookup;
367
- if ((0, sdk_definitions_1.isNative)(token.address)) {
368
- // if native, get the wrapped asset id
369
- lookup = await srcChain.getNativeWrappedTokenId();
370
- }
371
- else {
372
- try {
373
- // otherwise, check to see if it is a wrapped token locally
374
- const tb = await srcChain.getTokenBridge();
375
- lookup = await tb.getOriginalAsset(token.address);
376
- }
377
- catch (e) {
378
- // not a from-chain native token, check the gateway chain
379
- try {
380
- const gtb = await gatewayChain.getTokenBridge();
381
- lookup = await gtb.getOriginalAsset(token.address);
382
- }
383
- catch (e) {
384
- lookup = token;
385
- }
386
- }
387
- }
388
- // if the token id is actually native to the destination, return it
389
- if (lookup.chain === dstChain.chain) {
390
- return lookup;
391
- }
392
- // otherwise, figure out what the token address representing the wormhole-wrapped token we're transferring
393
- const dstTb = await dstChain.getTokenBridge();
394
- const dstAddress = await dstTb.getWrappedAsset(lookup);
395
- return { chain: dstChain.chain, address: dstAddress };
396
- }
397
- GatewayTransfer.lookupDestinationToken = lookupDestinationToken;
398
- })(GatewayTransfer || (exports.GatewayTransfer = GatewayTransfer = {}));
399
- //# sourceMappingURL=gatewayTransfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatewayTransfer.js","sourceRoot":"","sources":["../../../../src/protocols/gateway/gatewayTransfer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from "./wormholeTransfer.js";
2
- export * from "./tokenBridge/tokenTransfer.js";
3
- export * from "./cctp/cctpTransfer.js";
4
- export * from "./gateway/gatewayTransfer.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocols/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./wormholeTransfer.js"), exports);
18
- __exportStar(require("./tokenBridge/tokenTransfer.js"), exports);
19
- __exportStar(require("./cctp/cctpTransfer.js"), exports);
20
- __exportStar(require("./gateway/gatewayTransfer.js"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocols/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,iEAA+C;AAC/C,yDAAuC;AACvC,+DAA6C"}
@@ -1,68 +0,0 @@
1
- import type { Chain, Network } from "@wormhole-foundation/sdk-base";
2
- import type { AttestationId, AutomaticTokenBridge, ChainContext, Signer, TokenId, TokenTransferDetails, TransactionId, TxHash, WormholeMessageId, CapabilitiesResponse, ExecutorTokenBridge, ChainAddress } from "@wormhole-foundation/sdk-definitions";
3
- import { TokenBridge } from "@wormhole-foundation/sdk-definitions";
4
- import type { AttestationReceipt as _AttestationReceipt, TransferQuote, TransferReceipt as _TransferReceipt } from "../../types.js";
5
- import { TransferState } from "../../types.js";
6
- import { Wormhole } from "../../wormhole.js";
7
- import type { WormholeTransfer } from "../wormholeTransfer.js";
8
- export declare class TokenTransfer<N extends Network = Network> implements WormholeTransfer<TokenTransfer.Protocol> {
9
- private readonly wh;
10
- fromChain: ChainContext<N, Chain>;
11
- toChain: ChainContext<N, Chain>;
12
- private _state;
13
- transfer: TokenTransferDetails;
14
- txids: TransactionId[];
15
- attestations?: TokenTransfer.AttestationReceipt[];
16
- private constructor();
17
- getTransferState(): TransferState;
18
- static from<N extends Network>(wh: Wormhole<N>, from: TokenTransferDetails, timeout?: number, fromChain?: ChainContext<N, Chain>, toChain?: ChainContext<N, Chain>): Promise<TokenTransfer<N>>;
19
- static from<N extends Network>(wh: Wormhole<N>, from: WormholeMessageId, timeout?: number, fromChain?: ChainContext<N, Chain>, toChain?: ChainContext<N, Chain>): Promise<TokenTransfer<N>>;
20
- static from<N extends Network>(wh: Wormhole<N>, from: TransactionId, timeout?: number, fromChain?: ChainContext<N, Chain>, toChain?: ChainContext<N, Chain>): Promise<TokenTransfer<N>>;
21
- private static fromIdentifier;
22
- private static fromTransaction;
23
- initiateTransfer(signer: Signer): Promise<TxHash[]>;
24
- fetchAttestation(timeout?: number): Promise<AttestationId[]>;
25
- completeTransfer(signer: Signer): Promise<TxHash[]>;
26
- }
27
- export declare namespace TokenTransfer {
28
- /** 8 is maximum precision supported by the token bridge VAA */
29
- export const MAX_DECIMALS = 8;
30
- export type Protocol = "TokenBridge" | "AutomaticTokenBridge" | "ExecutorTokenBridge";
31
- export type VAA = TokenBridge.TransferVAA | AutomaticTokenBridge.VAA | ExecutorTokenBridge.VAA;
32
- export type AttestationReceipt = _AttestationReceipt<TokenTransfer.Protocol>;
33
- export type TransferReceipt<SC extends Chain = Chain, DC extends Chain = Chain> = _TransferReceipt<TokenTransfer.AttestationReceipt, SC, DC>;
34
- export function transfer<N extends Network>(fromChain: ChainContext<N, Chain>, transfer: TokenTransferDetails, signer: Signer<N, Chain>): Promise<TransactionId[]>;
35
- export function redeem<N extends Network>(toChain: ChainContext<N, Chain>, vaa: TokenTransfer.VAA, signer: Signer<N, Chain>): Promise<TransactionId[]>;
36
- export function track<N extends Network, SC extends Chain, DC extends Chain>(wh: Wormhole<N>, receipt: TokenTransfer.TransferReceipt<SC, DC>, timeout?: number, fromChain?: ChainContext<N, SC>, toChain?: ChainContext<N, DC>): AsyncGenerator<TokenTransfer.TransferReceipt<SC, DC>>;
37
- export function getReceipt<N extends Network>(xfer: TokenTransfer<N>): TransferReceipt;
38
- export function lookupDestinationToken<N extends Network, SC extends Chain, DC extends Chain>(srcChain: ChainContext<N, SC>, dstChain: ChainContext<N, DC>, token: TokenId<SC>): Promise<TokenId<DC>>;
39
- export function isTransferComplete<N extends Network, C extends Chain>(toChain: ChainContext<N, C>, vaa: TokenTransfer.VAA): Promise<boolean>;
40
- export function getTransferMessage<N extends Network, C extends Chain>(chain: ChainContext<N, C>, txid: TxHash, timeout?: number): Promise<WormholeMessageId>;
41
- export function getTransferVaa<N extends Network>(wh: Wormhole<N>, key: WormholeMessageId | TxHash, timeout?: number): Promise<TokenTransfer.VAA | null>;
42
- export function isTransferEnqueued<N extends Network>(wh: Wormhole<N>, key: WormholeMessageId): Promise<boolean>;
43
- export function validateTransferDetails<N extends Network>(wh: Wormhole<N>, transfer: TokenTransferDetails, fromChain?: ChainContext<N, Chain>, toChain?: ChainContext<N, Chain>): void;
44
- type BaseQuoteDetails = Omit<TokenTransferDetails, "from" | "to">;
45
- export type QuoteTransferDetails = (BaseQuoteDetails & {
46
- protocol: TokenBridge.ProtocolName;
47
- payload?: Uint8Array;
48
- }) | (BaseQuoteDetails & {
49
- protocol: AutomaticTokenBridge.ProtocolName;
50
- nativeGas?: bigint;
51
- }) | (BaseQuoteDetails & {
52
- protocol: ExecutorTokenBridge.ProtocolName;
53
- msgValue: bigint;
54
- gasLimit: bigint;
55
- nativeGas?: bigint;
56
- referrerFee?: {
57
- transferTokenFee: bigint;
58
- nativeTokenFee: bigint;
59
- referrer: ChainAddress;
60
- };
61
- });
62
- export function quoteTransfer<N extends Network>(wh: Wormhole<N>, srcChain: ChainContext<N, Chain>, dstChain: ChainContext<N, Chain>, transfer: QuoteTransferDetails, getCapabilities?: (network: Network) => Promise<CapabilitiesResponse>): Promise<TransferQuote>;
63
- export function getExecutorGasDropOffLimit<N extends Network>(wh: Wormhole<N>, dstChain: ChainContext<N, Chain>, getCapabilities?: (network: Network) => Promise<CapabilitiesResponse>): Promise<bigint>;
64
- export function getExecutorQuote<N extends Network>(wh: Wormhole<N>, srcChain: ChainContext<N, Chain>, dstChain: ChainContext<N, Chain>, gasLimit: bigint, msgValue: bigint, nativeGas?: bigint, getCapabilities?: (network: Network) => Promise<CapabilitiesResponse>): Promise<ExecutorTokenBridge.ExecutorQuote>;
65
- export function destinationOverrides<N extends Network>(srcChain: ChainContext<N, Chain>, dstChain: ChainContext<N, Chain>, transfer: TokenTransferDetails): Promise<TokenTransferDetails>;
66
- export {};
67
- }
68
- //# sourceMappingURL=tokenTransfer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenTransfer.d.ts","sourceRoot":"","sources":["../../../../src/protocols/tokenBridge/tokenTransfer.ts"],"names":[],"mappings":"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"}