@across-protocol/sdk 4.2.16 → 4.3.1
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/evm/SpokeUtils.d.ts +8 -3
- package/dist/cjs/arch/evm/SpokeUtils.js +26 -11
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +8 -2
- package/dist/cjs/arch/svm/SpokeUtils.js +41 -50
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/eventsClient.js +4 -2
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +3 -3
- package/dist/cjs/arch/svm/utils.js +16 -14
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +4 -2
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +4 -4
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +59 -59
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +16 -13
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +3 -2
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -1
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +3 -3
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +71 -71
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +13 -8
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +21 -21
- package/dist/cjs/clients/HubPoolClient.js +85 -58
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +1 -3
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +66 -46
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/index.d.ts +1 -0
- package/dist/cjs/clients/SpokePoolClient/index.js +3 -1
- package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +1 -1
- package/dist/cjs/clients/index.js +2 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +15 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +5 -3
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +40 -36
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +6 -4
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/cjs/interfaces/HubPool.d.ts +19 -14
- package/dist/cjs/interfaces/SpokePool.d.ts +18 -19
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +17 -9
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +24 -15
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +8 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +13 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +61 -58
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +15 -7
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +13 -13
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +12 -8
- package/dist/cjs/utils/AddressUtils.js +33 -36
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +2 -2
- package/dist/cjs/utils/DepositUtils.js +1 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +1 -3
- package/dist/cjs/utils/SpokeUtils.js +3 -25
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +4 -4
- package/dist/cjs/utils/TokenUtils.js +5 -3
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +9 -4
- package/dist/esm/arch/evm/SpokeUtils.js +29 -14
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +9 -3
- package/dist/esm/arch/svm/SpokeUtils.js +42 -55
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/eventsClient.js +5 -3
- package/dist/esm/arch/svm/eventsClient.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +3 -3
- package/dist/esm/arch/svm/utils.js +17 -15
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +4 -2
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +4 -4
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +60 -60
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +18 -15
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +7 -7
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -1
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +4 -4
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +71 -71
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +20 -10
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +22 -22
- package/dist/esm/clients/HubPoolClient.js +93 -66
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +3 -3
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +2 -4
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +69 -48
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/index.d.ts +1 -0
- package/dist/esm/clients/SpokePoolClient/index.js +1 -0
- package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/esm/clients/mocks/MockHubPoolClient.js +16 -10
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +5 -3
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +42 -38
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +7 -5
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +3 -3
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/esm/interfaces/HubPool.d.ts +19 -14
- package/dist/esm/interfaces/SpokePool.d.ts +18 -19
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +20 -12
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +28 -19
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +9 -6
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +15 -7
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +67 -63
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +25 -8
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +12 -12
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +12 -8
- package/dist/esm/utils/AddressUtils.js +36 -38
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +2 -2
- package/dist/esm/utils/DepositUtils.js +2 -2
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +1 -8
- package/dist/esm/utils/SpokeUtils.js +3 -29
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +6 -18
- package/dist/esm/utils/TokenUtils.js +6 -4
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +9 -4
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +9 -3
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +3 -3
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +4 -4
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/MerkleTreeUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +71 -71
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +22 -22
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/index.d.ts +1 -0
- package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
- package/dist/types/clients/index.d.ts +1 -1
- package/dist/types/clients/index.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +5 -3
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -1
- package/dist/types/interfaces/HubPool.d.ts +19 -14
- package/dist/types/interfaces/HubPool.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +18 -19
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +20 -12
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +15 -7
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +25 -8
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +12 -8
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +2 -2
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +1 -8
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +6 -18
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/arch/evm/SpokeUtils.ts +72 -22
- package/src/arch/svm/SpokeUtils.ts +67 -53
- package/src/arch/svm/eventsClient.ts +40 -8
- package/src/arch/svm/utils.ts +6 -6
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -4
- package/src/clients/BundleDataClient/BundleDataClient.ts +56 -56
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +32 -15
- package/src/clients/BundleDataClient/utils/FillUtils.ts +12 -8
- package/src/clients/BundleDataClient/utils/MerkleTreeUtils.ts +7 -1
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +4 -4
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +22 -10
- package/src/clients/HubPoolClient.ts +125 -86
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +7 -2
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +1 -4
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +122 -37
- package/src/clients/SpokePoolClient/index.ts +1 -0
- package/src/clients/index.ts +1 -0
- package/src/clients/mocks/MockHubPoolClient.ts +24 -19
- package/src/clients/mocks/MockSpokePoolClient.ts +39 -27
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +8 -5
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +12 -3
- package/src/interfaces/HubPool.ts +20 -14
- package/src/interfaces/SpokePool.ts +19 -19
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +39 -21
- package/src/relayFeeCalculator/chain-queries/factory.ts +8 -5
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +73 -58
- package/src/relayFeeCalculator/relayFeeCalculator.ts +23 -21
- package/src/utils/AddressUtils.ts +39 -51
- package/src/utils/DepositUtils.ts +4 -4
- package/src/utils/SpokeUtils.ts +8 -36
- package/src/utils/TokenUtils.ts +10 -8
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { SortableEvent } from "./Common";
|
|
2
2
|
import { SpokePoolClient } from "../clients";
|
|
3
|
-
import { BigNumber } from "../utils";
|
|
3
|
+
import { BigNumber, Address, EvmAddress } from "../utils";
|
|
4
4
|
import { RelayerRefundLeaf } from "./HubPool";
|
|
5
5
|
export interface RelayData {
|
|
6
6
|
originChainId: number;
|
|
7
|
-
depositor:
|
|
8
|
-
recipient:
|
|
7
|
+
depositor: Address;
|
|
8
|
+
recipient: Address;
|
|
9
9
|
depositId: BigNumber;
|
|
10
|
-
inputToken:
|
|
10
|
+
inputToken: Address;
|
|
11
11
|
inputAmount: BigNumber;
|
|
12
|
-
outputToken:
|
|
12
|
+
outputToken: Address;
|
|
13
13
|
outputAmount: BigNumber;
|
|
14
14
|
message: string;
|
|
15
15
|
fillDeadline: number;
|
|
16
|
-
exclusiveRelayer:
|
|
16
|
+
exclusiveRelayer: Address;
|
|
17
17
|
exclusivityDeadline: number;
|
|
18
18
|
}
|
|
19
|
-
export interface
|
|
19
|
+
export interface SpeedUpCommon {
|
|
20
|
+
updatedRecipient: Address;
|
|
21
|
+
updatedOutputAmount: BigNumber;
|
|
22
|
+
updatedMessage: string;
|
|
23
|
+
}
|
|
24
|
+
export interface Deposit extends RelayData, Partial<SpeedUpCommon> {
|
|
20
25
|
messageHash: string;
|
|
21
26
|
destinationChainId: number;
|
|
22
27
|
quoteTimestamp: number;
|
|
23
28
|
speedUpSignature?: string;
|
|
24
|
-
updatedRecipient?: string;
|
|
25
|
-
updatedOutputAmount?: BigNumber;
|
|
26
|
-
updatedMessage?: string;
|
|
27
29
|
fromLiteChain: boolean;
|
|
28
30
|
toLiteChain: boolean;
|
|
29
31
|
}
|
|
@@ -44,7 +46,7 @@ export declare enum FillType {
|
|
|
44
46
|
SlowFill = 2
|
|
45
47
|
}
|
|
46
48
|
export interface RelayExecutionEventInfo {
|
|
47
|
-
updatedRecipient:
|
|
49
|
+
updatedRecipient: Address;
|
|
48
50
|
updatedOutputAmount: BigNumber;
|
|
49
51
|
updatedMessage?: string;
|
|
50
52
|
updatedMessageHash: string;
|
|
@@ -53,7 +55,7 @@ export interface RelayExecutionEventInfo {
|
|
|
53
55
|
export interface Fill extends Omit<RelayData, "message"> {
|
|
54
56
|
messageHash: string;
|
|
55
57
|
destinationChainId: number;
|
|
56
|
-
relayer:
|
|
58
|
+
relayer: Address;
|
|
57
59
|
repaymentChainId: number;
|
|
58
60
|
relayExecutionInfo: RelayExecutionEventInfo;
|
|
59
61
|
}
|
|
@@ -63,20 +65,17 @@ export interface FillWithTime extends Fill, SortableEvent {
|
|
|
63
65
|
fillTimestamp: number;
|
|
64
66
|
}
|
|
65
67
|
export interface EnabledDepositRoute {
|
|
66
|
-
originToken:
|
|
68
|
+
originToken: Address;
|
|
67
69
|
destinationChainId: number;
|
|
68
70
|
enabled: boolean;
|
|
69
71
|
}
|
|
70
72
|
export interface EnabledDepositRouteWithBlock extends EnabledDepositRoute, SortableEvent {
|
|
71
73
|
}
|
|
72
|
-
export interface SpeedUp {
|
|
73
|
-
depositor:
|
|
74
|
+
export interface SpeedUp extends SpeedUpCommon {
|
|
75
|
+
depositor: EvmAddress;
|
|
74
76
|
depositorSignature: string;
|
|
75
77
|
depositId: BigNumber;
|
|
76
78
|
originChainId: number;
|
|
77
|
-
updatedRecipient: string;
|
|
78
|
-
updatedOutputAmount: BigNumber;
|
|
79
|
-
updatedMessage: string;
|
|
80
79
|
}
|
|
81
80
|
export interface SpeedUpWithBlock extends SpeedUp, SortableEvent {
|
|
82
81
|
}
|
|
@@ -115,7 +114,7 @@ export interface TokensBridged extends SortableEvent {
|
|
|
115
114
|
amountToReturn: BigNumber;
|
|
116
115
|
chainId: number;
|
|
117
116
|
leafId: number;
|
|
118
|
-
l2TokenAddress:
|
|
117
|
+
l2TokenAddress: Address;
|
|
119
118
|
}
|
|
120
119
|
export interface ClaimedRelayerRefundWithBlock extends SortableEvent {
|
|
121
120
|
l2TokenAddress: string;
|
|
@@ -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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { L2Provider } from "@eth-optimism/sdk/dist/interfaces/l2-provider";
|
|
2
2
|
import { PopulatedTransaction, providers } from "ethers";
|
|
3
|
-
import {
|
|
3
|
+
import { RelayData } from "../../interfaces";
|
|
4
4
|
import { SpokePool } from "../../typechain";
|
|
5
|
-
import { BigNumberish, TransactionCostEstimate, BigNumber } from "../../utils";
|
|
5
|
+
import { BigNumberish, EvmAddress, TransactionCostEstimate, BigNumber, Address } from "../../utils";
|
|
6
6
|
import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
7
7
|
import { Transport } from "viem";
|
|
8
8
|
import { EvmProvider } from "../../arch/evm/types";
|
|
@@ -14,14 +14,16 @@ export declare class QueryBase implements QueryInterface {
|
|
|
14
14
|
readonly provider: EvmProvider;
|
|
15
15
|
readonly symbolMapping: SymbolMappingType;
|
|
16
16
|
readonly spokePoolAddress: string;
|
|
17
|
-
readonly simulatedRelayerAddress:
|
|
17
|
+
readonly simulatedRelayerAddress: EvmAddress;
|
|
18
18
|
readonly logger: Logger;
|
|
19
19
|
readonly coingeckoProApiKey?: string | undefined;
|
|
20
20
|
readonly fixedGasPrice?: BigNumberish | undefined;
|
|
21
21
|
readonly coingeckoBaseCurrency: string;
|
|
22
22
|
readonly spokePool: SpokePool;
|
|
23
|
-
constructor(provider: EvmProvider, symbolMapping: SymbolMappingType, spokePoolAddress: string, simulatedRelayerAddress:
|
|
24
|
-
getGasCosts(
|
|
23
|
+
constructor(provider: EvmProvider, symbolMapping: SymbolMappingType, spokePoolAddress: string, simulatedRelayerAddress: EvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
|
|
24
|
+
getGasCosts(relayData: RelayData & {
|
|
25
|
+
destinationChainId: number;
|
|
26
|
+
}, relayer?: Address, options?: Partial<{
|
|
25
27
|
gasPrice: BigNumberish;
|
|
26
28
|
gasUnits: BigNumberish;
|
|
27
29
|
baseFeeMultiplier: BigNumber;
|
|
@@ -29,13 +31,19 @@ export declare class QueryBase implements QueryInterface {
|
|
|
29
31
|
opStackL1GasCostMultiplier: BigNumber;
|
|
30
32
|
transport: Transport;
|
|
31
33
|
}>): Promise<TransactionCostEstimate>;
|
|
32
|
-
getUnsignedTxFromDeposit(
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
getUnsignedTxFromDeposit(relayData: Omit<RelayData, "recipient" | "outputToken"> & {
|
|
35
|
+
destinationChainId: number;
|
|
36
|
+
recipient: EvmAddress;
|
|
37
|
+
outputToken: EvmAddress;
|
|
38
|
+
}, relayer?: Address): Promise<PopulatedTransaction>;
|
|
39
|
+
getNativeGasCost(relayData: RelayData & {
|
|
40
|
+
destinationChainId: number;
|
|
41
|
+
}, relayer?: Address): Promise<BigNumber>;
|
|
42
|
+
getOpStackL1DataFee(unsignedTx: PopulatedTransaction, relayer: Address | undefined, options: Partial<{
|
|
35
43
|
opStackL2GasUnits: BigNumberish;
|
|
36
44
|
opStackL1DataFeeMultiplier: BigNumber;
|
|
37
45
|
}>): Promise<BigNumber>;
|
|
38
|
-
estimateGas(unsignedTx: PopulatedTransaction, senderAddress:
|
|
46
|
+
estimateGas(unsignedTx: PopulatedTransaction, senderAddress: Address, provider: providers.Provider | L2Provider<providers.Provider>, options?: Partial<{
|
|
39
47
|
gasPrice: BigNumberish;
|
|
40
48
|
gasUnits: BigNumberish;
|
|
41
49
|
baseFeeMultiplier: BigNumber;
|
|
@@ -25,16 +25,20 @@ var QueryBase = (function () {
|
|
|
25
25
|
this.coingeckoBaseCurrency = coingeckoBaseCurrency;
|
|
26
26
|
this.spokePool = typechain_1.SpokePool__factory.connect(spokePoolAddress, provider);
|
|
27
27
|
}
|
|
28
|
-
QueryBase.prototype.getGasCosts = function (
|
|
29
|
-
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.
|
|
28
|
+
QueryBase.prototype.getGasCosts = function (relayData, relayer, options) {
|
|
29
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(relayData.destinationChainId); }
|
|
30
30
|
if (options === void 0) { options = {}; }
|
|
31
31
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
32
|
-
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
32
|
+
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, recipient, outputToken, exclusiveRelayer, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
33
33
|
return tslib_1.__generator(this, function (_c) {
|
|
34
34
|
switch (_c.label) {
|
|
35
35
|
case 0:
|
|
36
36
|
_a = options.gasPrice, gasPrice = _a === void 0 ? this.fixedGasPrice : _a, gasUnits = options.gasUnits, baseFeeMultiplier = options.baseFeeMultiplier, priorityFeeMultiplier = options.priorityFeeMultiplier, opStackL1GasCostMultiplier = options.opStackL1GasCostMultiplier, transport = options.transport;
|
|
37
|
-
|
|
37
|
+
recipient = relayData.recipient, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer;
|
|
38
|
+
(0, assert_1.default)(recipient.isEVM(), "getGasCosts: recipient not an EVM address (".concat(recipient, ")"));
|
|
39
|
+
(0, assert_1.default)(outputToken.isEVM(), "getGasCosts: outputToken not an EVM address (".concat(outputToken, ")"));
|
|
40
|
+
(0, assert_1.default)(exclusiveRelayer.isEVM(), "getGasCosts: exclusiveRelayer not an EVM address (".concat(exclusiveRelayer, ")"));
|
|
41
|
+
return [4, this.getUnsignedTxFromDeposit(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer)];
|
|
38
42
|
case 1:
|
|
39
43
|
tx = _c.sent();
|
|
40
44
|
return [4, this.estimateGas(tx, relayer, this.provider, {
|
|
@@ -57,27 +61,32 @@ var QueryBase = (function () {
|
|
|
57
61
|
});
|
|
58
62
|
});
|
|
59
63
|
};
|
|
60
|
-
QueryBase.prototype.getUnsignedTxFromDeposit = function (
|
|
61
|
-
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.
|
|
62
|
-
return (0, evm_1.populateV3Relay)(this.spokePool,
|
|
64
|
+
QueryBase.prototype.getUnsignedTxFromDeposit = function (relayData, relayer) {
|
|
65
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(relayData.destinationChainId); }
|
|
66
|
+
return (0, evm_1.populateV3Relay)(this.spokePool, relayData, relayer);
|
|
63
67
|
};
|
|
64
|
-
QueryBase.prototype.getNativeGasCost = function (
|
|
65
|
-
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.
|
|
68
|
+
QueryBase.prototype.getNativeGasCost = function (relayData, relayer) {
|
|
69
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(relayData.destinationChainId); }
|
|
66
70
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
67
|
-
var unsignedTx, voidSigner;
|
|
71
|
+
var recipient, outputToken, exclusiveRelayer, unsignedTx, voidSigner;
|
|
68
72
|
return tslib_1.__generator(this, function (_a) {
|
|
69
73
|
switch (_a.label) {
|
|
70
|
-
case 0:
|
|
74
|
+
case 0:
|
|
75
|
+
recipient = relayData.recipient, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer;
|
|
76
|
+
(0, assert_1.default)(recipient.isEVM(), "getNativeGasCost: recipient not an EVM address (".concat(recipient, ")"));
|
|
77
|
+
(0, assert_1.default)(outputToken.isEVM(), "getNativeGasCost: outputToken not an EVM address (".concat(outputToken, ")"));
|
|
78
|
+
(0, assert_1.default)(exclusiveRelayer.isEVM(), "getNativeGasCost: exclusiveRelayer not an EVM address (".concat(exclusiveRelayer, ")"));
|
|
79
|
+
return [4, this.getUnsignedTxFromDeposit(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer)];
|
|
71
80
|
case 1:
|
|
72
81
|
unsignedTx = _a.sent();
|
|
73
|
-
voidSigner = new ethers_1.VoidSigner(relayer, this.provider);
|
|
82
|
+
voidSigner = new ethers_1.VoidSigner(relayer.toEvmAddress(), this.provider);
|
|
74
83
|
return [2, voidSigner.estimateGas(unsignedTx)];
|
|
75
84
|
}
|
|
76
85
|
});
|
|
77
86
|
});
|
|
78
87
|
};
|
|
79
88
|
QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
|
|
80
|
-
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.
|
|
89
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(unsignedTx.chainId); }
|
|
81
90
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
82
91
|
var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
|
|
83
92
|
return tslib_1.__generator(this, function (_c) {
|
|
@@ -88,7 +97,7 @@ var QueryBase = (function () {
|
|
|
88
97
|
case 1:
|
|
89
98
|
chainId = (_c.sent()).chainId;
|
|
90
99
|
(0, assert_1.default)((0, l2_provider_1.isL2Provider)(this.provider), "Unexpected provider for chain ID ".concat(chainId, "."));
|
|
91
|
-
voidSigner = new ethers_1.VoidSigner(relayer, this.provider);
|
|
100
|
+
voidSigner = new ethers_1.VoidSigner(relayer.toEvmAddress(), this.provider);
|
|
92
101
|
return [4, voidSigner.populateTransaction(tslib_1.__assign(tslib_1.__assign({}, unsignedTx), { gasLimit: opStackL2GasUnits }))];
|
|
93
102
|
case 2:
|
|
94
103
|
populatedTransaction = _c.sent();
|
|
@@ -111,7 +120,7 @@ var QueryBase = (function () {
|
|
|
111
120
|
return [4, provider.getNetwork()];
|
|
112
121
|
case 1:
|
|
113
122
|
chainId = (_f.sent()).chainId;
|
|
114
|
-
voidSigner = new ethers_1.VoidSigner(senderAddress, provider);
|
|
123
|
+
voidSigner = new ethers_1.VoidSigner(senderAddress.toEvmAddress(), provider);
|
|
115
124
|
queries = [
|
|
116
125
|
gasUnits ? Promise.resolve(utils_1.BigNumber.from(gasUnits)) : voidSigner.estimateGas(unsignedTx),
|
|
117
126
|
_gasPrice
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";;;;AACA,kEAA0F;
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";;;;AACA,kEAA0F;AAC1F,iCAAqE;AACrE,6CAA4C;AAC5C,6CAA4C;AAE5C,6CAAgE;AAChE,sCAAiD;AACjD,qCAUqB;AACrB,0DAA4B;AAC5B,4DAAkF;AAElF,uDAA2D;AAe3D;IAaE,mBACW,QAAqB,EACrB,aAAgC,EAChC,gBAAwB,EACxB,uBAAmC,EACnC,MAAc,EACd,kBAA2B,EAC3B,aAA4B,EAC5B,qBAAqC;QAArC,sCAAA,EAAA,6BAAqC;QAPrC,aAAQ,GAAR,QAAQ,CAAa;QACrB,kBAAa,GAAb,aAAa,CAAmB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,4BAAuB,GAAvB,uBAAuB,CAAY;QACnC,WAAM,GAAN,MAAM,CAAQ;QACd,uBAAkB,GAAlB,kBAAkB,CAAS;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAgB;QAE9C,IAAI,CAAC,SAAS,GAAG,8BAAkB,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAYK,+BAAW,GAAjB,UACE,SAAqD,EACrD,OAAyD,EACzD,OAOO;QARP,wBAAA,EAAA,cAAU,sCAAiB,EAAC,SAAS,CAAC,kBAAkB,CAAC;QACzD,wBAAA,EAAA,YAOO;;;;;;wBAGL,KAME,OAAO,SANoB,EAA7B,QAAQ,mBAAG,IAAI,CAAC,aAAa,KAAA,EAC7B,QAAQ,GAKN,OAAO,SALD,EACR,iBAAiB,GAIf,OAAO,kBAJQ,EACjB,qBAAqB,GAGnB,OAAO,sBAHY,EACrB,0BAA0B,GAExB,OAAO,2BAFiB,EAC1B,SAAS,GACP,OAAO,UADA,CACC;wBAEJ,SAAS,GAAoC,SAAS,UAA7C,EAAE,WAAW,GAAuB,SAAS,YAAhC,EAAE,gBAAgB,GAAK,SAAS,iBAAd,CAAe;wBAC/D,IAAA,gBAAM,EAAC,SAAS,CAAC,KAAK,EAAE,EAAE,qDAA8C,SAAS,MAAG,CAAC,CAAC;wBACtF,IAAA,gBAAM,EAAC,WAAW,CAAC,KAAK,EAAE,EAAE,uDAAgD,WAAW,MAAG,CAAC,CAAC;wBAC5F,IAAA,gBAAM,EAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,4DAAqD,gBAAgB,MAAG,CAAC,CAAC;wBAEhG,WAAM,IAAI,CAAC,wBAAwB,uCAAM,SAAS,KAAE,SAAS,WAAA,EAAE,WAAW,aAAA,EAAE,gBAAgB,kBAAA,KAAI,OAAO,CAAC,EAAA;;wBAA7G,EAAE,GAAG,SAAwG;wBAM/G,WAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;gCACrD,QAAQ,UAAA;gCACR,QAAQ,UAAA;gCACR,iBAAiB,mBAAA;gCACjB,qBAAqB,uBAAA;gCACrB,0BAA0B,4BAAA;gCAC1B,SAAS,WAAA;6BACV,CAAC,EAAA;;wBAZI,KAKF,SAOF,EAXA,aAAa,mBAAA,EACb,YAAY,kBAAA,EACF,eAAe,cAAA,EACzB,gBAAgB,sBAAA;wBAUlB,WAAO;gCACL,aAAa,eAAA;gCACb,YAAY,cAAA;gCACZ,QAAQ,EAAE,eAAe;gCACzB,gBAAgB,kBAAA;6BACjB,EAAC;;;;KACH;IAQD,4CAAwB,GAAxB,UACE,SAIC,EACD,OAAyD;QAAzD,wBAAA,EAAA,cAAU,sCAAiB,EAAC,SAAS,CAAC,kBAAkB,CAAC;QAEzD,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAQK,oCAAgB,GAAtB,UACE,SAAqD,EACrD,OAAyD;QAAzD,wBAAA,EAAA,cAAU,sCAAiB,EAAC,SAAS,CAAC,kBAAkB,CAAC;;;;;;wBAEjD,SAAS,GAAoC,SAAS,UAA7C,EAAE,WAAW,GAAuB,SAAS,YAAhC,EAAE,gBAAgB,GAAK,SAAS,iBAAd,CAAe;wBAC/D,IAAA,gBAAM,EAAC,SAAS,CAAC,KAAK,EAAE,EAAE,0DAAmD,SAAS,MAAG,CAAC,CAAC;wBAC3F,IAAA,gBAAM,EAAC,WAAW,CAAC,KAAK,EAAE,EAAE,4DAAqD,WAAW,MAAG,CAAC,CAAC;wBACjG,IAAA,gBAAM,EAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,iEAA0D,gBAAgB,MAAG,CAAC,CAAC;wBAE7F,WAAM,IAAI,CAAC,wBAAwB,uCAC/C,SAAS,KAAE,SAAS,WAAA,EAAE,WAAW,aAAA,EAAE,gBAAgB,kBAAA,KACxD,OAAO,CACR,EAAA;;wBAHK,UAAU,GAAG,SAGlB;wBACK,UAAU,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACzE,WAAO,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAC;;;;KAC3C;IAUK,uCAAmB,GAAzB,UACE,UAAgC,EAChC,OAA+C,EAC/C,OAGE;QAJF,wBAAA,EAAA,cAAU,sCAAiB,EAAC,UAAU,CAAC,OAAO,CAAC;;;;;;wBAMzC,KAAmE,OAAO,IAAI,EAAE,EAA9E,iBAAiB,uBAAA,EAAE,kCAAyC,EAAzC,0BAA0B,mBAAG,IAAA,eAAO,EAAC,GAAG,CAAC,KAAA,CAAmB;wBACnE,WAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAA;;wBAA5C,OAAO,GAAK,CAAA,SAAgC,CAAA,QAArC;wBACf,IAAA,gBAAM,EAAC,IAAA,0BAAoB,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,2CAAoC,OAAO,MAAG,CAAC,CAAC;wBACtF,UAAU,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC5C,WAAM,UAAU,CAAC,mBAAmB,uCAC5D,UAAU,KACb,QAAQ,EAAE,iBAAiB,IAC3B,EAAA;;wBAHI,oBAAoB,GAAG,SAG3B;wBACgB,WAAO,IAAI,CAAC,QAA2C,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAA;;wBAA3G,SAAS,GAAG,SAA+F;wBACjH,WAAO,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,4BAAoB,CAAC,EAAC;;;;KAC5E;IAaK,+BAAW,GAAjB,UACE,UAAgC,EAChC,aAAsB,EACtB,QAA6D,EAC7D,OAOO;QAPP,wBAAA,EAAA,YAOO;;;;;;wBAED,KAOF,OAAO,IAAI,EAAE,EANL,SAAS,cAAA,EACnB,QAAQ,cAAA,EACR,yBAAgC,EAAhC,iBAAiB,mBAAG,IAAA,eAAO,EAAC,GAAG,CAAC,KAAA,EAChC,6BAAoC,EAApC,qBAAqB,mBAAG,IAAA,eAAO,EAAC,GAAG,CAAC,KAAA,EACpC,kCAAyC,EAAzC,0BAA0B,mBAAG,IAAA,eAAO,EAAC,GAAG,CAAC,KAAA,EACzC,SAAS,eAAA,CACO;wBAEE,WAAM,QAAQ,CAAC,UAAU,EAAE,EAAA;;wBAAvC,OAAO,GAAK,CAAA,SAA2B,CAAA,QAAhC;wBACT,UAAU,GAAG,IAAI,mBAAU,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAGpE,OAAO,GAAG;4BACd,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC;4BACzF,SAAS;gCACP,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;gCAC9C,CAAC,CAAC,IAAA,oCAAmB,EAAC,QAAQ,EAAE,EAAE,OAAO,SAAA,EAAE,iBAAiB,mBAAA,EAAE,qBAAqB,uBAAA,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,CAAC;yBACvG,CAAC;wBAC+B,WAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAA;;wBAA9D,KAAoC,SAA0B,EAA7D,aAAa,QAAA,EAAE,gBAAgB,QAAA;wBAEhC,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC;wBAC/C,IAAA,gBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,cAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;6BAKzD,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAvB,cAAuB;wBACN,WAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE;gCAC3E,iBAAiB,EAAE,aAAa;gCAChC,0BAA0B,EAAE,0BAA0B;6BACvD,CAAC,EAAA;;wBAHF,gBAAgB,GAAG,SAGjB,CAAC;wBACG,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC9C,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;;;wBAE/C,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;;4BAG7C,WAAO;4BACL,aAAa,eAAA;4BACb,YAAY,cAAA;4BACZ,QAAQ,EAAE,iBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BAC7C,gBAAgB,kBAAA;yBACjB,EAAC;;;;KACH;IAOK,iCAAa,GAAnB,UAAoB,WAAmB;;;;;;wBACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,UAAG,WAAW,+BAA4B,CAAC,CAAC;wBAC5F,iBAAiB,GAAG,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBAC5D,WAAM,iBAAiB,CAAC,yBAAyB,CACjE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,qBAAS,CAAC,OAAO,CAAC,EAC5D,IAAI,CAAC,qBAAqB,CAC3B,EAAA;;wBAHK,KAAY,SAGjB,EAHQ,KAAK,QAAA;wBAId,WAAO,KAAK,EAAC;;;;KACd;IACH,gBAAC;AAAD,CAAC,AA7OD,IA6OC;AA7OY,8BAAS"}
|
|
@@ -397,5 +397,5 @@ export declare class QueryBase__factory {
|
|
|
397
397
|
};
|
|
398
398
|
coingeckoId: string;
|
|
399
399
|
};
|
|
400
|
-
}, spokePoolAddress?: string | undefined,
|
|
400
|
+
}, spokePoolAddress?: string | undefined, relayerAddress?: import("../../utils").Address, coingeckoProApiKey?: string, logger?: Logger, coingeckoBaseCurrency?: string): QueryBase | SvmQuery;
|
|
401
401
|
}
|
|
@@ -19,21 +19,22 @@ var fixedGasPrice = (_a = {},
|
|
|
19
19
|
var QueryBase__factory = (function () {
|
|
20
20
|
function QueryBase__factory() {
|
|
21
21
|
}
|
|
22
|
-
QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress,
|
|
22
|
+
QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress, relayerAddress, 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 (
|
|
25
|
+
if (relayerAddress === void 0) { relayerAddress = (0, relayFeeCalculator_1.getDefaultRelayer)(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));
|
|
29
29
|
var customGasTokenSymbol = constants_2.CUSTOM_GAS_TOKENS[chainId];
|
|
30
30
|
if (customGasTokenSymbol) {
|
|
31
|
+
(0, assert_1.default)(relayerAddress.isEVM());
|
|
31
32
|
return new customGasToken_1.CustomGasTokenQueries({
|
|
32
33
|
queryBaseArgs: [
|
|
33
34
|
provider,
|
|
34
35
|
symbolMapping,
|
|
35
36
|
spokePoolAddress,
|
|
36
|
-
|
|
37
|
+
relayerAddress,
|
|
37
38
|
logger,
|
|
38
39
|
coingeckoProApiKey,
|
|
39
40
|
fixedGasPrice[chainId],
|
|
@@ -43,12 +44,14 @@ var QueryBase__factory = (function () {
|
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
if ((0, utils_1.chainIsSvm)(chainId)) {
|
|
46
|
-
|
|
47
|
+
(0, assert_1.default)(relayerAddress.isSVM());
|
|
48
|
+
return new svmQuery_1.SvmQuery(provider, symbolMapping, utils_1.SvmAddress.from(spokePoolAddress), relayerAddress, logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
|
|
47
49
|
}
|
|
48
50
|
provider = (0, utils_1.chainIsOPStack)(chainId)
|
|
49
51
|
? (0, sdk_1.asL2Provider)(provider)
|
|
50
52
|
: provider;
|
|
51
|
-
|
|
53
|
+
(0, assert_1.default)(relayerAddress.isEVM());
|
|
54
|
+
return new baseQuery_1.QueryBase(provider, symbolMapping, spokePoolAddress, relayerAddress, logger, coingeckoProApiKey, fixedGasPrice[chainId], coingeckoBaseCurrency);
|
|
52
55
|
};
|
|
53
56
|
return QueryBase__factory;
|
|
54
57
|
}());
|
|
@@ -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,6CAAoD;AACpD,qCAAgF;AAChF,yCAAwC;AAExC,
|
|
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,4DAAkF;AAClF,mDAAyD;AACzD,uCAAsC;AAMtC,IAAM,aAAa;IACjB,GAAC,qBAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA6DA,CAAC;IA5DQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,cAA2C,EAC3C,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,gBAAgB,6BAAiB;QACjC,iCAAA,EAAA,uBAAmB,8BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,+BAAA,EAAA,qBAAiB,sCAAiB,EAAC,OAAO,CAAC;QAE3C,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,IAAA,gBAAM,EAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/B,OAAO,IAAI,sCAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,cAAc;oBACd,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,IAAA,gBAAM,EAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/B,OAAO,IAAI,mBAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,kBAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,cAAc,EACd,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,IAAA,gBAAM,EAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,qBAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,gDAAkB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SVMProvider } from "../../arch/svm";
|
|
2
|
-
import {
|
|
3
|
-
import { BigNumber, BigNumberish, SvmAddress, TransactionCostEstimate } from "../../utils";
|
|
2
|
+
import { RelayData } from "../../interfaces";
|
|
3
|
+
import { Address, BigNumber, BigNumberish, SvmAddress, TransactionCostEstimate } from "../../utils";
|
|
4
4
|
import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
5
5
|
import { SymbolMappingType } from "./";
|
|
6
6
|
export declare class SvmQuery implements QueryInterface {
|
|
@@ -20,14 +20,22 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
20
20
|
transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage);
|
|
21
21
|
}>, "rpc" | "transactionMessage"> | undefined) => Promise<number>;
|
|
22
22
|
constructor(provider: SVMProvider, symbolMapping: SymbolMappingType, spokePool: SvmAddress, simulatedRelayerAddress: SvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
|
|
23
|
-
getGasCosts(
|
|
23
|
+
getGasCosts(relayData: RelayData & {
|
|
24
|
+
destinationChainId: number;
|
|
25
|
+
}, relayer?: Address, options?: Partial<{
|
|
24
26
|
gasPrice: BigNumberish;
|
|
25
27
|
gasUnits: BigNumberish;
|
|
26
28
|
baseFeeMultiplier: BigNumber;
|
|
27
29
|
priorityFeeMultiplier: BigNumber;
|
|
28
30
|
}>): Promise<TransactionCostEstimate>;
|
|
29
|
-
getNativeGasCost(deposit:
|
|
30
|
-
|
|
31
|
+
getNativeGasCost(deposit: RelayData & {
|
|
32
|
+
destinationChainId: number;
|
|
33
|
+
}, relayer?: Address): Promise<BigNumber>;
|
|
34
|
+
protected getFillRelayTx(relayData: Omit<RelayData, "recipent" | "outputToken"> & {
|
|
35
|
+
destinationChainId: number;
|
|
36
|
+
recipient: SvmAddress;
|
|
37
|
+
outputToken: SvmAddress;
|
|
38
|
+
}, relayer: SvmAddress, repaymentChainId: number, repaymentAddress: Address): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, import("@solana/kit").TransactionSigner<string>> & Omit<Readonly<{
|
|
31
39
|
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
32
40
|
version: 0;
|
|
33
41
|
}>, "feePayer">>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SvmQuery = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
5
6
|
var conversionUtils_1 = require("@across-protocol/contracts/dist/src/svm/web3-v1/conversionUtils");
|
|
6
7
|
var system_1 = require("@solana-program/system");
|
|
7
8
|
var token_1 = require("@solana-program/token");
|
|
@@ -27,25 +28,28 @@ var SvmQuery = (function () {
|
|
|
27
28
|
rpc: provider,
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
|
-
SvmQuery.prototype.getGasCosts = function (
|
|
31
|
-
if (
|
|
31
|
+
SvmQuery.prototype.getGasCosts = function (relayData, relayer, options) {
|
|
32
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(relayData.destinationChainId); }
|
|
32
33
|
if (options === void 0) { options = {}; }
|
|
33
34
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
34
|
-
var
|
|
35
|
-
return tslib_1.__generator(this, function (
|
|
36
|
-
switch (
|
|
35
|
+
var destinationChainId, recipient, outputToken, exclusiveRelayer, _a, repaymentChainId, repaymentAddress, fillRelayTx, _b, computeUnitsConsumed, gasPriceEstimate, _c, _d, _e, gasPrice;
|
|
36
|
+
return tslib_1.__generator(this, function (_f) {
|
|
37
|
+
switch (_f.label) {
|
|
37
38
|
case 0:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
destinationChainId = relayData.destinationChainId, recipient = relayData.recipient, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer;
|
|
40
|
+
(0, assert_1.default)(recipient.isSVM(), "getGasCosts: recipient not an SVM address (".concat(recipient, ")"));
|
|
41
|
+
(0, assert_1.default)(outputToken.isSVM(), "getGasCosts: outputToken not an SVM address (".concat(outputToken, ")"));
|
|
42
|
+
(0, assert_1.default)(exclusiveRelayer.isSVM(), "getGasCosts: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
43
|
+
(0, assert_1.default)(relayer.isSVM());
|
|
44
|
+
_a = [destinationChainId, relayer], repaymentChainId = _a[0], repaymentAddress = _a[1];
|
|
45
|
+
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, relayData), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer, repaymentChainId, repaymentAddress)];
|
|
42
46
|
case 1:
|
|
43
|
-
fillRelayTx =
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
fillRelayTx = _f.sent();
|
|
48
|
+
_d = (_c = Promise).all;
|
|
49
|
+
_e = utils_1.toBN;
|
|
46
50
|
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
47
|
-
case 2: return [4,
|
|
48
|
-
|
|
51
|
+
case 2: return [4, _d.apply(_c, [[
|
|
52
|
+
_e.apply(void 0, [_f.sent()]),
|
|
49
53
|
(0, gasPriceOracle_1.getGasPriceEstimate)(this.provider, {
|
|
50
54
|
unsignedTx: fillRelayTx,
|
|
51
55
|
baseFeeMultiplier: options.baseFeeMultiplier,
|
|
@@ -53,7 +57,7 @@ var SvmQuery = (function () {
|
|
|
53
57
|
})
|
|
54
58
|
]])];
|
|
55
59
|
case 3:
|
|
56
|
-
|
|
60
|
+
_b = _f.sent(), computeUnitsConsumed = _b[0], gasPriceEstimate = _b[1];
|
|
57
61
|
gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div((0, utils_1.toBN)(1000000)));
|
|
58
62
|
return [2, {
|
|
59
63
|
nativeGasCost: computeUnitsConsumed,
|
|
@@ -64,73 +68,72 @@ var SvmQuery = (function () {
|
|
|
64
68
|
});
|
|
65
69
|
});
|
|
66
70
|
};
|
|
67
|
-
SvmQuery.prototype.getNativeGasCost = function (deposit,
|
|
68
|
-
if (
|
|
71
|
+
SvmQuery.prototype.getNativeGasCost = function (deposit, relayer) {
|
|
72
|
+
if (relayer === void 0) { relayer = (0, relayFeeCalculator_1.getDefaultRelayer)(deposit.destinationChainId); }
|
|
69
73
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
70
|
-
var fillRelayTx,
|
|
71
|
-
return tslib_1.__generator(this, function (
|
|
72
|
-
switch (
|
|
73
|
-
case 0:
|
|
74
|
+
var destinationChainId, recipient, outputToken, exclusiveRelayer, _a, repaymentChainId, repaymentAddress, fillRelayTx, _b;
|
|
75
|
+
return tslib_1.__generator(this, function (_c) {
|
|
76
|
+
switch (_c.label) {
|
|
77
|
+
case 0:
|
|
78
|
+
destinationChainId = deposit.destinationChainId, recipient = deposit.recipient, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer;
|
|
79
|
+
(0, assert_1.default)(recipient.isSVM(), "getNativeGasCost: recipient not an SVM address (".concat(recipient, ")"));
|
|
80
|
+
(0, assert_1.default)(outputToken.isSVM(), "getNativeGasCost: outputToken not an SVM address (".concat(outputToken, ")"));
|
|
81
|
+
(0, assert_1.default)(exclusiveRelayer.isSVM(), "getNativeGasCost: exclusiveRelayer not an SVM address (".concat(exclusiveRelayer, ")"));
|
|
82
|
+
(0, assert_1.default)(relayer.isSVM());
|
|
83
|
+
_a = [destinationChainId, relayer], repaymentChainId = _a[0], repaymentAddress = _a[1];
|
|
84
|
+
return [4, this.getFillRelayTx(tslib_1.__assign(tslib_1.__assign({}, deposit), { recipient: recipient, outputToken: outputToken, exclusiveRelayer: exclusiveRelayer }), relayer, repaymentChainId, repaymentAddress)];
|
|
74
85
|
case 1:
|
|
75
|
-
fillRelayTx =
|
|
76
|
-
|
|
86
|
+
fillRelayTx = _c.sent();
|
|
87
|
+
_b = utils_1.toBN;
|
|
77
88
|
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
78
|
-
case 2: return [2,
|
|
89
|
+
case 2: return [2, _b.apply(void 0, [_c.sent()])];
|
|
79
90
|
}
|
|
80
91
|
});
|
|
81
92
|
});
|
|
82
93
|
};
|
|
83
|
-
SvmQuery.prototype.getFillRelayTx = function (
|
|
84
|
-
if (_relayer === void 0) { _relayer = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
85
|
-
if (repaymentChainId === void 0) { repaymentChainId = deposit.destinationChainId; }
|
|
86
|
-
if (repaymentAddress === void 0) { repaymentAddress = (0, relayFeeCalculator_1.getDefaultSimulatedRelayerAddress)(deposit.destinationChainId); }
|
|
94
|
+
SvmQuery.prototype.getFillRelayTx = function (relayData, relayer, repaymentChainId, repaymentAddress) {
|
|
87
95
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
88
|
-
var
|
|
96
|
+
var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, svmRelayData, simulatedSigner, fillInput;
|
|
89
97
|
return tslib_1.__generator(this, function (_c) {
|
|
90
98
|
switch (_c.label) {
|
|
91
99
|
case 0:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
depositor = deposit.depositor, recipient = deposit.recipient, inputToken = deposit.inputToken, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer, originChainId = deposit.originChainId, destinationChainId = deposit.destinationChainId;
|
|
100
|
+
depositor = relayData.depositor, recipient = relayData.recipient, inputToken = relayData.inputToken, outputToken = relayData.outputToken, exclusiveRelayer = relayData.exclusiveRelayer, destinationChainId = relayData.destinationChainId;
|
|
101
|
+
(0, assert_1.default)(recipient.isSVM(), "getFillRelayTx: recipient not an SVM address (".concat(recipient, ")"));
|
|
102
|
+
(0, assert_1.default)(repaymentAddress.isValidOn(repaymentChainId), "getFillRelayTx: repayment address ".concat(repaymentAddress, " not valid on chain ").concat(repaymentChainId, ")"));
|
|
96
103
|
program = (0, svm_1.toAddress)(this.spokePool);
|
|
97
|
-
|
|
98
|
-
? (0, utils_1.toAddressType)(_relayer, deposit.destinationChainId).forceSvmAddress()
|
|
99
|
-
: this.simulatedRelayerAddress;
|
|
100
|
-
_relayDataHash = (0, utils_1.getRelayDataHash)(deposit, destinationChainId);
|
|
104
|
+
_relayDataHash = (0, utils_1.getRelayDataHash)(relayData, destinationChainId);
|
|
101
105
|
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
102
106
|
return [4, Promise.all([
|
|
103
107
|
(0, svm_1.getStatePda)(program),
|
|
104
|
-
(0, svm_1.getFillRelayDelegatePda)(relayDataHash, BigInt(repaymentChainId),
|
|
108
|
+
(0, svm_1.getFillRelayDelegatePda)(relayDataHash, BigInt(repaymentChainId), (0, svm_1.toAddress)(repaymentAddress), program),
|
|
105
109
|
])];
|
|
106
110
|
case 1:
|
|
107
111
|
_a = _c.sent(), state = _a[0], delegate = _a[1];
|
|
108
|
-
|
|
109
|
-
mint = (0, svm_1.toAddress)(_mint);
|
|
112
|
+
mint = (0, svm_1.toAddress)(outputToken);
|
|
110
113
|
return [4, (0, token_1.fetchMint)(this.provider, mint)];
|
|
111
114
|
case 2:
|
|
112
115
|
mintInfo = _c.sent();
|
|
113
116
|
return [4, Promise.all([
|
|
114
|
-
(0, svm_1.getAssociatedTokenAddress)(
|
|
115
|
-
(0, svm_1.getAssociatedTokenAddress)(utils_1.SvmAddress.from(relayer.toBase58()),
|
|
116
|
-
(0, svm_1.getFillStatusPda)(program,
|
|
117
|
-
(0, svm_1.getEventAuthority)(),
|
|
117
|
+
(0, svm_1.getAssociatedTokenAddress)(recipient, outputToken, mintInfo.programAddress),
|
|
118
|
+
(0, svm_1.getAssociatedTokenAddress)(utils_1.SvmAddress.from(relayer.toBase58()), outputToken, mintInfo.programAddress),
|
|
119
|
+
(0, svm_1.getFillStatusPda)(program, relayData, destinationChainId),
|
|
120
|
+
(0, svm_1.getEventAuthority)(program),
|
|
118
121
|
])];
|
|
119
122
|
case 3:
|
|
120
123
|
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
121
|
-
|
|
122
|
-
depositor:
|
|
123
|
-
recipient:
|
|
124
|
-
exclusiveRelayer:
|
|
125
|
-
inputToken:
|
|
124
|
+
svmRelayData = {
|
|
125
|
+
depositor: (0, svm_1.toAddress)(depositor),
|
|
126
|
+
recipient: (0, svm_1.toAddress)(recipient),
|
|
127
|
+
exclusiveRelayer: (0, svm_1.toAddress)(exclusiveRelayer),
|
|
128
|
+
inputToken: (0, svm_1.toAddress)(inputToken),
|
|
126
129
|
outputToken: mint,
|
|
127
|
-
inputAmount:
|
|
128
|
-
outputAmount:
|
|
129
|
-
originChainId:
|
|
130
|
-
depositId: new Uint8Array((0, conversionUtils_1.intToU8Array32)(
|
|
131
|
-
fillDeadline:
|
|
132
|
-
exclusivityDeadline:
|
|
133
|
-
message: new Uint8Array(Buffer.from(
|
|
130
|
+
inputAmount: relayData.inputAmount.toBigInt(),
|
|
131
|
+
outputAmount: relayData.outputAmount.toBigInt(),
|
|
132
|
+
originChainId: relayData.originChainId,
|
|
133
|
+
depositId: new Uint8Array((0, conversionUtils_1.intToU8Array32)(relayData.depositId.toNumber())),
|
|
134
|
+
fillDeadline: relayData.fillDeadline,
|
|
135
|
+
exclusivityDeadline: relayData.exclusivityDeadline,
|
|
136
|
+
message: new Uint8Array(Buffer.from(relayData.message, "hex")),
|
|
134
137
|
};
|
|
135
138
|
simulatedSigner = (0, svm_1.SolanaVoidSigner)(relayer.toBase58());
|
|
136
139
|
fillInput = {
|
|
@@ -147,9 +150,9 @@ var SvmQuery = (function () {
|
|
|
147
150
|
eventAuthority: eventAuthority,
|
|
148
151
|
program: program,
|
|
149
152
|
relayHash: relayDataHash,
|
|
150
|
-
relayData:
|
|
153
|
+
relayData: svmRelayData,
|
|
151
154
|
repaymentChainId: BigInt(repaymentChainId),
|
|
152
|
-
repaymentAddress:
|
|
155
|
+
repaymentAddress: (0, svm_1.toAddress)(repaymentAddress),
|
|
153
156
|
};
|
|
154
157
|
return [2, (0, svm_1.createFillInstruction)(simulatedSigner, this.provider, fillInput, mintInfo.data.decimals, true)];
|
|
155
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
|