@across-protocol/sdk 4.3.45 → 4.3.47

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 (100) hide show
  1. package/dist/cjs/arch/evm/SpokeUtils.js +30 -28
  2. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  3. package/dist/cjs/arch/svm/SpokeUtils.d.ts +21 -10
  4. package/dist/cjs/arch/svm/SpokeUtils.js +129 -11
  5. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  6. package/dist/cjs/arch/svm/encoders.d.ts +19 -0
  7. package/dist/cjs/arch/svm/encoders.js +52 -0
  8. package/dist/cjs/arch/svm/encoders.js.map +1 -0
  9. package/dist/cjs/arch/svm/index.d.ts +1 -0
  10. package/dist/cjs/arch/svm/index.js +1 -0
  11. package/dist/cjs/arch/svm/index.js.map +1 -1
  12. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +4 -6
  13. package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  14. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +0 -5
  15. package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  16. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +0 -1
  17. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  18. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +58 -58
  19. package/dist/cjs/clients/HubPoolClient.d.ts +9 -3
  20. package/dist/cjs/clients/HubPoolClient.js +81 -56
  21. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  22. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +7 -5
  23. package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  24. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +13 -16
  25. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  26. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +2 -2
  27. package/dist/cjs/clients/mocks/MockHubPoolClient.js +1 -1
  28. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  29. package/dist/cjs/constants.d.ts +3 -0
  30. package/dist/cjs/constants.js +10 -2
  31. package/dist/cjs/constants.js.map +1 -1
  32. package/dist/cjs/providers/solana/retryRpcFactory.js +14 -10
  33. package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
  34. package/dist/esm/arch/evm/SpokeUtils.js +33 -29
  35. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  36. package/dist/esm/arch/svm/SpokeUtils.d.ts +38 -10
  37. package/dist/esm/arch/svm/SpokeUtils.js +152 -11
  38. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  39. package/dist/esm/arch/svm/encoders.d.ts +19 -0
  40. package/dist/esm/arch/svm/encoders.js +43 -0
  41. package/dist/esm/arch/svm/encoders.js.map +1 -0
  42. package/dist/esm/arch/svm/index.d.ts +1 -0
  43. package/dist/esm/arch/svm/index.js +1 -0
  44. package/dist/esm/arch/svm/index.js.map +1 -1
  45. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +5 -7
  46. package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
  47. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +1 -6
  48. package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
  49. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +0 -1
  50. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  51. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +58 -58
  52. package/dist/esm/clients/HubPoolClient.d.ts +9 -3
  53. package/dist/esm/clients/HubPoolClient.js +87 -60
  54. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  55. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +8 -6
  56. package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
  57. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +13 -18
  58. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  59. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +2 -2
  60. package/dist/esm/clients/mocks/MockHubPoolClient.js +1 -1
  61. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  62. package/dist/esm/constants.d.ts +3 -0
  63. package/dist/esm/constants.js +12 -1
  64. package/dist/esm/constants.js.map +1 -1
  65. package/dist/esm/providers/solana/retryRpcFactory.js +15 -10
  66. package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
  67. package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
  68. package/dist/types/arch/svm/SpokeUtils.d.ts +38 -10
  69. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  70. package/dist/types/arch/svm/encoders.d.ts +20 -0
  71. package/dist/types/arch/svm/encoders.d.ts.map +1 -0
  72. package/dist/types/arch/svm/index.d.ts +1 -0
  73. package/dist/types/arch/svm/index.d.ts.map +1 -1
  74. package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
  75. package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
  76. package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
  77. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +58 -58
  78. package/dist/types/clients/HubPoolClient.d.ts +9 -3
  79. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  80. package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
  81. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  82. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +2 -2
  83. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
  84. package/dist/types/constants.d.ts +3 -0
  85. package/dist/types/constants.d.ts.map +1 -1
  86. package/dist/types/providers/solana/retryRpcFactory.d.ts.map +1 -1
  87. package/package.json +2 -2
  88. package/src/arch/evm/SpokeUtils.ts +16 -9
  89. package/src/arch/svm/SpokeUtils.ts +199 -11
  90. package/src/arch/svm/encoders.ts +86 -0
  91. package/src/arch/svm/index.ts +1 -0
  92. package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +20 -14
  93. package/src/clients/BundleDataClient/utils/FillUtils.ts +1 -7
  94. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +0 -2
  95. package/src/clients/HubPoolClient.ts +79 -50
  96. package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +22 -8
  97. package/src/clients/SpokePoolClient/SpokePoolClient.ts +31 -39
  98. package/src/clients/mocks/MockHubPoolClient.ts +3 -3
  99. package/src/constants.ts +12 -0
  100. package/src/providers/solana/retryRpcFactory.ts +6 -2
