Add fallback from feeOracleV5 to V4 in getGasLimit method, if no tx object provided & bump package version to 0.3.0
This commit is contained in:
parent
96616d8cf4
commit
0aa15627f4
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tornado/tornado-oracles",
|
"name": "@tornado/tornado-oracles",
|
||||||
"version": "0.2.3",
|
"version": "0.3.0",
|
||||||
"description": "Gas oracle for Tornado-specific transactions",
|
"description": "Gas oracle for Tornado-specific transactions",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"types": "./lib/index.d.ts",
|
"types": "./lib/index.d.ts",
|
||||||
@ -30,12 +30,12 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tornado/gas-price-oracle": "^0.5.3",
|
"@tornado/gas-price-oracle": "^0.5.3",
|
||||||
"@tornado/tornado-config": "^2.0.0",
|
"@tornado/tornado-config": "^2.0.0",
|
||||||
|
"@types/node": "^20.5.1",
|
||||||
"bignumber.js": "^9.1.1",
|
"bignumber.js": "^9.1.1",
|
||||||
"ethers": "5.7"
|
"ethers": "5.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@typechain/ethers-v5": "^11.1.1",
|
"@typechain/ethers-v5": "^11.1.1",
|
||||||
"@types/node": "^20.4.10",
|
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.0.1",
|
||||||
"prettier": "^3.0.1",
|
"prettier": "^3.0.1",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
|
@ -4,8 +4,11 @@ import { ITornadoFeeOracle, GasPrice, TransactionData, TxType, LegacyGasPrices,
|
|||||||
import { GasPriceOracle } from '@tornado/gas-price-oracle';
|
import { GasPriceOracle } from '@tornado/gas-price-oracle';
|
||||||
import { BigNumber } from 'ethers';
|
import { BigNumber } from 'ethers';
|
||||||
import { bump } from './utils';
|
import { bump } from './utils';
|
||||||
|
import { TornadoFeeOracleV4 } from './feeOracleV4';
|
||||||
|
|
||||||
export class TornadoFeeOracleV5 extends TornadoFeeOracle implements ITornadoFeeOracle {
|
export class TornadoFeeOracleV5 extends TornadoFeeOracle implements ITornadoFeeOracle {
|
||||||
|
private fallbackFeeOracle: TornadoFeeOracleV4;
|
||||||
|
|
||||||
public constructor(chainId: number, rpcUrl: string, defaultGasPrices?: LegacyGasPrices) {
|
public constructor(chainId: number, rpcUrl: string, defaultGasPrices?: LegacyGasPrices) {
|
||||||
const oracleConfig = {
|
const oracleConfig = {
|
||||||
chainId,
|
chainId,
|
||||||
@ -18,10 +21,12 @@ export class TornadoFeeOracleV5 extends TornadoFeeOracle implements ITornadoFeeO
|
|||||||
const gasPriceOracle = new GasPriceOracle(oracleConfig);
|
const gasPriceOracle = new GasPriceOracle(oracleConfig);
|
||||||
|
|
||||||
super(chainId, rpcUrl, gasPriceOracle);
|
super(chainId, rpcUrl, gasPriceOracle);
|
||||||
|
|
||||||
|
this.fallbackFeeOracle = new TornadoFeeOracleV4(chainId, rpcUrl, defaultGasPrices);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getGasLimit(tx?: TransactionData, type: TxType = 'other', bumpPercent: number = 20): Promise<BigNumber> {
|
async getGasLimit(tx?: TransactionData, type: TxType = 'other', bumpPercent: number = 20): Promise<BigNumber> {
|
||||||
if (!tx) return BigNumber.from(21_000);
|
if (!tx || Object.keys(tx).length === 0) return this.fallbackFeeOracle.getGasLimit(tx, type, bumpPercent);
|
||||||
|
|
||||||
/* Relayer gas limit must be lower so that fluctuations in gas price cannot lead to the fact that
|
/* Relayer gas limit must be lower so that fluctuations in gas price cannot lead to the fact that
|
||||||
* the relayer will actually pay for gas more than the money allocated for this by the user
|
* the relayer will actually pay for gas more than the money allocated for this by the user
|
||||||
|
Loading…
Reference in New Issue
Block a user