@across-protocol/sdk 4.1.63-beta.0 → 4.1.63-beta.2

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 (86) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +3 -3
  2. package/dist/cjs/arch/svm/SpokeUtils.js +37 -41
  3. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/constants.d.ts +1 -0
  5. package/dist/cjs/arch/svm/constants.js +3 -1
  6. package/dist/cjs/arch/svm/constants.js.map +1 -1
  7. package/dist/cjs/arch/svm/eventsClient.d.ts +6 -1
  8. package/dist/cjs/arch/svm/eventsClient.js +64 -0
  9. package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
  10. package/dist/cjs/arch/svm/utils.js +2 -2
  11. package/dist/cjs/arch/svm/utils.js.map +1 -1
  12. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
  13. package/dist/cjs/constants.d.ts +1 -0
  14. package/dist/cjs/constants.js +2 -1
  15. package/dist/cjs/constants.js.map +1 -1
  16. package/dist/cjs/interfaces/SpokePool.d.ts +6 -0
  17. package/dist/cjs/interfaces/SpokePool.js.map +1 -1
  18. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +5 -4
  19. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  20. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +1 -1
  21. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  22. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
  23. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +69 -34
  24. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  25. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
  26. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
  27. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  28. package/dist/cjs/utils/SpokeUtils.js.map +1 -1
  29. package/dist/esm/arch/svm/SpokeUtils.d.ts +3 -3
  30. package/dist/esm/arch/svm/SpokeUtils.js +26 -30
  31. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  32. package/dist/esm/arch/svm/constants.d.ts +1 -0
  33. package/dist/esm/arch/svm/constants.js +1 -0
  34. package/dist/esm/arch/svm/constants.js.map +1 -1
  35. package/dist/esm/arch/svm/eventsClient.d.ts +21 -1
  36. package/dist/esm/arch/svm/eventsClient.js +80 -1
  37. package/dist/esm/arch/svm/eventsClient.js.map +1 -1
  38. package/dist/esm/arch/svm/utils.js +3 -3
  39. package/dist/esm/arch/svm/utils.js.map +1 -1
  40. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
  41. package/dist/esm/constants.d.ts +1 -0
  42. package/dist/esm/constants.js +1 -0
  43. package/dist/esm/constants.js.map +1 -1
  44. package/dist/esm/interfaces/SpokePool.d.ts +6 -0
  45. package/dist/esm/interfaces/SpokePool.js.map +1 -1
  46. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +6 -5
  47. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  48. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +3 -3
  49. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  50. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
  51. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +83 -36
  52. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  53. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  54. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
  55. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  56. package/dist/esm/utils/SpokeUtils.js.map +1 -1
  57. package/dist/types/arch/svm/SpokeUtils.d.ts +3 -3
  58. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  59. package/dist/types/arch/svm/constants.d.ts +1 -0
  60. package/dist/types/arch/svm/constants.d.ts.map +1 -1
  61. package/dist/types/arch/svm/eventsClient.d.ts +21 -1
  62. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
  63. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  64. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
  65. package/dist/types/constants.d.ts +1 -0
  66. package/dist/types/constants.d.ts.map +1 -1
  67. package/dist/types/interfaces/SpokePool.d.ts +6 -0
  68. package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
  69. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  70. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  71. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
  72. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  73. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
  74. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  75. package/package.json +1 -1
  76. package/src/arch/svm/SpokeUtils.ts +43 -43
  77. package/src/arch/svm/constants.ts +1 -0
  78. package/src/arch/svm/eventsClient.ts +114 -1
  79. package/src/arch/svm/utils.ts +4 -4
  80. package/src/constants.ts +1 -0
  81. package/src/interfaces/SpokePool.ts +7 -0
  82. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +6 -6
  83. package/src/relayFeeCalculator/chain-queries/factory.ts +3 -3
  84. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +59 -27
  85. package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
  86. package/src/utils/SpokeUtils.ts +2 -2
