@wormhole-foundation/sdk-solana-tokenbridge 3.9.0 → 3.10.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 (63) hide show
  1. package/dist/cjs/tokenBridge.d.ts.map +1 -1
  2. package/dist/cjs/tokenBridge.js +83 -18
  3. package/dist/cjs/tokenBridge.js.map +1 -1
  4. package/dist/cjs/utils/tokenBridge/instructions/approve.d.ts +1 -1
  5. package/dist/cjs/utils/tokenBridge/instructions/approve.d.ts.map +1 -1
  6. package/dist/cjs/utils/tokenBridge/instructions/approve.js +2 -2
  7. package/dist/cjs/utils/tokenBridge/instructions/approve.js.map +1 -1
  8. package/dist/cjs/utils/tokenBridge/instructions/attestToken.d.ts +2 -2
  9. package/dist/cjs/utils/tokenBridge/instructions/attestToken.d.ts.map +1 -1
  10. package/dist/cjs/utils/tokenBridge/instructions/attestToken.js +7 -5
  11. package/dist/cjs/utils/tokenBridge/instructions/attestToken.js.map +1 -1
  12. package/dist/cjs/utils/tokenBridge/instructions/completeNative.d.ts +2 -2
  13. package/dist/cjs/utils/tokenBridge/instructions/completeNative.d.ts.map +1 -1
  14. package/dist/cjs/utils/tokenBridge/instructions/completeNative.js +6 -4
  15. package/dist/cjs/utils/tokenBridge/instructions/completeNative.js.map +1 -1
  16. package/dist/cjs/utils/tokenBridge/instructions/transferNative.d.ts +2 -2
  17. package/dist/cjs/utils/tokenBridge/instructions/transferNative.d.ts.map +1 -1
  18. package/dist/cjs/utils/tokenBridge/instructions/transferNative.js +4 -5
  19. package/dist/cjs/utils/tokenBridge/instructions/transferNative.js.map +1 -1
  20. package/dist/cjs/utils/tokenBridge/instructions/transferNativeWithPayload.d.ts +2 -2
  21. package/dist/cjs/utils/tokenBridge/instructions/transferNativeWithPayload.d.ts.map +1 -1
  22. package/dist/cjs/utils/tokenBridge/instructions/transferNativeWithPayload.js +6 -4
  23. package/dist/cjs/utils/tokenBridge/instructions/transferNativeWithPayload.js.map +1 -1
  24. package/dist/cjs/utils/tokenBridge/instructions/transferWrapped.d.ts +2 -2
  25. package/dist/cjs/utils/tokenBridge/instructions/transferWrapped.d.ts.map +1 -1
  26. package/dist/cjs/utils/tokenBridge/instructions/transferWrapped.js +4 -5
  27. package/dist/cjs/utils/tokenBridge/instructions/transferWrapped.js.map +1 -1
  28. package/dist/cjs/utils/tokenBridge/instructions/transferWrappedWithPayload.d.ts +2 -2
  29. package/dist/cjs/utils/tokenBridge/instructions/transferWrappedWithPayload.d.ts.map +1 -1
  30. package/dist/cjs/utils/tokenBridge/instructions/transferWrappedWithPayload.js +4 -4
  31. package/dist/cjs/utils/tokenBridge/instructions/transferWrappedWithPayload.js.map +1 -1
  32. package/dist/esm/tokenBridge.d.ts.map +1 -1
  33. package/dist/esm/tokenBridge.js +84 -19
  34. package/dist/esm/tokenBridge.js.map +1 -1
  35. package/dist/esm/utils/tokenBridge/instructions/approve.d.ts +1 -1
  36. package/dist/esm/utils/tokenBridge/instructions/approve.d.ts.map +1 -1
  37. package/dist/esm/utils/tokenBridge/instructions/approve.js +2 -2
  38. package/dist/esm/utils/tokenBridge/instructions/approve.js.map +1 -1
  39. package/dist/esm/utils/tokenBridge/instructions/attestToken.d.ts +2 -2
  40. package/dist/esm/utils/tokenBridge/instructions/attestToken.d.ts.map +1 -1
  41. package/dist/esm/utils/tokenBridge/instructions/attestToken.js +7 -5
  42. package/dist/esm/utils/tokenBridge/instructions/attestToken.js.map +1 -1
  43. package/dist/esm/utils/tokenBridge/instructions/completeNative.d.ts +2 -2
  44. package/dist/esm/utils/tokenBridge/instructions/completeNative.d.ts.map +1 -1
  45. package/dist/esm/utils/tokenBridge/instructions/completeNative.js +6 -4
  46. package/dist/esm/utils/tokenBridge/instructions/completeNative.js.map +1 -1
  47. package/dist/esm/utils/tokenBridge/instructions/transferNative.d.ts +2 -2
  48. package/dist/esm/utils/tokenBridge/instructions/transferNative.d.ts.map +1 -1
  49. package/dist/esm/utils/tokenBridge/instructions/transferNative.js +4 -5
  50. package/dist/esm/utils/tokenBridge/instructions/transferNative.js.map +1 -1
  51. package/dist/esm/utils/tokenBridge/instructions/transferNativeWithPayload.d.ts +2 -2
  52. package/dist/esm/utils/tokenBridge/instructions/transferNativeWithPayload.d.ts.map +1 -1
  53. package/dist/esm/utils/tokenBridge/instructions/transferNativeWithPayload.js +6 -4
  54. package/dist/esm/utils/tokenBridge/instructions/transferNativeWithPayload.js.map +1 -1
  55. package/dist/esm/utils/tokenBridge/instructions/transferWrapped.d.ts +2 -2
  56. package/dist/esm/utils/tokenBridge/instructions/transferWrapped.d.ts.map +1 -1
  57. package/dist/esm/utils/tokenBridge/instructions/transferWrapped.js +4 -5
  58. package/dist/esm/utils/tokenBridge/instructions/transferWrapped.js.map +1 -1
  59. package/dist/esm/utils/tokenBridge/instructions/transferWrappedWithPayload.d.ts +2 -2
  60. package/dist/esm/utils/tokenBridge/instructions/transferWrappedWithPayload.d.ts.map +1 -1
  61. package/dist/esm/utils/tokenBridge/instructions/transferWrappedWithPayload.js +4 -4
  62. package/dist/esm/utils/tokenBridge/instructions/transferWrappedWithPayload.js.map +1 -1
  63. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
