UNPKG

@kiroboio/fct-core

Version:

Kirobo.io FCT Core library

30 lines 1.44 kB
"use strict"; // TODO: Need to create a function that returns Object.defineProperty(exports, "__esModule", { value: true }); exports.getGasOracleData = getGasOracleData; const tslib_1 = require("tslib"); const ethers_1 = require("ethers"); const OPGasPriceOracle_abi_json_1 = tslib_1.__importDefault(require("../abi/OPGasPriceOracle.abi.json")); const OP_GAS_PRICE_ORACLE = "0x420000000000000000000000000000000000000F"; const IOPGasPriceOracle = new ethers_1.ethers.utils.Interface(OPGasPriceOracle_abi_json_1.default); 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_1.ethers.providers.JsonRpcProvider(rpcUrl); } else { _provider = provider; } const GasOracle = new ethers_1.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