@@ -11,12 +11,11 @@ export declare const SortableEventSS: {
11
11
  export declare const BundleDataSS: import("superstruct").Struct<{
12
12
  bundleDepositsV3: Record<string, Record<string, {
13
13
  depositId: BigNumber;
14
- message: string;
14
+ fromLiteChain: boolean;
15
+ toLiteChain: boolean;
15
16
  messageHash: string;
16
17
  destinationChainId: number;
17
18
  quoteTimestamp: number;
18
- fromLiteChain: boolean;
19
- toLiteChain: boolean;
20
19
  originChainId: number;
21
20
  depositor: string;
22
21
  recipient: string;
@@ -24,6 +23,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
24
23
  inputAmount: BigNumber;
25
24
  outputToken: string;
26
25
  outputAmount: BigNumber;
26
+ message: string;
27
27
  fillDeadline: number;
28
28
  exclusiveRelayer: string;
29
29
  exclusivityDeadline: number;
@@ -56,9 +56,9 @@ export declare const BundleDataSS: import("superstruct").Struct<{
56
56
  fillDeadline: number;
57
57
  exclusiveRelayer: string;
58
58
  exclusivityDeadline: number;
59
- repaymentChainId: number;
60
59
  blockNumber: number;
61
60
  logIndex: number;
61
+ repaymentChainId: number;
62
62
  relayer: string;
63
63
  lpFeePct: BigNumber;
64
64
  relayExecutionInfo: {
@@ -80,12 +80,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
80
80
  }>>;
81
81
  bundleSlowFillsV3: Record<string, Record<string, {
82
82
  depositId: BigNumber;
83
- message: string;
83
+ fromLiteChain: boolean;
84
+ toLiteChain: boolean;
84
85
  messageHash: string;
85
86
  destinationChainId: number;
86
87
  quoteTimestamp: number;
87
- fromLiteChain: boolean;
88
- toLiteChain: boolean;
89
88
  originChainId: number;
90
89
  depositor: string;
91
90
  recipient: string;
@@ -93,6 +92,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
93
92
  inputAmount: BigNumber;
94
93
  outputToken: string;
95
94
  outputAmount: BigNumber;
95
+ message: string;
96
96
  fillDeadline: number;
97
97
  exclusiveRelayer: string;
98
98
  exclusivityDeadline: number;
@@ -112,12 +112,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
112
112
  }[]>>;
113
113
  expiredDepositsToRefundV3: Record<string, Record<string, {
114
114
  depositId: BigNumber;
115
- message: string;
115
+ fromLiteChain: boolean;
116
+ toLiteChain: boolean;
116
117
  messageHash: string;
117
118
  destinationChainId: number;
118
119
  quoteTimestamp: number;
119
- fromLiteChain: boolean;
120
- toLiteChain: boolean;
121
120
  originChainId: number;
122
121
  depositor: string;
123
122
  recipient: string;
@@ -125,6 +124,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
125
124
  inputAmount: BigNumber;
126
125
  outputToken: string;
127
126
  outputAmount: BigNumber;
127
+ message: string;
128
128
  fillDeadline: number;
129
129
  exclusiveRelayer: string;
130
130
  exclusivityDeadline: number;
@@ -143,12 +143,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
143
143
  }[]>>;
144
144
  unexecutableSlowFills: Record<string, Record<string, {
145
145
  depositId: BigNumber;
146
- message: string;
146
+ fromLiteChain: boolean;
147
+ toLiteChain: boolean;
147
148
  messageHash: string;
148
149
  destinationChainId: number;
149
150
  quoteTimestamp: number;
150
- fromLiteChain: boolean;
151
- toLiteChain: boolean;
152
151
  originChainId: number;
153
152
  depositor: string;
154
153
  recipient: string;
@@ -156,6 +155,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
156
155
  inputAmount: BigNumber;
157
156
  outputToken: string;
158
157
  outputAmount: BigNumber;
158
+ message: string;
159
159
  fillDeadline: number;
160
160
  exclusiveRelayer: string;
161
161
  exclusivityDeadline: number;
@@ -176,12 +176,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
176
176
  }, {
177
177
  bundleDepositsV3: import("superstruct").Struct<Record<string, Record<string, {
178
178
  depositId: BigNumber;
179
- message: string;
179
+ fromLiteChain: boolean;
180
+ toLiteChain: boolean;
180
181
  messageHash: string;
181
182
  destinationChainId: number;
182
183
  quoteTimestamp: number;
183
- fromLiteChain: boolean;
184
- toLiteChain: boolean;
185
184
  originChainId: number;
186
185
  depositor: string;
187
186
  recipient: string;
@@ -189,6 +188,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
189
188
  inputAmount: BigNumber;
190
189
  outputToken: string;
191
190
  outputAmount: BigNumber;
191
+ message: string;
192
192
  fillDeadline: number;
193
193
  exclusiveRelayer: string;
194
194
  exclusivityDeadline: number;
@@ -207,12 +207,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
207
207
  }[]>>, null>;
208
208
  expiredDepositsToRefundV3: import("superstruct").Struct<Record<string, Record<string, {
209
209
  depositId: BigNumber;
210
- message: string;
210
+ fromLiteChain: boolean;
211
+ toLiteChain: boolean;
211
212
  messageHash: string;
212
213
  destinationChainId: number;
213
214
  quoteTimestamp: number;
214
- fromLiteChain: boolean;
215
- toLiteChain: boolean;
216
215
  originChainId: number;
217
216
  depositor: string;
218
217
  recipient: string;
@@ -220,6 +219,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
220
219
  inputAmount: BigNumber;
221
220
  outputToken: string;
222
221
  outputAmount: BigNumber;
222
+ message: string;
223
223
  fillDeadline: number;
224
224
  exclusiveRelayer: string;
225
225
  exclusivityDeadline: number;
@@ -238,12 +238,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
238
238
  }[]>>, null>;
239
239
  unexecutableSlowFills: import("superstruct").Struct<Record<string, Record<string, {
240
240
  depositId: BigNumber;
241
- message: string;
241
+ fromLiteChain: boolean;
242
+ toLiteChain: boolean;
242
243
  messageHash: string;
243
244
  destinationChainId: number;
244
245
  quoteTimestamp: number;
245
- fromLiteChain: boolean;
246
- toLiteChain: boolean;
247
246
  originChainId: number;
248
247
  depositor: string;
249
248
  recipient: string;
@@ -251,6 +250,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
251
250
  inputAmount: BigNumber;
252
251
  outputToken: string;
253
252
  outputAmount: BigNumber;
253
+ message: string;
254
254
  fillDeadline: number;
255
255
  exclusiveRelayer: string;
256
256
  exclusivityDeadline: number;
@@ -270,12 +270,11 @@ export declare const BundleDataSS: import("superstruct").Struct<{
270
270
  }[]>>, null>;
271
271
  bundleSlowFillsV3: import("superstruct").Struct<Record<string, Record<string, {
272
272
  depositId: BigNumber;
273
- message: string;
273
+ fromLiteChain: boolean;
274
+ toLiteChain: boolean;
274
275
  messageHash: string;
275
276
  destinationChainId: number;
276
277
  quoteTimestamp: number;
277
- fromLiteChain: boolean;
278
- toLiteChain: boolean;
279
278
  originChainId: number;
280
279
  depositor: string;
281
280
  recipient: string;
@@ -283,6 +282,7 @@ export declare const BundleDataSS: import("superstruct").Struct<{
283
282
  inputAmount: BigNumber;
284
283
  outputToken: string;
285
284
  outputAmount: BigNumber;
285
+ message: string;
286
286
  fillDeadline: number;
287
287
  exclusiveRelayer: string;
288
288
  exclusivityDeadline: number;
@@ -316,9 +316,9 @@ export declare const BundleDataSS: import("superstruct").Struct<{
316
316
  fillDeadline: number;
317
317
  exclusiveRelayer: string;
318
318
  exclusivityDeadline: number;
319
- repaymentChainId: number;
320
319
  blockNumber: number;
321
320
  logIndex: number;
321
+ repaymentChainId: number;
322
322
  relayer: string;
323
323
  lpFeePct: BigNumber;
324
324
  relayExecutionInfo: {
@@ -22,6 +22,7 @@ export declare const PROTOCOL_DEFAULT_CHAIN_ID_INDICES: number[];
22
22
  export declare const DEFAULT_CACHING_TTL: number;
23
23
  export declare const DEFAULT_CACHING_SAFE_LAG: number;
24
24
  export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS = "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67";
25
+ export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM = "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
25
26
  export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D";
26
27
  export declare const DEFAULT_ARWEAVE_STORAGE_ADDRESS = "Z6hjBM8FHu90lYWB8o5jR1dfX92FlV2WBaND9xgp8Lg";
27
28
  export declare const EMPTY_MESSAGE = "0x";
@@ -36,6 +36,7 @@ export var PROTOCOL_DEFAULT_CHAIN_ID_INDICES = [1, 10, 137, 288, 42161];
36
36
  export var DEFAULT_CACHING_TTL = 60 * 60 * 24 * 7 * 2; // 2 Weeks
37
37
  export var DEFAULT_CACHING_SAFE_LAG = 60 * 60; // 1 hour
38
38
  export var DEFAULT_SIMULATED_RELAYER_ADDRESS = "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67";
39
+ export var DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM = "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
39
40
  export var DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D"; // Görli, ...
40
41
  export var DEFAULT_ARWEAVE_STORAGE_ADDRESS = "Z6hjBM8FHu90lYWB8o5jR1dfX92FlV2WBaND9xgp8Lg";
41
42
  export var EMPTY_MESSAGE = "0x";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,9 @@ export interface Deposit extends RelayData {
32
32
  export interface DepositWithBlock extends Deposit, SortableEvent {
33
33
  quoteBlockNumber: number;
34
34
  }
35
+ export interface DepositWithTime extends Deposit, SortableEvent {
36
+ depositTimestamp: number;
37
+ }
35
38
  export declare enum FillStatus {
36
39
  Unfilled = 0,
37
40
  RequestedSlowFill = 1,
@@ -58,6 +61,9 @@ export interface Fill extends Omit<RelayData, "message"> {
58
61
  }
59
62
  export interface FillWithBlock extends Fill, SortableEvent {
60
63
  }
64
+ export interface FillWithTime extends Fill, SortableEvent {
65
+ fillTimestamp: number;
66
+ }
61
67
  export interface EnabledDepositRoute {
62
68
  originToken: string;
63
69
  destinationChainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"AAuCA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB"}
1
+ {"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"AA2CA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB"}
@@ -2,11 +2,12 @@ import { __assign, __awaiter, __generator } from "tslib";
2
2
  import { isL2Provider as isOptimismL2Provider } from "@eth-optimism/sdk/dist/l2-provider";
3
3
  import { VoidSigner } from "ethers";
4
4
  import { Coingecko } from "../../coingecko";
5
- import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
5
+ import { CHAIN_IDs } from "../../constants";
6
6
  import { SpokePool__factory } from "../../typechain";
7
7
  import { populateV3Relay } from "../../arch/evm";
8
8
  import { BigNumber, toBNWei, bnZero, chainIsOPStack, fixedPointAdjustment, } from "../../utils";
9
9
  import assert from "assert";
10
+ import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
10
11
  import { getGasPriceEstimate } from "../../gasPriceOracle";
11
12
  /**
12
13
  * A unified QueryBase for querying gas costs, token prices, and decimals of various tokens
@@ -47,7 +48,7 @@ var QueryBase = /** @class */ (function () {
47
48
  * @returns The gas estimate for this function call (multiplied with the optional buffer).
48
49
  */
49
50
  QueryBase.prototype.getGasCosts = function (deposit, relayer, options) {
50
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
51
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
51
52
  if (options === void 0) { options = {}; }
52
53
  return __awaiter(this, void 0, void 0, function () {
53
54
  var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
@@ -85,7 +86,7 @@ var QueryBase = /** @class */ (function () {
85
86
  * @returns PopulatedTransaction
86
87
  */
87
88
  QueryBase.prototype.getUnsignedTxFromDeposit = function (deposit, relayer) {
88
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
89
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
89
90
  return populateV3Relay(this.spokePool, deposit, relayer);
90
91
  };
91
92
  /**
@@ -95,7 +96,7 @@ var QueryBase = /** @class */ (function () {
95
96
  * @returns Estimated gas cost based on ethers.VoidSigner's gas estimation
96
97
  */
97
98
  QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
98
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
99
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
99
100
  return __awaiter(this, void 0, void 0, function () {
100
101
  var unsignedTx, voidSigner;
101
102
  return __generator(this, function (_a) {
@@ -118,7 +119,7 @@ var QueryBase = /** @class */ (function () {
118
119
  * @returns BigNumber L1 data fee in gas units
119
120
  */
120
121
  QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
121
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
122
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(unsignedTx.chainId); }
122
123
  return __awaiter(this, void 0, void 0, function () {
123
124
  var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
124
125
  return __generator(this, function (_c) {
@@ -1 +1 @@
1
- {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ import assert from "assert";
3
3
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "@across-protocol/constants";
4
4
  import { getDeployedAddress } from "@across-protocol/contracts";
5
5
  import { asL2Provider } from "@eth-optimism/sdk";
6
- import { DEFAULT_SIMULATED_RELAYER_ADDRESS, CUSTOM_GAS_TOKENS } from "../../constants";
6
+ import { CUSTOM_GAS_TOKENS } from "../../constants";
7
7
  import { chainIsOPStack, isDefined, chainIsSvm, SvmAddress } from "../../utils";
8
8
  import { QueryBase } from "./baseQuery";
9
- import { DEFAULT_LOGGER } from "../relayFeeCalculator";
9
+ import { DEFAULT_LOGGER, getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
10
10
  import { CustomGasTokenQueries } from "./customGasToken";
11
11
  import { SvmQuery } from "./svmQuery";
12
12
  /**
@@ -22,7 +22,7 @@ var QueryBase__factory = /** @class */ (function () {
22
22
  QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, coingeckoProApiKey, logger, coingeckoBaseCurrency) {
23
23
  if (symbolMapping === void 0) { symbolMapping = TOKEN_SYMBOLS_MAP; }
24
24
  if (spokePoolAddress === void 0) { spokePoolAddress = getDeployedAddress("SpokePool", chainId); }
25
- if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
25
+ if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = getDefaultSimulatedRelayerAddress(chainId); }
26
26
  if (logger === void 0) { logger = DEFAULT_LOGGER; }
27
27
  if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
28
28
  assert(isDefined(spokePoolAddress));
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAA2D,EAC3D,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,2DAA2D;QAE3D,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,QAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA1DD,IA0DC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,iCAAiC,EAAU,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAAoE,EACpE,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,0BAA0B,iCAAiC,CAAC,OAAO,CAAC;QAEpE,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,QAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA1DD,IA0DC"}
@@ -3,6 +3,7 @@ import { Deposit } from "../../interfaces";
3
3
  import { BigNumberish, TransactionCostEstimate, BigNumber, SvmAddress } from "../../utils";
4
4
  import { Logger, QueryInterface } from "../relayFeeCalculator";
5
5
  import { SVMProvider } from "../../arch/svm";
6
+ import { IInstruction } from "@solana/kit";
6
7
  /**
7
8
  * A special QueryBase implementation for SVM used for querying gas costs, token prices, and decimals of various tokens
8
9
  * on Solana.
@@ -51,6 +52,23 @@ export declare class SvmQuery implements QueryInterface {
51
52
  baseFeeMultiplier: BigNumber;
52
53
  priorityFeeMultiplier: BigNumber;
53
54
  }>): Promise<TransactionCostEstimate>;
55
+ /**
56
+ * @notice Return the gas cost of a simulated transaction
57
+ * @param fillRelayTx FillRelay transaction
58
+ * @param relayer SVM address of the relayer
59
+ * @returns Estimated gas cost in compute units
60
+ */
61
+ getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<BigNumber>;
62
+ /**
63
+ * @notice Return the fillRelay transaction for a given deposit
64
+ * @param deposit
65
+ * @param relayer SVM address of the relayer
66
+ * @returns FillRelay transaction
67
+ */
68
+ getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayer<string> & Omit<Readonly<{
69
+ instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
70
+ version: 0;
71
+ }>, "feePayer">>;
54
72
  /**
55
73
  * Retrieves the current price of a token
56
74
  * @param tokenSymbol A valid [CoinGecko-ID](https://api.coingecko.com/api/v3/coins/list)
@@ -1,9 +1,10 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
2
  import { pipe } from "@solana/functional";
3
3
  import { Coingecko } from "../../coingecko";
4
- import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
4
+ import { CHAIN_IDs } from "../../constants";
5
5
  import { getGasPriceEstimate } from "../../gasPriceOracle";
6
6
  import { toBN, isDefined, toAddressType, } from "../../utils";
7
+ import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
7
8
  import { fillRelayInstruction, createApproveInstruction, createTokenAccountsInstruction, SolanaVoidSigner, getAssociatedTokenAddress, } from "../../arch/svm";
8
9
  import { createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, getComputeUnitEstimateForTransactionMessageFactory, fetchEncodedAccount, } from "@solana/kit";
9
10
  import { TOKEN_PROGRAM_ADDRESS, getMintSize, getInitializeMintInstruction, fetchMint } from "@solana-program/token";
@@ -49,34 +50,100 @@ var SvmQuery = /** @class */ (function () {
49
50
  * @returns The gas estimate for this function call (multiplied with the optional buffer).
50
51
  */
51
52
  SvmQuery.prototype.getGasCosts = function (deposit, _relayer, options) {
52
- if (_relayer === void 0) { _relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
53
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
53
54
  if (options === void 0) { options = {}; }
54
55
  return __awaiter(this, void 0, void 0, function () {
55
- var mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx, _e, computeUnitsConsumed, _gasPriceEstimate, _f, _g, _h, gasPriceEstimate, gasPrice;
56
- var _this = this;
57
- return __generator(this, function (_j) {
58
- switch (_j.label) {
56
+ var relayer, fillRelayTx, _a, computeUnitsConsumed, _gasPriceEstimate, _b, _c, _d, gasPriceEstimate, gasPrice;
57
+ return __generator(this, function (_e) {
58
+ switch (_e.label) {
59
59
  case 0:
60
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
61
+ return [4 /*yield*/, this.getFillRelayTx(deposit, relayer.toBase58())];
62
+ case 1:
63
+ fillRelayTx = _e.sent();
64
+ _c = (_b = Promise).all;
65
+ _d = toBN;
66
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
67
+ case 2: return [4 /*yield*/, _c.apply(_b, [[
68
+ _d.apply(void 0, [_e.sent()]),
69
+ getGasPriceEstimate(this.provider, {
70
+ unsignedTx: fillRelayTx,
71
+ baseFeeMultiplier: options.baseFeeMultiplier,
72
+ priorityFeeMultiplier: options.priorityFeeMultiplier,
73
+ })
74
+ ]])];
75
+ case 3:
76
+ _a = _e.sent(), computeUnitsConsumed = _a[0], _gasPriceEstimate = _a[1];
77
+ gasPriceEstimate = _gasPriceEstimate;
78
+ gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
79
+ );
80
+ return [2 /*return*/, {
81
+ nativeGasCost: computeUnitsConsumed,
82
+ tokenGasCost: gasPrice,
83
+ gasPrice: gasPrice,
84
+ }];
85
+ }
86
+ });
87
+ });
88
+ };
89
+ /**
90
+ * @notice Return the gas cost of a simulated transaction
91
+ * @param fillRelayTx FillRelay transaction
92
+ * @param relayer SVM address of the relayer
93
+ * @returns Estimated gas cost in compute units
94
+ */
95
+ SvmQuery.prototype.getNativeGasCost = function (deposit, _relayer) {
96
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var fillRelayTx, computeUnitsConsumed, _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0: return [4 /*yield*/, this.getFillRelayTx(deposit, _relayer)];
102
+ case 1:
103
+ fillRelayTx = _b.sent();
104
+ _a = toBN;
105
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
106
+ case 2:
107
+ computeUnitsConsumed = _a.apply(void 0, [_b.sent()]);
108
+ return [2 /*return*/, computeUnitsConsumed];
109
+ }
110
+ });
111
+ });
112
+ };
113
+ /**
114
+ * @notice Return the fillRelay transaction for a given deposit
115
+ * @param deposit
116
+ * @param relayer SVM address of the relayer
117
+ * @returns FillRelay transaction
118
+ */
119
+ SvmQuery.prototype.getFillRelayTx = function (deposit, _relayer) {
120
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var relayer, mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx;
123
+ return __generator(this, function (_e) {
124
+ switch (_e.label) {
125
+ case 0:
126
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
60
127
  mint = toAddressType(deposit.outputToken).forceSvmAddress();
61
128
  owner = toAddressType(deposit.recipient).forceSvmAddress();
62
129
  return [4 /*yield*/, getAssociatedTokenAddress(owner, mint)];
63
130
  case 1:
64
- associatedToken = _j.sent();
65
- simulatedSigner = SolanaVoidSigner(this.simulatedRelayerAddress.toBase58());
131
+ associatedToken = _e.sent();
132
+ simulatedSigner = SolanaVoidSigner(relayer.toBase58());
66
133
  recipientCreateTokenAccountInstructions = undefined;
67
134
  _c = (_b = Promise).all;
68
135
  return [4 /*yield*/, fetchEncodedAccount(this.provider, associatedToken)];
69
136
  case 2: return [4 /*yield*/, _c.apply(_b, [[
70
- (_j.sent()).exists,
137
+ (_e.sent()).exists,
71
138
  fetchMint(this.provider, mint.toV2Address())
72
139
  ]])];
73
140
  case 3:
74
- _a = _j.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
141
+ _a = _e.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
75
142
  if (!!associatedTokenAccountExists) return [3 /*break*/, 5];
76
143
  space = BigInt(getMintSize());
77
144
  return [4 /*yield*/, this.provider.getMinimumBalanceForRentExemption(space).send()];
78
145
  case 4:
79
- rent = _j.sent();
146
+ rent = _e.sent();
80
147
  createAccountIx = getCreateAccountInstruction({
81
148
  payer: simulatedSigner,
82
149
  newAccount: SolanaVoidSigner(mint.toBase58()),
@@ -90,43 +157,23 @@ var SvmQuery = /** @class */ (function () {
90
157
  mintAuthority: owner.toV2Address(),
91
158
  });
92
159
  recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
93
- _j.label = 5;
160
+ _e.label = 5;
94
161
  case 5: return [4 /*yield*/, Promise.all([
95
162
  createTokenAccountsInstruction(mint, simulatedSigner),
96
163
  createApproveInstruction(mint, deposit.outputAmount, this.simulatedRelayerAddress, this.spokePoolAddress, mintInfo.data.decimals),
97
164
  fillRelayInstruction(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
98
165
  ])];
99
166
  case 6:
100
- _d = _j.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
167
+ _d = _e.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
101
168
  return [4 /*yield*/, this.provider.getLatestBlockhash().send()];
102
169
  case 7:
103
- recentBlockhash = _j.sent();
104
- fillRelayTx = pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayer(_this.simulatedRelayerAddress.toV2Address(), tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx); }, function (tx) {
170
+ recentBlockhash = _e.sent();
171
+ fillRelayTx = pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayer(relayer.toV2Address(), tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx); }, function (tx) {
105
172
  return isDefined(recipientCreateTokenAccountInstructions)
106
173
  ? appendTransactionMessageInstructions(recipientCreateTokenAccountInstructions, tx)
107
174
  : tx;
108
175
  }, function (tx) { return appendTransactionMessageInstructions([createTokenAccountsIx, approveIx, fillIx], tx); });
109
- _g = (_f = Promise).all;
110
- _h = toBN;
111
- return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
112
- case 8: return [4 /*yield*/, _g.apply(_f, [[
113
- _h.apply(void 0, [_j.sent()]),
114
- getGasPriceEstimate(this.provider, {
115
- unsignedTx: fillRelayTx,
116
- baseFeeMultiplier: options.baseFeeMultiplier,
117
- priorityFeeMultiplier: options.priorityFeeMultiplier,
118
- })
119
- ]])];
120
- case 9:
121
- _e = _j.sent(), computeUnitsConsumed = _e[0], _gasPriceEstimate = _e[1];
122
- gasPriceEstimate = _gasPriceEstimate;
123
- gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
124
- );
125
- return [2 /*return*/, {
126
- nativeGasCost: computeUnitsConsumed,
127
- tokenGasCost: gasPrice,
128
- gasPrice: gasPrice,
129
- }];
176
+ return [2 /*return*/, fillRelayTx];
130
177
  }
131
178
  });
132
179
  });
@@ -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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"}
@@ -11,6 +11,7 @@ export interface QueryInterface {
11
11
  transport: Transport;
12
12
  }>) => Promise<TransactionCostEstimate>;
13
13
  getTokenPrice: (tokenSymbol: string) => Promise<number>;
14
+ getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer: string) => Promise<BigNumber>;
14
15
  }
15
16
  export declare const expectedCapitalCostsKeys: string[];
16
17
  export interface CapitalCostConfig {
@@ -73,6 +74,7 @@ export interface Logger {
73
74
  error: LoggingFunction;
74
75
  }
75
76
  export declare const DEFAULT_LOGGER: Logger;
77
+ export declare function getDefaultSimulatedRelayerAddress(chainId?: number): "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67" | "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
76
78
  export declare class RelayFeeCalculator {
77
79
  private queries;
78
80
  private gasDiscountPercent;
@@ -421,7 +423,16 @@ export declare class RelayFeeCalculator {
421
423
  WAZERO: {
422
424
  name: string;
423
425
  symbol: string;
424
- decimals: number;
426
+ decimals: number; /**
427
+ * Type guard to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
428
+ * @param config CapitalCostConfig or CapitalCostConfigOverride
429
+ * @returns true if the config is a CapitalCostConfigOverride, false otherwise.
430
+ * @private
431
+ * @dev This is a type guard that is used to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
432
+ * This is needed because the config can be either a CapitalCostConfig or a CapitalCostConfigOverride. If it's a
433
+ * CapitalCostConfig, then we need to convert it to a CapitalCostConfigOverride with the default config set with no route
434
+ * overrides.
435
+ */
425
436
  addresses: {
426
437
  [x: number]: string;
427
438
  };