@@ -107,8 +107,19 @@ class SolanaTokenBridge {
107
107
  const nonce = 0;
108
108
  const msgFee = await this.coreBridge.getMessageFee();
109
109
  const transferIx = sdk_solana_core_1.utils.createBridgeFeeTransferInstruction(this.coreBridge.coreBridge.programId, senderAddress, msgFee);
110
+ const tokenAddress = new sdk_solana_1.SolanaAddress(token).unwrap();
111
+ const tokenProgram = await sdk_solana_1.SolanaPlatform.getTokenProgramId(this.connection, tokenAddress);
112
+ // Check if the token has a metadata pointer (only applies to token-2022)
113
+ let metadataAddress;
114
+ if (tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID)) {
115
+ const mintInfo = await (0, spl_token_1.getMint)(this.connection, tokenAddress, undefined, tokenProgram);
116
+ const metadataPointer = (0, spl_token_1.getMetadataPointerState)(mintInfo);
117
+ if (metadataPointer?.metadataAddress) {
118
+ metadataAddress = metadataPointer?.metadataAddress;
119
+ }
120
+ }
110
121
  const messageKey = web3_js_1.Keypair.generate();
111
- const attestIx = (0, index_js_1.createAttestTokenInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, new sdk_solana_1.SolanaAddress(token).unwrap(), messageKey.publicKey, nonce);
122
+ const attestIx = (0, index_js_1.createAttestTokenInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, new sdk_solana_1.SolanaAddress(token).unwrap(), messageKey.publicKey, nonce, metadataAddress);
112
123
  const transaction = new web3_js_1.Transaction().add(transferIx, attestIx);
113
124
  transaction.feePayer = senderAddress;
114
125
  yield this.createUnsignedTx({ transaction, signers: [messageKey] }, 'Solana.AttestToken');
@@ -155,10 +166,10 @@ class SolanaTokenBridge {
155
166
  //Initialize the account as a WSOL account, with the original payerAddress as owner
156
167
  const initAccountIx = (0, spl_token_1.createInitializeAccountInstruction)(ancillaryKeypair.publicKey, spl_token_1.NATIVE_MINT, payerPublicKey);
157
168
  //Normal approve & transfer instructions, except that the wSOL is sent from the ancillary account.
158
- const approvalIx = (0, index_js_1.createApproveAuthoritySignerInstruction)(this.tokenBridge.programId, ancillaryKeypair.publicKey, payerPublicKey, amount);
169
+ const approvalIx = (0, index_js_1.createApproveAuthoritySignerInstruction)(this.tokenBridge.programId, ancillaryKeypair.publicKey, payerPublicKey, amount, spl_token_1.TOKEN_PROGRAM_ID);
159
170
  const tokenBridgeTransferIx = payload
160
- ? (0, index_js_1.createTransferNativeWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, ancillaryKeypair.publicKey, spl_token_1.NATIVE_MINT, nonce, amount, recipientAddress, recipientChainId, payload)
161
- : (0, index_js_1.createTransferNativeInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, ancillaryKeypair.publicKey, spl_token_1.NATIVE_MINT, nonce, amount, relayerFee, recipientAddress, recipientChainId);
171
+ ? (0, index_js_1.createTransferNativeWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, ancillaryKeypair.publicKey, spl_token_1.NATIVE_MINT, spl_token_1.TOKEN_PROGRAM_ID, nonce, amount, recipientAddress, recipientChainId, payload)
172
+ : (0, index_js_1.createTransferNativeInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, ancillaryKeypair.publicKey, spl_token_1.NATIVE_MINT, spl_token_1.TOKEN_PROGRAM_ID, nonce, amount, relayerFee, recipientAddress, recipientChainId);
162
173
  //Close the ancillary account for cleanup. Payer address receives any remaining funds
163
174
  const closeAccountIx = (0, spl_token_1.createCloseAccountInstruction)(ancillaryKeypair.publicKey, //account to close
164
175
  payerPublicKey, //Remaining funds destination
@@ -176,33 +187,86 @@ class SolanaTokenBridge {
176
187
  }
177
188
  const tokenAddress = new sdk_solana_1.SolanaAddress(token).unwrap();
178
189
  const senderAddress = new sdk_solana_1.SolanaAddress(sender).unwrap();
179
- const senderTokenAddress = await (0, spl_token_1.getAssociatedTokenAddress)(tokenAddress, senderAddress);
190
+ const tokenProgram = await sdk_solana_1.SolanaPlatform.getTokenProgramId(this.connection, tokenAddress);
191
+ // NOTE: The Solana TB `completeNative` instruction doesn't support Token-2022 tokens
192
+ // when the recipient associated token account has the immutable owner extension.
193
+ // Therefore, we throw an error here to prevent such transfers from being initiated.
194
+ // Use the executor route instead which creates a temporary account without extensions
195
+ // during redemption.
196
+ if (tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID)) {
197
+ throw new Error('Transfers of Token-2022 assets are not supported via the Manual Token Bridge route. Please use the Executor Token Bridge route instead.');
198
+ }
199
+ let senderTokenAddress = await (0, spl_token_1.getAssociatedTokenAddress)(tokenAddress, senderAddress, false, tokenProgram);
200
+ // Check if the source account has immutable owner extension
201
+ // If it does, we need to create a temporary account without the extension
202
+ // since the token bridge cannot transfer from an account with immutable owner
203
+ const isSolanaNative = !(await this.isWrappedAsset(token));
204
+ let tempAccountKeypair;
205
+ let hasImmutableOwner = false;
206
+ if (isSolanaNative && tokenProgram.equals(spl_token_1.TOKEN_2022_PROGRAM_ID)) {
207
+ const sourceAccountInfo = await this.connection.getAccountInfo(senderTokenAddress);
208
+ if (sourceAccountInfo && sourceAccountInfo.data.length > spl_token_1.ACCOUNT_SIZE) {
209
+ const account = await (0, spl_token_1.getAccount)(this.connection, senderTokenAddress, undefined, tokenProgram);
210
+ if (account.tlvData) {
211
+ hasImmutableOwner = (0, spl_token_1.getExtensionTypes)(account.tlvData).includes(spl_token_1.ExtensionType.ImmutableOwner);
212
+ }
213
+ }
214
+ }
180
215
  const recipientAddress = recipient.address
181
216
  .toUniversalAddress()
182
217
  .toUint8Array();
183
218
  const recipientChainId = (0, sdk_connect_1.toChainId)(recipient.chain);
184
219
  const nonce = 0;
185
220
  const relayerFee = 0n;
186
- const isSolanaNative = !(await this.isWrappedAsset(token));
187
221
  const message = web3_js_1.Keypair.generate();
222
+ const instructions = [];
223
+ const signers = [message];
224
+ // If the account has immutable owner, create a temporary account and transfer to it first
225
+ if (hasImmutableOwner) {
226
+ tempAccountKeypair = web3_js_1.Keypair.generate();
227
+ signers.push(tempAccountKeypair);
228
+ // Calculate rent for temporary account without extensions
229
+ const rentBalance = await (0, spl_token_1.getMinimumBalanceForRentExemptAccount)(this.connection);
230
+ // Create temporary account without extensions
231
+ instructions.push(web3_js_1.SystemProgram.createAccount({
232
+ fromPubkey: senderAddress,
233
+ newAccountPubkey: tempAccountKeypair.publicKey,
234
+ lamports: rentBalance,
235
+ space: spl_token_1.ACCOUNT_SIZE,
236
+ programId: tokenProgram,
237
+ }));
238
+ // Initialize temporary account
239
+ instructions.push((0, spl_token_1.createInitializeAccountInstruction)(tempAccountKeypair.publicKey, tokenAddress, senderAddress, tokenProgram));
240
+ // Transfer tokens from ATA to temporary account
241
+ instructions.push((0, spl_token_1.createTransferInstruction)(senderTokenAddress, tempAccountKeypair.publicKey, senderAddress, amount, [], tokenProgram));
242
+ // Use the temporary account for the transfer
243
+ senderTokenAddress = tempAccountKeypair.publicKey;
244
+ }
188
245
  let tokenBridgeTransferIx;
189
246
  if (isSolanaNative) {
190
247
  tokenBridgeTransferIx = payload
191
- ? (0, index_js_1.createTransferNativeWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, tokenAddress, nonce, amount, recipientAddress, recipientChainId, payload)
192
- : (0, index_js_1.createTransferNativeInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, tokenAddress, nonce, amount, relayerFee, recipientAddress, recipientChainId);
248
+ ? (0, index_js_1.createTransferNativeWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, tokenAddress, tokenProgram, nonce, amount, recipientAddress, recipientChainId, payload)
249
+ : (0, index_js_1.createTransferNativeInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, tokenAddress, tokenProgram, nonce, amount, relayerFee, recipientAddress, recipientChainId);
193
250
  }
194
251
  else {
195
252
  const originAsset = await this.getOriginalAsset(token);
196
253
  if ((0, sdk_connect_1.isNative)(originAsset.address))
197
254
  throw new Error('Native cannot be an original asset');
198
255
  tokenBridgeTransferIx = payload
199
- ? (0, index_js_1.createTransferWrappedWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, senderAddress, (0, sdk_connect_1.toChainId)(originAsset.chain), originAsset.address.toUint8Array(), nonce, amount, recipientAddress, recipientChainId, payload)
200
- : (0, index_js_1.createTransferWrappedInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, senderAddress, (0, sdk_connect_1.toChainId)(originAsset.chain), originAsset.address.toUint8Array(), nonce, amount, relayerFee, recipientAddress, recipientChainId);
256
+ ? (0, index_js_1.createTransferWrappedWithPayloadInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, senderAddress, (0, sdk_connect_1.toChainId)(originAsset.chain), originAsset.address.toUint8Array(), tokenProgram, nonce, amount, recipientAddress, recipientChainId, payload)
257
+ : (0, index_js_1.createTransferWrappedInstruction)(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, message.publicKey, senderTokenAddress, senderAddress, (0, sdk_connect_1.toChainId)(originAsset.chain), originAsset.address.toUint8Array(), tokenProgram, nonce, amount, relayerFee, recipientAddress, recipientChainId);
258
+ }
259
+ const approvalIx = (0, index_js_1.createApproveAuthoritySignerInstruction)(this.tokenBridge.programId, senderTokenAddress, senderAddress, amount, tokenProgram);
260
+ // Add the approval and transfer instructions
261
+ instructions.push(approvalIx);
262
+ instructions.push(tokenBridgeTransferIx);
263
+ // If we used a temporary account, add instruction to close it and recover rent
264
+ if (tempAccountKeypair) {
265
+ instructions.push((0, spl_token_1.createCloseAccountInstruction)(tempAccountKeypair.publicKey, senderAddress, senderAddress, [], tokenProgram));
201
266
  }
202
- const approvalIx = (0, index_js_1.createApproveAuthoritySignerInstruction)(this.tokenBridge.programId, senderTokenAddress, senderAddress, amount);
203
- const transaction = new web3_js_1.Transaction().add(approvalIx, tokenBridgeTransferIx);
267
+ const transaction = new web3_js_1.Transaction().add(...instructions);
204
268
  transaction.feePayer = senderAddress;
205
- yield this.createUnsignedTx({ transaction, signers: [message] }, 'TokenBridge.TransferTokens');
269
+ yield this.createUnsignedTx({ transaction, signers }, 'TokenBridge.TransferTokens');
206
270
  }
