@across-protocol/sdk 4.2.15 → 4.2.16-alpha.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/evm/SpokeUtils.d.ts +6 -2
- package/dist/cjs/arch/evm/SpokeUtils.js +21 -6
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/cjs/arch/svm/SpokeUtils.js +66 -67
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +3 -1
- package/dist/cjs/arch/svm/utils.js +20 -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 +60 -56
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +13 -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 +63 -63
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +11 -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 +83 -58
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +64 -45
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.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/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 +13 -13
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -10
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +5 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +41 -48
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +7 -7
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +12 -13
- package/dist/cjs/utils/AddressUtils.js +44 -46
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.js +1 -1
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +3 -3
- package/dist/cjs/utils/SpokeUtils.js +4 -22
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +4 -4
- package/dist/cjs/utils/TokenUtils.js +4 -6
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +6 -2
- package/dist/esm/arch/evm/SpokeUtils.js +22 -7
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/esm/arch/svm/SpokeUtils.js +70 -71
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +6 -1
- package/dist/esm/arch/svm/utils.js +21 -13
- 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 +61 -57
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +14 -14
- 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 +5 -3
- 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 +63 -63
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +12 -9
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +23 -22
- package/dist/esm/clients/HubPoolClient.js +97 -63
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +67 -47
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.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/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 +13 -13
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +11 -11
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +43 -50
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +8 -8
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +13 -14
- package/dist/esm/utils/AddressUtils.js +50 -56
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.js +2 -2
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +3 -8
- package/dist/esm/utils/SpokeUtils.js +4 -26
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +4 -16
- package/dist/esm/utils/TokenUtils.js +5 -7
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +6 -2
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +6 -2
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +6 -1
- 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 +63 -63
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +23 -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/SpokePoolClient.d.ts +2 -2
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.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/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 +13 -13
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -6
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +13 -14
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +3 -8
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +4 -16
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/arch/evm/SpokeUtils.ts +52 -12
- package/src/arch/svm/SpokeUtils.ts +102 -51
- package/src/arch/svm/utils.ts +11 -4
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -4
- package/src/clients/BundleDataClient/BundleDataClient.ts +57 -53
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +28 -13
- package/src/clients/BundleDataClient/utils/FillUtils.ts +10 -4
- 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 +13 -9
- package/src/clients/HubPoolClient.ts +126 -82
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +6 -0
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +118 -35
- package/src/clients/mocks/MockHubPoolClient.ts +24 -19
- package/src/clients/mocks/MockSpokePoolClient.ts +39 -27
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +12 -3
- package/src/interfaces/HubPool.ts +23 -14
- package/src/interfaces/SpokePool.ts +13 -13
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +14 -12
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +41 -44
- package/src/relayFeeCalculator/relayFeeCalculator.ts +20 -12
- package/src/utils/AddressUtils.ts +58 -60
- package/src/utils/EventUtils.ts +2 -2
- package/src/utils/SpokeUtils.ts +11 -33
- package/src/utils/TokenUtils.ts +10 -11
|
@@ -2,7 +2,7 @@ import { L2Provider } from "@eth-optimism/sdk/dist/interfaces/l2-provider";
|
|
|
2
2
|
import { PopulatedTransaction, providers } from "ethers";
|
|
3
3
|
import { Deposit } from "../../interfaces";
|
|
4
4
|
import { SpokePool } from "../../typechain";
|
|
5
|
-
import { BigNumberish, TransactionCostEstimate, BigNumber } from "../../utils";
|
|
5
|
+
import { BigNumberish, 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";
|
|
@@ -46,7 +46,7 @@ export declare class QueryBase implements QueryInterface {
|
|
|
46
46
|
* @param options.transport Optional transport object for custom gas price retrieval.
|
|
47
47
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
48
48
|
*/
|
|
49
|
-
getGasCosts(deposit: Omit<Deposit, "messageHash">, relayer?:
|
|
49
|
+
getGasCosts(deposit: Omit<Deposit, "messageHash">, relayer?: Address, options?: Partial<{
|
|
50
50
|
gasPrice: BigNumberish;
|
|
51
51
|
gasUnits: BigNumberish;
|
|
52
52
|
baseFeeMultiplier: BigNumber;
|
|
@@ -60,14 +60,14 @@ export declare class QueryBase implements QueryInterface {
|
|
|
60
60
|
* @param relayer Sender of PopulatedTransaction
|
|
61
61
|
* @returns PopulatedTransaction
|
|
62
62
|
*/
|
|
63
|
-
getUnsignedTxFromDeposit(deposit: Omit<Deposit, "messageHash">, relayer?:
|
|
63
|
+
getUnsignedTxFromDeposit(deposit: Omit<Deposit, "messageHash">, relayer?: Address): Promise<PopulatedTransaction>;
|
|
64
64
|
/**
|
|
65
65
|
* @notice Return the gas cost of a simulated transaction
|
|
66
66
|
* @param deposit
|
|
67
67
|
* @param relayer Sender of PopulatedTransaction
|
|
68
68
|
* @returns Estimated gas cost based on ethers.VoidSigner's gas estimation
|
|
69
69
|
*/
|
|
70
|
-
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, relayer?:
|
|
70
|
+
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, relayer?: Address): Promise<BigNumber>;
|
|
71
71
|
/**
|
|
72
72
|
* @notice Return L1 data fee for OP stack L2 transaction, which is based on L2 calldata.
|
|
73
73
|
* @dev https://docs.optimism.io/stack/transactions/fees#l1-data-fee
|
|
@@ -76,7 +76,7 @@ export declare class QueryBase implements QueryInterface {
|
|
|
76
76
|
* @param options Specify gas units to avoid additional gas estimation call and multiplier for L1 data fee
|
|
77
77
|
* @returns BigNumber L1 data fee in gas units
|
|
78
78
|
*/
|
|
79
|
-
getOpStackL1DataFee(unsignedTx: PopulatedTransaction, relayer:
|
|
79
|
+
getOpStackL1DataFee(unsignedTx: PopulatedTransaction, relayer: Address | undefined, options: Partial<{
|
|
80
80
|
opStackL2GasUnits: BigNumberish;
|
|
81
81
|
opStackL1DataFeeMultiplier: BigNumber;
|
|
82
82
|
}>): Promise<BigNumber>;
|
|
@@ -91,7 +91,7 @@ export declare class QueryBase implements QueryInterface {
|
|
|
91
91
|
* @param options.transport A custom transport object for custom gas price retrieval.
|
|
92
92
|
* @returns Estimated cost in units of gas and the underlying gas token (gasPrice * estimatedGasUnits).
|
|
93
93
|
*/
|
|
94
|
-
estimateGas(unsignedTx: PopulatedTransaction, senderAddress:
|
|
94
|
+
estimateGas(unsignedTx: PopulatedTransaction, senderAddress: Address, provider: providers.Provider | L2Provider<providers.Provider>, options?: Partial<{
|
|
95
95
|
gasPrice: BigNumberish;
|
|
96
96
|
gasUnits: BigNumberish;
|
|
97
97
|
baseFeeMultiplier: BigNumber;
|
|
@@ -5,7 +5,7 @@ import { Coingecko } from "../../coingecko";
|
|
|
5
5
|
import { CHAIN_IDs } from "../../constants";
|
|
6
6
|
import { SpokePool__factory } from "../../typechain";
|
|
7
7
|
import { populateV3Relay } from "../../arch/evm";
|
|
8
|
-
import { BigNumber, toBNWei, bnZero, chainIsOPStack, fixedPointAdjustment, } from "../../utils";
|
|
8
|
+
import { BigNumber, toBNWei, bnZero, chainIsOPStack, fixedPointAdjustment, toAddressType, } from "../../utils";
|
|
9
9
|
import assert from "assert";
|
|
10
10
|
import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
|
|
11
11
|
import { getGasPriceEstimate } from "../../gasPriceOracle";
|
|
@@ -48,7 +48,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
48
48
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
49
49
|
*/
|
|
50
50
|
QueryBase.prototype.getGasCosts = function (deposit, relayer, options) {
|
|
51
|
-
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
51
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
52
52
|
if (options === void 0) { options = {}; }
|
|
53
53
|
return __awaiter(this, void 0, void 0, function () {
|
|
54
54
|
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
@@ -86,7 +86,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
86
86
|
* @returns PopulatedTransaction
|
|
87
87
|
*/
|
|
88
88
|
QueryBase.prototype.getUnsignedTxFromDeposit = function (deposit, relayer) {
|
|
89
|
-
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
89
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
90
90
|
return populateV3Relay(this.spokePool, deposit, relayer);
|
|
91
91
|
};
|
|
92
92
|
/**
|
|
@@ -96,7 +96,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
96
96
|
* @returns Estimated gas cost based on ethers.VoidSigner's gas estimation
|
|
97
97
|
*/
|
|
98
98
|
QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
|
|
99
|
-
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
99
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
100
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
101
|
var unsignedTx, voidSigner;
|
|
102
102
|
return __generator(this, function (_a) {
|
|
@@ -104,7 +104,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
104
104
|
case 0: return [4 /*yield*/, this.getUnsignedTxFromDeposit(deposit, relayer)];
|
|
105
105
|
case 1:
|
|
106
106
|
unsignedTx = _a.sent();
|
|
107
|
-
voidSigner = new VoidSigner(relayer, this.provider);
|
|
107
|
+
voidSigner = new VoidSigner(relayer.toEvmAddress(), this.provider);
|
|
108
108
|
return [2 /*return*/, voidSigner.estimateGas(unsignedTx)];
|
|
109
109
|
}
|
|
110
110
|
});
|
|
@@ -119,7 +119,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
119
119
|
* @returns BigNumber L1 data fee in gas units
|
|
120
120
|
*/
|
|
121
121
|
QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
|
|
122
|
-
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(unsignedTx.chainId); }
|
|
122
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(unsignedTx.chainId), CHAIN_IDs.MAINNET); }
|
|
123
123
|
return __awaiter(this, void 0, void 0, function () {
|
|
124
124
|
var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
|
|
125
125
|
return __generator(this, function (_c) {
|
|
@@ -130,7 +130,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
130
130
|
case 1:
|
|
131
131
|
chainId = (_c.sent()).chainId;
|
|
132
132
|
assert(isOptimismL2Provider(this.provider), "Unexpected provider for chain ID ".concat(chainId, "."));
|
|
133
|
-
voidSigner = new VoidSigner(relayer, this.provider);
|
|
133
|
+
voidSigner = new VoidSigner(relayer.toEvmAddress(), this.provider);
|
|
134
134
|
return [4 /*yield*/, voidSigner.populateTransaction(__assign(__assign({}, unsignedTx), { gasLimit: opStackL2GasUnits }))];
|
|
135
135
|
case 2:
|
|
136
136
|
populatedTransaction = _c.sent();
|
|
@@ -156,7 +156,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
156
156
|
QueryBase.prototype.estimateGas = function (unsignedTx, senderAddress, provider, options) {
|
|
157
157
|
if (options === void 0) { options = {}; }
|
|
158
158
|
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
-
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost,
|
|
159
|
+
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, gasPriceEstimate, gasPrice, tokenGasCost, opStackL1GasCost, l2GasCost;
|
|
160
160
|
return __generator(this, function (_f) {
|
|
161
161
|
switch (_f.label) {
|
|
162
162
|
case 0:
|
|
@@ -164,7 +164,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
164
164
|
return [4 /*yield*/, provider.getNetwork()];
|
|
165
165
|
case 1:
|
|
166
166
|
chainId = (_f.sent()).chainId;
|
|
167
|
-
voidSigner = new VoidSigner(senderAddress, provider);
|
|
167
|
+
voidSigner = new VoidSigner(senderAddress.toEvmAddress(), provider);
|
|
168
168
|
queries = [
|
|
169
169
|
gasUnits ? Promise.resolve(BigNumber.from(gasUnits)) : voidSigner.estimateGas(unsignedTx),
|
|
170
170
|
_gasPrice
|
|
@@ -173,8 +173,8 @@ var QueryBase = /** @class */ (function () {
|
|
|
173
173
|
];
|
|
174
174
|
return [4 /*yield*/, Promise.all(queries)];
|
|
175
175
|
case 2:
|
|
176
|
-
_e = _f.sent(), nativeGasCost = _e[0],
|
|
177
|
-
gasPrice =
|
|
176
|
+
_e = _f.sent(), nativeGasCost = _e[0], gasPriceEstimate = _e[1];
|
|
177
|
+
gasPrice = gasPriceEstimate.maxFeePerGas;
|
|
178
178
|
assert(nativeGasCost.gt(bnZero), "Gas cost should not be 0");
|
|
179
179
|
if (!chainIsOPStack(chainId)) return [3 /*break*/, 4];
|
|
180
180
|
return [4 /*yield*/, this.getOpStackL1DataFee(unsignedTx, senderAddress, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAmC,UAAU,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAa,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAGL,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,oBAAoB,
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { SymbolMappingType } from "./";
|
|
|
10
10
|
export declare class SvmQuery implements QueryInterface {
|
|
11
11
|
readonly provider: SVMProvider;
|
|
12
12
|
readonly symbolMapping: SymbolMappingType;
|
|
13
|
-
readonly
|
|
13
|
+
readonly spokePool: SvmAddress;
|
|
14
14
|
readonly simulatedRelayerAddress: SvmAddress;
|
|
15
15
|
readonly logger: Logger;
|
|
16
16
|
readonly coingeckoProApiKey?: string | undefined;
|
|
@@ -27,14 +27,14 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
27
27
|
* Instantiates a SvmQuery instance
|
|
28
28
|
* @param provider A valid solana/kit rpc client.
|
|
29
29
|
* @param symbolMapping A mapping to valid ERC20 tokens and their respective characteristics
|
|
30
|
-
* @param
|
|
30
|
+
* @param spokePool The valid address of the Spoke Pool deployment
|
|
31
31
|
* @param simulatedRelayerAddress The address that these queries will reference as the sender. Note: This address must be approved for USDC
|
|
32
32
|
* @param logger A logging utility to report logs
|
|
33
33
|
* @param coingeckoProApiKey An optional CoinGecko API key that links to a PRO account
|
|
34
34
|
* @param fixedGasPrice Overrides the gas price with a fixed value. Note: primarily used for the Boba blockchain
|
|
35
35
|
* @param coingeckoBaseCurrency The basis currency that CoinGecko will use to resolve pricing
|
|
36
36
|
*/
|
|
37
|
-
constructor(provider: SVMProvider, symbolMapping: SymbolMappingType,
|
|
37
|
+
constructor(provider: SVMProvider, symbolMapping: SymbolMappingType, spokePool: SvmAddress, simulatedRelayerAddress: SvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
|
|
38
38
|
/**
|
|
39
39
|
* Retrieves the current gas costs of performing a fillRelay contract at the referenced SpokePool.
|
|
40
40
|
* @param deposit V3 deposit instance.
|
|
@@ -45,7 +45,7 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
45
45
|
* @param options.transport Optional transport object for custom gas price retrieval.
|
|
46
46
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
47
47
|
*/
|
|
48
|
-
getGasCosts(deposit: Omit<Deposit, "messageHash">,
|
|
48
|
+
getGasCosts(deposit: Omit<Deposit, "messageHash">, relayer?: import("../../utils").Address, options?: Partial<{
|
|
49
49
|
gasPrice: BigNumberish;
|
|
50
50
|
gasUnits: BigNumberish;
|
|
51
51
|
baseFeeMultiplier: BigNumber;
|
|
@@ -57,14 +57,14 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
57
57
|
* @param relayer SVM address of the relayer
|
|
58
58
|
* @returns Estimated gas cost in compute units
|
|
59
59
|
*/
|
|
60
|
-
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?:
|
|
60
|
+
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: import("../../utils").Address): Promise<BigNumber>;
|
|
61
61
|
/**
|
|
62
62
|
* @notice Return the fillRelay transaction for a given deposit
|
|
63
63
|
* @param deposit
|
|
64
64
|
* @param relayer SVM address of the relayer
|
|
65
65
|
* @returns FillRelay transaction
|
|
66
66
|
*/
|
|
67
|
-
getFillRelayTx(deposit: Omit<Deposit, "messageHash">,
|
|
67
|
+
getFillRelayTx(deposit: Omit<Deposit, "messageHash">, relayer?: import("../../utils").Address, repaymentChainId?: number, repaymentAddress?: import("../../utils").Address): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayerSigner<string, import("@solana/kit").TransactionSigner<string>> & Omit<Readonly<{
|
|
68
68
|
instructions: readonly import("@solana/kit").IInstruction<string, readonly (import("@solana/kit").IAccountLookupMeta<string, string> | import("@solana/kit").IAccountMeta<string>)[]>[];
|
|
69
69
|
version: 0;
|
|
70
70
|
}>, "feePayer">>;
|
|
@@ -3,7 +3,7 @@ import { intToU8Array32 } from "@across-protocol/contracts/dist/src/svm/web3-v1/
|
|
|
3
3
|
import { SYSTEM_PROGRAM_ADDRESS } from "@solana-program/system";
|
|
4
4
|
import { ASSOCIATED_TOKEN_PROGRAM_ADDRESS, fetchMint } from "@solana-program/token";
|
|
5
5
|
import { getComputeUnitEstimateForTransactionMessageFactory } from "@solana/kit";
|
|
6
|
-
import { SolanaVoidSigner, createFillInstruction, getAssociatedTokenAddress, getEventAuthority, getFillRelayDelegatePda, getFillStatusPda, getStatePda, } from "../../arch/svm";
|
|
6
|
+
import { SolanaVoidSigner, createFillInstruction, getAssociatedTokenAddress, getEventAuthority, getFillRelayDelegatePda, getFillStatusPda, getStatePda, toAddress, } from "../../arch/svm";
|
|
7
7
|
import { Coingecko } from "../../coingecko";
|
|
8
8
|
import { CHAIN_IDs } from "../../constants";
|
|
9
9
|
import { getGasPriceEstimate } from "../../gasPriceOracle";
|
|
@@ -18,18 +18,18 @@ var SvmQuery = /** @class */ (function () {
|
|
|
18
18
|
* Instantiates a SvmQuery instance
|
|
19
19
|
* @param provider A valid solana/kit rpc client.
|
|
20
20
|
* @param symbolMapping A mapping to valid ERC20 tokens and their respective characteristics
|
|
21
|
-
* @param
|
|
21
|
+
* @param spokePool The valid address of the Spoke Pool deployment
|
|
22
22
|
* @param simulatedRelayerAddress The address that these queries will reference as the sender. Note: This address must be approved for USDC
|
|
23
23
|
* @param logger A logging utility to report logs
|
|
24
24
|
* @param coingeckoProApiKey An optional CoinGecko API key that links to a PRO account
|
|
25
25
|
* @param fixedGasPrice Overrides the gas price with a fixed value. Note: primarily used for the Boba blockchain
|
|
26
26
|
* @param coingeckoBaseCurrency The basis currency that CoinGecko will use to resolve pricing
|
|
27
27
|
*/
|
|
28
|
-
function SvmQuery(provider, symbolMapping,
|
|
28
|
+
function SvmQuery(provider, symbolMapping, spokePool, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
|
|
29
29
|
if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
|
|
30
30
|
this.provider = provider;
|
|
31
31
|
this.symbolMapping = symbolMapping;
|
|
32
|
-
this.
|
|
32
|
+
this.spokePool = spokePool;
|
|
33
33
|
this.simulatedRelayerAddress = simulatedRelayerAddress;
|
|
34
34
|
this.logger = logger;
|
|
35
35
|
this.coingeckoProApiKey = coingeckoProApiKey;
|
|
@@ -49,16 +49,14 @@ var SvmQuery = /** @class */ (function () {
|
|
|
49
49
|
* @param options.transport Optional transport object for custom gas price retrieval.
|
|
50
50
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
51
51
|
*/
|
|
52
|
-
SvmQuery.prototype.getGasCosts = function (deposit,
|
|
53
|
-
if (
|
|
52
|
+
SvmQuery.prototype.getGasCosts = function (deposit, relayer, options) {
|
|
53
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
54
54
|
if (options === void 0) { options = {}; }
|
|
55
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var
|
|
56
|
+
var fillRelayTx, _a, computeUnitsConsumed, gasPriceEstimate, _b, _c, _d, gasPrice;
|
|
57
57
|
return __generator(this, function (_e) {
|
|
58
58
|
switch (_e.label) {
|
|
59
|
-
case 0:
|
|
60
|
-
relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
|
|
61
|
-
return [4 /*yield*/, this.getFillRelayTx(deposit, relayer.toBase58())];
|
|
59
|
+
case 0: return [4 /*yield*/, this.getFillRelayTx(deposit, relayer)];
|
|
62
60
|
case 1:
|
|
63
61
|
fillRelayTx = _e.sent();
|
|
64
62
|
_c = (_b = Promise).all;
|
|
@@ -73,8 +71,7 @@ var SvmQuery = /** @class */ (function () {
|
|
|
73
71
|
})
|
|
74
72
|
]])];
|
|
75
73
|
case 3:
|
|
76
|
-
_a = _e.sent(), computeUnitsConsumed = _a[0],
|
|
77
|
-
gasPriceEstimate = _gasPriceEstimate;
|
|
74
|
+
_a = _e.sent(), computeUnitsConsumed = _a[0], gasPriceEstimate = _a[1];
|
|
78
75
|
gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
|
|
79
76
|
);
|
|
80
77
|
return [2 /*return*/, {
|
|
@@ -93,7 +90,7 @@ var SvmQuery = /** @class */ (function () {
|
|
|
93
90
|
* @returns Estimated gas cost in compute units
|
|
94
91
|
*/
|
|
95
92
|
SvmQuery.prototype.getNativeGasCost = function (deposit, _relayer) {
|
|
96
|
-
if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
93
|
+
if (_relayer === void 0) { _relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
97
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
98
95
|
var fillRelayTx, _a;
|
|
99
96
|
return __generator(this, function (_b) {
|
|
@@ -114,47 +111,43 @@ var SvmQuery = /** @class */ (function () {
|
|
|
114
111
|
* @param relayer SVM address of the relayer
|
|
115
112
|
* @returns FillRelay transaction
|
|
116
113
|
*/
|
|
117
|
-
SvmQuery.prototype.getFillRelayTx = function (deposit,
|
|
118
|
-
if (
|
|
114
|
+
SvmQuery.prototype.getFillRelayTx = function (deposit, relayer, repaymentChainId, repaymentAddress) {
|
|
115
|
+
if (relayer === void 0) { relayer = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
119
116
|
if (repaymentChainId === void 0) { repaymentChainId = deposit.destinationChainId; }
|
|
120
|
-
if (repaymentAddress === void 0) { repaymentAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
117
|
+
if (repaymentAddress === void 0) { repaymentAddress = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
121
118
|
return __awaiter(this, void 0, void 0, function () {
|
|
122
|
-
var
|
|
123
|
-
return __generator(this, function (
|
|
124
|
-
switch (
|
|
119
|
+
var depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId, program, _relayDataHash, relayDataHash, _a, state, delegate, mint, mintInfo, _b, recipientAta, relayerAta, fillStatus, eventAuthority, relayData, simulatedSigner, fillInput;
|
|
120
|
+
return __generator(this, function (_c) {
|
|
121
|
+
switch (_c.label) {
|
|
125
122
|
case 0:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
case 1:
|
|
130
|
-
state = _a.sent();
|
|
131
|
-
_relayDataHash = getRelayDataHash(deposit, deposit.destinationChainId);
|
|
123
|
+
depositor = deposit.depositor, recipient = deposit.recipient, inputToken = deposit.inputToken, outputToken = deposit.outputToken, exclusiveRelayer = deposit.exclusiveRelayer, destinationChainId = deposit.destinationChainId;
|
|
124
|
+
program = toAddress(this.spokePool);
|
|
125
|
+
_relayDataHash = getRelayDataHash(deposit, destinationChainId);
|
|
132
126
|
relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
133
|
-
return [4 /*yield*/,
|
|
127
|
+
return [4 /*yield*/, Promise.all([
|
|
128
|
+
getStatePda(program),
|
|
129
|
+
getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
|
|
130
|
+
])];
|
|
131
|
+
case 1:
|
|
132
|
+
_a = _c.sent(), state = _a[0], delegate = _a[1];
|
|
133
|
+
mint = toAddress(outputToken);
|
|
134
|
+
return [4 /*yield*/, fetchMint(this.provider, mint)];
|
|
134
135
|
case 2:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
mintInfo = _c.sent();
|
|
137
|
+
return [4 /*yield*/, Promise.all([
|
|
138
|
+
getAssociatedTokenAddress(deposit.recipient, outputToken, mintInfo.programAddress),
|
|
139
|
+
getAssociatedTokenAddress(SvmAddress.from(relayer.toBase58()), outputToken, mintInfo.programAddress),
|
|
140
|
+
getFillStatusPda(program, deposit, destinationChainId),
|
|
141
|
+
getEventAuthority(program),
|
|
142
|
+
])];
|
|
138
143
|
case 3:
|
|
139
|
-
|
|
140
|
-
return [4 /*yield*/, getAssociatedTokenAddress(toAddressType(deposit.recipient).forceSvmAddress(), mint, mintInfo.programAddress)];
|
|
141
|
-
case 4:
|
|
142
|
-
recipientAta = _a.sent();
|
|
143
|
-
return [4 /*yield*/, getAssociatedTokenAddress(SvmAddress.from(relayer.toBase58()), mint, mintInfo.programAddress)];
|
|
144
|
-
case 5:
|
|
145
|
-
relayerAta = _a.sent();
|
|
146
|
-
return [4 /*yield*/, getFillStatusPda(this.spokePoolAddress.toV2Address(), deposit, deposit.destinationChainId)];
|
|
147
|
-
case 6:
|
|
148
|
-
fillStatus = _a.sent();
|
|
149
|
-
return [4 /*yield*/, getEventAuthority()];
|
|
150
|
-
case 7:
|
|
151
|
-
eventAuthority = _a.sent();
|
|
144
|
+
_b = _c.sent(), recipientAta = _b[0], relayerAta = _b[1], fillStatus = _b[2], eventAuthority = _b[3];
|
|
152
145
|
relayData = {
|
|
153
|
-
depositor:
|
|
154
|
-
recipient:
|
|
155
|
-
exclusiveRelayer:
|
|
156
|
-
inputToken:
|
|
157
|
-
outputToken: mint
|
|
146
|
+
depositor: toAddress(depositor),
|
|
147
|
+
recipient: toAddress(recipient),
|
|
148
|
+
exclusiveRelayer: toAddress(exclusiveRelayer),
|
|
149
|
+
inputToken: toAddress(inputToken),
|
|
150
|
+
outputToken: mint,
|
|
158
151
|
inputAmount: deposit.inputAmount.toBigInt(),
|
|
159
152
|
outputAmount: deposit.outputAmount.toBigInt(),
|
|
160
153
|
originChainId: deposit.originChainId,
|
|
@@ -168,7 +161,7 @@ var SvmQuery = /** @class */ (function () {
|
|
|
168
161
|
signer: simulatedSigner,
|
|
169
162
|
state: state,
|
|
170
163
|
delegate: delegate,
|
|
171
|
-
mint: mint
|
|
164
|
+
mint: mint,
|
|
172
165
|
relayerTokenAccount: relayerAta,
|
|
173
166
|
recipientTokenAccount: recipientAta,
|
|
174
167
|
fillStatus: fillStatus,
|
|
@@ -176,11 +169,11 @@ var SvmQuery = /** @class */ (function () {
|
|
|
176
169
|
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ADDRESS,
|
|
177
170
|
systemProgram: SYSTEM_PROGRAM_ADDRESS,
|
|
178
171
|
eventAuthority: eventAuthority,
|
|
179
|
-
program:
|
|
172
|
+
program: program,
|
|
180
173
|
relayHash: relayDataHash,
|
|
181
174
|
relayData: relayData,
|
|
182
175
|
repaymentChainId: BigInt(repaymentChainId),
|
|
183
|
-
repaymentAddress:
|
|
176
|
+
repaymentAddress: toAddress(repaymentAddress),
|
|
184
177
|
};
|
|
185
178
|
// Pass createRecipientAtaIfNeeded =true to the createFillInstruction function to create the recipient token account
|
|
186
179
|
// if it doesn't exist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gCAAgC,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,kDAAkD,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAEL,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Transport } from "viem";
|
|
2
2
|
import { Deposit } from "../interfaces";
|
|
3
|
-
import { BigNumber, BigNumberish, TransactionCostEstimate } from "../utils";
|
|
3
|
+
import { BigNumber, BigNumberish, TransactionCostEstimate, Address } from "../utils";
|
|
4
4
|
export interface QueryInterface {
|
|
5
|
-
getGasCosts: (deposit: Omit<Deposit, "messageHash">, relayer:
|
|
5
|
+
getGasCosts: (deposit: Omit<Deposit, "messageHash">, relayer: Address, options?: Partial<{
|
|
6
6
|
gasPrice: BigNumberish;
|
|
7
7
|
gasUnits: BigNumberish;
|
|
8
8
|
baseFeeMultiplier: BigNumber;
|
|
@@ -11,7 +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:
|
|
14
|
+
getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer: Address) => Promise<BigNumber>;
|
|
15
15
|
}
|
|
16
16
|
export declare const expectedCapitalCostsKeys: string[];
|
|
17
17
|
export interface CapitalCostConfig {
|
|
@@ -127,7 +127,7 @@ export declare class RelayFeeCalculator {
|
|
|
127
127
|
* a message & recipient contract is provided as this function may not simulate with
|
|
128
128
|
* the correct parameters to see a full fill.
|
|
129
129
|
*/
|
|
130
|
-
gasFeePercent(deposit: Deposit, outputAmount: BigNumberish, simulateZeroFill?: boolean, relayerAddress?:
|
|
130
|
+
gasFeePercent(deposit: Deposit, outputAmount: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, tokenMapping?: {
|
|
131
131
|
ACX: {
|
|
132
132
|
name: string;
|
|
133
133
|
symbol: string;
|
|
@@ -549,6 +549,6 @@ export declare class RelayFeeCalculator {
|
|
|
549
549
|
* @param gasUnits Optional gas units to use for the simulation
|
|
550
550
|
* @returns A resulting `RelayerFeeDetails` object
|
|
551
551
|
*/
|
|
552
|
-
relayerFeeDetails(deposit: Deposit, outputAmount?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?:
|
|
552
|
+
relayerFeeDetails(deposit: Deposit, outputAmount?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: Address, _tokenPrice?: number, gasPrice?: BigNumberish, gasUnits?: BigNumberish, tokenGasCost?: BigNumberish): Promise<RelayerFeeDetails>;
|
|
553
553
|
}
|
|
554
554
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
3
|
import { DEFAULT_SIMULATED_RELAYER_ADDRESS, DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM, TOKEN_SYMBOLS_MAP, } from "../constants";
|
|
4
|
-
import {
|
|
4
|
+
import { MAX_BIG_INT, bnZero, fixedPointAdjustment, getTokenInfo, isDefined, isZeroAddress, max, min, nativeToToken, percent, toBN, toBNWei, compareAddressesSimple, ConvertDecimals, chainIsSvm, toAddressType, } from "../utils";
|
|
5
5
|
export var expectedCapitalCostsKeys = ["lowerBound", "upperBound", "cutoff", "decimals"];
|
|
6
6
|
export var DEFAULT_LOGGER = {
|
|
7
7
|
debug: function () {
|
|
@@ -137,7 +137,7 @@ var RelayFeeCalculator = /** @class */ (function () {
|
|
|
137
137
|
*/
|
|
138
138
|
RelayFeeCalculator.prototype.gasFeePercent = function (deposit, outputAmount, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, _tokenGasCost, transport) {
|
|
139
139
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
140
|
-
if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
140
|
+
if (relayerAddress === void 0) { relayerAddress = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
141
141
|
if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
|
|
142
142
|
return __awaiter(this, void 0, void 0, function () {
|
|
143
143
|
var inputToken, destinationChainId, originChainId, destinationChainTokenDetails, outputToken, outputTokenInfo, inputTokenInfo, simulatedAmount, getGasCosts, _a, tokenGasCost, tokenPrice, gasFeesInToken;
|
|
@@ -149,14 +149,14 @@ var RelayFeeCalculator = /** @class */ (function () {
|
|
|
149
149
|
return [2 /*return*/, MAX_BIG_INT];
|
|
150
150
|
inputToken = deposit.inputToken, destinationChainId = deposit.destinationChainId, originChainId = deposit.originChainId;
|
|
151
151
|
destinationChainTokenDetails = Object.values(tokenMapping).find(function (details) {
|
|
152
|
-
return compareAddressesSimple(details.addresses[originChainId], inputToken) &&
|
|
152
|
+
return compareAddressesSimple(details.addresses[originChainId], inputToken.toNative()) &&
|
|
153
153
|
isDefined(details.addresses[destinationChainId]);
|
|
154
154
|
});
|
|
155
155
|
outputToken = isZeroAddress(deposit.outputToken)
|
|
156
156
|
? destinationChainTokenDetails.addresses[destinationChainId]
|
|
157
|
-
: deposit.outputToken;
|
|
157
|
+
: deposit.outputToken.toNative();
|
|
158
158
|
outputTokenInfo = getTokenInfo(outputToken, destinationChainId, tokenMapping);
|
|
159
|
-
inputTokenInfo = getTokenInfo(inputToken, originChainId, tokenMapping);
|
|
159
|
+
inputTokenInfo = getTokenInfo(inputToken.toNative(), originChainId, tokenMapping);
|
|
160
160
|
if (!isDefined(outputTokenInfo) || !isDefined(inputTokenInfo)) {
|
|
161
161
|
throw new Error("Could not find token information for ".concat(inputToken, " or ").concat(outputToken));
|
|
162
162
|
}
|
|
@@ -338,7 +338,7 @@ var RelayFeeCalculator = /** @class */ (function () {
|
|
|
338
338
|
*/
|
|
339
339
|
RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, outputAmount, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
|
|
340
340
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
341
|
-
if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
341
|
+
if (relayerAddress === void 0) { relayerAddress = toAddressType(getDefaultSimulatedRelayerAddress(deposit.destinationChainId), deposit.destinationChainId); }
|
|
342
342
|
return __awaiter(this, void 0, void 0, function () {
|
|
343
343
|
var inputToken, originChainId, outputToken, destinationChainId, inputTokenInfo, outputTokenInfo, gasFeePercent, outToInDecimals, gasFeeTotal, capitalFeePercent, capitalFeeTotal, relayFeePercent, relayFeeTotal, maxGasFeePercent, minDeposit, isAmountTooLow;
|
|
344
344
|
return __generator(this, function (_a) {
|
|
@@ -348,8 +348,8 @@ var RelayFeeCalculator = /** @class */ (function () {
|
|
|
348
348
|
// should use the full deposit amount.
|
|
349
349
|
outputAmount !== null && outputAmount !== void 0 ? outputAmount : (outputAmount = deposit.outputAmount);
|
|
350
350
|
inputToken = deposit.inputToken, originChainId = deposit.originChainId, outputToken = deposit.outputToken, destinationChainId = deposit.destinationChainId;
|
|
351
|
-
inputTokenInfo = getTokenInfo(inputToken, originChainId);
|
|
352
|
-
outputTokenInfo = getTokenInfo(outputToken, destinationChainId);
|
|
351
|
+
inputTokenInfo = getTokenInfo(inputToken.toNative(), originChainId);
|
|
352
|
+
outputTokenInfo = getTokenInfo(outputToken.toNative(), destinationChainId);
|
|
353
353
|
if (!isDefined(inputTokenInfo) || !isDefined(outputTokenInfo)) {
|
|
354
354
|
throw new Error("Could not find token information for ".concat(inputToken, " or ").concat(outputToken));
|
|
355
355
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,eAAe,EACf,WAAW,EAEX,MAAM,EACN,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,GAAG,EACH,GAAG,EACH,aAAa,EACb,OAAO,EACP,IAAI,EACJ,OAAO,GACR,MAAM,UAAU,CAAC;AAoBlB,MAAM,CAAC,IAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AA4D3F,MAAM,CAAC,IAAM,cAAc,GAAW;IACpC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;IACvC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;CACxC,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,iCAAiC,CAAC;AACxC,CAAC;AAED,8FAA8F;AAC9F,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnC;IAcE,4BAAY,MAAiC,EAAE,MAAe,EAAE,kBAA2B;QACzF,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;aAAM;YACL,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,+DAA+D,CAAC,CAAC;YAC1G,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,2CAA2C,CAAC,CAAC;YAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC5D,MAAM,CACJ,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,IAAI,GAAG,EAC9D,sDAAsD,CACvD,CAAC;QACF,MAAM,CACJ,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,IAAI,GAAG,EACtE,0DAA0D,CAC3D,CAAC;QACF,MAAM,CACJ,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG,EACxD,mDAAmD,CACpD,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAC,EAAqB;gBAApB,KAAK,QAAA,EAAE,YAAY,QAAA;YACjE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,8CAA8C,CAAC,YAAY,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,iDAAiD,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,cAAc,CAAC;QACvC,8DAA8D;QAC9D,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACY,8CAA2B,GAA1C,UACE,MAAqD;QAErD,OAAQ,MAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,iEAA8C,GAArD,UACE,YAA2D;QAE3D,uHAAuH;QACvH,8HAA8H;QAC9H,kDAAkD;QAClD,IAAM,MAAM,GAA8B,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC;YACtF,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,0DAA0D;QAC1D,KAA8B,UAA0C,EAA1C,KAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAArE,IAAM,eAAe,SAAA;YACxB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SACzE;QACD,kCAAkC;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1F,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,6CAA0B,GAAjC,UAAkC,YAA+B;QAC/D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACrF,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,0CAAa,GAAb,UAAc,WAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,0CAAa,GAAnB,UACE,OAAgB,EAChB,YAA0B,EAC1B,gBAAwB,EACxB,cAA8E,EAC9E,WAAoB,EACpB,YAAgC,EAChC,QAAuB,EACvB,QAAuB,EACvB,aAA4B,EAC5B,SAAqB;QAPrB,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,iCAAiC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAE9E,6BAAA,EAAA,gCAAgC;;;;;;;wBAMhC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;4BAAE,sBAAO,WAAW,EAAC;wBAE9C,UAAU,GAAwC,OAAO,WAA/C,EAAE,kBAAkB,GAAoB,OAAO,mBAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAa;wBAK5D,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACnE,UAAC,OAAO;4BACN,OAAA,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;gCACpE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;wBADhD,CACgD,CACnD,CAAC;wBACI,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;4BACpD,CAAC,CAAC,4BAA6B,CAAC,SAAS,CAAC,kBAAkB,CAAC;4BAC7D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;wBAClB,eAAe,GAAG,YAAY,CAAC,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;wBAC9E,cAAc,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC7E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;4BAC7D,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,iBAAO,WAAW,CAAE,CAAC,CAAC;yBACzF;wBAIK,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjF,OAAO,yBAAQ,OAAO,KAAE,YAAY,EAAE,eAAe,GAAE,CAAC;wBAElD,WAAW,GAAG,IAAI,CAAC,OAAO;6BAC7B,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,WAAA,EAAE,CAAC;6BACjF,IAAI,CAAC,UAAC,EAAgB;gCAAd,YAAY,kBAAA;4BAAO,OAAA,YAAY;wBAAZ,CAAY,CAAC;6BACxC,KAAK,CAAC,UAAC,KAAK;4BACX,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gCAChB,EAAE,EAAE,mBAAmB;gCACvB,OAAO,EAAE,gCAAgC;gCACzC,KAAK,OAAA;gCACL,gBAAgB,kBAAA;gCAChB,OAAO,SAAA;6BACR,CAAC,CAAC;4BACH,MAAM,KAAK,CAAC;wBACd,CAAC,CAAC,CAAC;wBAC8B,qBAAM,OAAO,CAAC,GAAG,CAAC;gCACnD,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;gCAC5D,WAAW,aAAX,WAAW,cAAX,WAAW,GACT,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;oCAC7D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wCAChB,EAAE,EAAE,mBAAmB;wCACvB,OAAO,EAAE,kCAAkC;wCAC3C,KAAK,OAAA;wCACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wCAC9C,UAAU,YAAA;qCACX,CAAC,CAAC;oCACH,MAAM,KAAK,CAAC;gCACd,CAAC,CAAC;6BACL,CAAC,EAAA;;wBAbI,KAA6B,SAajC,EAbK,YAAY,QAAA,EAAE,UAAU,QAAA;wBAczB,cAAc,GAAG,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBACnH,sBAAO,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAC;;;;KACzD;IAED,qHAAqH;IACrH,8CAAiB,GAAjB,UACE,aAA2B,EAC3B,YAAoB,EACpB,YAA8B,EAC9B,iBAAmC;;QAEnC,gEAAgE;QAChE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,WAAW,CAAC;QAExD,kEAAkE;QAClE,mEAAmE;QACnE,yBAAyB;QACzB,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,6CAAsC,YAAY,CAAE;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qDAA8C,YAAY,CAAE,CAAC,CAAC;SAC/E;QACD,gHAAgH;QAChH,6GAA6G;QAC7G,iHAAiH;QACjH,gCAAgC;aAC3B;YACH,0DAA0D;YAC1D,mDAAmD;YACnD,iCAAiC;YACjC,4BAA4B;YAC5B,oBAAoB;YACpB,IAAM,aAAa,GAAG,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,0CAAG,YAAY,IAAI,EAAE,CAAC,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,wBAAwB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,yBAAyB,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,mBAAmB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,oBAAoB,0CAAG,YAAY,IAAI,EAAE,CAAC,CAAC;YACxF,IAAM,MAAM,GACV,MAAA,MAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,wBAAwB,mCAAI,mBAAmB,mCAAI,eAAe,CAAC,OAAO,CAAC;YAE9F,qDAAqD;YACrD,IAAI,CAAC,qBAAqB,CACxB,YAAY,EACZ,YAAY,IAAI,EAAE,EAClB,iBAAiB,IAAI,EAAE,EACvB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;YAEF,mCAAmC;YACnC,IAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,6DAA6D;YAC7D,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAE3E,wGAAwG;YACxG,gEAAgE;YAChE,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAExC,mGAAmG;YACnG,gFAAgF;YAChF,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChG,IAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC9E,IAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,8GAA8G;YAC9G,SAAS;YACT,IAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAEjH,OAAO,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5F;IACH,CAAC;IAED;;;;;OAKG;IACK,oDAAuB,GAA/B;;gCACc,WAAW,EAAE,WAAW;YAClC,0DAA0D;YAC1D,IAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,+DAA+D;YAC/D,IAAM,UAAU,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC;YAE7F,sCAAsC;YACtC,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAC,WAAW;oBAC1D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,SAAS;wBACtE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YAED,6EAA6E;YAC7E,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;;aAErD;YAED,gFAAgF;YAChF,KAA0B,UAAwB,EAAxB,KAAA,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAxB,cAAwB,EAAxB,IAAwB,EAAE;gBAA/C,IAAM,WAAW,SAAA;gBACpB,KAAwB,UAAsB,EAAtB,KAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;oBAA3C,IAAM,SAAS,SAAA;oBAClB,IAAM,aAAa,GAAG,MAAA,MAAA,WAAW,CAAC,cAAc,0CAAG,WAAW,CAAC,0CAAG,SAAS,CAAC,CAAC;oBAC7E,IAAM,wBAAwB,GAAG,MAAA,WAAW,CAAC,yBAAyB,0CAAG,SAAS,CAAC,CAAC;oBACpF,IAAM,mBAAmB,GAAG,MAAA,WAAW,CAAC,oBAAoB,0CAAG,WAAW,CAAC,CAAC;oBAE5E,OAAK,qBAAqB,CACxB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;iBACH;aACF;;;QArCH,KAAyC,UAAuC,EAAvC,KAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAvC,cAAuC,EAAvC,IAAuC;YAArE,IAAA,WAA0B,EAAzB,WAAW,QAAA,EAAE,WAAW,QAAA;oBAAxB,WAAW,EAAE,WAAW;SAsCnC;IACH,CAAC;IAED;;;OAGG;IACK,kDAAqB,GAA7B,UACE,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,aAAiC,EACjC,wBAA4C,EAC5C,mBAAuC;QAEvC,IAAM,aAAa,GAAG,CAAC,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAE5G,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,IAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,kBAAkB,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,kDAA2C,WAAW,yBAAe,WAAW,uBAAa,SAAS,CAAE;gBACjH,UAAU,YAAA;gBACV,aAAa,eAAA;gBACb,wBAAwB,0BAAA;gBACxB,mBAAmB,qBAAA;aACpB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACG,8CAAiB,GAAvB,UACE,OAAgB,EAChB,YAA2B,EAC3B,gBAAwB,EACxB,cAA8E,EAC9E,WAAoB,EACpB,QAAuB,EACvB,QAAuB,EACvB,YAA2B;QAL3B,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,iCAAiC,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;;wBAM9E,kDAAkD;wBAClD,sCAAsC;wBACtC,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,OAAO,CAAC,YAAY,EAAC;wBAC9B,UAAU,GAAqD,OAAO,WAA5D,EAAE,aAAa,GAAsC,OAAO,cAA7C,EAAE,WAAW,GAAyB,OAAO,YAAhC,EAAE,kBAAkB,GAAK,OAAO,mBAAZ,CAAa;wBAGzE,cAAc,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;wBACzD,eAAe,GAAG,YAAY,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;wBACtE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;4BAC7D,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,iBAAO,WAAW,CAAE,CAAC,CAAC;yBACzF;wBAEqB,qBAAM,IAAI,CAAC,aAAa,CAC5C,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,EAAA;;wBAVK,aAAa,GAAG,SAUrB;wBACK,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;wBACrF,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;wBACpG,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,YAAY,EACZ,cAAc,CAAC,MAAM,EACrB,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CACtC,CAAC;wBACI,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;wBAC5G,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;wBACvD,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAQjD,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAIlG,IAAI,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;4BAChC,UAAU,GAAG,WAAW,CAAC;4BACzB,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;4BACzE,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;yBACpD;wBAED,sBAAO;gCACL,aAAa,EAAE,YAAY,CAAC,QAAQ,EAAE;gCACtC,WAAW,EAAE,cAAc,CAAC,MAAM;gCAClC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gCACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gCAC3C,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gCAC/C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gCACnD,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,eAAe,EAAE,IAAI,CAAC,eAAe;gCACrC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;gCAC7C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;gCACjC,cAAc,gBAAA;6BACf,EAAC;;;;KACH;IACH,yBAAC;AAAD,CAAC,AAhcD,IAgcC"}
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|