@across-protocol/sdk 4.3.113-alpha.2 → 4.3.113

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 (68) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +16 -1
  2. package/dist/cjs/arch/svm/SpokeUtils.js +63 -8
  3. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/encoders.d.ts +1 -0
  5. package/dist/cjs/arch/svm/encoders.js +4 -0
  6. package/dist/cjs/arch/svm/encoders.js.map +1 -1
  7. package/dist/cjs/arch/svm/utils.d.ts +1 -0
  8. package/dist/cjs/arch/svm/utils.js +17 -0
  9. package/dist/cjs/arch/svm/utils.js.map +1 -1
  10. package/dist/cjs/constants.js +0 -1
  11. package/dist/cjs/constants.js.map +1 -1
  12. package/dist/cjs/providers/solana/utils.d.ts +56 -0
  13. package/dist/cjs/providers/solana/utils.js.map +1 -1
  14. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
  15. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +100 -27
  16. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  17. package/dist/cjs/typechain.d.ts +11 -10
  18. package/dist/cjs/typechain.js +5 -5
  19. package/dist/cjs/typechain.js.map +1 -1
  20. package/dist/cjs/utils/AddressUtils.d.ts +1 -1
  21. package/dist/cjs/utils/AddressUtils.js +2 -2
  22. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  23. package/dist/esm/arch/svm/SpokeUtils.d.ts +35 -1
  24. package/dist/esm/arch/svm/SpokeUtils.js +80 -8
  25. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  26. package/dist/esm/arch/svm/encoders.d.ts +1 -0
  27. package/dist/esm/arch/svm/encoders.js +3 -0
  28. package/dist/esm/arch/svm/encoders.js.map +1 -1
  29. package/dist/esm/arch/svm/utils.d.ts +6 -0
  30. package/dist/esm/arch/svm/utils.js +21 -0
  31. package/dist/esm/arch/svm/utils.js.map +1 -1
  32. package/dist/esm/constants.js +0 -1
  33. package/dist/esm/constants.js.map +1 -1
  34. package/dist/esm/providers/solana/utils.d.ts +56 -0
  35. package/dist/esm/providers/solana/utils.js.map +1 -1
  36. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
  37. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +106 -31
  38. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  39. package/dist/esm/typechain.d.ts +11 -10
  40. package/dist/esm/typechain.js +5 -5
  41. package/dist/esm/typechain.js.map +1 -1
  42. package/dist/esm/utils/AddressUtils.d.ts +1 -1
  43. package/dist/esm/utils/AddressUtils.js +2 -2
  44. package/dist/esm/utils/AddressUtils.js.map +1 -1
  45. package/dist/types/arch/svm/SpokeUtils.d.ts +35 -1
  46. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  47. package/dist/types/arch/svm/encoders.d.ts +1 -0
  48. package/dist/types/arch/svm/encoders.d.ts.map +1 -1
  49. package/dist/types/arch/svm/utils.d.ts +6 -0
  50. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  51. package/dist/types/constants.d.ts.map +1 -1
  52. package/dist/types/providers/solana/utils.d.ts +56 -0
  53. package/dist/types/providers/solana/utils.d.ts.map +1 -1
  54. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
  55. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  56. package/dist/types/typechain.d.ts +11 -10
  57. package/dist/types/typechain.d.ts.map +1 -1
  58. package/dist/types/utils/AddressUtils.d.ts +1 -1
  59. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  60. package/package.json +11 -14
  61. package/src/arch/svm/SpokeUtils.ts +77 -3
  62. package/src/arch/svm/encoders.ts +4 -0
  63. package/src/arch/svm/utils.ts +13 -0
  64. package/src/constants.ts +0 -1
  65. package/src/providers/solana/utils.ts +44 -0
  66. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +121 -5
  67. package/src/typechain.ts +12 -10
  68. package/src/utils/AddressUtils.ts +3 -3
@@ -34,4 +34,10 @@ export declare class SvmQuery implements QueryInterface {
34
34
  }, signer: TransactionSigner, repaymentChainId: number, repaymentAddress: Address): Promise<CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime>;
35
35
  getTokenPrice(tokenSymbol: string): Promise<number>;
36
36
  getTokenDecimals(tokenSymbol: string): number;
37
+ estimateComputeUnits(relayData: RelayData & {
38
+ destinationChainId: number;
39
+ recipient: SvmAddress;
40
+ outputToken: SvmAddress;
41
+ exclusiveRelayer: SvmAddress;
42
+ }, relayer: SvmAddress, repaymentChainId: number, repaymentAddress: SvmAddress): Promise<bigint>;
37
43
  }
@@ -12,6 +12,7 @@ var utils_1 = require("../../utils");
12
12
  var relayFeeCalculator_1 = require("../relayFeeCalculator");
13
13
  var token_1 = require("@solana-program/token");
14
14
  var token_2022_1 = require("@solana-program/token-2022");
15
+ var compute_budget_1 = require("@solana-program/compute-budget");
15
16
  var __1 = require("../..");