207
271
  async *redeemAndUnwrap(sender, vaa) {
208
272
  // sender, fee payer
@@ -234,14 +298,14 @@ class SolanaTokenBridge {
234
298
  transaction.add(completeTransferIx, createAncillaryAccountIx, initAccountIx, balanceTransferIx, closeAccountIx);
235
299
  yield this.createUnsignedTx({ transaction, signers: [ancillaryKeypair] }, 'TokenBridge.RedeemAndUnwrap');
236
300
  }
237
- async *createAta(sender, token) {
301
+ async *createAta(sender, token, tokenProgram) {
238
302
  const senderAddress = new sdk_solana_1.SolanaAddress(sender).unwrap();
239
303
  const tokenAddress = new sdk_solana_1.SolanaAddress(token).unwrap();
240
- const ata = await (0, spl_token_1.getAssociatedTokenAddress)(tokenAddress, senderAddress);
304
+ const ata = await (0, spl_token_1.getAssociatedTokenAddress)(tokenAddress, senderAddress, false, tokenProgram);
241
305
  // If the ata doesn't exist yet, create it
242
306
  const acctInfo = await this.connection.getAccountInfo(ata);
243
307
  if (acctInfo === null) {
244
- const transaction = new web3_js_1.Transaction().add((0, spl_token_1.createAssociatedTokenAccountInstruction)(senderAddress, ata, senderAddress, tokenAddress));
308
+ const transaction = new web3_js_1.Transaction().add((0, spl_token_1.createAssociatedTokenAccountInstruction)(senderAddress, ata, senderAddress, tokenAddress, tokenProgram));
245
309
  transaction.feePayer = senderAddress;
246
310
  yield this.createUnsignedTx({ transaction }, 'Redeem.CreateATA');
247
311
  }
@@ -251,8 +315,9 @@ class SolanaTokenBridge {
251
315
  const nativeAddress = vaa.payload.token.chain === this.chain
252
316
  ? vaa.payload.token.address
253
317
  : (await this.getWrappedAsset(vaa.payload.token)).toUniversalAddress();
318
+ const tokenProgram = await sdk_solana_1.SolanaPlatform.getTokenProgramId(this.connection, new sdk_solana_1.SolanaAddress(nativeAddress).unwrap());
254
319
  // Create an ATA if necessary
255
- yield* this.createAta(sender, nativeAddress);
320
+ yield* this.createAta(sender, nativeAddress, tokenProgram);
256
321
  // Post the VAA if necessary
257
322
  yield* this.coreBridge.postVaa(sender, vaa);
258
323
  // redeem vaa and unwrap to native sol from wrapped sol
@@ -268,7 +333,7 @@ class SolanaTokenBridge {
268
333
  const createCompleteTransferInstruction = vaa.payload.token.chain == this.chain
269
334
  ? index_js_1.createCompleteTransferNativeInstruction
270
335
  : index_js_1.createCompleteTransferWrappedInstruction;
271
- const transaction = new web3_js_1.Transaction().add(createCompleteTransferInstruction(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, vaa));
336
+ const transaction = new web3_js_1.Transaction().add(createCompleteTransferInstruction(this.connection, this.tokenBridge.programId, this.coreBridge.address, senderAddress, vaa, undefined, tokenProgram));
272
337
  transaction.feePayer = senderAddress;
273
338
  yield this.createUnsignedTx({ transaction }, 'Solana.RedeemTransfer');
274
339
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { PublicKeyInitData } from '@solana/web3.js';
2
- export declare function createApproveAuthoritySignerInstruction(tokenBridgeProgramId: PublicKeyInitData, tokenAccount: PublicKeyInitData, owner: PublicKeyInitData, amount: number | bigint): import("@solana/web3.js").TransactionInstruction;
2
+ export declare function createApproveAuthoritySignerInstruction(tokenBridgeProgramId: PublicKeyInitData, tokenAccount: PublicKeyInitData, owner: PublicKeyInitData, amount: number | bigint, tokenProgram: PublicKeyInitData): import("@solana/web3.js").TransactionInstruction;
3
3
  //# sourceMappingURL=approve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/approve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,wBAAgB,uCAAuC,CACrD,oBAAoB,EAAE,iBAAiB,EACvC,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GAAG,MAAM,oDAQxB"}
1
+ {"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/approve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,wBAAgB,uCAAuC,CACrD,oBAAoB,EAAE,iBAAiB,EACvC,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,YAAY,EAAE,iBAAiB,oDAUhC"}
@@ -4,8 +4,8 @@ exports.createApproveAuthoritySignerInstruction = void 0;
4
4
  const spl_token_1 = require("@solana/spl-token");
5
5
  const web3_js_1 = require("@solana/web3.js");
6
6
  const index_js_1 = require("./../accounts/index.js");
7
- function createApproveAuthoritySignerInstruction(tokenBridgeProgramId, tokenAccount, owner, amount) {
8
- return (0, spl_token_1.createApproveInstruction)(new web3_js_1.PublicKey(tokenAccount), (0, index_js_1.deriveAuthoritySignerKey)(tokenBridgeProgramId), new web3_js_1.PublicKey(owner), amount);
7
+ function createApproveAuthoritySignerInstruction(tokenBridgeProgramId, tokenAccount, owner, amount, tokenProgram) {
8
+ return (0, spl_token_1.createApproveInstruction)(new web3_js_1.PublicKey(tokenAccount), (0, index_js_1.deriveAuthoritySignerKey)(tokenBridgeProgramId), new web3_js_1.PublicKey(owner), amount, undefined, new web3_js_1.PublicKey(tokenProgram));
9
9
  }
10
10
  exports.createApproveAuthoritySignerInstruction = createApproveAuthoritySignerInstruction;
11
11
  //# sourceMappingURL=approve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/approve.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAE7D,6CAA4C;AAC5C,qDAAkE;AAElE,SAAgB,uCAAuC,CACrD,oBAAuC,EACvC,YAA+B,EAC/B,KAAwB,EACxB,MAAuB;IAEvB,OAAO,IAAA,oCAAwB,EAC7B,IAAI,mBAAS,CAAC,YAAY,CAAC,EAC3B,IAAA,mCAAwB,EAAC,oBAAoB,CAAC,EAC9C,IAAI,mBAAS,CAAC,KAAK,CAAC,EACpB,MAAM,CACP,CAAC;AACJ,CAAC;AAZD,0FAYC"}
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/approve.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAE7D,6CAA4C;AAC5C,qDAAkE;AAElE,SAAgB,uCAAuC,CACrD,oBAAuC,EACvC,YAA+B,EAC/B,KAAwB,EACxB,MAAuB,EACvB,YAA+B;IAE/B,OAAO,IAAA,oCAAwB,EAC7B,IAAI,mBAAS,CAAC,YAAY,CAAC,EAC3B,IAAA,mCAAwB,EAAC,oBAAoB,CAAC,EAC9C,IAAI,mBAAS,CAAC,KAAK,CAAC,EACpB,MAAM,EACN,SAAS,EACT,IAAI,mBAAS,CAAC,YAAY,CAAC,CAC5B,CAAC;AACJ,CAAC;AAfD,0FAeC"}
@@ -1,6 +1,6 @@
1
1
  import type { Connection, PublicKeyInitData, TransactionInstruction } from '@solana/web3.js';
2
2
  import { PublicKey } from '@solana/web3.js';
3
- export declare function createAttestTokenInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, mint: PublicKeyInitData, message: PublicKeyInitData, nonce: number): TransactionInstruction;
3
+ export declare function createAttestTokenInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, mint: PublicKeyInitData, message: PublicKeyInitData, nonce: number, metadataAddress?: PublicKeyInitData): TransactionInstruction;
4
4
  export interface AttestTokenAccounts {
5
5
  payer: PublicKey;
6
6
  config: PublicKey;
@@ -17,5 +17,5 @@ export interface AttestTokenAccounts {
17
17
  systemProgram: PublicKey;
18
18
  wormholeProgram: PublicKey;
19
19
  }
20
- export declare function getAttestTokenAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, mint: PublicKeyInitData, message: PublicKeyInitData): AttestTokenAccounts;
20
+ export declare function getAttestTokenAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, mint: PublicKeyInitData, message: PublicKeyInitData, metadataAddress?: PublicKeyInitData): AttestTokenAccounts;
21
21
  //# sourceMappingURL=attestToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attestToken.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/attestToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,GACZ,sBAAsB,CA6BxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,sBAAsB,CACpC,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,CA+BrB"}
1
+ {"version":3,"file":"attestToken.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/attestToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,iBAAiB,GAClC,sBAAsB,CA+BxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,sBAAsB,CACpC,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,CAAC,EAAE,iBAAiB,GAClC,mBAAmB,CAiCrB"}
@@ -6,12 +6,12 @@ const program_js_1 = require("../program.js");
6
6
  const sdk_solana_core_1 = require("@wormhole-foundation/sdk-solana-core");
7
7
  const splMetadata_js_1 = require("../../splMetadata.js");
8
8
  const index_js_1 = require("./../accounts/index.js");
9
- function createAttestTokenInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, mint, message, nonce) {
9
+ function createAttestTokenInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, mint, message, nonce, metadataAddress) {
10
10
  const methods = (0, program_js_1.createReadOnlyTokenBridgeProgramInterface)(tokenBridgeProgramId, connection).methods.attestToken(nonce);
11
- console.log(getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message));
11
+ console.log(getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message, metadataAddress));
12
12
  // @ts-ignore
13
13
  return methods._ixFn(...methods._args, {
14
- accounts: getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message),
14
+ accounts: getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message, metadataAddress),
15
15
  signers: undefined,
16
16
  remainingAccounts: undefined,
17
17
  preInstructions: undefined,
@@ -19,14 +19,16 @@ function createAttestTokenInstruction(connection, tokenBridgeProgramId, wormhole
19
19
  });