@@ -217,66 +217,68 @@ function fillStatusArray(spokePool, relayData, blockTag) {
217
217
  }
218
218
  exports.fillStatusArray = fillStatusArray;
219
219
  function findFillBlock(spokePool, relayData, lowBlockNumber, highBlockNumber) {
220
+ var _a;
220
221
  return tslib_1.__awaiter(this, void 0, void 0, function () {
221
- var provider, _a, destinationChainId, _b, _c, _d, initialFillStatus, finalFillStatus, depositId, originChainId, _e, srcChain, dstChain, midBlockNumber, fillStatus;
222
- return tslib_1.__generator(this, function (_f) {
223
- switch (_f.label) {
222
+ var provider, destinationChainId, _b, _c, _d, _e, initialFillStatus, finalFillStatus, depositId, originChainId, _f, srcChain, dstChain, midBlockNumber, fillStatus;
223
+ return tslib_1.__generator(this, function (_g) {
224
+ switch (_g.label) {
224
225
  case 0:
225
226
  provider = spokePool.provider;
226
- if (!(highBlockNumber !== null && highBlockNumber !== void 0)) return [3, 1];
227
- _a = highBlockNumber;
228
- return [3, 3];
229
- case 1: return [4, provider.getBlockNumber()];
227
+ if (!Object.values(constants_1.CHAIN_IDs).includes(relayData.originChainId)) return [3, 2];
228
+ return [4, provider.getNetwork()];
229
+ case 1:
230
+ _b = (_g.sent()).chainId;
231
+ return [3, 4];
230
232
  case 2:
231
- _a = (highBlockNumber = _f.sent());
232
- _f.label = 3;
233
+ _c = Number;
234
+ return [4, spokePool.chainId()];
233
235
  case 3:
234
- _a;
235
- (0, assert_1.default)(highBlockNumber > lowBlockNumber, "Block numbers out of range (".concat(lowBlockNumber, " >= ").concat(highBlockNumber, ")"));
236
- if (!Object.values(constants_1.CHAIN_IDs).includes(relayData.originChainId)) return [3, 5];
237
- return [4, provider.getNetwork()];
236
+ _b = _c.apply(void 0, [_g.sent()]);
237
+ _g.label = 4;
238
238
  case 4:
239
- _b = (_f.sent()).chainId;
239
+ destinationChainId = _b;
240
+ (0, assert_1.default)(relayData.originChainId !== destinationChainId, "Origin & destination chain IDs must not be equal (".concat(destinationChainId, ")"));
241
+ lowBlockNumber = Math.max(lowBlockNumber, (_a = constants_1.SPOKEPOOL_UPGRADE_BLOCKS[destinationChainId]) !== null && _a !== void 0 ? _a : lowBlockNumber);
242
+ if (!(highBlockNumber !== null && highBlockNumber !== void 0)) return [3, 5];
243
+ _d = highBlockNumber;
240
244
  return [3, 7];
241
- case 5:
242
- _c = Number;
243
- return [4, spokePool.chainId()];
245
+ case 5: return [4, provider.getBlockNumber()];
244
246
  case 6:
245
- _b = _c.apply(void 0, [_f.sent()]);
246
- _f.label = 7;
247
+ _d = (highBlockNumber = _g.sent());
248
+ _g.label = 7;
247
249
  case 7:
248
- destinationChainId = _b;
249
- (0, assert_1.default)(relayData.originChainId !== destinationChainId, "Origin & destination chain IDs must not be equal (".concat(destinationChainId, ")"));
250
+ _d;
251
+ (0, assert_1.default)(highBlockNumber > lowBlockNumber, "Block numbers out of range (".concat(lowBlockNumber, " >= ").concat(highBlockNumber, ")"));
250
252
  return [4, Promise.all([
251
253
  relayFillStatus(spokePool, relayData, lowBlockNumber, destinationChainId),
252
254
  relayFillStatus(spokePool, relayData, highBlockNumber, destinationChainId),
253
255
  ])];
254
256
  case 8:
255
- _d = (_f.sent()).map(Number), initialFillStatus = _d[0], finalFillStatus = _d[1];
257
+ _e = (_g.sent()).map(Number), initialFillStatus = _e[0], finalFillStatus = _e[1];
256
258
  if (finalFillStatus !== interfaces_1.FillStatus.Filled) {
257
259
  return [2, undefined];
258
260
  }
259
261
  if (initialFillStatus === interfaces_1.FillStatus.Filled) {
260
262
  depositId = relayData.depositId, originChainId = relayData.originChainId;
261
- _e = [(0, utils_1.getNetworkName)(originChainId), (0, utils_1.getNetworkName)(destinationChainId)], srcChain = _e[0], dstChain = _e[1];
263
+ _f = [(0, utils_1.getNetworkName)(originChainId), (0, utils_1.getNetworkName)(destinationChainId)], srcChain = _f[0], dstChain = _f[1];
262
264
  throw new Error("".concat(srcChain, " deposit ").concat(depositId.toString(), " filled on ").concat(dstChain, " before block ").concat(lowBlockNumber));
263
265
  }
264
- _f.label = 9;
266
+ _g.label = 9;
265
267
  case 9:
266
268
  midBlockNumber = Math.floor((highBlockNumber + lowBlockNumber) / 2);
267
269
  return [4, relayFillStatus(spokePool, relayData, midBlockNumber, destinationChainId)];
268
270
  case 10:
269
- fillStatus = _f.sent();
271
+ fillStatus = _g.sent();
270
272
  if (fillStatus === interfaces_1.FillStatus.Filled) {
271
273
  highBlockNumber = midBlockNumber;
272
274
  }
273
275
  else {
274
276
  lowBlockNumber = midBlockNumber + 1;
275
277
  }
276
- _f.label = 11;
278
+ _g.label = 11;
277
279
  case 11:
278
280
  if (lowBlockNumber < highBlockNumber) return [3, 9];
279
- _f.label = 12;
281
+ _g.label = 12;
280
282
  case 12: return [2, lowBlockNumber];
281
283
  }
282
284
  });
@@ -318,7 +320,7 @@ function findFillEvent(spokePool, relayData, lowBlockNumber, highBlockNumber) {
318
320
  case 6:
319
321
  destinationChainId = _b;
320
322
  fillEvent = (0, utils_1.spreadEventWithBlockNumber)(event);
321
- fill = tslib_1.__assign(tslib_1.__assign({}, fillEvent), { inputToken: (0, utils_1.toAddressType)(fillEvent.inputToken, relayData.originChainId), outputToken: (0, utils_1.toAddressType)(fillEvent.outputToken, destinationChainId), depositor: (0, utils_1.toAddressType)(fillEvent.depositor, relayData.originChainId), recipient: (0, utils_1.toAddressType)(fillEvent.recipient, destinationChainId), exclusiveRelayer: (0, utils_1.toAddressType)(fillEvent.exclusiveRelayer, destinationChainId), relayer: (0, utils_1.toAddressType)(fillEvent.relayer, destinationChainId), relayExecutionInfo: tslib_1.__assign(tslib_1.__assign({}, fillEvent.relayExecutionInfo), { updatedRecipient: (0, utils_1.toAddressType)(fillEvent.relayExecutionInfo.updatedRecipient, destinationChainId) }), destinationChainId: destinationChainId, messageHash: (0, utils_1.getMessageHash)(event.args.message) });
323
+ fill = tslib_1.__assign(tslib_1.__assign({}, fillEvent), { inputToken: (0, utils_1.toAddressType)(fillEvent.inputToken, relayData.originChainId), outputToken: (0, utils_1.toAddressType)(fillEvent.outputToken, destinationChainId), depositor: (0, utils_1.toAddressType)(fillEvent.depositor, relayData.originChainId), recipient: (0, utils_1.toAddressType)(fillEvent.recipient, destinationChainId), exclusiveRelayer: (0, utils_1.toAddressType)(fillEvent.exclusiveRelayer, destinationChainId), relayer: (0, utils_1.toAddressType)(fillEvent.relayer, fillEvent.repaymentChainId), relayExecutionInfo: tslib_1.__assign(tslib_1.__assign({}, fillEvent.relayExecutionInfo), { updatedRecipient: (0, utils_1.toAddressType)(fillEvent.relayExecutionInfo.updatedRecipient, destinationChainId) }), destinationChainId: destinationChainId, messageHash: (0, utils_1.getMessageHash)(event.args.message) });
322
324
  return [2, fill];
323
325
  }
324
326
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../../src/arch/evm/SpokeUtils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
2
2
  import { Mint } from "@solana-program/token";
3
- import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type Commitment } from "@solana/kit";
3
+ import { Account, Address, FetchAccountConfig, IAccountMeta, IInstruction, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type ReadonlyAccount, type Commitment } from "@solana/kit";
4
4
  import winston from "winston";
5
5
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData, RelayDataWithMessageHash } from "../../interfaces";
6
6
  import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
7
+ import { type AcrossPlusMessage } from "./";
7
8
  import { SvmCpiEventsClient } from "./eventsClient";
8
9
  import { AttestedCCTPMessage, SVMProvider } from "./types";
9
10
  export declare const SLOT_DURATION_MS = 400;
@@ -27,19 +28,28 @@ export declare function getFillRelayTx(spokePoolAddr: SvmAddress, solanaClient:
27
28
  recipient: SvmAddress;
28
29
  outputToken: SvmAddress;
29
30
  }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
30
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
31
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
31
32
  version: 0;
32
33
  }>, "feePayer">>;
33
- export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
34
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
34
+ export declare function getIPFillRelayTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipient" | "outputToken"> & {
35
+ destinationChainId: number;
36
+ recipient: SvmAddress;
37
+ outputToken: SvmAddress;
38
+ }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: SdkAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
39
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
40
+ version: 0;
41
+ }>, "feePayer">>;
42
+ export declare const createFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillInput: SvmSpokeClient.FillRelayInput, relayData: Pick<SvmSpokeClient.RelayDataArgs, "outputAmount" | "recipient">, tokenDecimals: number, createRecipientAtaIfNeeded?: boolean, remainingAccounts?: (WritableAccount | ReadonlyAccount)[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
43
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
35
44
  version: 0;
36
45
  }>, "feePayer">>;
46
+ export declare function deserializeMessage(_message: string): AcrossPlusMessage;
37
47
  export declare const createDepositInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, depositInput: SvmSpokeClient.DepositInput, tokenDecimals: number, createVaultAtaIfNeeded?: boolean) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
