UNPKG

@kiroboio/fct-core

Version:

Kirobo.io FCT Core library

26 lines 1.2 kB
// TODO: Need to create a function that returns import { ethers } from "ethers"; import OPStackGasOracleABI from "../abi/OPGasPriceOracle.abi.json"; const OP_GAS_PRICE_ORACLE = "0x420000000000000000000000000000000000000F"; const IOPGasPriceOracle = new ethers.utils.Interface(OPStackGasOracleABI); export async function getGasOracleData({ provider, rpcUrl, gasPriceOracle = OP_GAS_PRICE_ORACLE, }) { let _provider; if (!provider) { if (!rpcUrl) { throw new Error("No provider or RPC url is provided"); } _provider = new ethers.providers.JsonRpcProvider(rpcUrl); } else { _provider = provider; } const GasOracle = new ethers.Contract(gasPriceOracle, IOPGasPriceOracle, _provider); const [baseFeeScalar, l1BaseFee, blobBaseFeeScalar, blobBaseFee] = await Promise.all([GasOracle.baseFeeScalar(), GasOracle.l1BaseFee(), GasOracle.blobBaseFeeScalar(), GasOracle.blobBaseFee()]); return { baseFeeScalar: BigInt(baseFeeScalar), l1BaseFee: l1BaseFee.toBigInt(), blobBaseFeeScalar: BigInt(blobBaseFeeScalar), blobBaseFee: blobBaseFee.toBigInt(), }; } //# sourceMappingURL=OPStackGasPriceOracle.js.map