20
20
  }
21
21
  exports.createAttestTokenInstruction = createAttestTokenInstruction;
22
- function getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message) {
22
+ function getAttestTokenAccounts(tokenBridgeProgramId, wormholeProgramId, payer, mint, message, metadataAddress) {
23
23
  const { bridge: wormholeBridge, emitter: wormholeEmitter, sequence: wormholeSequence, feeCollector: wormholeFeeCollector, clock, rent, systemProgram, } = sdk_solana_core_1.utils.getPostMessageAccounts(wormholeProgramId, payer, message, tokenBridgeProgramId);
24
24
  return {
25
25
  payer: new web3_js_1.PublicKey(payer),
26
26
  config: (0, index_js_1.deriveTokenBridgeConfigKey)(tokenBridgeProgramId),
27
27
  mint: new web3_js_1.PublicKey(mint),
28
28
  wrappedMeta: (0, index_js_1.deriveWrappedMetaKey)(tokenBridgeProgramId, mint),
29
- splMetadata: (0, splMetadata_js_1.deriveSplTokenMetadataKey)(mint),
29
+ splMetadata: metadataAddress
30
+ ? new web3_js_1.PublicKey(metadataAddress)
31
+ : (0, splMetadata_js_1.deriveSplTokenMetadataKey)(mint),
30
32
  wormholeBridge,
31
33
  wormholeMessage: new web3_js_1.PublicKey(message),
32
34
  wormholeEmitter,
@@ -1 +1 @@
1
- {"version":3,"file":"attestToken.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/attestToken.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,8CAA0E;AAC1E,0EAA0E;AAC1E,yDAAiE;AACjE,qDAGgC;AAEhC,SAAgB,4BAA4B,CAC1C,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,IAAuB,EACvB,OAA0B,EAC1B,KAAa;IAEb,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,sBAAsB,CACpB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,OAAO,CACR,CACF,CAAC;IACF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,sBAAsB,CAC9B,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,OAAO,CACD;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AArCD,oEAqCC;AAmBD,SAAgB,sBAAsB,CACpC,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,IAAuB,EACvB,OAA0B;IAE1B,MAAM,EACJ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,oBAAoB,EAClC,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAS,CAAC,sBAAsB,CAClC,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,oBAAoB,CACrB,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,IAAA,+BAAoB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QAC7D,WAAW,EAAE,IAAA,0CAAyB,EAAC,IAAI,CAAC;QAC5C,cAAc;QACd,eAAe,EAAE,IAAI,mBAAS,CAAC,OAAO,CAAC;QACvC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,IAAI;QACJ,aAAa;QACb,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AArCD,wDAqCC"}
1
+ {"version":3,"file":"attestToken.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/attestToken.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,8CAA0E;AAC1E,0EAA0E;AAC1E,yDAAiE;AACjE,qDAGgC;AAEhC,SAAgB,4BAA4B,CAC1C,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,IAAuB,EACvB,OAA0B,EAC1B,KAAa,EACb,eAAmC;IAEnC,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CACT,sBAAsB,CACpB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,CAChB,CACF,CAAC;IACF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,sBAAsB,CAC9B,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,CACT;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAxCD,oEAwCC;AAmBD,SAAgB,sBAAsB,CACpC,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,IAAuB,EACvB,OAA0B,EAC1B,eAAmC;IAEnC,MAAM,EACJ,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,oBAAoB,EAClC,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAS,CAAC,sBAAsB,CAClC,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,oBAAoB,CACrB,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,IAAA,+BAAoB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QAC7D,WAAW,EAAE,eAAe;YAC1B,CAAC,CAAC,IAAI,mBAAS,CAAC,eAAe,CAAC;YAChC,CAAC,CAAC,IAAA,0CAAyB,EAAC,IAAI,CAAC;QACnC,cAAc;QACd,eAAe,EAAE,IAAI,mBAAS,CAAC,OAAO,CAAC;QACvC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,IAAI;QACJ,aAAa;QACb,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AAxCD,wDAwCC"}
@@ -1,7 +1,7 @@
1
1
  import type { Connection, PublicKeyInitData, TransactionInstruction } from '@solana/web3.js';
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import type { TokenBridge } from '@wormhole-foundation/sdk-connect';
4
- export declare function createCompleteTransferNativeInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, vaa: TokenBridge.TransferVAA, feeRecipient?: PublicKeyInitData): TransactionInstruction;
4
+ export declare function createCompleteTransferNativeInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, vaa: TokenBridge.TransferVAA, feeRecipient?: PublicKeyInitData, tokenProgramId?: PublicKeyInitData): TransactionInstruction;
5
5
  export interface CompleteTransferNativeAccounts {
6
6
  payer: PublicKey;
7
7
  config: PublicKey;
@@ -18,5 +18,5 @@ export interface CompleteTransferNativeAccounts {
18
18
  tokenProgram: PublicKey;
19
19
  wormholeProgram: PublicKey;
20
20
  }
21
- export declare function getCompleteTransferNativeAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, vaa: TokenBridge.TransferVAA, feeRecipient?: PublicKeyInitData): CompleteTransferNativeAccounts;
21
+ export declare function getCompleteTransferNativeAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, vaa: TokenBridge.TransferVAA, feeRecipient?: PublicKeyInitData, tokenProgramId?: PublicKeyInitData): CompleteTransferNativeAccounts;
22
22
  //# sourceMappingURL=completeNative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"completeNative.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/completeNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAU/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,WAAW,CAAC,WAAW,EAC5B,YAAY,CAAC,EAAE,iBAAiB,GAC/B,sBAAsB,CAoBxB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,iCAAiC,CAC/C,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,WAAW,CAAC,WAAW,EAC5B,YAAY,CAAC,EAAE,iBAAiB,GAC/B,8BAA8B,CA+BhC"}