38
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
48
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
39
49
  version: 0;
40
50
  }>, "feePayer">>;
41
51
  export declare const createRequestSlowFillInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, requestSlowFillInput: SvmSpokeClient.RequestSlowFillInput) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
42
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
52
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
43
53
  version: 0;
44
54
  }>, "feePayer">>;
45
55
  export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaClient: SVMProvider, relayData: Omit<RelayData, "recipient" | "outputToken"> & {
@@ -47,21 +57,22 @@ export declare function getSlowFillRequestTx(spokePoolAddr: SvmAddress, solanaCl
47
57
  recipient: SvmAddress;
48
58
  outputToken: SvmAddress;
49
59
  }, signer: TransactionSigner): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
50
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
60
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
51
61
  version: 0;
52
62
  }>, "feePayer">>;
53
63
  export declare const createCloseFillPdaInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, fillStatusPda: Address) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
54
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
64
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
55
65
  version: 0;
56
66
  }>, "feePayer">>;
57
67
  export declare const createReceiveMessageInstruction: (signer: TransactionSigner, solanaClient: SVMProvider, input: MessageTransmitterClient.ReceiveMessageInput, remainingAccounts: IAccountMeta<string>[]) => Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
58
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
68
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
59
69
  version: 0;
60
70
  }>, "feePayer">>;