16
17
  var SvmQuery = (function () {
17
18
  function SvmQuery(provider, symbolMapping, spokePool, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
@@ -30,11 +31,11 @@ var SvmQuery = (function () {
30
31
  }
31
32
  SvmQuery.prototype.getGasCosts = function (relayData_1) {
32
33
  return tslib_1.__awaiter(this, arguments, void 0, function (relayData, relayer, options) {
33
- var destinationChainId, recipient, outputToken, exclusiveRelayer, _a, repaymentChainId, repaymentAddress, fillRelayTx, _b, computeUnitsConsumed, gasPriceEstimate, tokenAccountInfo, _c, _d, _e, tokenOwner, recipientAta, encodedAta, gasPrice, tokenGasCost, extensions, mint, tokenAccountSize, rentCostInLamports;
34
+ var destinationChainId, recipient, outputToken, exclusiveRelayer, _a, repaymentChainId, repaymentAddress, _fillRelayTx, fillTooLarge, fillRelayTx, _b, _c, _computeUnitsConsumed, gasPriceEstimate, tokenAccountInfo, computeUnitsConsumed, tokenOwner, recipientAta, encodedAta, gasPrice, tokenGasCost, extensions, mint, tokenAccountSize, rentCostInLamports;
34
35
  if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(relayData.destinationChainId); }
35
36
  if (options === void 0) { options = {}; }
36
- return tslib_1.__generator(this, function (_f) {
37
- switch (_f.label) {
37
+ return tslib_1.__generator(this, function (_d) {
38
+ switch (_d.label) {
38
39
  case 0:
39
40
  destinationChainId = relayData.destinationChainId, recipient = relayData.recipient, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer;
40
41
  (0, assert_1.default)(recipient.isSVM(), "getGasCosts: recipient not an SVM address (".concat(recipient, ")"));
@@ -44,47 +45,58 @@ var SvmQuery = (function () {
44
45
  _a = [destinationChainId, relayer], repaymentChainId = _a[0], repaymentAddress = _a[1];
45
46
  return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), (0, svm_1.SolanaVoidSigner)(relayer.toBase58()), repaymentChainId, repaymentAddress)];
46
47
  case 1:
47
- fillRelayTx = _f.sent();
48
- _d = (_c = Promise).all;
49
- _e = utils_1.toBN;
50
- return [4, this.computeUnitEstimator(fillRelayTx)];
51
- case 2: return [4, _d.apply(_c, [[
52
- _e.apply(void 0, [_f.sent()]),
48
+ _fillRelayTx = _d.sent();
49
+ fillTooLarge = (0, svm_1.isSVMFillTooLarge)(_fillRelayTx);
50
+ if (!fillTooLarge.tooLarge) return [3, 3];
51
+ return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer, message: "0x" }), (0, svm_1.SolanaVoidSigner)(relayer.toBase58()), repaymentChainId, repaymentAddress)];
52
+ case 2:
53
+ _b = _d.sent();
54
+ return [3, 4];
55
+ case 3:
56
+ _b = _fillRelayTx;
57
+ _d.label = 4;
58
+ case 4:
59
+ fillRelayTx = _b;
60
+ return [4, Promise.all([
61
+ fillTooLarge.tooLarge
62
+ ? this.estimateComputeUnits(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer, repaymentChainId, repaymentAddress)
63
+ : this.computeUnitEstimator(fillRelayTx),
53
64
  (0, gasPriceOracle_1.getGasPriceEstimate)(this.provider, {
54
65
  unsignedTx: fillRelayTx,
55
66
  baseFeeMultiplier: options.baseFeeMultiplier,
56
67
  priorityFeeMultiplier: options.priorityFeeMultiplier,
57
68
  }),
58
- this.provider.getAccountInfo((0, svm_1.toAddress)(outputToken), { encoding: "base58" }).send()
59
- ]])];
60
- case 3:
61
- _b = _f.sent(), computeUnitsConsumed = _b[0], gasPriceEstimate = _b[1], tokenAccountInfo = _b[2];
69
+ this.provider.getAccountInfo((0, svm_1.toAddress)(outputToken), { encoding: "base58" }).send(),
70
+ ])];
71
+ case 5:
72
+ _c = _d.sent(), _computeUnitsConsumed = _c[0], gasPriceEstimate = _c[1], tokenAccountInfo = _c[2];
73
+ computeUnitsConsumed = (0, utils_1.toBN)(_computeUnitsConsumed);
62
74
  tokenOwner = tokenAccountInfo.value.owner;
63
75
  (0, assert_1.default)(tokenOwner === token_2022_1.TOKEN_2022_PROGRAM_ADDRESS || tokenOwner === token_1.TOKEN_PROGRAM_ADDRESS, "".concat(outputToken, " has invalid token account owner ").concat(tokenOwner, "."));
64
76
  return [4, (0, svm_1.getAssociatedTokenAddress)(recipient, outputToken, tokenOwner)];
65
- case 4:
66
- recipientAta = _f.sent();
77
+ case 6:
78
+ recipientAta = _d.sent();
67
79
  return [4, (0, kit_1.fetchEncodedAccount)(this.provider, recipientAta)];
68
- case 5:
69
- encodedAta = _f.sent();
80
+ case 7:
81
+ encodedAta = _d.sent();
70
82
  gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div((0, utils_1.toBN)(1000000)));
71
83
  tokenGasCost = gasPrice;
72
- if (!!encodedAta.exists) return [3, 9];
84
+ if (!!encodedAta.exists) return [3, 11];
73
85
  extensions = undefined;
74
- if (!(tokenOwner === token_2022_1.TOKEN_2022_PROGRAM_ADDRESS)) return [3, 7];
86
+ if (!(tokenOwner === token_2022_1.TOKEN_2022_PROGRAM_ADDRESS)) return [3, 9];
75
87
  return [4, (0, token_2022_1.fetchMint)(this.provider, (0, svm_1.toAddress)(outputToken))];
76
- case 6:
77
- mint = _f.sent();
88
+ case 8:
89
+ mint = _d.sent();
78
90
  extensions = (0, kit_1.isSome)(mint.data.extensions) ? mint.data.extensions.value : undefined;
79
- _f.label = 7;
80
- case 7:
91
+ _d.label = 9;
92
+ case 9:
81
93
  tokenAccountSize = (0, token_2022_1.getTokenSize)(extensions);
82
94
  return [4, this.provider.getMinimumBalanceForRentExemption(BigInt(tokenAccountSize)).send()];
83
- case 8:
84
- rentCostInLamports = _f.sent();
95
+ case 10:
96
+ rentCostInLamports = _d.sent();
85
97
  tokenGasCost = tokenGasCost.add((0, utils_1.toBN)(Number(rentCostInLamports)));
86
- _f.label = 9;
87
- case 9: return [2, {
98
+ _d.label = 11;
99
+ case 11: return [2, {
88
100
  nativeGasCost: computeUnitsConsumed,
89
101
  tokenGasCost: tokenGasCost,
90
102
  gasPrice: gasPrice,
@@ -151,6 +163,67 @@ var SvmQuery = (function () {
151
163
  throw new Error("".concat(tokenSymbol, " does not exist in mapping"));
152
164
  return this.symbolMapping[tokenSymbol].decimals;
153
165
  };
166
+ SvmQuery.prototype.estimateComputeUnits = function (relayData, relayer, repaymentChainId, repaymentAddress) {
167
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
168
+ var provider, spokePoolAddr, voidSigner, _a, instructionParamsIxs, _fillRelayTx, computeUnitLimitIx, fillRelayTx, instructionParamsTxs, bundleTxns, executionAccounts, simulateBundleResponse, failure, totalCuSpent;
169
+ var _this = this;
170
+ return tslib_1.__generator(this, function (_b) {
171
+ switch (_b.label) {
172
+ case 0:
173
+ provider = this.provider;
174
+ spokePoolAddr = (0, svm_1.toAddress)(this.spokePool);
175
+ voidSigner = (0, svm_1.SolanaVoidSigner)(relayer.toBase58());
176
+ return [4, Promise.all([
177
+ (0, svm_1.getFillRelayViaInstructionParamsInstructions)(spokePoolAddr, relayData, repaymentChainId, repaymentAddress, voidSigner, provider),
178
+ (0, svm_1.getIPFillRelayTx)(this.spokePool, provider, relayData, voidSigner, repaymentChainId, repaymentAddress),
179
+ ])];
180
+ case 1:
181
+ _a = _b.sent(), instructionParamsIxs = _a[0], _fillRelayTx = _a[1];
182
+ computeUnitLimitIx = (0, compute_budget_1.getSetComputeUnitLimitInstruction)({ units: 10000000 });
183
+ fillRelayTx = (0, kit_1.pipe)(_fillRelayTx, function (tx) { return (0, kit_1.appendTransactionMessageInstruction)(computeUnitLimitIx, tx); });
184
+ return [4, (0, utils_1.mapAsync)(instructionParamsIxs, function (ix) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
185
+ var _a;
186
+ return tslib_1.__generator(this, function (_b) {
187
+ switch (_b.label) {
188
+ case 0:
189
+ _a = kit_1.pipe;
190
+ return [4, (0, svm_1.createDefaultTransaction)(provider, voidSigner)];
191
+ case 1: return [2, _a.apply(void 0, [_b.sent(), function (tx) {
192
+ return (0, kit_1.appendTransactionMessageInstruction)(ix, tx);
193
+ }])];
194
+ }
195
+ });
196
+ }); })];
197
+ case 2:
198
+ instructionParamsTxs = _b.sent();
199
+ bundleTxns = tslib_1.__spreadArray(tslib_1.__spreadArray([], instructionParamsTxs, true), [fillRelayTx], false).map(function (txn) {
200
+ var compiled = (0, kit_1.compileTransaction)(txn);
201
+ return (0, kit_1.getBase64EncodedWireTransaction)(compiled);
202
+ });
203
+ executionAccounts = bundleTxns.map(function () {
204
+ return { accountIndex: 0, addresses: [_this.spokePool.toBase58(), relayer.toBase58()] };
205
+ });
206
+ return [4, provider
207
+ .simulateBundle({
208
+ encodedTransactions: bundleTxns,
209
+ }, {
210
+ skipSigVerify: true,
211
+ preExecutionAccountsConfigs: executionAccounts,
212
+ postExecutionAccountsConfigs: executionAccounts,
213
+ })
214
+ .send()];
215
+ case 3:
216
+ simulateBundleResponse = _b.sent();
217
+ if (simulateBundleResponse.value.summary !== "succeeded") {
218
+ failure = simulateBundleResponse.value.summary.failed.error.TransactionFailure;
219
+ throw new Error("simulateBundle failed with result: ".concat(failure[1]));
220
+ }
221
+ totalCuSpent = simulateBundleResponse.value.transactionResults.reduce(function (sum, res) { return res.unitsConsumed + sum; }, BigInt(0));
222
+ return [2, totalCuSpent];
223
+ }
224
+ });
225
+ });
226
+ };
154
227
  return SvmQuery;
155
228
  }());
156
229
  exports.SvmQuery = SvmQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- export type { TypedEvent, TypedEventFilter } from "@across-protocol/contracts/dist/typechain/common";
2
- export { AcrossMerkleDistributor__factory } from "@across-protocol/contracts/dist/typechain/factories/AcrossMerkleDistributor__factory";
3
- export { AcrossConfigStore__factory } from "@across-protocol/contracts/dist/typechain/factories/AcrossConfigStore__factory";
4
- export { HubPool__factory } from "@across-protocol/contracts/dist/typechain/factories/HubPool__factory";
5
- export { SpokePool__factory } from "@across-protocol/contracts/dist/typechain/factories/SpokePool__factory";
6
- export { ERC20__factory } from "@across-protocol/contracts/dist/typechain/factories/ERC20__factory";
1
+ import type { TypedEvent, TypedEventFilter } from "@across-protocol/contracts/dist/typechain/common";
2
+ export type { TypedEvent, TypedEventFilter };
3
+ export { AcrossMerkleDistributor__factory } from "@across-protocol/contracts/dist/typechain/factories/contracts/merkle-distributor/AcrossMerkleDistributor__factory";
4
+ export { AcrossConfigStore__factory } from "@across-protocol/contracts/dist/typechain/factories/contracts/AcrossConfigStore__factory";
5
+ export { HubPool__factory } from "@across-protocol/contracts/dist/typechain/factories/contracts/HubPool__factory";
6
+ export { SpokePool__factory } from "@across-protocol/contracts/dist/typechain/factories/contracts/SpokePool__factory";
7
+ export { ERC20__factory } from "@across-protocol/contracts/dist/typechain/factories/@openzeppelin/contracts-v4/token/ERC20/ERC20__factory";
7
8
  export { AcceleratingDistributor__factory } from "@across-protocol/across-token/dist/typechain/factories/AcceleratingDistributor__factory";
8
9
  export { ClaimAndStake__factory } from "@across-protocol/across-token/dist/typechain/factories/ClaimAndStake__factory";
9
10
  export { MerkleDistributor__factory } from "@across-protocol/across-token/dist/typechain/factories/MerkleDistributor__factory";
10
- export type { AcrossMerkleDistributor, AcrossMerkleDistributorInterface, } from "@across-protocol/contracts/dist/typechain/AcrossMerkleDistributor";
11
- export type { AcrossConfigStore, AcrossConfigStoreInterface, } from "@across-protocol/contracts/dist/typechain/AcrossConfigStore";
12
- export type { HubPool, HubPoolInterface } from "@across-protocol/contracts/dist/typechain/HubPool";
13
- export type { SpokePool, SpokePoolInterface, V3FundsDepositedEvent, FilledV3RelayEvent, } from "@across-protocol/contracts/dist/typechain/SpokePool";
11
+ export type { AcrossMerkleDistributor, AcrossMerkleDistributorInterface, } from "@across-protocol/contracts/dist/typechain/contracts/merkle-distributor/AcrossMerkleDistributor";
12
+ export type { AcrossConfigStore, AcrossConfigStoreInterface, } from "@across-protocol/contracts/dist/typechain/contracts/AcrossConfigStore";
13
+ export type { HubPool, HubPoolInterface } from "@across-protocol/contracts/dist/typechain/contracts/HubPool";
14
+ export type { SpokePool, SpokePoolInterface, V3FundsDepositedEvent, FilledV3RelayEvent, } from "@across-protocol/contracts/dist/typechain/contracts/SpokePool";
14
15
  export type { AcceleratingDistributor, AcceleratingDistributorInterface, } from "@across-protocol/across-token/dist/typechain/AcceleratingDistributor";
15
16
  export type { ClaimAndStake, ClaimAndStakeInterface } from "@across-protocol/across-token/dist/typechain/ClaimAndStake";
16
17
  export type { MerkleDistributor, MerkleDistributorInterface, } from "@across-protocol/across-token/dist/typechain/MerkleDistributor";
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MerkleDistributor__factory = exports.ClaimAndStake__factory = exports.AcceleratingDistributor__factory = exports.ERC20__factory = exports.SpokePool__factory = exports.HubPool__factory = exports.AcrossConfigStore__factory = exports.AcrossMerkleDistributor__factory = void 0;
4
- var AcrossMerkleDistributor__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/AcrossMerkleDistributor__factory");
4
+ var AcrossMerkleDistributor__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/contracts/merkle-distributor/AcrossMerkleDistributor__factory");
5
5
  Object.defineProperty(exports, "AcrossMerkleDistributor__factory", { enumerable: true, get: function () { return AcrossMerkleDistributor__factory_1.AcrossMerkleDistributor__factory; } });
6
- var AcrossConfigStore__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/AcrossConfigStore__factory");
6
+ var AcrossConfigStore__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/contracts/AcrossConfigStore__factory");
7
7
  Object.defineProperty(exports, "AcrossConfigStore__factory", { enumerable: true, get: function () { return AcrossConfigStore__factory_1.AcrossConfigStore__factory; } });
8
- var HubPool__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/HubPool__factory");
8
+ var HubPool__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/contracts/HubPool__factory");
9
9
  Object.defineProperty(exports, "HubPool__factory", { enumerable: true, get: function () { return HubPool__factory_1.HubPool__factory; } });
10
- var SpokePool__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/SpokePool__factory");
10
+ var SpokePool__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/contracts/SpokePool__factory");
11
11
  Object.defineProperty(exports, "SpokePool__factory", { enumerable: true, get: function () { return SpokePool__factory_1.SpokePool__factory; } });
12
- var ERC20__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/ERC20__factory");
12
+ var ERC20__factory_1 = require("@across-protocol/contracts/dist/typechain/factories/@openzeppelin/contracts-v4/token/ERC20/ERC20__factory");
13
13
  Object.defineProperty(exports, "ERC20__factory", { enumerable: true, get: function () { return ERC20__factory_1.ERC20__factory; } });
14
14
  var AcceleratingDistributor__factory_1 = require("@across-protocol/across-token/dist/typechain/factories/AcceleratingDistributor__factory");
15
15
  Object.defineProperty(exports, "AcceleratingDistributor__factory", { enumerable: true, get: function () { return AcceleratingDistributor__factory_1.AcceleratingDistributor__factory; } });
@@ -1 +1 @@
1
- {"version":3,"file":"typechain.js","sourceRoot":"","sources":["../../src/typechain.ts"],"names":[],"mappings":";;;AAMA,yIAAwI;AAA/H,oJAAA,gCAAgC,OAAA;AACzC,6HAA4H;AAAnH,wIAAA,0BAA0B,OAAA;AACnC,yGAAwG;AAA/F,oHAAA,gBAAgB,OAAA;AACzB,6GAA4G;AAAnG,wHAAA,kBAAkB,OAAA;AAC3B,qGAAoG;AAA3F,gHAAA,cAAc,OAAA;AAEvB,4IAA2I;AAAlI,oJAAA,gCAAgC,OAAA;AACzC,wHAAuH;AAA9G,gIAAA,sBAAsB,OAAA;AAC/B,gIAA+H;AAAtH,wIAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"typechain.js","sourceRoot":"","sources":["../../src/typechain.ts"],"names":[],"mappings":";;;AAQA,sKAAqK;AAA5J,oJAAA,gCAAgC,OAAA;AACzC,uIAAsI;AAA7H,wIAAA,0BAA0B,OAAA;AACnC,mHAAkH;AAAzG,oHAAA,gBAAgB,OAAA;AACzB,uHAAsH;AAA7G,wHAAA,kBAAkB,OAAA;AAC3B,4IAA2I;AAAlI,gHAAA,cAAc,OAAA;AAEvB,4IAA2I;AAAlI,oJAAA,gCAAgC,OAAA;AACzC,wHAAuH;AAA9G,gIAAA,sBAAsB,OAAA;AAC/B,gIAA+H;AAAtH,wIAAA,0BAA0B,OAAA"}
@@ -29,7 +29,7 @@ export declare abstract class Address {
29
29
  toString(): string;
30
30
  isZeroAddress(): boolean;
31
31
  forceSvmAddress(): SvmAddress;
32
- eq(other: Address): boolean;
32
+ eq(other?: Address): boolean;
33
33
  compare(otherAddress: Address): 1 | -1 | 0;
34
34
  isEVM(): this is EvmAddress;
35
35
  isSVM(): this is SvmAddress;
@@ -100,7 +100,7 @@ var Address = (function () {
100
100
  this.rawAddress = ethers_1.utils.zeroPad(_rawAddress, 32);
101
101
  }
102
102
  Address.isAddress = function (obj) {
103
- return "__address_type_brand" in obj;
103
+ return typeof obj === "object" && obj !== null && "__address_type_brand" in obj;
104
104
  };
105
105
  Address.prototype.toJSON = function () {
106
106
  return this.toNative();
@@ -154,7 +154,7 @@ var Address = (function () {
154
154
  return SvmAddress.from(this.toBase58());
155
155
  };
156
156
  Address.prototype.eq = function (other) {
157
- return this.toString() === other.toString();
157
+ return this.toString() === (other === null || other === void 0 ? void 0 : other.toString());
158
158
  };
159
159
  Address.prototype.compare = function (otherAddress) {
160
160
  var bnAddressA = this.toBigNumber();
@@ -1 +1 @@
1
- {"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { AttestedCCTPMessage, SVMProvider, LatestBlockhash } from "./types";
12
12
  * and choose 400 to ensure that the most slots get included in our ranges
13
13
  */
14
14
  export declare const SLOT_DURATION_MS = 400;
15
+ export declare const SOLANA_TX_SIZE_LIMIT = 1232;
15
16
  type ProtoFill = Omit<RelayData, "recipient" | "outputToken"> & {
16
17
  destinationChainId: number;
17
18
  recipient: SvmAddress;
@@ -212,14 +213,24 @@ export declare function getAssociatedTokenAddress(owner: SvmAddress, mint: SvmAd
212
213
  export declare function getRelayDataHash(relayData: RelayData & {
213
214
  messageHash: string;
214
215
  }, destinationChainId: number): string;
216
+ export declare function getIPForFillRelayTxs(spokePool: SvmAddress, relayData: RelayData, repaymentChainId: number, repaymentAddress: SdkAddress, signer: TransactionSigner<string>, provider: SVMProvider): Promise<(Omit<import("@solana/kit").ExcludeTransactionMessageWithinSizeLimit<import("@solana/transaction-messages/dist/types/lifetime").ExcludeTransactionMessageLifetime<Omit<Omit<Readonly<{
217
+ instructions: readonly import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>[];
218
+ version: 0;
219
+ }>, "instructions"> & import("@solana/kit").TransactionMessageWithinSizeLimit & {
220
+ instructions: readonly [];
221
+ }, "feePayer"> & import("@solana/kit").TransactionMessageWithFeePayerSigner<string, TransactionSigner<string>>> & TransactionMessageWithBlockhashLifetime>, "instructions"> & {
222
+ readonly instructions: readonly [IInstruction];
223
+ })[]>;
215
224
  /**
216
225
  * Returns a set of instructions to execute to fill a relay via instruction params.
217
226
  * @param spokePool The program ID of the Solana spoke pool.
218
227
  * @param relayData The relay data to write to the instruction params PDA.
228
+ * @param repaymentChainId: The chain ID to take repayment.
229
+ * @param repaymentAddress: The address to receive repayment on the specified repayment chain.
219
230
  * @param signer The transaction signer and authority of the instruction params PDA.
220
231
  * @param maxWriteSize The maximum fragment size to write to instruction params.
221
232
  */
222
- export declare function getFillRelayViaInstructionParamsInstructions(spokePool: Address<string>, relayData: RelayData, repaymentChainId: number, repaymentAddress: SdkAddress, signer: TransactionSigner<string>, maxWriteSize?: number): Promise<IInstruction[]>;
233
+ export declare function getFillRelayViaInstructionParamsInstructions(spokePool: Address<string>, relayData: RelayData, repaymentChainId: number, repaymentAddress: SdkAddress, signer: TransactionSigner<string>, provider: SVMProvider, maxWriteSize?: number): Promise<IInstruction[]>;
223
234
  /**
224
235
  * Returns the delegate PDA for deposit.
225
236
  */
@@ -282,6 +293,29 @@ export declare function getAccountMetasForTokenlessMessage(solanaClient: SVMProv
282
293
  * @param messageTransmitterAddress The message transmitter address.
283
294
  */
284
295
  export declare function getCCTPDepositAccounts(hubChainId: number, cctpDestinationDomainId: number, tokenMessengerMinterAddress: Address, messageTransmitterAddress: Address): Promise<CCTPDepositAccounts>;
296
+ /**
297
+ * Returns true if the input deposit's corresponding relay data would result in a transaction size
298
+ * that is larger than the Solana transaction size limit.
299
+ * @param fillRelayTx The compilable fill relay transaction to check.
300
+ * @returns Object containing a boolean if the input deposit requires a multipart fill, false otherwise and
301
+ * the number of bytes in the serialized transaction.
302
+ */
303
+ export declare function isSVMFillTooLarge(fillRelayTx: CompilableTransactionMessage): {
304
+ tooLarge: boolean;
305
+ sizeBytes: number;
306
+ };
307
+ /**
308
+ * Returns the byte size of a base64 transaction.
309
+ * @param base64TxString base64 serialized Solana transaction.
310
+ * @returns The number of bytes in the transaction.
311
+ */
312
+ export declare function base64StrToByteSize(base64TxString: string): number;
313
+ /**
314
+ * Returns the size of the fill relay transaction using the input relayData.
315
+ * @param fillTx The compilable fill relay transaction.
316
+ * @returns The number of bytes in the serialized fillRelay transaction.
317
+ */
318
+ export declare function calculateFillSizeBytes(fillTx: CompilableTransactionMessage): number;
285
319
  /**
286
320
  * Returns the CCTP v1 receive message transaction.
287
321
  * @param solanaClient The Solana client.
@@ -4,7 +4,7 @@ import { decodeFillStatusAccount, fetchState } from "@across-protocol/contracts/
4
4
  import { decodeMessageHeader } from "@across-protocol/contracts/dist/src/svm/web3-v1";
5
5
  import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
6
6
  import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, TOKEN_PROGRAM_ADDRESS, fetchMint, getApproveCheckedInstruction, getCreateAssociatedTokenIdempotentInstruction, getCreateAssociatedTokenInstruction, } from "@solana-program/token";
7
- import { AccountRole, appendTransactionMessageInstruction, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getSignatureFromTransaction, getU32Encoder, getU64Encoder, pipe, signTransactionMessageWithSigners, some, } from "@solana/kit";
7
+ import { AccountRole, appendTransactionMessageInstruction, fetchEncodedAccount, fetchEncodedAccounts, getAddressEncoder, getBase64EncodedWireTransaction, getProgramDerivedAddress, getSignatureFromTransaction, getU32Encoder, getU64Encoder, pipe, signTransactionMessageWithSigners, some, compileTransaction, } from "@solana/kit";
8
8
  import assert from "assert";
9
9
  import { arrayify } from "ethers/lib/utils";
10
10
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "../../constants";
@@ -19,6 +19,7 @@ import { getEmergencyDeleteRootBundleRootBundleId, getNearestSlotTime, isEmergen
19
19
  * and choose 400 to ensure that the most slots get included in our ranges
20
20
  */
21
21
  export var SLOT_DURATION_MS = 400;
22
+ export var SOLANA_TX_SIZE_LIMIT = 1232;
22
23
  export function getSlot(provider, commitment, logger) {
23
24
  return _callGetSlotWithRetry(provider, commitment, logger);
24
25
  }
@@ -427,7 +428,7 @@ export function fillRelayInstruction(spokePool, relayData, signer, recipientToke
427
428
  return [2 /*return*/, SvmSpokeClient.getFillRelayInstruction({
428
429
  signer: signer,
429
430
  state: statePda,
430
- delegate: toAddress(SvmAddress.from(delegatePda.toString())),
431
+ delegate: delegatePda,
431
432
  mint: svmRelayData.outputToken,
432
433
  relayerTokenAccount: relayerTokenAccount,
433
434
  recipientTokenAccount: recipientTokenAccount,
@@ -541,7 +542,7 @@ export function getFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, r
541
542
  */
542
543
  export function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer, repaymentChainId, repaymentAddress) {
543
544
  return __awaiter(this, void 0, void 0, function () {
544
- var program, _relayDataHash, relayDataHash, _a, state, delegate, instructionParams, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, remainingAccounts, acrossPlusMessage_2, fillInput;
545
+ var program, _relayDataHash, relayDataHash, _a, state, delegate, instructionParams, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, recipientAtaEncodedAccount, remainingAccounts, acrossPlusMessage_2, fillInput;
545
546
  return __generator(this, function (_c) {
546
547
  switch (_c.label) {
547
548
  case 0:
@@ -567,6 +568,9 @@ export function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer,
567
568
  ])];
568
569
  case 3:
569
570
  _b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
571
+ return [4 /*yield*/, fetchEncodedAccount(solanaClient, recipientAta)];
572
+ case 4:
573
+ recipientAtaEncodedAccount = _c.sent();
570
574
  remainingAccounts = [];
571
575
  if (relayData.message !== "0x") {
572
576
  acrossPlusMessage_2 = deserializeMessage(relayData.message);
@@ -598,7 +602,7 @@ export function getIPFillRelayTx(spokePoolAddr, solanaClient, relayData, signer,
598
602
  };
599
603
  // Pass createRecipientAtaIfNeeded =true to the createFillInstruction function to create the recipient token account
600
604
  // if it doesn't exist.
601
- return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, { outputAmount: relayData.outputAmount.toBigInt(), recipient: toAddress(relayData.recipient) }, mintInfo.data.decimals, true, remainingAccounts)];
605
+ return [2 /*return*/, createFillInstruction(signer, solanaClient, fillInput, { outputAmount: relayData.outputAmount.toBigInt(), recipient: toAddress(relayData.recipient) }, mintInfo.data.decimals, !recipientAtaEncodedAccount.exists, remainingAccounts)];
602
606
  }
603
607
  });
604
608
  });
@@ -949,22 +953,54 @@ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData
949
953
  });
950
954
  });
951
955
  }
956
+ export function getIPForFillRelayTxs(spokePool, relayData, repaymentChainId, repaymentAddress, signer, provider) {
957
+ return __awaiter(this, void 0, void 0, function () {
958
+ var ixs, txns;
959
+ var _this = this;
960
+ return __generator(this, function (_a) {
961
+ switch (_a.label) {
962
+ case 0: return [4 /*yield*/, getFillRelayViaInstructionParamsInstructions(toAddress(spokePool), relayData, repaymentChainId, repaymentAddress, signer, provider)];
963
+ case 1:
964
+ ixs = _a.sent();
965
+ return [4 /*yield*/, mapAsync(ixs, function (ix) { return __awaiter(_this, void 0, void 0, function () {
966
+ var _a;
967
+ return __generator(this, function (_b) {
968
+ switch (_b.label) {
969
+ case 0:
970
+ _a = pipe;
971
+ return [4 /*yield*/, createDefaultTransaction(provider, signer)];
972
+ case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent(), function (tx) { return appendTransactionMessageInstruction(ix, tx); }])];
973
+ }
974
+ });
975
+ }); })];
976
+ case 2:
977
+ txns = _a.sent();
978
+ return [2 /*return*/, txns];
979
+ }
980
+ });
981
+ });
982
+ }
952
983
  /**
953
984
  * Returns a set of instructions to execute to fill a relay via instruction params.
954
985
  * @param spokePool The program ID of the Solana spoke pool.
955
986
  * @param relayData The relay data to write to the instruction params PDA.
987
+ * @param repaymentChainId: The chain ID to take repayment.
988
+ * @param repaymentAddress: The address to receive repayment on the specified repayment chain.
956
989
  * @param signer The transaction signer and authority of the instruction params PDA.
957
990
  * @param maxWriteSize The maximum fragment size to write to instruction params.
958
991
  */
959
- export function getFillRelayViaInstructionParamsInstructions(spokePool_1, relayData_1, repaymentChainId_1, repaymentAddress_1, signer_1) {
960
- return __awaiter(this, arguments, void 0, function (spokePool, relayData, repaymentChainId, repaymentAddress, signer, maxWriteSize) {
961
- var instructionParams, relayDataEncoder, svmRelayData, encodedRelayData, initInstructionParamsIx, instructions, i, offset, offsetEnd, fragment, writeInstructionParamsIx;
992
+ export function getFillRelayViaInstructionParamsInstructions(spokePool_1, relayData_1, repaymentChainId_1, repaymentAddress_1, signer_1, provider_1) {
993
+ return __awaiter(this, arguments, void 0, function (spokePool, relayData, repaymentChainId, repaymentAddress, signer, provider, maxWriteSize) {
994
+ var instructionParams, encodedInstructionParams, relayDataEncoder, svmRelayData, encodedRelayData, initInstructionParamsIx, instructions, i, offset, offsetEnd, fragment, writeInstructionParamsIx;
962
995
  if (maxWriteSize === void 0) { maxWriteSize = 450; }
963
996
  return __generator(this, function (_a) {
964
997
  switch (_a.label) {
965
998
  case 0: return [4 /*yield*/, getInstructionParamsPda(spokePool, signer.address)];
966
999
  case 1:
967
1000
  instructionParams = _a.sent();
1001
+ return [4 /*yield*/, fetchEncodedAccount(provider, instructionParams)];
1002
+ case 2:
1003
+ encodedInstructionParams = _a.sent();
968
1004
  relayDataEncoder = SvmSpokeClient.getFillRelayParamsEncoder();
969
1005
  svmRelayData = toSvmRelayData(relayData);
970
1006
  encodedRelayData = relayDataEncoder.encode({
@@ -990,7 +1026,8 @@ export function getFillRelayViaInstructionParamsInstructions(spokePool_1, relayD
990
1026
  });
991
1027
  instructions.push(writeInstructionParamsIx);
992
1028
  }
993
- return [2 /*return*/, instructions];
1029
+ return [2 /*return*/, encodedInstructionParams.exists
1030
+ ? __spreadArray([SvmSpokeClient.getCloseInstructionParamsInstruction({ signer: signer, instructionParams: instructionParams })], instructions, true) : instructions];
994
1031
  }
995
1032
  });
996
1033
  });
@@ -1256,6 +1293,41 @@ export function getCCTPDepositAccounts(hubChainId, cctpDestinationDomainId, toke
1256
1293
  });
1257
1294
  });
1258
1295
  }
1296
+ /**
1297
+ * Returns true if the input deposit's corresponding relay data would result in a transaction size
1298
+ * that is larger than the Solana transaction size limit.
1299
+ * @param fillRelayTx The compilable fill relay transaction to check.
1300
+ * @returns Object containing a boolean if the input deposit requires a multipart fill, false otherwise and
1301
+ * the number of bytes in the serialized transaction.
1302
+ */
1303
+ export function isSVMFillTooLarge(fillRelayTx) {
1304
+ var sizeBytes = calculateFillSizeBytes(fillRelayTx);
1305
+ return {
1306
+ tooLarge: sizeBytes > SOLANA_TX_SIZE_LIMIT,
1307
+ sizeBytes: sizeBytes,
1308
+ };
1309
+ }
1310
+ /**
1311
+ * Returns the byte size of a base64 transaction.
1312
+ * @param base64TxString base64 serialized Solana transaction.
1313
+ * @returns The number of bytes in the transaction.
1314
+ */
1315
+ export function base64StrToByteSize(base64TxString) {
1316
+ // base64 string has 6 bits per character, so every 4 symbols represent 3 bytes
1317
+ // However, we also need to account for padding: https://en.wikipedia.org/wiki/Base64#Padding
1318
+ var paddingLen = base64TxString.endsWith("==") ? 2 : base64TxString.endsWith("=") ? 1 : 0;
1319
+ return (base64TxString.length * 3) / 4 - paddingLen;
1320
+ }
1321
+ /**
1322
+ * Returns the size of the fill relay transaction using the input relayData.
1323
+ * @param fillTx The compilable fill relay transaction.
1324
+ * @returns The number of bytes in the serialized fillRelay transaction.
1325
+ */
1326
+ export function calculateFillSizeBytes(fillTx) {
1327
+ var signedTransaction = compileTransaction(fillTx);
1328
+ var serializedTx = getBase64EncodedWireTransaction(signedTransaction);
1329
+ return base64StrToByteSize(serializedTx);
1330
+ }
1259
1331
  /**
1260
1332
  * Returns the account metas for a deposit message.
1261
1333
  * @param message The CCTP message.