fix: gas price

This commit is contained in:
Danil Kovtonyuk 2021-10-20 00:31:19 +10:00 committed by 0xZick
parent 83520bc61a
commit f8f33e0b39
2 changed files with 16 additions and 8 deletions

@ -11,7 +11,7 @@ export const RPC_LIST: { [chainId in ChainId]: string } = {
[ChainId.MAINNET]: 'https://mainnet.infura.io/v3/eb6a84e726614079948e0b1efce5baa5', [ChainId.MAINNET]: 'https://mainnet.infura.io/v3/eb6a84e726614079948e0b1efce5baa5',
[ChainId.GOERLI]: 'https://eth-goerli.alchemyapi.io/v2/hlSj0EqPUuLGyyTExs6UqFKnXDrc_eOh', [ChainId.GOERLI]: 'https://eth-goerli.alchemyapi.io/v2/hlSj0EqPUuLGyyTExs6UqFKnXDrc_eOh',
[ChainId.OPTIMISM]: 'https://optimism-kovan.infura.io/v3/8f786b96d16046b78e0287fa61c6fcf8', [ChainId.OPTIMISM]: 'https://optimism-kovan.infura.io/v3/8f786b96d16046b78e0287fa61c6fcf8',
[ChainId.XDAI]: 'https://xdai-rpc.ztake.org', [ChainId.XDAI]: 'https://rpc.xdaichain.com/tornado',
}; };
export const OFF_CHAIN_ORACLE = '0x07D91f5fb9Bf7798734C3f606dB065549F6893bb'; export const OFF_CHAIN_ORACLE = '0x07D91f5fb9Bf7798734C3f606dB065549F6893bb';

@ -7,6 +7,16 @@ import { GasPriceOracle } from 'gas-price-oracle';
import { toWei } from '@/utilities'; import { toWei } from '@/utilities';
import { RPC_LIST } from '@/constants'; import { RPC_LIST } from '@/constants';
const bump = (gas: BigNumber, percent: number) => gas.mul(percent).div(100).toHexString();
const gweiToWei = (value: number) => toWei(String(value), 'gwei');
const percentBump = {
INSTANT: 150,
FAST: 130,
STANDARD: 85,
LOW: 50,
};
@Injectable() @Injectable()
export class GasPriceService { export class GasPriceService {
private readonly chainId: number; private readonly chainId: number;
@ -21,15 +31,13 @@ export class GasPriceService {
defaultRpc: RPC_LIST[this.chainId], defaultRpc: RPC_LIST[this.chainId],
}); });
const fast = await instance.fetchGasPriceFromRpc(); const result = await instance.gasPrices();
const bnGas = BigNumber.from(toWei(String(fast), 'gwei'));
return { return {
instant: bnGas.mul(150).div(100).toHexString(), instant: bump(gweiToWei(result.instant), percentBump.INSTANT),
fast: bnGas.mul(130).div(100).toHexString(), fast: bump(gweiToWei(result.instant), percentBump.FAST),
standard: bnGas.mul(85).div(100).toHexString(), standard: bump(gweiToWei(result.standard), percentBump.STANDARD),
low: bnGas.mul(50).div(100).toHexString(), low: bump(gweiToWei(result.low), percentBump.LOW),
}; };
} }
} }