@across-protocol/sdk 4.3.131-alpha.0 → 4.3.131
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/src/gasPriceOracle/adapters/ethereum.js +8 -3
- package/dist/cjs/src/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/esm/src/gasPriceOracle/adapters/ethereum.js +9 -4
- package/dist/esm/src/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/types/src/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/gasPriceOracle/adapters/ethereum.ts +10 -5
|
@@ -45,13 +45,18 @@ function feeHistory(provider, opts) {
|
|
|
45
45
|
_a = feeHistoryOptions.percentile, percentile = _a === void 0 ? 20 : _a, _b = feeHistoryOptions.blockLookback, blockLookback = _b === void 0 ? 10 : _b, _c = feeHistoryOptions.minimumPriority, minimumPriority = _c === void 0 ? utils_1.bnOne : _c;
|
|
46
46
|
return [4, Promise.all([
|
|
47
47
|
provider.getBlock("latest"),
|
|
48
|
-
provider.send("eth_feeHistory", [
|
|
48
|
+
provider.send("eth_feeHistory", [
|
|
49
|
+
Number(blockLookback),
|
|
50
|
+
"latest",
|
|
51
|
+
[Number(percentile)],
|
|
52
|
+
]),
|
|
49
53
|
])];
|
|
50
54
|
case 1:
|
|
51
55
|
_d = _f.sent(), baseFeePerGas = _d[0].baseFeePerGas, feeHistory = _d[1];
|
|
52
56
|
(0, assert_1.default)(utils_1.BigNumber.isBigNumber(baseFeePerGas), "No baseFeePerGas received on latest block query.");
|
|
53
57
|
defaultEstimator = function (rewards) {
|
|
54
58
|
var sortedRewards = rewards
|
|
59
|
+
.map(function (reward) { return (0, utils_1.toBN)(reward); })
|
|
55
60
|
.filter(function (reward) { return reward.gt(utils_1.bnZero); })
|
|
56
61
|
.sort(function (r1, r2) {
|
|
57
62
|
if (r1.gt(r2)) {
|
|
@@ -63,11 +68,11 @@ function feeHistory(provider, opts) {
|
|
|
63
68
|
return minimumPriority;
|
|
64
69
|
}
|
|
65
70
|
var n = sortedRewards.length;
|
|
66
|
-
var median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2].div(2)
|
|
71
|
+
var median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2]).div(2) : sortedRewards[n / 2];
|
|
67
72
|
return median.gt(minimumPriority) ? median : minimumPriority;
|
|
68
73
|
};
|
|
69
74
|
_e = feeHistoryOptions.estimator, estimator = _e === void 0 ? defaultEstimator : _e;
|
|
70
|
-
maxPriorityFeePerGas = estimator(feeHistory.
|
|
75
|
+
maxPriorityFeePerGas = estimator(feeHistory.reward);
|
|
71
76
|
scaledBaseFee = baseFeePerGas.mul(baseFeeMultiplier).div(utils_1.fixedPointAdjustment);
|
|
72
77
|
return [2, {
|
|
73
78
|
maxFeePerGas: scaledBaseFee.add(maxPriorityFeePerGas),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":";;AAeA,0BAEC;AASD,gCAmBC;AAOD,
|
|
1
|
+
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
|
-
import { BigNumber, bnZero, fixedPointAdjustment, getNetworkName, bnOne, isDefined } from "../../utils";
|
|
3
|
+
import { BigNumber, bnZero, fixedPointAdjustment, getNetworkName, bnOne, isDefined, toBN } from "../../utils";
|
|
4
4
|
import { gasPriceError } from "../util";
|
|
5
5
|
/**
|
|
6
6
|
* @dev Constructs total fee by adding eth_getBlock("pending").baseFee to eth_maxPriorityFeePerGas
|
|
@@ -59,13 +59,18 @@ export function feeHistory(provider, opts) {
|
|
|
59
59
|
_a = feeHistoryOptions.percentile, percentile = _a === void 0 ? 20 : _a, _b = feeHistoryOptions.blockLookback, blockLookback = _b === void 0 ? 10 : _b, _c = feeHistoryOptions.minimumPriority, minimumPriority = _c === void 0 ? bnOne : _c;
|
|
60
60
|
return [4 /*yield*/, Promise.all([
|
|
61
61
|
provider.getBlock("latest"),
|
|
62
|
-
provider.send("eth_feeHistory", [
|
|
62
|
+
provider.send("eth_feeHistory", [
|
|
63
|
+
Number(blockLookback),
|
|
64
|
+
"latest",
|
|
65
|
+
[Number(percentile)],
|
|
66
|
+
]),
|
|
63
67
|
])];
|
|
64
68
|
case 1:
|
|
65
69
|
_d = _f.sent(), baseFeePerGas = _d[0].baseFeePerGas, feeHistory = _d[1];
|
|
66
70
|
assert(BigNumber.isBigNumber(baseFeePerGas), "No baseFeePerGas received on latest block query.");
|
|
67
71
|
defaultEstimator = function (rewards) {
|
|
68
72
|
var sortedRewards = rewards
|
|
73
|
+
.map(function (reward) { return toBN(reward); })
|
|
69
74
|
.filter(function (reward) { return reward.gt(bnZero); })
|
|
70
75
|
.sort(function (r1, r2) {
|
|
71
76
|
if (r1.gt(r2)) {
|
|
@@ -78,11 +83,11 @@ export function feeHistory(provider, opts) {
|
|
|
78
83
|
return minimumPriority;
|
|
79
84
|
}
|
|
80
85
|
var n = sortedRewards.length;
|
|
81
|
-
var median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2].div(2)
|
|
86
|
+
var median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2]).div(2) : sortedRewards[n / 2];
|
|
82
87
|
return median.gt(minimumPriority) ? median : minimumPriority;
|
|
83
88
|
};
|
|
84
89
|
_e = feeHistoryOptions.estimator, estimator = _e === void 0 ? defaultEstimator : _e;
|
|
85
|
-
maxPriorityFeePerGas = estimator(feeHistory.
|
|
90
|
+
maxPriorityFeePerGas = estimator(feeHistory.reward);
|
|
86
91
|
scaledBaseFee = baseFeePerGas.mul(baseFeeMultiplier).div(fixedPointAdjustment);
|
|
87
92
|
return [2 /*return*/, {
|
|
88
93
|
maxFeePerGas: scaledBaseFee.add(maxPriorityFeePerGas),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
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":"ethereum.d.ts","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"ethereum.d.ts","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/ethereum.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,EAAwE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEjH;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,SAAS,EAC5B,qBAAqB,EAAE,SAAS,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAc9B;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA8C9B;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
2
|
import { providers } from "ethers";
|
|
3
|
-
import { BigNumber, bnZero, fixedPointAdjustment, getNetworkName, bnOne, isDefined } from "../../utils";
|
|
3
|
+
import { BigNumber, bnZero, fixedPointAdjustment, getNetworkName, bnOne, isDefined, toBN } from "../../utils";
|
|
4
4
|
import { EvmGasPriceEstimate } from "../types";
|
|
5
5
|
import { gasPriceError } from "../util";
|
|
6
6
|
import { GasPriceEstimateOptions } from "../oracle";
|
|
@@ -61,13 +61,18 @@ export async function feeHistory(
|
|
|
61
61
|
|
|
62
62
|
const [{ baseFeePerGas }, feeHistory] = await Promise.all([
|
|
63
63
|
provider.getBlock("latest"),
|
|
64
|
-
(provider as providers.JsonRpcProvider).send("eth_feeHistory", [
|
|
64
|
+
(provider as providers.JsonRpcProvider).send("eth_feeHistory", [
|
|
65
|
+
Number(blockLookback),
|
|
66
|
+
"latest",
|
|
67
|
+
[Number(percentile)],
|
|
68
|
+
]),
|
|
65
69
|
]);
|
|
66
70
|
assert(BigNumber.isBigNumber(baseFeePerGas), "No baseFeePerGas received on latest block query.");
|
|
67
71
|
|
|
68
72
|
// Default estimator based on https://github.com/alloy-rs/alloy/blob/6f20815b657f60de454bed5010e3b9a6883ac70f/crates/provider/src/utils.rs#L90
|
|
69
|
-
const defaultEstimator = (rewards:
|
|
73
|
+
const defaultEstimator = (rewards: string[]): BigNumber => {
|
|
70
74
|
const sortedRewards = rewards
|
|
75
|
+
.map((reward) => toBN(reward))
|
|
71
76
|
.filter((reward) => reward.gt(bnZero))
|
|
72
77
|
.sort((r1, r2) => {
|
|
73
78
|
if (r1.gt(r2)) {
|
|
@@ -82,12 +87,12 @@ export async function feeHistory(
|
|
|
82
87
|
}
|
|
83
88
|
|
|
84
89
|
const n = sortedRewards.length;
|
|
85
|
-
const median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2].div(2)
|
|
90
|
+
const median = n % 2 === 0 ? sortedRewards[n / 2 - 1].add(sortedRewards[n / 2]).div(2) : sortedRewards[n / 2];
|
|
86
91
|
return median.gt(minimumPriority) ? median : minimumPriority;
|
|
87
92
|
};
|
|
88
93
|
|
|
89
94
|
const { estimator = defaultEstimator } = feeHistoryOptions;
|
|
90
|
-
const maxPriorityFeePerGas = estimator(feeHistory.
|
|
95
|
+
const maxPriorityFeePerGas = estimator(feeHistory.reward);
|
|
91
96
|
const scaledBaseFee = baseFeePerGas.mul(baseFeeMultiplier).div(fixedPointAdjustment);
|
|
92
97
|
|
|
93
98
|
return {
|