@across-protocol/sdk 3.4.3 → 3.4.5-beta.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/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +2 -2
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js +12 -10
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/linea.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/polygon.js +6 -4
- package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
- package/dist/cjs/gasPriceOracle/oracle.d.ts +1 -0
- package/dist/cjs/gasPriceOracle/oracle.js +12 -10
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +4 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +16 -13
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +4 -2
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -5
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +4 -0
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js +4 -0
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +5 -2
- package/dist/esm/gasPriceOracle/adapters/ethereum.js +15 -10
- package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/linea-viem.d.ts +5 -3
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js +5 -3
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/linea.d.ts +8 -0
- package/dist/esm/gasPriceOracle/adapters/linea.js +8 -0
- package/dist/esm/gasPriceOracle/adapters/linea.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/polygon.js +6 -4
- package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
- package/dist/esm/gasPriceOracle/oracle.d.ts +1 -0
- package/dist/esm/gasPriceOracle/oracle.js +12 -10
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +4 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +17 -14
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +4 -2
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -5
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/abi/typechain/Multicall3.d.ts +1 -4
- package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +4 -0
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +5 -2
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts +5 -3
- package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/linea.d.ts +8 -0
- package/dist/types/gasPriceOracle/adapters/linea.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/oracle.d.ts +1 -0
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +4 -0
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +4 -2
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/abi/typechain/Multicall3.d.ts +1 -4
- package/dist/types/utils/abi/typechain/Multicall3.d.ts.map +1 -1
- package/dist/types/utils/abi/typechain/common.d.ts.map +1 -1
- package/dist/types/utils/abi/typechain/factories/Multicall3__factory.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/gasPriceOracle/adapters/arbitrum.ts +4 -0
- package/src/gasPriceOracle/adapters/ethereum.ts +15 -8
- package/src/gasPriceOracle/adapters/linea-viem.ts +5 -3
- package/src/gasPriceOracle/adapters/linea.ts +8 -0
- package/src/gasPriceOracle/adapters/polygon.ts +5 -3
- package/src/gasPriceOracle/oracle.ts +9 -0
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +26 -4
- package/src/relayFeeCalculator/relayFeeCalculator.ts +10 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arbitrum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/arbitrum.ts"],"names":[],"mappings":";;;;AACA,qCAAoC;AAEpC,2DAAuC;
|
|
1
|
+
{"version":3,"file":"arbitrum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/arbitrum.ts"],"names":[],"mappings":";;;;AACA,qCAAoC;AAEpC,2DAAuC;AAevC,SAAsB,OAAO,CAAC,QAA4B,EAAE,IAA6B;;;;;wBACzB,WAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAA;;oBAA9F,KAAwD,SAAsC,EAA9E,aAAa,kBAAA,EAAE,oBAAoB,0BAAA;oBAInD,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,aAAK,CAAC,CAAC;oBAExE,WAAO,EAAE,oBAAoB,EAAE,aAAK,EAAE,YAAY,cAAA,EAAE,EAAC;;;;CACtD;AARD,0BAQC"}
|
|
@@ -3,6 +3,6 @@ import { BigNumber } from "../../utils";
|
|
|
3
3
|
import { GasPriceEstimate } from "../types";
|
|
4
4
|
import { GasPriceEstimateOptions } from "../oracle";
|
|
5
5
|
export declare function eip1559(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
|
|
6
|
-
export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
7
|
-
export declare function eip1559Bad(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
6
|
+
export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
7
|
+
export declare function eip1559Bad(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
8
8
|
export declare function legacy(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
|
|
@@ -8,13 +8,13 @@ var util_1 = require("../util");
|
|
|
8
8
|
function eip1559(provider, opts) {
|
|
9
9
|
var useRaw = process.env["GAS_PRICE_EIP1559_RAW_".concat(opts.chainId)] === "true";
|
|
10
10
|
return useRaw
|
|
11
|
-
? eip1559Raw(provider, opts.chainId, opts.baseFeeMultiplier)
|
|
12
|
-
: eip1559Bad(provider, opts.chainId, opts.baseFeeMultiplier);
|
|
11
|
+
? eip1559Raw(provider, opts.chainId, opts.baseFeeMultiplier, opts.priorityFeeMultiplier)
|
|
12
|
+
: eip1559Bad(provider, opts.chainId, opts.baseFeeMultiplier, opts.priorityFeeMultiplier);
|
|
13
13
|
}
|
|
14
14
|
exports.eip1559 = eip1559;
|
|
15
|
-
function eip1559Raw(provider, chainId, baseFeeMultiplier) {
|
|
15
|
+
function eip1559Raw(provider, chainId, baseFeeMultiplier, priorityFeeMultiplier) {
|
|
16
16
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
17
|
-
var _a, baseFeePerGas, _maxPriorityFeePerGas, maxPriorityFeePerGas, scaledBaseFee;
|
|
17
|
+
var _a, baseFeePerGas, _maxPriorityFeePerGas, maxPriorityFeePerGas, scaledPriorityFee, scaledBaseFee;
|
|
18
18
|
return tslib_1.__generator(this, function (_b) {
|
|
19
19
|
switch (_b.label) {
|
|
20
20
|
case 0: return [4, Promise.all([
|
|
@@ -25,19 +25,20 @@ function eip1559Raw(provider, chainId, baseFeeMultiplier) {
|
|
|
25
25
|
_a = _b.sent(), baseFeePerGas = _a[0].baseFeePerGas, _maxPriorityFeePerGas = _a[1];
|
|
26
26
|
maxPriorityFeePerGas = utils_1.BigNumber.from(_maxPriorityFeePerGas);
|
|
27
27
|
(0, assert_1.default)(utils_1.BigNumber.isBigNumber(baseFeePerGas), "No baseFeePerGas received on ".concat((0, utils_1.getNetworkName)(chainId)));
|
|
28
|
+
scaledPriorityFee = maxPriorityFeePerGas.mul(priorityFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
28
29
|
scaledBaseFee = baseFeePerGas.mul(baseFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
29
30
|
return [2, {
|
|
30
|
-
maxFeePerGas:
|
|
31
|
-
maxPriorityFeePerGas:
|
|
31
|
+
maxFeePerGas: scaledPriorityFee.add(scaledBaseFee),
|
|
32
|
+
maxPriorityFeePerGas: scaledPriorityFee,
|
|
32
33
|
}];
|
|
33
34
|
}
|
|
34
35
|
});
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
exports.eip1559Raw = eip1559Raw;
|
|
38
|
-
function eip1559Bad(provider, chainId, baseFeeMultiplier) {
|
|
39
|
+
function eip1559Bad(provider, chainId, baseFeeMultiplier, priorityFeeMultiplier) {
|
|
39
40
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
40
|
-
var feeData, maxPriorityFeePerGas, scaledLastBaseFeePerGas, maxFeePerGas;
|
|
41
|
+
var feeData, maxPriorityFeePerGas, scaledPriorityFee, scaledLastBaseFeePerGas, maxFeePerGas;
|
|
41
42
|
return tslib_1.__generator(this, function (_a) {
|
|
42
43
|
switch (_a.label) {
|
|
43
44
|
case 0: return [4, provider.getFeeData()];
|
|
@@ -48,11 +49,12 @@ function eip1559Bad(provider, chainId, baseFeeMultiplier) {
|
|
|
48
49
|
(0, util_1.gasPriceError)("getFeeData()", chainId, feeData);
|
|
49
50
|
});
|
|
50
51
|
maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;
|
|
52
|
+
scaledPriorityFee = maxPriorityFeePerGas.mul(priorityFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
51
53
|
scaledLastBaseFeePerGas = feeData.lastBaseFeePerGas
|
|
52
54
|
.mul(baseFeeMultiplier)
|
|
53
55
|
.div(utils_1.fixedPointAdjustment);
|
|
54
|
-
maxFeePerGas =
|
|
55
|
-
return [2, { maxPriorityFeePerGas:
|
|
56
|
+
maxFeePerGas = scaledPriorityFee.add(scaledLastBaseFeePerGas);
|
|
57
|
+
return [2, { maxPriorityFeePerGas: scaledPriorityFee, maxFeePerGas: maxFeePerGas }];
|
|
56
58
|
}
|
|
57
59
|
});
|
|
58
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAE5B,qCAAsF;AAEtF,gCAAwC;
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linea-viem.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea-viem.ts"],"names":[],"mappings":";;;;AACA,oCAAyC;AACzC,6CAA+E;AAG/E,qCAAmD;
|
|
1
|
+
{"version":3,"file":"linea-viem.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea-viem.ts"],"names":[],"mappings":";;;;AACA,oCAAyC;AACzC,6CAA+E;AAG/E,qCAAmD;AAqBnD,SAAsB,OAAO,CAC3B,QAAsB,EACtB,IAA6B;;;;;;;oBAErB,UAAU,GAAwB,IAAI,WAA5B,EAAE,iBAAiB,GAAK,IAAI,kBAAT,CAAU;oBACkB,WAAM,IAAA,mBAAW,EAAC,QAAQ,EAAE;4BAC3F,OAAO,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAgB,mCAAI,6CAAO;4BACjD,EAAE,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAc,mCAAI,6CAAO;4BAC1C,KAAK,EAAE,MAAM,CAAC,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,QAAQ,EAAE,mCAAI,GAAG,CAAC;4BACnD,IAAI,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAY,mCAAI,IAAI;yBACxC,CAAC,EAAA;;oBALI,KAA2D,SAK/D,EALM,aAAa,mBAAA,EAAqB,kBAAkB,uBAAA;oBAMtD,iBAAiB,GACrB,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,4BAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAExG,WAAO;4BACL,YAAY,EAAE,aAAa,GAAG,iBAAiB;4BAC/C,oBAAoB,EAAE,iBAAiB;yBACxC,EAAC;;;;CACH;AAlBD,0BAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linea.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea.ts"],"names":[],"mappings":";;;;AAMA,2DAAuC;
|
|
1
|
+
{"version":3,"file":"linea.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/linea.ts"],"names":[],"mappings":";;;;AAMA,2DAAuC;AAWvC,SAAgB,OAAO,CAAC,QAA4B,EAAE,IAA6B;IAKjF,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAND,0BAMC"}
|
|
@@ -83,12 +83,12 @@ var MockPolygonGasStation = (function (_super) {
|
|
|
83
83
|
}(PolygonGasStation));
|
|
84
84
|
function gasStation(provider, opts) {
|
|
85
85
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
86
|
-
var chainId, baseFeeMultiplier, gasStation, maxPriorityFeePerGas, maxFeePerGas, baseFeeMinusPriorityFee, scaledBaseFee, err_1, minPriorityFee, priorityDelta;
|
|
86
|
+
var chainId, baseFeeMultiplier, priorityFeeMultiplier, gasStation, maxPriorityFeePerGas, maxFeePerGas, baseFeeMinusPriorityFee, scaledBaseFee, scaledPriorityFee, err_1, minPriorityFee, priorityDelta;
|
|
87
87
|
var _a, _b;
|
|
88
88
|
return tslib_1.__generator(this, function (_c) {
|
|
89
89
|
switch (_c.label) {
|
|
90
90
|
case 0:
|
|
91
|
-
chainId = opts.chainId, baseFeeMultiplier = opts.baseFeeMultiplier;
|
|
91
|
+
chainId = opts.chainId, baseFeeMultiplier = opts.baseFeeMultiplier, priorityFeeMultiplier = opts.priorityFeeMultiplier;
|
|
92
92
|
if (process.env.TEST_POLYGON_GAS_STATION === "true") {
|
|
93
93
|
gasStation = new MockPolygonGasStation();
|
|
94
94
|
}
|
|
@@ -106,14 +106,16 @@ function gasStation(provider, opts) {
|
|
|
106
106
|
(_a = _c.sent(), maxPriorityFeePerGas = _a.maxPriorityFeePerGas, maxFeePerGas = _a.maxFeePerGas);
|
|
107
107
|
baseFeeMinusPriorityFee = maxFeePerGas.sub(maxPriorityFeePerGas);
|
|
108
108
|
scaledBaseFee = baseFeeMinusPriorityFee.mul(baseFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
109
|
-
|
|
109
|
+
scaledPriorityFee = maxPriorityFeePerGas.mul(priorityFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
110
|
+
maxFeePerGas = scaledBaseFee.add(scaledPriorityFee);
|
|
111
|
+
maxPriorityFeePerGas = scaledPriorityFee;
|
|
110
112
|
return [3, 5];
|
|
111
113
|
case 3:
|
|
112
114
|
err_1 = _c.sent();
|
|
113
115
|
return [4, (0, ethereum_1.eip1559)(provider, opts)];
|
|
114
116
|
case 4:
|
|
115
117
|
(_b = _c.sent(), maxPriorityFeePerGas = _b.maxPriorityFeePerGas, maxFeePerGas = _b.maxFeePerGas);
|
|
116
|
-
minPriorityFee = (0, utils_1.parseUnits)("30", 9);
|
|
118
|
+
minPriorityFee = (0, utils_1.parseUnits)("30", 9).mul(priorityFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
117
119
|
if (maxPriorityFeePerGas.lt(minPriorityFee)) {
|
|
118
120
|
priorityDelta = minPriorityFee.sub(maxPriorityFeePerGas);
|
|
119
121
|
maxPriorityFeePerGas = minPriorityFee;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/polygon.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"polygon.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/polygon.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { BigNumber } from "../utils";
|
|
|
4
4
|
import { GasPriceEstimate } from "./types";
|
|
5
5
|
export interface GasPriceEstimateOptions {
|
|
6
6
|
baseFeeMultiplier: BigNumber;
|
|
7
|
+
priorityFeeMultiplier: BigNumber;
|
|
7
8
|
legacyFallback: boolean;
|
|
8
9
|
chainId: number;
|
|
9
10
|
unsignedTx?: PopulatedTransaction;
|
|
@@ -15,25 +15,27 @@ var GAS_PRICE_ESTIMATE_DEFAULTS = {
|
|
|
15
15
|
legacyFallback: true,
|
|
16
16
|
};
|
|
17
17
|
function getGasPriceEstimate(provider, opts) {
|
|
18
|
-
var _a, _b;
|
|
18
|
+
var _a, _b, _c;
|
|
19
19
|
if (opts === void 0) { opts = {}; }
|
|
20
20
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
21
|
-
var baseFeeMultiplier, chainId,
|
|
22
|
-
return tslib_1.__generator(this, function (
|
|
23
|
-
switch (
|
|
21
|
+
var baseFeeMultiplier, priorityFeeMultiplier, chainId, _d, optsWithDefaults, useViem;
|
|
22
|
+
return tslib_1.__generator(this, function (_e) {
|
|
23
|
+
switch (_e.label) {
|
|
24
24
|
case 0:
|
|
25
25
|
baseFeeMultiplier = (_a = opts.baseFeeMultiplier) !== null && _a !== void 0 ? _a : (0, utils_1.toBNWei)("1");
|
|
26
26
|
(0, assert_1.default)(baseFeeMultiplier.gte((0, utils_1.toBNWei)("1.0")) && baseFeeMultiplier.lte((0, utils_1.toBNWei)("5")), "Require 1.0 < base fee multiplier (".concat(baseFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
priorityFeeMultiplier = (_b = opts.priorityFeeMultiplier) !== null && _b !== void 0 ? _b : (0, utils_1.toBNWei)("1");
|
|
28
|
+
(0, assert_1.default)(priorityFeeMultiplier.gte((0, utils_1.toBNWei)("1.0")) && priorityFeeMultiplier.lte((0, utils_1.toBNWei)("5")), "Require 1.0 < priority fee multiplier (".concat(priorityFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
|
|
29
|
+
if (!((_c = opts.chainId) !== null && _c !== void 0)) return [3, 1];
|
|
30
|
+
_d = _c;
|
|
29
31
|
return [3, 3];
|
|
30
32
|
case 1: return [4, provider.getNetwork()];
|
|
31
33
|
case 2:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
_d = (_e.sent()).chainId;
|
|
35
|
+
_e.label = 3;
|
|
34
36
|
case 3:
|
|
35
|
-
chainId =
|
|
36
|
-
optsWithDefaults = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier }), opts), { chainId: chainId });
|
|
37
|
+
chainId = _d;
|
|
38
|
+
optsWithDefaults = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: chainId });
|
|
37
39
|
useViem = process.env["NEW_GAS_PRICE_ORACLE_".concat(chainId)] === "true";
|
|
38
40
|
return [2, useViem
|
|
39
41
|
? _getViemGasPriceEstimate(chainId, optsWithDefaults)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAG5B,0CAAyC;AACzC,kCAAoF;AAEpF,+BAAyC;AACzC,oEAAgD;AAChD,oEAAgD;AAChD,8DAA0C;AAC1C,kEAA8C;AAC9C,uEAAmD;
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,16 @@ export declare class QueryBase implements QueryInterface {
|
|
|
26
26
|
gasPrice: BigNumberish;
|
|
27
27
|
gasUnits: BigNumberish;
|
|
28
28
|
baseFeeMultiplier: BigNumber;
|
|
29
|
+
priorityFeeMultiplier: BigNumber;
|
|
30
|
+
opStackL1GasCostMultiplier: BigNumber;
|
|
29
31
|
transport: Transport;
|
|
30
32
|
}>): Promise<TransactionCostEstimate>;
|
|
31
33
|
estimateGas(unsignedTx: PopulatedTransaction, senderAddress: string, provider: providers.Provider | L2Provider<providers.Provider>, options?: Partial<{
|
|
32
34
|
gasPrice: BigNumberish;
|
|
33
35
|
gasUnits: BigNumberish;
|
|
34
36
|
baseFeeMultiplier: BigNumber;
|
|
37
|
+
priorityFeeMultiplier: BigNumber;
|
|
38
|
+
opStackL1GasCostMultiplier: BigNumber;
|
|
35
39
|
transport: Transport;
|
|
36
40
|
}>): Promise<TransactionCostEstimate>;
|
|
37
41
|
getTokenPrice(tokenSymbol: string): Promise<number>;
|
|
@@ -26,11 +26,11 @@ var QueryBase = (function () {
|
|
|
26
26
|
if (relayer === void 0) { relayer = constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS; }
|
|
27
27
|
if (options === void 0) { options = {}; }
|
|
28
28
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
29
|
-
var _a, gasPrice, gasUnits, baseFeeMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice;
|
|
29
|
+
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice;
|
|
30
30
|
return tslib_1.__generator(this, function (_c) {
|
|
31
31
|
switch (_c.label) {
|
|
32
32
|
case 0:
|
|
33
|
-
_a = options.gasPrice, gasPrice = _a === void 0 ? this.fixedGasPrice : _a, gasUnits = options.gasUnits, baseFeeMultiplier = options.baseFeeMultiplier, transport = options.transport;
|
|
33
|
+
_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;
|
|
34
34
|
return [4, (0, utils_1.populateV3Relay)(this.spokePool, deposit, relayer)];
|
|
35
35
|
case 1:
|
|
36
36
|
tx = _c.sent();
|
|
@@ -38,6 +38,8 @@ var QueryBase = (function () {
|
|
|
38
38
|
gasPrice: gasPrice,
|
|
39
39
|
gasUnits: gasUnits,
|
|
40
40
|
baseFeeMultiplier: baseFeeMultiplier,
|
|
41
|
+
priorityFeeMultiplier: priorityFeeMultiplier,
|
|
42
|
+
opStackL1GasCostMultiplier: opStackL1GasCostMultiplier,
|
|
41
43
|
transport: transport,
|
|
42
44
|
})];
|
|
43
45
|
case 2:
|
|
@@ -54,39 +56,40 @@ var QueryBase = (function () {
|
|
|
54
56
|
QueryBase.prototype.estimateGas = function (unsignedTx, senderAddress, provider, options) {
|
|
55
57
|
if (options === void 0) { options = {}; }
|
|
56
58
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
57
|
-
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, transport, chainId, voidSigner, queries,
|
|
58
|
-
return tslib_1.__generator(this, function (
|
|
59
|
-
switch (
|
|
59
|
+
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, gasPrice, tokenGasCost, populatedTransaction, l1GasCost, scaledL1GasCost, l2GasCost;
|
|
60
|
+
return tslib_1.__generator(this, function (_f) {
|
|
61
|
+
switch (_f.label) {
|
|
60
62
|
case 0:
|
|
61
|
-
_a = options || {}, _gasPrice = _a.gasPrice, gasUnits = _a.gasUnits, _b = _a.baseFeeMultiplier, baseFeeMultiplier = _b === void 0 ? (0, utils_1.toBNWei)("1") : _b, transport = _a.transport;
|
|
63
|
+
_a = options || {}, _gasPrice = _a.gasPrice, gasUnits = _a.gasUnits, _b = _a.baseFeeMultiplier, baseFeeMultiplier = _b === void 0 ? (0, utils_1.toBNWei)("1") : _b, _c = _a.priorityFeeMultiplier, priorityFeeMultiplier = _c === void 0 ? (0, utils_1.toBNWei)("1") : _c, _d = _a.opStackL1GasCostMultiplier, opStackL1GasCostMultiplier = _d === void 0 ? (0, utils_1.toBNWei)("1") : _d, transport = _a.transport;
|
|
62
64
|
return [4, provider.getNetwork()];
|
|
63
65
|
case 1:
|
|
64
|
-
chainId = (
|
|
66
|
+
chainId = (_f.sent()).chainId;
|
|
65
67
|
voidSigner = new ethers_1.VoidSigner(senderAddress, provider);
|
|
66
68
|
queries = [
|
|
67
69
|
gasUnits ? Promise.resolve(utils_1.BigNumber.from(gasUnits)) : voidSigner.estimateGas(unsignedTx),
|
|
68
70
|
_gasPrice
|
|
69
71
|
? Promise.resolve({ maxFeePerGas: _gasPrice })
|
|
70
|
-
: (0, oracle_1.getGasPriceEstimate)(provider, { chainId: chainId, baseFeeMultiplier: baseFeeMultiplier, transport: transport, unsignedTx: unsignedTx }),
|
|
72
|
+
: (0, oracle_1.getGasPriceEstimate)(provider, { chainId: chainId, baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier, transport: transport, unsignedTx: unsignedTx }),
|
|
71
73
|
];
|
|
72
74
|
return [4, Promise.all(queries)];
|
|
73
75
|
case 2:
|
|
74
|
-
|
|
76
|
+
_e = _f.sent(), nativeGasCost = _e[0], gasPrice = _e[1].maxFeePerGas;
|
|
75
77
|
(0, utils_1.assert)(nativeGasCost.gt(utils_1.bnZero), "Gas cost should not be 0");
|
|
76
78
|
if (!(0, utils_1.chainIsOPStack)(chainId)) return [3, 5];
|
|
77
79
|
(0, utils_1.assert)((0, l2_provider_1.isL2Provider)(provider), "Unexpected provider for chain ID ".concat(chainId, "."));
|
|
78
80
|
return [4, voidSigner.populateTransaction(tslib_1.__assign(tslib_1.__assign({}, unsignedTx), { gasLimit: nativeGasCost }))];
|
|
79
81
|
case 3:
|
|
80
|
-
populatedTransaction =
|
|
82
|
+
populatedTransaction = _f.sent();
|
|
81
83
|
return [4, provider.estimateL1GasCost(populatedTransaction)];
|
|
82
84
|
case 4:
|
|
83
|
-
l1GasCost =
|
|
85
|
+
l1GasCost = _f.sent();
|
|
86
|
+
scaledL1GasCost = l1GasCost.mul(opStackL1GasCostMultiplier).div(utils_1.fixedPointAdjustment);
|
|
84
87
|
l2GasCost = nativeGasCost.mul(gasPrice);
|
|
85
|
-
tokenGasCost =
|
|
88
|
+
tokenGasCost = scaledL1GasCost.add(l2GasCost);
|
|
86
89
|
return [3, 6];
|
|
87
90
|
case 5:
|
|
88
91
|
tokenGasCost = nativeGasCost.mul(gasPrice);
|
|
89
|
-
|
|
92
|
+
_f.label = 6;
|
|
90
93
|
case 6: return [2, {
|
|
91
94
|
nativeGasCost: nativeGasCost,
|
|
92
95
|
tokenGasCost: tokenGasCost,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";;;;AACA,kEAA0F;AAE1F,iCAAqE;AACrE,6CAA4C;AAC5C,6CAA+E;AAE/E,6CAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export interface QueryInterface {
|
|
|
6
6
|
gasPrice: BigNumberish;
|
|
7
7
|
gasUnits: BigNumberish;
|
|
8
8
|
baseFeeMultiplier: BigNumber;
|
|
9
|
+
priorityFeeMultiplier: BigNumber;
|
|
10
|
+
opStackL1GasCostMultiplier: BigNumber;
|
|
9
11
|
transport: Transport;
|
|
10
12
|
}>) => Promise<TransactionCostEstimate>;
|
|
11
13
|
getTokenPrice: (tokenSymbol: string) => Promise<number>;
|
|
@@ -310,8 +312,8 @@ export declare class RelayFeeCalculator {
|
|
|
310
312
|
};
|
|
311
313
|
coingeckoId: string;
|
|
312
314
|
};
|
|
313
|
-
}, gasPrice?: BigNumberish, gasLimit?: BigNumberish, transport?: Transport): Promise<BigNumber>;
|
|
315
|
+
}, gasPrice?: BigNumberish, gasLimit?: BigNumberish, _tokenGasCost?: BigNumberish, transport?: Transport): Promise<BigNumber>;
|
|
314
316
|
capitalFeePercent(_amountToRelay: BigNumberish, _tokenSymbol: string, _originRoute?: ChainIdAsString, _destinationRoute?: ChainIdAsString): BigNumber;
|
|
315
|
-
relayerFeeDetails(deposit: Deposit, amountToRelay?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: string, _tokenPrice?: number, gasPrice?: BigNumberish, gasUnits?: BigNumberish): Promise<RelayerFeeDetails>;
|
|
317
|
+
relayerFeeDetails(deposit: Deposit, amountToRelay?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: string, _tokenPrice?: number, gasPrice?: BigNumberish, gasUnits?: BigNumberish, tokenGasCost?: BigNumberish): Promise<RelayerFeeDetails>;
|
|
316
318
|
}
|
|
317
319
|
export {};
|
|
@@ -86,7 +86,7 @@ var RelayFeeCalculator = (function () {
|
|
|
86
86
|
RelayFeeCalculator.prototype.getTokenPrice = function (tokenSymbol) {
|
|
87
87
|
return this.queries.getTokenPrice(tokenSymbol);
|
|
88
88
|
};
|
|
89
|
-
RelayFeeCalculator.prototype.gasFeePercent = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, transport) {
|
|
89
|
+
RelayFeeCalculator.prototype.gasFeePercent = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, _tokenGasCost, transport) {
|
|
90
90
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
91
91
|
if (relayerAddress === void 0) { relayerAddress = constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS; }
|
|
92
92
|
if (tokenMapping === void 0) { tokenMapping = constants_1.TOKEN_SYMBOLS_MAP; }
|
|
@@ -107,6 +107,10 @@ var RelayFeeCalculator = (function () {
|
|
|
107
107
|
deposit = tslib_1.__assign(tslib_1.__assign({}, deposit), { outputAmount: simulatedAmount });
|
|
108
108
|
getGasCosts = this.queries
|
|
109
109
|
.getGasCosts(deposit, relayerAddress, { gasPrice: gasPrice, gasUnits: gasLimit, transport: transport })
|
|
110
|
+
.then(function (_a) {
|
|
111
|
+
var tokenGasCost = _a.tokenGasCost;
|
|
112
|
+
return tokenGasCost;
|
|
113
|
+
})
|
|
110
114
|
.catch(function (error) {
|
|
111
115
|
_this.logger.error({
|
|
112
116
|
at: "sdk/gasFeePercent",
|
|
@@ -118,7 +122,7 @@ var RelayFeeCalculator = (function () {
|
|
|
118
122
|
throw error;
|
|
119
123
|
});
|
|
120
124
|
return [4, Promise.all([
|
|
121
|
-
getGasCosts,
|
|
125
|
+
_tokenGasCost ? Promise.resolve(_tokenGasCost) : getGasCosts,
|
|
122
126
|
_tokenPrice !== null && _tokenPrice !== void 0 ? _tokenPrice : this.queries.getTokenPrice(token.symbol).catch(function (error) {
|
|
123
127
|
_this.logger.error({
|
|
124
128
|
at: "sdk/gasFeePercent",
|
|
@@ -131,7 +135,7 @@ var RelayFeeCalculator = (function () {
|
|
|
131
135
|
}),
|
|
132
136
|
])];
|
|
133
137
|
case 1:
|
|
134
|
-
_a = _b.sent(), tokenGasCost = _a[0]
|
|
138
|
+
_a = _b.sent(), tokenGasCost = _a[0], tokenPrice = _a[1];
|
|
135
139
|
gasFeesInToken = (0, utils_1.nativeToToken)(tokenGasCost, tokenPrice, token.decimals, this.nativeTokenDecimals);
|
|
136
140
|
return [2, (0, utils_1.percent)(gasFeesInToken, amountToRelay.toString())];
|
|
137
141
|
}
|
|
@@ -167,7 +171,7 @@ var RelayFeeCalculator = (function () {
|
|
|
167
171
|
return minCharge.add(triangleCharge).add(remainderCharge).mul(utils_1.fixedPointAdjustment).div(y);
|
|
168
172
|
}
|
|
169
173
|
};
|
|
170
|
-
RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits) {
|
|
174
|
+
RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
|
|
171
175
|
if (simulateZeroFill === void 0) { simulateZeroFill = false; }
|
|
172
176
|
if (relayerAddress === void 0) { relayerAddress = constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS; }
|
|
173
177
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
@@ -181,7 +185,7 @@ var RelayFeeCalculator = (function () {
|
|
|
181
185
|
if (!(0, utils_1.isDefined)(token)) {
|
|
182
186
|
throw new Error("Could not find token information for ".concat(inputToken));
|
|
183
187
|
}
|
|
184
|
-
return [4, this.gasFeePercent(deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, undefined, gasPrice, gasUnits)];
|
|
188
|
+
return [4, this.gasFeePercent(deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, undefined, gasPrice, gasUnits, tokenGasCost)];
|
|
185
189
|
case 1:
|
|
186
190
|
gasFeePercent = _a.sent();
|
|
187
191
|
gasFeeTotal = gasFeePercent.mul(amountToRelay).div(utils_1.fixedPointAdjustment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,0CAAoF;AAEpF,kCAekB;
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@ import { GasPriceEstimateOptions } from "../oracle";
|
|
|
7
7
|
* Reference: https://docs.arbitrum.io/how-arbitrum-works/gas-fees so we hardcode the priority fee
|
|
8
8
|
* to 1 wei.
|
|
9
9
|
* @param provider Ethers Provider
|
|
10
|
+
* @param opts See notes below on specific parameters.
|
|
11
|
+
* @param baseFeeMultiplier Amount to multiply base fee.
|
|
12
|
+
* @param priorityFeeMultiplier Unused in this function because arbitrum priority fee is hardcoded to 1 wei by this
|
|
13
|
+
* function.
|
|
10
14
|
* @returns GasPriceEstimate
|
|
11
15
|
*/
|
|
12
16
|
export declare function eip1559(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
|
|
@@ -7,6 +7,10 @@ import * as ethereum from "./ethereum";
|
|
|
7
7
|
* Reference: https://docs.arbitrum.io/how-arbitrum-works/gas-fees so we hardcode the priority fee
|
|
8
8
|
* to 1 wei.
|
|
9
9
|
* @param provider Ethers Provider
|
|
10
|
+
* @param opts See notes below on specific parameters.
|
|
11
|
+
* @param baseFeeMultiplier Amount to multiply base fee.
|
|
12
|
+
* @param priorityFeeMultiplier Unused in this function because arbitrum priority fee is hardcoded to 1 wei by this
|
|
13
|
+
* function.
|
|
10
14
|
* @returns GasPriceEstimate
|
|
11
15
|
*/
|
|
12
16
|
export function eip1559(provider, opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arbitrum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/arbitrum.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC
|
|
1
|
+
{"version":3,"file":"arbitrum.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/arbitrum.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,OAAO,CAAC,QAA4B,EAAE,IAA6B;;;;;wBACzB,qBAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAA;;oBAA9F,KAAwD,SAAsC,EAA9E,aAAa,kBAAA,EAAE,oBAAoB,0BAAA;oBAInD,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAExE,sBAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,cAAA,EAAE,EAAC;;;;CACtD"}
|
|
@@ -7,6 +7,9 @@ import { GasPriceEstimateOptions } from "../oracle";
|
|
|
7
7
|
* eth_getBlock("pending").baseFee to eth_maxPriorityFeePerGas, otherwise calls the ethers provider's
|
|
8
8
|
* getFeeData() method which adds eth_getBlock("latest").baseFee to a hardcoded priority fee of 1.5 gwei.
|
|
9
9
|
* @param provider ethers RPC provider instance.
|
|
10
|
+
* @param {GasPriceEstimateOptions} opts See notes below on specific parameters.
|
|
11
|
+
* @param baseFeeMultiplier Amount to multiply base fee or total fee for legacy gas pricing.
|
|
12
|
+
* @param priorityFeeMultiplier Amount to multiply priority fee or unused for legacy gas pricing.
|
|
10
13
|
* @returns Promise of gas price estimate object.
|
|
11
14
|
*/
|
|
12
15
|
export declare function eip1559(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
|
|
@@ -17,7 +20,7 @@ export declare function eip1559(provider: providers.Provider, opts: GasPriceEsti
|
|
|
17
20
|
* @param chainId Chain ID of the provider instance.
|
|
18
21
|
* @returns Promise of gas price estimate object.
|
|
19
22
|
*/
|
|
20
|
-
export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
23
|
+
export declare function eip1559Raw(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
21
24
|
/**
|
|
22
25
|
* @notice Returns fee data using provider's getFeeData() method.
|
|
23
26
|
* @note Resolves priority gas pricing poorly, because the priority fee is hardcoded to 1.5 Gwei in ethers v5's
|
|
@@ -27,7 +30,7 @@ export declare function eip1559Raw(provider: providers.Provider, chainId: number
|
|
|
27
30
|
* @param chainId Chain ID of the provider instance.
|
|
28
31
|
* @returns Promise of gas price estimate object.
|
|
29
32
|
*/
|
|
30
|
-
export declare function eip1559Bad(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
33
|
+
export declare function eip1559Bad(provider: providers.Provider, chainId: number, baseFeeMultiplier: BigNumber, priorityFeeMultiplier: BigNumber): Promise<GasPriceEstimate>;
|
|
31
34
|
/**
|
|
32
35
|
* @notice Returns result of eth_gasPrice RPC call
|
|
33
36
|
* @dev Its recommended to use the eip1559Raw method over this one where possible as it will be more accurate.
|
|
@@ -10,13 +10,16 @@ import { gasPriceError } from "../util";
|
|
|
10
10
|
* eth_getBlock("pending").baseFee to eth_maxPriorityFeePerGas, otherwise calls the ethers provider's
|
|
11
11
|
* getFeeData() method which adds eth_getBlock("latest").baseFee to a hardcoded priority fee of 1.5 gwei.
|
|
12
12
|
* @param provider ethers RPC provider instance.
|
|
13
|
+
* @param {GasPriceEstimateOptions} opts See notes below on specific parameters.
|
|
14
|
+
* @param baseFeeMultiplier Amount to multiply base fee or total fee for legacy gas pricing.
|
|
15
|
+
* @param priorityFeeMultiplier Amount to multiply priority fee or unused for legacy gas pricing.
|
|
13
16
|
* @returns Promise of gas price estimate object.
|
|
14
17
|
*/
|
|
15
18
|
export function eip1559(provider, opts) {
|
|
16
19
|
var useRaw = process.env["GAS_PRICE_EIP1559_RAW_".concat(opts.chainId)] === "true";
|
|
17
20
|
return useRaw
|
|
18
|
-
? eip1559Raw(provider, opts.chainId, opts.baseFeeMultiplier)
|
|
19
|
-
: eip1559Bad(provider, opts.chainId, opts.baseFeeMultiplier);
|
|
21
|
+
? eip1559Raw(provider, opts.chainId, opts.baseFeeMultiplier, opts.priorityFeeMultiplier)
|
|
22
|
+
: eip1559Bad(provider, opts.chainId, opts.baseFeeMultiplier, opts.priorityFeeMultiplier);
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* @note Performs direct RPC calls to retrieve the RPC-suggested priority fee for the next block.
|
|
@@ -25,9 +28,9 @@ export function eip1559(provider, opts) {
|
|
|
25
28
|
* @param chainId Chain ID of the provider instance.
|
|
26
29
|
* @returns Promise of gas price estimate object.
|
|
27
30
|
*/
|
|
28
|
-
export function eip1559Raw(provider, chainId, baseFeeMultiplier) {
|
|
31
|
+
export function eip1559Raw(provider, chainId, baseFeeMultiplier, priorityFeeMultiplier) {
|
|
29
32
|
return __awaiter(this, void 0, void 0, function () {
|
|
30
|
-
var _a, baseFeePerGas, _maxPriorityFeePerGas, maxPriorityFeePerGas, scaledBaseFee;
|
|
33
|
+
var _a, baseFeePerGas, _maxPriorityFeePerGas, maxPriorityFeePerGas, scaledPriorityFee, scaledBaseFee;
|
|
31
34
|
return __generator(this, function (_b) {
|
|
32
35
|
switch (_b.label) {
|
|
33
36
|
case 0: return [4 /*yield*/, Promise.all([
|
|
@@ -38,10 +41,11 @@ export function eip1559Raw(provider, chainId, baseFeeMultiplier) {
|
|
|
38
41
|
_a = _b.sent(), baseFeePerGas = _a[0].baseFeePerGas, _maxPriorityFeePerGas = _a[1];
|
|
39
42
|
maxPriorityFeePerGas = BigNumber.from(_maxPriorityFeePerGas);
|
|
40
43
|
assert(BigNumber.isBigNumber(baseFeePerGas), "No baseFeePerGas received on ".concat(getNetworkName(chainId)));
|
|
44
|
+
scaledPriorityFee = maxPriorityFeePerGas.mul(priorityFeeMultiplier).div(fixedPointAdjustment);
|
|
41
45
|
scaledBaseFee = baseFeePerGas.mul(baseFeeMultiplier).div(fixedPointAdjustment);
|
|
42
46
|
return [2 /*return*/, {
|
|
43
|
-
maxFeePerGas:
|
|
44
|
-
maxPriorityFeePerGas:
|
|
47
|
+
maxFeePerGas: scaledPriorityFee.add(scaledBaseFee),
|
|
48
|
+
maxPriorityFeePerGas: scaledPriorityFee,
|
|
45
49
|
}];
|
|
46
50
|
}
|
|
47
51
|
});
|
|
@@ -56,9 +60,9 @@ export function eip1559Raw(provider, chainId, baseFeeMultiplier) {
|
|
|
56
60
|
* @param chainId Chain ID of the provider instance.
|
|
57
61
|
* @returns Promise of gas price estimate object.
|
|
58
62
|
*/
|
|
59
|
-
export function eip1559Bad(provider, chainId, baseFeeMultiplier) {
|
|
63
|
+
export function eip1559Bad(provider, chainId, baseFeeMultiplier, priorityFeeMultiplier) {
|
|
60
64
|
return __awaiter(this, void 0, void 0, function () {
|
|
61
|
-
var feeData, maxPriorityFeePerGas, scaledLastBaseFeePerGas, maxFeePerGas;
|
|
65
|
+
var feeData, maxPriorityFeePerGas, scaledPriorityFee, scaledLastBaseFeePerGas, maxFeePerGas;
|
|
62
66
|
return __generator(this, function (_a) {
|
|
63
67
|
switch (_a.label) {
|
|
64
68
|
case 0: return [4 /*yield*/, provider.getFeeData()];
|
|
@@ -69,11 +73,12 @@ export function eip1559Bad(provider, chainId, baseFeeMultiplier) {
|
|
|
69
73
|
gasPriceError("getFeeData()", chainId, feeData);
|
|
70
74
|
});
|
|
71
75
|
maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;
|
|
76
|
+
scaledPriorityFee = maxPriorityFeePerGas.mul(priorityFeeMultiplier).div(fixedPointAdjustment);
|
|
72
77
|
scaledLastBaseFeePerGas = feeData.lastBaseFeePerGas
|
|
73
78
|
.mul(baseFeeMultiplier)
|
|
74
79
|
.div(fixedPointAdjustment);
|
|
75
|
-
maxFeePerGas =
|
|
76
|
-
return [2 /*return*/, { maxPriorityFeePerGas:
|
|
80
|
+
maxFeePerGas = scaledPriorityFee.add(scaledLastBaseFeePerGas);
|
|
81
|
+
return [2 /*return*/, { maxPriorityFeePerGas: scaledPriorityFee, maxFeePerGas: maxFeePerGas }];
|
|
77
82
|
}
|
|
78
83
|
});
|
|
79
84
|
});
|