61
71
  export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAddress, tokenProgramId?: Address<string>): Promise<Address<string>>;
62
72
  export declare function getRelayDataHash(relayData: RelayData & {
63
73
  messageHash: string;
64
74
  }, destinationChainId: number): string;
75
+ export declare function getFillRelayViaInstructionParamsInstructions(spokePool: Address<string>, relayData: RelayData, repaymentChainId: number, repaymentAddress: SdkAddress, signer: TransactionSigner<string>, maxWriteSize?: number): Promise<IInstruction[]>;
65
76
  export declare function getDepositDelegatePda(depositData: {
66
77
  depositor: Address<string>;
67
78
  recipient: Address<string>;
@@ -93,7 +104,7 @@ export declare function getFillRelayDelegatePda(relayHash: Uint8Array, repayment
93
104
  export declare const hasCCTPV1MessageBeenProcessed: (solanaClient: SVMProvider, signer: KeyPairSigner, nonce: number, sourceDomain: number) => Promise<boolean>;
94
105
  export declare function getAccountMetasForTokenlessMessage(solanaClient: SVMProvider, signer: KeyPairSigner, messageBytes: string): Promise<IAccountMeta<string>[]>;
95
106
  export declare function getCCTPV1ReceiveMessageTx(solanaClient: SVMProvider, signer: KeyPairSigner, message: AttestedCCTPMessage, hubChainId: number, recipientAta: SvmAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, TransactionSigner<string>> & Omit<Readonly<{
96
- instructions: readonly import("@solana/kit").IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
107
+ instructions: readonly IInstruction<string, readonly (IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
97
108
  version: 0;
98
109
  }>, "feePayer">>;
99
110
  export declare function finalizeCCTPV1Messages(solanaClient: SVMProvider, attestedMessages: AttestedCCTPMessage[], signer: KeyPairSigner, recipientAta: SvmAddress, simulate?: boolean, hubChainId?: number): Promise<string[]>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMintInfo = exports.finalizeCCTPV1Messages = exports.getCCTPV1ReceiveMessageTx = exports.getAccountMetasForTokenlessMessage = exports.hasCCTPV1MessageBeenProcessed = exports.getFillRelayDelegatePda = exports.getDepositNowDelegatePda = exports.getDepositDelegatePda = exports.getRelayDataHash = exports.getAssociatedTokenAddress = exports.createReceiveMessageInstruction = exports.createCloseFillPdaInstruction = exports.getSlowFillRequestTx = exports.createRequestSlowFillInstruction = exports.createDepositInstruction = exports.createFillInstruction = exports.getFillRelayTx = exports.createTokenAccountsInstruction = exports.fillRelayInstruction = exports.findFillEvent = exports.fillStatusArray = exports.relayFillStatus = exports.findDeposit = exports.getDepositIdAtBlock = exports.getFillDeadline = exports.getTimestampForSlot = exports.getSlot = exports.SLOT_DURATION_MS = void 0;
3
+ exports.getMintInfo = exports.finalizeCCTPV1Messages = exports.getCCTPV1ReceiveMessageTx = exports.getAccountMetasForTokenlessMessage = exports.hasCCTPV1MessageBeenProcessed = exports.getFillRelayDelegatePda = exports.getDepositNowDelegatePda = exports.getDepositDelegatePda = exports.getFillRelayViaInstructionParamsInstructions = exports.getRelayDataHash = exports.getAssociatedTokenAddress = exports.createReceiveMessageInstruction = exports.createCloseFillPdaInstruction = exports.getSlowFillRequestTx = exports.createRequestSlowFillInstruction = exports.createDepositInstruction = exports.deserializeMessage = exports.createFillInstruction = exports.getIPFillRelayTx = exports.getFillRelayTx = exports.createTokenAccountsInstruction = exports.fillRelayInstruction = exports.findFillEvent = exports.fillStatusArray = exports.relayFillStatus = exports.findDeposit = exports.getDepositIdAtBlock = exports.getFillDeadline = exports.getTimestampForSlot = exports.getSlot = exports.SLOT_DURATION_MS = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var contracts_1 = require("@across-protocol/contracts");
6
6
  var SvmSpoke_1 = require("@across-protocol/contracts/dist/src/svm/clients/SvmSpoke");
@@ -320,7 +320,7 @@ function findFillEvent(relayData, destinationChainId, svmEventsClient, fromSlot,
320
320
  rawFillEvent = fillEvents[0];
321
321
  eventData = (0, _1.unwrapEventData)(rawFillEvent.data, ["depositId", "inputAmount"]);
322
322
  originChainId = eventData.originChainId;
323
- parsedFillEvent = tslib_1.__assign(tslib_1.__assign({}, eventData), { transactionHash: rawFillEvent.signature, blockNumber: Number(rawFillEvent.slot), transactionIndex: 0, logIndex: 0, destinationChainId: destinationChainId, inputToken: (0, utils_2.toAddressType)(eventData.inputToken, originChainId), outputToken: (0, utils_2.toAddressType)(eventData.outputToken, destinationChainId), relayer: (0, utils_2.toAddressType)(eventData.relayer, destinationChainId), exclusiveRelayer: (0, utils_2.toAddressType)(eventData.exclusiveRelayer, destinationChainId), depositor: (0, utils_2.toAddressType)(eventData.depositor, originChainId), recipient: (0, utils_2.toAddressType)(eventData.recipient, destinationChainId), relayExecutionInfo: tslib_1.__assign(tslib_1.__assign({}, eventData.relayExecutionInfo), { updatedRecipient: eventData.relayExecutionInfo.updatedRecipient }) });
323
+ parsedFillEvent = tslib_1.__assign(tslib_1.__assign({}, eventData), { txnRef: rawFillEvent.signature, blockNumber: Number(rawFillEvent.slot), txnIndex: 0, logIndex: 0, destinationChainId: destinationChainId, inputToken: (0, utils_2.toAddressType)(eventData.inputToken, originChainId), outputToken: (0, utils_2.toAddressType)(eventData.outputToken, destinationChainId), relayer: (0, utils_2.toAddressType)(eventData.relayer, eventData.repaymentChainId), exclusiveRelayer: (0, utils_2.toAddressType)(eventData.exclusiveRelayer, destinationChainId), depositor: (0, utils_2.toAddressType)(eventData.depositor, originChainId), recipient: (0, utils_2.toAddressType)(eventData.recipient, destinationChainId), relayExecutionInfo: tslib_1.__assign(tslib_1.__assign({}, eventData.relayExecutionInfo), { updatedRecipient: eventData.relayExecutionInfo.updatedRecipient }) });
324
324
  return [2, parsedFillEvent];
325
325
  }
326
326
  return [2, undefined];
@@ -380,7 +380,7 @@ function createTokenAccountsInstruction(mint, relayer) {
380
380
  exports.createTokenAccountsInstruction = createTokenAccountsInstruction;
381
381
  function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
382
382
  return tslib_1.__awaiter(this, void 0, void 0, function () {
383
- var svmRelayData, program, messageHash, _relayDataHash, relayDataHash, _a, state, delegate, mintInfo, fillStatus, eventAuthority, _b, recipientAta, relayerAta, fillInput;
383
+ var svmRelayData, program, messageHash, _relayDataHash, relayDataHash, _a, state, delegate, mintInfo, fillStatus, eventAuthority, _b, recipientAta, relayerAta, remainingAccounts, acrossPlusMessage_1, fillInput;
384
384
  return tslib_1.__generator(this, function (_c) {
385
385
  switch (_c.label) {
386
386
  case 0:
@@ -405,6 +405,14 @@ function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymen
405
405
  ])];
406
406
  case 2:
407
407
  _b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1];
408
+ remainingAccounts = [];
409
+ if (relayData.message !== "0x") {
410
+ acrossPlusMessage_1 = deserializeMessage(relayData.message);
411
+ remainingAccounts.push((0, _1.getAccountMeta)(acrossPlusMessage_1.handler, true));
412
+ remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_1.accounts.map(function (account, idx) {
413
+ return (0, _1.getAccountMeta)(account, idx < acrossPlusMessage_1.accounts.length - acrossPlusMessage_1.read_only_len);
414
+ }));
415
+ }
408
416
  fillInput = {
409
417
  signer: signer,
410
418
  state: state,
@@ -423,27 +431,90 @@ function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymen
423
431
  repaymentChainId: BigInt(repaymentChainId),
424
432
  repaymentAddress: (0, _1.toAddress)(repaymentAddress),
425
433
  };
426
- return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, mintInfo.data.decimals, true)];
434
+ return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, svmRelayData, mintInfo.data.decimals, true, remainingAccounts)];
427
435
  }
428
436
  });