1
+ {"version":3,"file":"completeNative.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/completeNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAU/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,WAAW,CAAC,WAAW,EAC5B,YAAY,CAAC,EAAE,iBAAiB,EAChC,cAAc,CAAC,EAAE,iBAAiB,GACjC,sBAAsB,CAqBxB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,iCAAiC,CAC/C,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,WAAW,CAAC,WAAW,EAC5B,YAAY,CAAC,EAAE,iBAAiB,EAChC,cAAc,CAAC,EAAE,iBAAiB,GACjC,8BAA8B,CAiChC"}
@@ -7,11 +7,11 @@ const program_js_1 = require("../program.js");
7
7
  const sdk_solana_core_1 = require("@wormhole-foundation/sdk-solana-core");
8
8
  const index_js_1 = require("./../accounts/index.js");
9
9
  const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
10
- function createCompleteTransferNativeInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient) {
10
+ function createCompleteTransferNativeInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient, tokenProgramId) {
11
11
  const methods = (0, program_js_1.createReadOnlyTokenBridgeProgramInterface)(tokenBridgeProgramId, connection).methods.completeNative();
12
12
  // @ts-ignore
13
13
  return methods._ixFn(...methods._args, {
14
- accounts: getCompleteTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient),
14
+ accounts: getCompleteTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient, tokenProgramId),
15
15
  signers: undefined,
16
16
  remainingAccounts: undefined,
17
17
  preInstructions: undefined,
@@ -19,7 +19,7 @@ function createCompleteTransferNativeInstruction(connection, tokenBridgeProgramI
19
19
  });
