@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.
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +3 -3
- package/dist/cjs/arch/svm/SpokeUtils.js +37 -41
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/constants.d.ts +1 -0
- package/dist/cjs/arch/svm/constants.js +3 -1
- package/dist/cjs/arch/svm/constants.js.map +1 -1
- package/dist/cjs/arch/svm/eventsClient.d.ts +6 -1
- package/dist/cjs/arch/svm/eventsClient.js +64 -0
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
- package/dist/cjs/arch/svm/utils.js +2 -2
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +6 -0
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +5 -4
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +69 -34
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +3 -3
- package/dist/esm/arch/svm/SpokeUtils.js +26 -30
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/constants.d.ts +1 -0
- package/dist/esm/arch/svm/constants.js +1 -0
- package/dist/esm/arch/svm/constants.js.map +1 -1
- package/dist/esm/arch/svm/eventsClient.d.ts +21 -1
- package/dist/esm/arch/svm/eventsClient.js +80 -1
- package/dist/esm/arch/svm/eventsClient.js.map +1 -1
- package/dist/esm/arch/svm/utils.js +3 -3
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +6 -0
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +6 -5
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +3 -3
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +83 -36
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +3 -3
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/constants.d.ts +1 -0
- package/dist/types/arch/svm/constants.d.ts.map +1 -1
- package/dist/types/arch/svm/eventsClient.d.ts +21 -1
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +26 -26
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +6 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/svm/SpokeUtils.ts +43 -43
- package/src/arch/svm/constants.ts +1 -0
- package/src/arch/svm/eventsClient.ts +114 -1
- package/src/arch/svm/utils.ts +4 -4
- package/src/constants.ts +1 -0
- package/src/interfaces/SpokePool.ts +7 -0
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +6 -6
- package/src/relayFeeCalculator/chain-queries/factory.ts +3 -3
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +59 -27
- package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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: {
|
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare const PROTOCOL_DEFAULT_CHAIN_ID_INDICES: number[];
|
|
|
11
11
|
export declare const DEFAULT_CACHING_TTL: number;
|
|
12
12
|
export declare const DEFAULT_CACHING_SAFE_LAG: number;
|
|
13
13
|
export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS = "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67";
|
|
14
|
+
export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM = "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
|
|
14
15
|
export declare const DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D";
|
|
15
16
|
export declare const DEFAULT_ARWEAVE_STORAGE_ADDRESS = "Z6hjBM8FHu90lYWB8o5jR1dfX92FlV2WBaND9xgp8Lg";
|
|
16
17
|
export declare const EMPTY_MESSAGE = "0x";
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.CUSTOM_GAS_TOKENS = exports.STABLE_COIN_SYMBOLS = exports.BRIDGED_USDC_SYMBOLS = exports.UNDEFINED_MESSAGE_HASH = exports.EMPTY_MESSAGE = exports.DEFAULT_ARWEAVE_STORAGE_ADDRESS = exports.DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = exports.DEFAULT_SIMULATED_RELAYER_ADDRESS = exports.DEFAULT_CACHING_SAFE_LAG = exports.DEFAULT_CACHING_TTL = exports.PROTOCOL_DEFAULT_CHAIN_ID_INDICES = exports.ARWEAVE_TAG_APP_VERSION = exports.ARWEAVE_TAG_APP_NAME = exports.TRANSFER_THRESHOLD_MAX_CONFIG_STORE_VERSION = exports.HUBPOOL_CHAIN_ID = exports.SECONDS_PER_YEAR = exports.MAX_SAFE_DEPOSIT_ID = exports.MAX_SAFE_ALLOWANCE = exports.ZERO_BYTES = exports.ZERO_ADDRESS = exports.TOKEN_EQUIVALENCE_REMAPPING = exports.TOKEN_SYMBOLS_MAP = exports.TESTNET_CHAIN_IDs = exports.PUBLIC_NETWORKS = exports.MAINNET_CHAIN_IDs = exports.CHAIN_IDs = exports.ChainFamily = void 0;
|
|
4
|
+
exports.CUSTOM_GAS_TOKENS = exports.STABLE_COIN_SYMBOLS = exports.BRIDGED_USDC_SYMBOLS = exports.UNDEFINED_MESSAGE_HASH = exports.EMPTY_MESSAGE = exports.DEFAULT_ARWEAVE_STORAGE_ADDRESS = exports.DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = exports.DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM = exports.DEFAULT_SIMULATED_RELAYER_ADDRESS = exports.DEFAULT_CACHING_SAFE_LAG = exports.DEFAULT_CACHING_TTL = exports.PROTOCOL_DEFAULT_CHAIN_ID_INDICES = exports.ARWEAVE_TAG_APP_VERSION = exports.ARWEAVE_TAG_APP_NAME = exports.TRANSFER_THRESHOLD_MAX_CONFIG_STORE_VERSION = exports.HUBPOOL_CHAIN_ID = exports.SECONDS_PER_YEAR = exports.MAX_SAFE_DEPOSIT_ID = exports.MAX_SAFE_ALLOWANCE = exports.ZERO_BYTES = exports.ZERO_ADDRESS = exports.TOKEN_EQUIVALENCE_REMAPPING = exports.TOKEN_SYMBOLS_MAP = exports.TESTNET_CHAIN_IDs = exports.PUBLIC_NETWORKS = exports.MAINNET_CHAIN_IDs = exports.CHAIN_IDs = exports.ChainFamily = void 0;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var ethers_1 = require("ethers");
|
|
7
7
|
var constants_1 = require("@across-protocol/constants");
|
|
@@ -25,6 +25,7 @@ exports.PROTOCOL_DEFAULT_CHAIN_ID_INDICES = [1, 10, 137, 288, 42161];
|
|
|
25
25
|
exports.DEFAULT_CACHING_TTL = 60 * 60 * 24 * 7 * 2;
|
|
26
26
|
exports.DEFAULT_CACHING_SAFE_LAG = 60 * 60;
|
|
27
27
|
exports.DEFAULT_SIMULATED_RELAYER_ADDRESS = "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67";
|
|
28
|
+
exports.DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM = "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
|
|
28
29
|
exports.DEFAULT_SIMULATED_RELAYER_ADDRESS_TEST = "0x9A8f92a830A5cB89a3816e3D267CB7791c16b04D";
|
|
29
30
|
exports.DEFAULT_ARWEAVE_STORAGE_ADDRESS = "Z6hjBM8FHu90lYWB8o5jR1dfX92FlV2WBaND9xgp8Lg";
|
|
30
31
|
exports.EMPTY_MESSAGE = "0x";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsD;AACtD,wDAA0E;AAE1E,wDAQoC;AAPlC,wGAAA,WAAW,OAAA;AACX,sGAAA,SAAS,OAAA;AACT,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,wHAAA,2BAA2B,OAAA;AAGD,QAAA,YAAY,GAA2B,kBAAe,cAA9B,QAAA,UAAU,GAAK,kBAAe,UAAC;AAGtE,QAAA,kBAAkB,GAAG,+BAA+B,CAAC;AAIrD,QAAA,mBAAmB,GAAG,YAAY,CAAC;AAEnC,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAK5B,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAGrB,QAAA,2CAA2C,GAAG,CAAC,CAAC;AAGhD,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAOzC,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAU5B,QAAA,iCAAiC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAE7D,QAAA,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3C,QAAA,wBAAwB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,QAAA,iCAAiC,GAAG,4CAA4C,CAAC;AACjF,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AAEtF,QAAA,+BAA+B,GAAG,6CAA6C,CAAC;AAEhF,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,oBAAoB,GAAG;IAClC,6BAAiB,CAAC,QAAQ,CAAC,CAAC,MAAM;IAClC,6BAAiB,CAAC,KAAK,CAAC,MAAM;IAC9B,6BAAiB,CAAC,KAAK,CAAC,MAAM;IAC9B,6BAAiB,CAAC,UAAU,CAAC,CAAC,MAAM;CACrC,CAAC;AAEW,QAAA,mBAAmB,mDAC3B,4BAAoB;IACvB,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,UAAU,CAAC,CAAC,MAAM;IACpC,6BAAiB,CAAC,GAAG,CAAC,MAAM;IAC5B,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,GAAG,CAAC,MAAM;IAC5B,6BAAiB,CAAC,IAAI,CAAC,MAAM;UAC7B;AAEW,QAAA,iBAAiB;IAC5B,GAAC,qBAAS,CAAC,GAAG,IAAG,KAAK;IACtB,GAAC,qBAAS,CAAC,OAAO,IAAG,OAAO;IAC5B,GAAC,qBAAS,CAAC,YAAY,IAAG,OAAO;IACjC,GAAC,qBAAS,CAAC,UAAU,IAAG,OAAO;IAC/B,GAAC,qBAAS,CAAC,IAAI,IAAG,KAAK;IACvB,GAAC,qBAAS,CAAC,YAAY,IAAG,KAAK;QAC/B"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsD;AACtD,wDAA0E;AAE1E,wDAQoC;AAPlC,wGAAA,WAAW,OAAA;AACX,sGAAA,SAAS,OAAA;AACT,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,wHAAA,2BAA2B,OAAA;AAGD,QAAA,YAAY,GAA2B,kBAAe,cAA9B,QAAA,UAAU,GAAK,kBAAe,UAAC;AAGtE,QAAA,kBAAkB,GAAG,+BAA+B,CAAC;AAIrD,QAAA,mBAAmB,GAAG,YAAY,CAAC;AAEnC,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAK5B,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAGrB,QAAA,2CAA2C,GAAG,CAAC,CAAC;AAGhD,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAOzC,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAU5B,QAAA,iCAAiC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAE7D,QAAA,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3C,QAAA,wBAAwB,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,QAAA,iCAAiC,GAAG,4CAA4C,CAAC;AACjF,QAAA,qCAAqC,GAAG,8CAA8C,CAAC;AACvF,QAAA,sCAAsC,GAAG,4CAA4C,CAAC;AAEtF,QAAA,+BAA+B,GAAG,6CAA6C,CAAC;AAEhF,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,oBAAoB,GAAG;IAClC,6BAAiB,CAAC,QAAQ,CAAC,CAAC,MAAM;IAClC,6BAAiB,CAAC,KAAK,CAAC,MAAM;IAC9B,6BAAiB,CAAC,KAAK,CAAC,MAAM;IAC9B,6BAAiB,CAAC,UAAU,CAAC,CAAC,MAAM;CACrC,CAAC;AAEW,QAAA,mBAAmB,mDAC3B,4BAAoB;IACvB,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,IAAI,CAAC,MAAM;IAC7B,6BAAiB,CAAC,UAAU,CAAC,CAAC,MAAM;IACpC,6BAAiB,CAAC,GAAG,CAAC,MAAM;IAC5B,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,aAAa,CAAC,CAAC,MAAM;IACvC,6BAAiB,CAAC,GAAG,CAAC,MAAM;IAC5B,6BAAiB,CAAC,IAAI,CAAC,MAAM;UAC7B;AAEW,QAAA,iBAAiB;IAC5B,GAAC,qBAAS,CAAC,GAAG,IAAG,KAAK;IACtB,GAAC,qBAAS,CAAC,OAAO,IAAG,OAAO;IAC5B,GAAC,qBAAS,CAAC,YAAY,IAAG,OAAO;IACjC,GAAC,qBAAS,CAAC,UAAU,IAAG,OAAO;IAC/B,GAAC,qBAAS,CAAC,IAAI,IAAG,KAAK;IACvB,GAAC,qBAAS,CAAC,YAAY,IAAG,KAAK;QAC/B"}
|
|
@@ -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":";;;
|
|
1
|
+
{"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":";;;AA2CA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
|
|
@@ -10,6 +10,7 @@ var typechain_1 = require("../../typechain");
|
|
|
10
10
|
var evm_1 = require("../../arch/evm");
|
|
11
11
|
var utils_1 = require("../../utils");
|
|
12
12
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
13
|
+
var relayFeeCalculator_1 = require("../relayFeeCalculator");
|
|
13
14
|
var gasPriceOracle_1 = require("../../gasPriceOracle");
|
|
14
15
|
var QueryBase = (function () {
|
|
15
16
|
function QueryBase(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
|
|
@@ -25,7 +26,7 @@ var QueryBase = (function () {
|
|
|
25
26
|
this.spokePool = typechain_1.SpokePool__factory.connect(spokePoolAddress, provider);
|
|
26
27
|
}
|
|
27
28
|
QueryBase.prototype.getGasCosts = function (deposit, relayer, options) {
|
|
28
|
-
if (relayer === void 0) { relayer =
|
|
29
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
29
30
|
if (options === void 0) { options = {}; }
|
|
30
31
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
31
32
|
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
@@ -57,11 +58,11 @@ var QueryBase = (function () {
|
|
|
57
58
|
});
|
|
58
59
|
};
|
|
59
60
|
QueryBase.prototype.getUnsignedTxFromDeposit = function (deposit, relayer) {
|
|
60
|
-
if (relayer === void 0) { relayer =
|
|
61
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
61
62
|
return (0, evm_1.populateV3Relay)(this.spokePool, deposit, relayer);
|
|
62
63
|
};
|
|
63
64
|
QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
|
|
64
|
-
if (relayer === void 0) { relayer =
|
|
65
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
65
66
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
66
67
|
var unsignedTx, voidSigner;
|
|
67
68
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -76,7 +77,7 @@ var QueryBase = (function () {
|
|
|
76
77
|
});
|
|
77
78
|
};
|
|
78
79
|
QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
|
|
79
|
-
if (relayer === void 0) { relayer =
|
|
80
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(unsignedTx.chainId); }
|
|
80
81
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
81
82
|
var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
|
|
82
83
|
return tslib_1.__generator(this, function (_c) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";;;;AACA,kEAA0F;AAE1F,iCAAqE;AACrE,6CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ var QueryBase__factory = (function () {
|
|
|
22
22
|
QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, coingeckoProApiKey, logger, coingeckoBaseCurrency) {
|
|
23
23
|
if (symbolMapping === void 0) { symbolMapping = constants_1.TOKEN_SYMBOLS_MAP; }
|
|
24
24
|
if (spokePoolAddress === void 0) { spokePoolAddress = (0, contracts_1.getDeployedAddress)("SpokePool", chainId); }
|
|
25
|
-
if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress =
|
|
25
|
+
if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(chainId); }
|
|
26
26
|
if (logger === void 0) { logger = relayFeeCalculator_1.DEFAULT_LOGGER; }
|
|
27
27
|
if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
|
|
28
28
|
(0, assert_1.default)((0, utils_1.isDefined)(spokePoolAddress));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAC5B,wDAA0E;AAC1E,wDAAgE;AAChE,yCAAiD;AAEjD,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAC5B,wDAA0E;AAC1E,wDAAgE;AAChE,yCAAiD;AAEjD,6CAAoD;AACpD,qCAAgF;AAChF,yCAAwC;AAExC,4DAAkG;AAClG,mDAAyD;AACzD,uCAAsC;AAMtC,IAAM,aAAa;IACjB,GAAC,qBAAS,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,gBAAgB,6BAAiB;QACjC,iCAAA,EAAA,uBAAmB,8BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,8BAA0B,sDAAiC,EAAC,OAAO,CAAC;QAEpE,uBAAA,EAAA,SAAiB,mCAAc;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,IAAA,gBAAM,EAAC,IAAA,iBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,6BAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,sCAAqB,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,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,mBAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,kBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,kBAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAGD,QAAQ,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAA,kBAAY,EAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,qBAAS,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;AA1DY,gDAAkB"}
|
|
@@ -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
|
export declare class SvmQuery implements QueryInterface {
|
|
7
8
|
readonly provider: SVMProvider;
|
|
8
9
|
readonly symbolMapping: SymbolMappingType;
|
|
@@ -26,6 +27,11 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
26
27
|
baseFeeMultiplier: BigNumber;
|
|
27
28
|
priorityFeeMultiplier: BigNumber;
|
|
28
29
|
}>): Promise<TransactionCostEstimate>;
|
|
30
|
+
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<BigNumber>;
|
|
31
|
+
getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayer<string> & Omit<Readonly<{
|
|
32
|
+
instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
33
|
+
version: 0;
|
|
34
|
+
}>, "feePayer">>;
|
|
29
35
|
getTokenPrice(tokenSymbol: string): Promise<number>;
|
|
30
36
|
getTokenDecimals(tokenSymbol: string): number;
|
|
31
37
|
}
|
|
@@ -7,6 +7,7 @@ var coingecko_1 = require("../../coingecko");
|
|
|
7
7
|
var constants_1 = require("../../constants");
|
|
8
8
|
var gasPriceOracle_1 = require("../../gasPriceOracle");
|
|
9
9
|
var utils_1 = require("../../utils");
|
|
10
|
+
var relayFeeCalculator_1 = require("../relayFeeCalculator");
|
|
10
11
|
var svm_1 = require("../../arch/svm");
|
|
11
12
|
var kit_1 = require("@solana/kit");
|
|
12
13
|
var token_1 = require("@solana-program/token");
|
|
@@ -27,34 +28,87 @@ var SvmQuery = (function () {
|
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
30
|
SvmQuery.prototype.getGasCosts = function (deposit, _relayer, options) {
|
|
30
|
-
if (_relayer === void 0) { _relayer =
|
|
31
|
+
if (_relayer === void 0) { _relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
31
32
|
if (options === void 0) { options = {}; }
|
|
32
33
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
switch (_j.label) {
|
|
34
|
+
var relayer, fillRelayTx, _a, computeUnitsConsumed, _gasPriceEstimate, _b, _c, _d, gasPriceEstimate, gasPrice;
|
|
35
|
+
return tslib_1.__generator(this, function (_e) {
|
|
36
|
+
switch (_e.label) {
|
|
37
37
|
case 0:
|
|
38
|
+
relayer = _relayer ? (0, utils_1.toAddressType)(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
|
|
39
|
+
return [4, this.getFillRelayTx(deposit, relayer.toBase58())];
|
|
40
|
+
case 1:
|
|
41
|
+
fillRelayTx = _e.sent();
|
|
42
|
+
_c = (_b = Promise).all;
|
|
43
|
+
_d = utils_1.toBN;
|
|
44
|
+
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
45
|
+
case 2: return [4, _c.apply(_b, [[
|
|
46
|
+
_d.apply(void 0, [_e.sent()]),
|
|
47
|
+
(0, gasPriceOracle_1.getGasPriceEstimate)(this.provider, {
|
|
48
|
+
unsignedTx: fillRelayTx,
|
|
49
|
+
baseFeeMultiplier: options.baseFeeMultiplier,
|
|
50
|
+
priorityFeeMultiplier: options.priorityFeeMultiplier,
|
|
51
|
+
})
|
|
52
|
+
]])];
|
|
53
|
+
case 3:
|
|
54
|
+
_a = _e.sent(), computeUnitsConsumed = _a[0], _gasPriceEstimate = _a[1];
|
|
55
|
+
gasPriceEstimate = _gasPriceEstimate;
|
|
56
|
+
gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div((0, utils_1.toBN)(1000000)));
|
|
57
|
+
return [2, {
|
|
58
|
+
nativeGasCost: computeUnitsConsumed,
|
|
59
|
+
tokenGasCost: gasPrice,
|
|
60
|
+
gasPrice: gasPrice,
|
|
61
|
+
}];
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
SvmQuery.prototype.getNativeGasCost = function (deposit, _relayer) {
|
|
67
|
+
if (_relayer === void 0) { _relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
68
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
69
|
+
var fillRelayTx, computeUnitsConsumed, _a;
|
|
70
|
+
return tslib_1.__generator(this, function (_b) {
|
|
71
|
+
switch (_b.label) {
|
|
72
|
+
case 0: return [4, this.getFillRelayTx(deposit, _relayer)];
|
|
73
|
+
case 1:
|
|
74
|
+
fillRelayTx = _b.sent();
|
|
75
|
+
_a = utils_1.toBN;
|
|
76
|
+
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
77
|
+
case 2:
|
|
78
|
+
computeUnitsConsumed = _a.apply(void 0, [_b.sent()]);
|
|
79
|
+
return [2, computeUnitsConsumed];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
SvmQuery.prototype.getFillRelayTx = function (deposit, _relayer) {
|
|
85
|
+
if (_relayer === void 0) { _relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
86
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
87
|
+
var relayer, mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx;
|
|
88
|
+
return tslib_1.__generator(this, function (_e) {
|
|
89
|
+
switch (_e.label) {
|
|
90
|
+
case 0:
|
|
91
|
+
relayer = _relayer ? (0, utils_1.toAddressType)(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
|
|
38
92
|
mint = (0, utils_1.toAddressType)(deposit.outputToken).forceSvmAddress();
|
|
39
93
|
owner = (0, utils_1.toAddressType)(deposit.recipient).forceSvmAddress();
|
|
40
94
|
return [4, (0, svm_1.getAssociatedTokenAddress)(owner, mint)];
|
|
41
95
|
case 1:
|
|
42
|
-
associatedToken =
|
|
43
|
-
simulatedSigner = (0, svm_1.SolanaVoidSigner)(
|
|
96
|
+
associatedToken = _e.sent();
|
|
97
|
+
simulatedSigner = (0, svm_1.SolanaVoidSigner)(relayer.toBase58());
|
|
44
98
|
recipientCreateTokenAccountInstructions = undefined;
|
|
45
99
|
_c = (_b = Promise).all;
|
|
46
100
|
return [4, (0, kit_1.fetchEncodedAccount)(this.provider, associatedToken)];
|
|
47
101
|
case 2: return [4, _c.apply(_b, [[
|
|
48
|
-
(
|
|
102
|
+
(_e.sent()).exists,
|
|
49
103
|
(0, token_1.fetchMint)(this.provider, mint.toV2Address())
|
|
50
104
|
]])];
|
|
51
105
|
case 3:
|
|
52
|
-
_a =
|
|
106
|
+
_a = _e.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
|
|
53
107
|
if (!!associatedTokenAccountExists) return [3, 5];
|
|
54
108
|
space = BigInt((0, token_1.getMintSize)());
|
|
55
109
|
return [4, this.provider.getMinimumBalanceForRentExemption(space).send()];
|
|
56
110
|
case 4:
|
|
57
|
-
rent =
|
|
111
|
+
rent = _e.sent();
|
|
58
112
|
createAccountIx = (0, system_1.getCreateAccountInstruction)({
|
|
59
113
|
payer: simulatedSigner,
|
|
60
114
|
newAccount: (0, svm_1.SolanaVoidSigner)(mint.toBase58()),
|
|
@@ -68,42 +122,23 @@ var SvmQuery = (function () {
|
|
|
68
122
|
mintAuthority: owner.toV2Address(),
|
|
69
123
|
});
|
|
70
124
|
recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
|
|
71
|
-
|
|
125
|
+
_e.label = 5;
|
|
72
126
|
case 5: return [4, Promise.all([
|
|
73
127
|
(0, svm_1.createTokenAccountsInstruction)(mint, simulatedSigner),
|
|
74
128
|
(0, svm_1.createApproveInstruction)(mint, deposit.outputAmount, this.simulatedRelayerAddress, this.spokePoolAddress, mintInfo.data.decimals),
|
|
75
129
|
(0, svm_1.fillRelayInstruction)(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
|
|
76
130
|
])];
|
|
77
131
|
case 6:
|
|
78
|
-
_d =
|
|
132
|
+
_d = _e.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
|
|
79
133
|
return [4, this.provider.getLatestBlockhash().send()];
|
|
80
134
|
case 7:
|
|
81
|
-
recentBlockhash =
|
|
82
|
-
fillRelayTx = (0, functional_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), function (tx) { return (0, kit_1.setTransactionMessageFeePayer)(
|
|
135
|
+
recentBlockhash = _e.sent();
|
|
136
|
+
fillRelayTx = (0, functional_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), function (tx) { return (0, kit_1.setTransactionMessageFeePayer)(relayer.toV2Address(), tx); }, function (tx) { return (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(recentBlockhash.value, tx); }, function (tx) {
|
|
83
137
|
return (0, utils_1.isDefined)(recipientCreateTokenAccountInstructions)
|
|
84
138
|
? (0, kit_1.appendTransactionMessageInstructions)(recipientCreateTokenAccountInstructions, tx)
|
|
85
139
|
: tx;
|
|
86
140
|
}, function (tx) { return (0, kit_1.appendTransactionMessageInstructions)([createTokenAccountsIx, approveIx, fillIx], tx); });
|
|
87
|
-
|
|
88
|
-
_h = utils_1.toBN;
|
|
89
|
-
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
90
|
-
case 8: return [4, _g.apply(_f, [[
|
|
91
|
-
_h.apply(void 0, [_j.sent()]),
|
|
92
|
-
(0, gasPriceOracle_1.getGasPriceEstimate)(this.provider, {
|
|
93
|
-
unsignedTx: fillRelayTx,
|
|
94
|
-
baseFeeMultiplier: options.baseFeeMultiplier,
|
|
95
|
-
priorityFeeMultiplier: options.priorityFeeMultiplier,
|
|
96
|
-
})
|
|
97
|
-
]])];
|
|
98
|
-
case 9:
|
|
99
|
-
_e = _j.sent(), computeUnitsConsumed = _e[0], _gasPriceEstimate = _e[1];
|
|
100
|
-
gasPriceEstimate = _gasPriceEstimate;
|
|
101
|
-
gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div((0, utils_1.toBN)(1000000)));
|
|
102
|
-
return [2, {
|
|
103
|
-
nativeGasCost: computeUnitsConsumed,
|
|
104
|
-
tokenGasCost: gasPrice,
|
|
105
|
-
gasPrice: gasPrice,
|
|
106
|
-
}];
|
|
141
|
+
return [2, fillRelayTx];
|
|
107
142
|
}
|
|
108
143
|
});
|
|
109
144
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";;;;AAAA,iDAA0C;AAC1C,6CAA4C;AAE5C,
|
|
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;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RelayFeeCalculator = exports.DEFAULT_LOGGER = exports.expectedCapitalCostsKeys = void 0;
|
|
3
|
+
exports.RelayFeeCalculator = exports.getDefaultSimulatedRelayerAddress = exports.DEFAULT_LOGGER = exports.expectedCapitalCostsKeys = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
6
|
var constants_1 = require("../constants");
|
|
@@ -36,6 +36,12 @@ exports.DEFAULT_LOGGER = {
|
|
|
36
36
|
return console.error(args);
|
|
37
37
|
},
|
|
38
38
|
};
|
|
39
|
+
function getDefaultSimulatedRelayerAddress(chainId) {
|
|
40
|
+
return (0, utils_1.isDefined)(chainId) && (0, utils_1.chainIsSvm)(chainId)
|
|
41
|
+
? constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM
|
|
42
|
+
: constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS;
|
|
43
|
+
}
|
|
44
|
+
exports.getDefaultSimulatedRelayerAddress = getDefaultSimulatedRelayerAddress;
|
|
39
45
|
var safeOutputAmount = (0, utils_1.toBN)(100);
|
|
40
46
|
var RelayFeeCalculator = (function () {
|
|
41
47
|
function RelayFeeCalculator(config, logger, destinationChainId) {
|
|
@@ -88,7 +94,7 @@ var RelayFeeCalculator = (function () {
|
|
|
88
94
|
};
|
|
89
95
|
RelayFeeCalculator.prototype.gasFeePercent = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, _tokenGasCost, transport) {
|
|
90
96
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
91
|
-
if (relayerAddress === void 0) { relayerAddress =
|
|
97
|
+
if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
92
98
|
if (tokenMapping === void 0) { tokenMapping = constants_1.TOKEN_SYMBOLS_MAP; }
|
|
93
99
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
94
100
|
var inputToken, destinationChainId, originChainId, destinationChainTokenDetails, outputToken, outputTokenInfo, inputTokenInfo, simulatedAmount, getGasCosts, _a, tokenGasCost, tokenPrice, gasFeesInToken;
|
|
@@ -236,7 +242,7 @@ var RelayFeeCalculator = (function () {
|
|
|
236
242
|
};
|
|
237
243
|
RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
|
|
238
244
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
239
|
-
if (relayerAddress === void 0) { relayerAddress =
|
|
245
|
+
if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
240
246
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
241
247
|
var inputToken, originChainId, token, gasFeePercent, gasFeeTotal, capitalFeePercent, capitalFeeTotal, relayFeePercent, relayFeeTotal, maxGasFeePercent, minDeposit, isAmountTooLow;
|
|
242
248
|
return tslib_1.__generator(this, function (_a) {
|