429
437
  });
430
438
  }
431
439
  exports.getFillRelayTx = getFillRelayTx;
432
- var createFillInstruction = function (signer, solanaClient, fillInput, tokenDecimals, createRecipientAtaIfNeeded) {
440
+ function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
441
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
442
+ var program, _relayDataHash, relayDataHash, _a, state, delegate, instructionParams, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, remainingAccounts, acrossPlusMessage_2, fillInput;
443
+ return tslib_1.__generator(this, function (_c) {
444
+ switch (_c.label) {
445
+ case 0:
446
+ program = (0, _1.toAddress)(spokePoolAddr);
447
+ _relayDataHash = getRelayDataHash(tslib_1.__assign(tslib_1.__assign({}, relayData), { messageHash: (0, utils_2.getMessageHash)(relayData.message) }), relayData.destinationChainId);
448
+ relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
449
+ return [4, Promise.all([
450
+ (0, _1.getStatePda)(program),
451
+ getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), (0, _1.toAddress)(repaymentAddress), program),
452
+ (0, _1.getInstructionParamsPda)(program, signer.address),
453
+ ])];
454
+ case 1:
455
+ _a = _c.sent(), state = _a[0], delegate = _a[1], instructionParams = _a[2];
456
+ mint = (0, _1.toAddress)(relayData.outputToken);
457
+ return [4, getMintInfo(solanaClient, mint)];
458
+ case 2:
459
+ mintInfo = _c.sent();
460
+ return [4, Promise.all([
461
+ getAssociatedTokenAddress(relayData.recipient, relayData.outputToken, mintInfo.programAddress),
462
+ getAssociatedTokenAddress(utils_2.SvmAddress.from(signer.address), relayData.outputToken, mintInfo.programAddress),
463
+ (0, _1.getFillStatusPda)(program, relayData, relayData.destinationChainId),
464
+ (0, _1.getEventAuthority)(program),
465
+ ])];
466
+ case 3:
467
+ _b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
468
+ remainingAccounts = [];
469
+ if (relayData.message !== "0x") {
470
+ acrossPlusMessage_2 = deserializeMessage(relayData.message);
471
+ remainingAccounts.push((0, _1.getAccountMeta)(acrossPlusMessage_2.handler, true));
472
+ remainingAccounts.push.apply(remainingAccounts, acrossPlusMessage_2.accounts.map(function (account, idx) {
473
+ return (0, _1.getAccountMeta)(account, idx < acrossPlusMessage_2.accounts.length - acrossPlusMessage_2.read_only_len);
474
+ }));
475
+ }
476
+ fillInput = {
477
+ signer: signer,
478
+ state: state,
479
+ delegate: delegate,
480
+ mint: mint,
481
+ relayerTokenAccount: relayerAta,
482
+ recipientTokenAccount: recipientAta,
483
+ fillStatus: fillStatus,
484
+ tokenProgram: mintInfo.programAddress,
485
+ associatedTokenProgram: token_1.ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
486
+ systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
487
+ eventAuthority: eventAuthority,
488
+ program: program,
489
+ instructionParams: instructionParams,
490
+ relayHash: relayDataHash,
491
+ relayData: null,
492
+ repaymentChainId: null,
493
+ repaymentAddress: null,
494
+ };
495
+ return [2, (0, exports.createFillInstruction)(signer, solanaClient, fillInput, { outputAmount: relayData.outputAmount.toBigInt(), recipient: (0, _1.toAddress)(relayData.recipient) }, mintInfo.data.decimals, true, remainingAccounts)];
496
+ }
497
+ });
498
+ });
499
+ }
500
+ exports.getIPFillRelayTx = getIPFillRelayTx;
501
+ var createFillInstruction = function (signer, solanaClient, fillInput, relayData, tokenDecimals, createRecipientAtaIfNeeded, remainingAccounts) {
433
502
  if (createRecipientAtaIfNeeded === void 0) { createRecipientAtaIfNeeded = true; }
503
+ if (remainingAccounts === void 0) { remainingAccounts = []; }
434
504
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
435
505
  var mintInfo, approveIx, getCreateAssociatedTokenIdempotentIx, createFillIx, _a;
436
- return tslib_1.__generator(this, function (_b) {
437
- switch (_b.label) {
506
+ var _b;
507
+ return tslib_1.__generator(this, function (_c) {
508
+ switch (_c.label) {
438
509
  case 0: return [4, getMintInfo(solanaClient, fillInput.mint)];
439
510
  case 1:
440
- mintInfo = _b.sent();
511
+ mintInfo = _c.sent();
441
512
  approveIx = (0, token_1.getApproveCheckedInstruction)({
442
513
  source: fillInput.relayerTokenAccount,
443
514
  mint: fillInput.mint,
444
515
  delegate: fillInput.delegate,
445
516
  owner: fillInput.signer,
446
- amount: fillInput.relayData.outputAmount,
517
+ amount: relayData.outputAmount,
447
518
  decimals: tokenDecimals,
448
519
  }, {
449
520
  programAddress: mintInfo.programAddress,
@@ -451,7 +522,7 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
451
522
  getCreateAssociatedTokenIdempotentIx = function () {
452
523
  return (0, token_1.getCreateAssociatedTokenIdempotentInstruction)({
453
524
  payer: signer,
454
- owner: fillInput.relayData.recipient,
525
+ owner: relayData.recipient,
455
526
  mint: fillInput.mint,
456
527
  ata: fillInput.recipientTokenAccount,
457
528
  systemProgram: system_1.SYSTEM_PROGRAM_ADDRESS,
@@ -459,9 +530,10 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
459
530
  });
460
531
  };
461
532
  createFillIx = contracts_1.SvmSpokeClient.getFillRelayInstruction(fillInput);
533
+ (_b = createFillIx.accounts).push.apply(_b, remainingAccounts);
462
534
  _a = kit_1.pipe;
463
535
  return [4, (0, _1.createDefaultTransaction)(solanaClient, signer)];
464
- case 2: return [2, _a.apply(void 0, [_b.sent(), function (tx) {
536
+ case 2: return [2, _a.apply(void 0, [_c.sent(), function (tx) {
465
537
  return createRecipientAtaIfNeeded ? (0, kit_1.appendTransactionMessageInstruction)(getCreateAssociatedTokenIdempotentIx(), tx) : tx;
466
538
  },
467
539
  function (tx) { return (0, kit_1.appendTransactionMessageInstruction)(approveIx, tx); },
@@ -471,6 +543,12 @@ var createFillInstruction = function (signer, solanaClient, fillInput, tokenDeci
471
543
  });
472
544
  };
473
545
  exports.createFillInstruction = createFillInstruction;
546
+ function deserializeMessage(_message) {
547
+ var message = new Uint8Array(Buffer.from(_message.startsWith("0x") ? _message.slice(2) : _message, "hex"));
548
+ var acrossPlusMessageDecoder = (0, _1.getAcrossPlusMessageDecoder)();
549
+ return acrossPlusMessageDecoder.decode(message);
550
+ }
551
+ exports.deserializeMessage = deserializeMessage;
474
552
  var createDepositInstruction = function (signer, solanaClient, depositInput, tokenDecimals, createVaultAtaIfNeeded) {
475
553
  if (createVaultAtaIfNeeded === void 0) { createVaultAtaIfNeeded = true; }
476
554
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
@@ -699,6 +777,46 @@ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData
699
777
  });
700
778
  });
701
779
  }
780
+ function getFillRelayViaInstructionParamsInstructions(spokePool, relayData, repaymentChainId, repaymentAddress, signer, maxWriteSize) {
781
+ if (maxWriteSize === void 0) { maxWriteSize = 450; }
782
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
783
+ var instructionParams, relayDataEncoder, svmRelayData, encodedRelayData, initInstructionParamsIx, instructions, i, offset, offsetEnd, fragment, writeInstructionParamsIx;
784
+ return tslib_1.__generator(this, function (_a) {
785
+ switch (_a.label) {
786
+ case 0: return [4, (0, _1.getInstructionParamsPda)(spokePool, signer.address)];
787
+ case 1:
788
+ instructionParams = _a.sent();
789
+ relayDataEncoder = contracts_1.SvmSpokeClient.getFillRelayParamsEncoder();
790
+ svmRelayData = (0, _1.toSvmRelayData)(relayData);
791
+ encodedRelayData = relayDataEncoder.encode({
792
+ relayData: svmRelayData,
793
+ repaymentChainId: repaymentChainId,
794
+ repaymentAddress: (0, _1.toAddress)(repaymentAddress),
795
+ });
796
+ initInstructionParamsIx = contracts_1.SvmSpokeClient.getInitializeInstructionParamsInstruction({
797
+ signer: signer,
798
+ instructionParams: instructionParams,
799
+ totalSize: encodedRelayData.length,
800
+ });
801
+ instructions = [initInstructionParamsIx];
802
+ for (i = 0; i <= encodedRelayData.length / maxWriteSize; ++i) {
803
+ offset = i * maxWriteSize;
804
+ offsetEnd = Math.min(offset + maxWriteSize, encodedRelayData.length);
805
+ fragment = encodedRelayData.slice(offset, offsetEnd);
806
+ writeInstructionParamsIx = contracts_1.SvmSpokeClient.getWriteInstructionParamsFragmentInstruction({
807
+ signer: signer,
808
+ instructionParams: instructionParams,
809
+ offset: offset,
810
+ fragment: fragment,
811
+ });
812
+ instructions.push(writeInstructionParamsIx);
813
+ }
814
+ return [2, instructions];
815
+ }
816
+ });
817
+ });
818
+ }
819
+ exports.getFillRelayViaInstructionParamsInstructions = getFillRelayViaInstructionParamsInstructions;
702
820
  function getDepositDelegatePda(depositData, programId) {
703
821
  return tslib_1.__awaiter(this, void 0, void 0, function () {
704
822
  var addrEnc, u64, u32, parts, seedHash, pda;