20
20
  }
21
21
  exports.createCompleteTransferNativeInstruction = createCompleteTransferNativeInstruction;
22
- function getCompleteTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient) {
22
+ function getCompleteTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, vaa, feeRecipient, tokenProgramId) {
23
23
  const mint = new web3_js_1.PublicKey(vaa.payload.token.address.toUint8Array());
24
24
  return {
25
25
  payer: new web3_js_1.PublicKey(payer),
@@ -36,7 +36,9 @@ function getCompleteTransferNativeAccounts(tokenBridgeProgramId, wormholeProgram
36
36
  custodySigner: (0, index_js_1.deriveCustodySignerKey)(tokenBridgeProgramId),
37
37
  rent: web3_js_1.SYSVAR_RENT_PUBKEY,
38
38
  systemProgram: web3_js_1.SystemProgram.programId,
39
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
39
+ tokenProgram: tokenProgramId
40
+ ? new web3_js_1.PublicKey(tokenProgramId)
41
+ : spl_token_1.TOKEN_PROGRAM_ID,
40
42
  wormholeProgram: new web3_js_1.PublicKey(wormholeProgramId),
41
43
  };
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"completeNative.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/completeNative.ts"],"names":[],"mappings":";;;AAKA,6CAA+E;AAC/E,iDAAqD;AACrD,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAKgC;AAEhC,kEAA6D;AAE7D,SAAgB,uCAAuC,CACrD,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,GAA4B,EAC5B,YAAgC;IAEhC,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAE3B,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,iCAAiC,CACzC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,GAAG,EACH,YAAY,CACN;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AA3BD,0FA2BC;AAmBD,SAAgB,iCAAiC,CAC/C,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,GAA4B,EAC5B,YAAgC;IAEhC,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrE,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,GAAG,EAAE,uBAAK,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvE,KAAK,EAAE,uBAAK,CAAC,cAAc,CACzB,oBAAoB,EACpB,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,EACjC,IAAA,uBAAS,EAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,GAAG,CAAC,QAAQ,CACb;QACD,QAAQ,EAAE,IAAA,4BAAiB,EACzB,oBAAoB,EACpB,IAAA,uBAAS,EAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAClC;QACD,EAAE,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,EAAE,IAAI,mBAAS,CACnB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;YACvC,CAAC,CAAC,YAAY,CACjB;QACD,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,IAAI;QACJ,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,IAAI,EAAE,4BAAkB;QACxB,aAAa,EAAE,uBAAa,CAAC,SAAS;QACtC,YAAY,EAAE,4BAAgB;QAC9B,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AArCD,8EAqCC"}
1
+ {"version":3,"file":"completeNative.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/completeNative.ts"],"names":[],"mappings":";;;AAKA,6CAA+E;AAC/E,iDAAqD;AACrD,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAKgC;AAEhC,kEAA6D;AAE7D,SAAgB,uCAAuC,CACrD,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,GAA4B,EAC5B,YAAgC,EAChC,cAAkC;IAElC,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAE3B,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,iCAAiC,CACzC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,GAAG,EACH,YAAY,EACZ,cAAc,CACR;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AA7BD,0FA6BC;AAmBD,SAAgB,iCAAiC,CAC/C,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,GAA4B,EAC5B,YAAgC,EAChC,cAAkC;IAElC,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrE,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,GAAG,EAAE,uBAAK,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvE,KAAK,EAAE,uBAAK,CAAC,cAAc,CACzB,oBAAoB,EACpB,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,EACjC,IAAA,uBAAS,EAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,GAAG,CAAC,QAAQ,CACb;QACD,QAAQ,EAAE,IAAA,4BAAiB,EACzB,oBAAoB,EACpB,IAAA,uBAAS,EAAC,GAAG,CAAC,YAAY,CAAC,EAC3B,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAClC;QACD,EAAE,EAAE,IAAI,mBAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,EAAE,IAAI,mBAAS,CACnB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;YACvC,CAAC,CAAC,YAAY,CACjB;QACD,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,IAAI;QACJ,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,IAAI,EAAE,4BAAkB;QACxB,aAAa,EAAE,uBAAa,CAAC,SAAS;QACtC,YAAY,EAAE,cAAc;YAC1B,CAAC,CAAC,IAAI,mBAAS,CAAC,cAAc,CAAC;YAC/B,CAAC,CAAC,4BAAgB;QACpB,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AAxCD,8EAwCC"}
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import type { Connection, PublicKeyInitData, TransactionInstruction } from '@solana/web3.js';
4
4
  import { PublicKey } from '@solana/web3.js';
5
- export declare function createTransferNativeInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, nonce: number, amount: bigint, fee: bigint, targetAddress: Buffer | Uint8Array, targetChain: number): TransactionInstruction;
5
+ export declare function createTransferNativeInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, tokenProgram: PublicKeyInitData, nonce: number, amount: bigint, fee: bigint, targetAddress: Buffer | Uint8Array, targetChain: number): TransactionInstruction;
6
6
  export interface TransferNativeAccounts {
7
7
  payer: PublicKey;
8
8
  config: PublicKey;
@@ -22,5 +22,5 @@ export interface TransferNativeAccounts {
22
22
  tokenProgram: PublicKey;
23
23
  wormholeProgram: PublicKey;
24
24
  }
25
- export declare function getTransferNativeAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData): TransferNativeAccounts;
25
+ export declare function getTransferNativeAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, tokenProgram: PublicKeyInitData): TransferNativeAccounts;
26
26
  //# sourceMappingURL=transferNative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferNative.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNative.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAW5C,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GAAG,UAAU,EAClC,WAAW,EAAE,MAAM,GAClB,sBAAsB,CA2BxB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,GACtB,sBAAsB,CAmCxB"}
1
+ {"version":3,"file":"transferNative.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNative.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAU5C,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GAAG,UAAU,EAClC,WAAW,EAAE,MAAM,GAClB,sBAAsB,CA4BxB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,EAAE,iBAAiB,GAC9B,sBAAsB,CAmCxB"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTransferNativeAccounts = exports.createTransferNativeInstruction = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
- const spl_token_1 = require("@solana/spl-token");
6
5
  const program_js_1 = require("../program.js");
7
6
  const sdk_solana_core_1 = require("@wormhole-foundation/sdk-solana-core");
8
7
  const index_js_1 = require("./../accounts/index.js");
9
- function createTransferNativeInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, nonce, amount, fee, targetAddress, targetChain) {
8
+ function createTransferNativeInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, tokenProgram, nonce, amount, fee, targetAddress, targetChain) {
10
9
  const methods = (0, program_js_1.createReadOnlyTokenBridgeProgramInterface)(tokenBridgeProgramId, connection).methods.transferNative(nonce, amount, fee, Buffer.from(targetAddress), targetChain);
11
10
  // @ts-ignore
12
11
  return methods._ixFn(...methods._args, {
13
- accounts: getTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint),
12
+ accounts: getTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, tokenProgram),
14
13
  signers: undefined,
15
14
  remainingAccounts: undefined,
16
15
  preInstructions: undefined,
@@ -18,7 +17,7 @@ function createTransferNativeInstruction(connection, tokenBridgeProgramId, wormh
18
17
  });
19
18
  }
20
19
  exports.createTransferNativeInstruction = createTransferNativeInstruction;
21
- function getTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint) {
20
+ function getTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, tokenProgram) {
22
21
  const { wormholeBridge, wormholeMessage, wormholeEmitter, wormholeSequence, wormholeFeeCollector, clock, rent, systemProgram, } = sdk_solana_core_1.utils.getPostMessageCpiAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message);
23
22
  return {
24
23
  payer: new web3_js_1.PublicKey(payer),
@@ -36,7 +35,7 @@ function getTransferNativeAccounts(tokenBridgeProgramId, wormholeProgramId, paye
36
35
  clock,
37
36
  rent,
38
37
  systemProgram,
39
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
38
+ tokenProgram: new web3_js_1.PublicKey(tokenProgram),
40
39
  wormholeProgram: new web3_js_1.PublicKey(wormholeProgramId),
41
40
  };
42
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transferNative.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNative.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,iDAAqD;AACrD,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAKgC;AAEhC,SAAgB,+BAA+B,CAC7C,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,KAAa,EACb,MAAc,EACd,GAAW,EACX,aAAkC,EAClC,WAAmB;IAEnB,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,cAAc,CACtB,KAAK,EACL,MAAa,EACb,GAAU,EACV,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACjC,WAAW,CACZ,CAAC;IAEF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,CACE;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAxCD,0EAwCC;AAsBD,SAAgB,yBAAyB,CACvC,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB;IAEvB,MAAM,EACJ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAK,CAAC,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,CACR,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,eAAe,EAAE,IAAA,mCAAwB,EAAC,oBAAoB,CAAC;QAC/D,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,cAAc;QACd,eAAe,EAAE,eAAe;QAChC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,IAAI;QACJ,aAAa;QACb,YAAY,EAAE,4BAAgB;QAC9B,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AA1CD,8DA0CC"}
1
+ {"version":3,"file":"transferNative.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNative.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAKgC;AAEhC,SAAgB,+BAA+B,CAC7C,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,YAA+B,EAC/B,KAAa,EACb,MAAc,EACd,GAAW,EACX,aAAkC,EAClC,WAAmB;IAEnB,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,cAAc,CACtB,KAAK,EACL,MAAa,EACb,GAAU,EACV,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACjC,WAAW,CACZ,CAAC;IAEF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,YAAY,CACN;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AA1CD,0EA0CC;AAsBD,SAAgB,yBAAyB,CACvC,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,YAA+B;IAE/B,MAAM,EACJ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAK,CAAC,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,CACR,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,eAAe,EAAE,IAAA,mCAAwB,EAAC,oBAAoB,CAAC;QAC/D,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,cAAc;QACd,eAAe,EAAE,eAAe;QAChC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,IAAI;QACJ,aAAa;QACb,YAAY,EAAE,IAAI,mBAAS,CAAC,YAAY,CAAC;QACzC,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AA3CD,8DA2CC"}
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import type { Connection, PublicKeyInitData, TransactionInstruction } from '@solana/web3.js';
4
4
  import { PublicKey } from '@solana/web3.js';
5
- export declare function createTransferNativeWithPayloadInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, nonce: number, amount: bigint, targetAddress: Buffer | Uint8Array, targetChain: number, payload: Buffer | Uint8Array): TransactionInstruction;
5
+ export declare function createTransferNativeWithPayloadInstruction(connection: Connection, tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, tokenProgram: PublicKeyInitData, nonce: number, amount: bigint, targetAddress: Buffer | Uint8Array, targetChain: number, payload: Buffer | Uint8Array): TransactionInstruction;
6
6
  export interface TransferNativeWithPayloadAccounts {
7
7
  payer: PublicKey;
8
8
  config: PublicKey;
@@ -23,5 +23,5 @@ export interface TransferNativeWithPayloadAccounts {
23
23
  tokenProgram: PublicKey;
24
24
  wormholeProgram: PublicKey;
25
25
  }
26
- export declare function getTransferNativeWithPayloadAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, cpiProgramId?: PublicKeyInitData): TransferNativeWithPayloadAccounts;
26
+ export declare function getTransferNativeWithPayloadAccounts(tokenBridgeProgramId: PublicKeyInitData, wormholeProgramId: PublicKeyInitData, payer: PublicKeyInitData, message: PublicKeyInitData, from: PublicKeyInitData, mint: PublicKeyInitData, cpiProgramId?: PublicKeyInitData, tokenProgramId?: PublicKeyInitData): TransferNativeWithPayloadAccounts;
27
27
  //# sourceMappingURL=transferNativeWithPayload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferNativeWithPayload.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNativeWithPayload.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,wBAAgB,0CAA0C,CACxD,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,UAAU,GAC3B,sBAAsB,CA4BxB;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,oCAAoC,CAClD,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,CAAC,EAAE,iBAAiB,GAC/B,iCAAiC,CAsCnC"}
1
+ {"version":3,"file":"transferNativeWithPayload.d.ts","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNativeWithPayload.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,wBAAgB,0CAA0C,CACxD,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GAAG,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GAAG,UAAU,GAC3B,sBAAsB,CA8BxB;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,oBAAoB,EAAE,SAAS,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,SAAS,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,oCAAoC,CAClD,oBAAoB,EAAE,iBAAiB,EACvC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,YAAY,CAAC,EAAE,iBAAiB,EAChC,cAAc,CAAC,EAAE,iBAAiB,GACjC,iCAAiC,CAwCnC"}
@@ -6,11 +6,11 @@ const spl_token_1 = require("@solana/spl-token");
6
6
  const program_js_1 = require("../program.js");
7
7
  const sdk_solana_core_1 = require("@wormhole-foundation/sdk-solana-core");
8
8
  const index_js_1 = require("./../accounts/index.js");
9
- function createTransferNativeWithPayloadInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, nonce, amount, targetAddress, targetChain, payload) {
9
+ function createTransferNativeWithPayloadInstruction(connection, tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, tokenProgram, nonce, amount, targetAddress, targetChain, payload) {
10
10
  const methods = (0, program_js_1.createReadOnlyTokenBridgeProgramInterface)(tokenBridgeProgramId, connection).methods.transferNativeWithPayload(nonce, amount, Buffer.from(targetAddress), targetChain, Buffer.from(payload), null);
11
11
  // @ts-ignore
12
12
  return methods._ixFn(...methods._args, {
13
- accounts: getTransferNativeWithPayloadAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint),
13
+ accounts: getTransferNativeWithPayloadAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, undefined, tokenProgram),
14
14
  signers: undefined,
15
15
  remainingAccounts: undefined,
16
16
  preInstructions: undefined,
@@ -18,7 +18,7 @@ function createTransferNativeWithPayloadInstruction(connection, tokenBridgeProgr
18
18
  });
19
19
  }
20
20
  exports.createTransferNativeWithPayloadInstruction = createTransferNativeWithPayloadInstruction;
21
- function getTransferNativeWithPayloadAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, cpiProgramId) {
21
+ function getTransferNativeWithPayloadAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message, from, mint, cpiProgramId, tokenProgramId) {
22
22
  const { wormholeBridge, wormholeMessage, wormholeEmitter, wormholeSequence, wormholeFeeCollector, clock, rent, systemProgram, } = sdk_solana_core_1.utils.getPostMessageCpiAccounts(tokenBridgeProgramId, wormholeProgramId, payer, message);
23
23
  return {
24
24
  payer: new web3_js_1.PublicKey(payer),
@@ -37,7 +37,9 @@ function getTransferNativeWithPayloadAccounts(tokenBridgeProgramId, wormholeProg
37
37
  sender: new web3_js_1.PublicKey(cpiProgramId === undefined ? payer : (0, index_js_1.deriveSenderAccountKey)(cpiProgramId)),
38
38
  rent,
39
39
  systemProgram,
40
- tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
40
+ tokenProgram: tokenProgramId
41
+ ? new web3_js_1.PublicKey(tokenProgramId)
42
+ : spl_token_1.TOKEN_PROGRAM_ID,
41
43
  wormholeProgram: new web3_js_1.PublicKey(wormholeProgramId),
42
44
  };
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transferNativeWithPayload.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNativeWithPayload.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,iDAAqD;AACrD,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAMgC;AAEhC,SAAgB,0CAA0C,CACxD,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,KAAa,EACb,MAAc,EACd,aAAkC,EAClC,WAAmB,EACnB,OAA4B;IAE5B,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,yBAAyB,CACjC,KAAK,EACL,MAAa,EACb,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACjC,WAAW,EACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAQ,EAC3B,IAAI,CACL,CAAC;IAEF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,oCAAoC,CAC5C,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,CACE;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAzCD,gGAyCC;AAuBD,SAAgB,oCAAoC,CAClD,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,YAAgC;IAEhC,MAAM,EACJ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAK,CAAC,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,CACR,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,eAAe,EAAE,IAAA,mCAAwB,EAAC,oBAAoB,CAAC;QAC/D,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,cAAc;QACd,eAAe,EAAE,eAAe;QAChC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,MAAM,EAAE,IAAI,mBAAS,CACnB,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,iCAAsB,EAAC,YAAY,CAAC,CAC1E;QACD,IAAI;QACJ,aAAa;QACb,YAAY,EAAE,4BAAgB;QAC9B,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AA9CD,oFA8CC"}
1
+ {"version":3,"file":"transferNativeWithPayload.js","sourceRoot":"","sources":["../../../../../src/utils/tokenBridge/instructions/transferNativeWithPayload.ts"],"names":[],"mappings":";;;AAKA,6CAA4C;AAC5C,iDAAqD;AACrD,8CAA0E;AAC1E,0EAA6D;AAC7D,qDAMgC;AAEhC,SAAgB,0CAA0C,CACxD,UAAsB,EACtB,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,YAA+B,EAC/B,KAAa,EACb,MAAc,EACd,aAAkC,EAClC,WAAmB,EACnB,OAA4B;IAE5B,MAAM,OAAO,GAAG,IAAA,sDAAyC,EACvD,oBAAoB,EACpB,UAAU,CACX,CAAC,OAAO,CAAC,yBAAyB,CACjC,KAAK,EACL,MAAa,EACb,MAAM,CAAC,IAAI,CAAC,aAAa,CAAQ,EACjC,WAAW,EACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAQ,EAC3B,IAAI,CACL,CAAC;IAEF,aAAa;IACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE;QACrC,QAAQ,EAAE,oCAAoC,CAC5C,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,YAAY,CACN;QACR,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AA5CD,gGA4CC;AAuBD,SAAgB,oCAAoC,CAClD,oBAAuC,EACvC,iBAAoC,EACpC,KAAwB,EACxB,OAA0B,EAC1B,IAAuB,EACvB,IAAuB,EACvB,YAAgC,EAChC,cAAkC;IAElC,MAAM,EACJ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,aAAa,GACd,GAAG,uBAAK,CAAC,yBAAyB,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,OAAO,CACR,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,mBAAS,CAAC,KAAK,CAAC;QAC3B,MAAM,EAAE,IAAA,qCAA0B,EAAC,oBAAoB,CAAC;QACxD,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,IAAI,mBAAS,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,IAAA,2BAAgB,EAAC,oBAAoB,EAAE,IAAI,CAAC;QACrD,eAAe,EAAE,IAAA,mCAAwB,EAAC,oBAAoB,CAAC;QAC/D,aAAa,EAAE,IAAA,iCAAsB,EAAC,oBAAoB,CAAC;QAC3D,cAAc;QACd,eAAe,EAAE,eAAe;QAChC,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,KAAK;QACL,MAAM,EAAE,IAAI,mBAAS,CACnB,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,iCAAsB,EAAC,YAAY,CAAC,CAC1E;QACD,IAAI;QACJ,aAAa;QACb,YAAY,EAAE,cAAc;YAC1B,CAAC,CAAC,IAAI,mBAAS,CAAC,cAAc,CAAC;YAC/B,CAAC,CAAC,4BAAgB;QACpB,eAAe,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC;KAClD,CAAC;AACJ,CAAC;AAjDD,oFAiDC"}