viem
Version:
30 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getL2Output = void 0;
const readContract_js_1 = require("../../../actions/public/readContract.js");
const abis_js_1 = require("../abis.js");
async function getL2Output(client, parameters) {
const { chain = client.chain, l2BlockNumber, targetChain } = parameters;
const l2OutputOracleAddress = (() => {
if (parameters.l2OutputOracleAddress)
return parameters.l2OutputOracleAddress;
if (chain)
return targetChain.contracts.l2OutputOracle[chain.id].address;
return Object.values(targetChain.contracts.l2OutputOracle)[0].address;
})();
const outputIndex = await (0, readContract_js_1.readContract)(client, {
address: l2OutputOracleAddress,
abi: abis_js_1.l2OutputOracleAbi,
functionName: 'getL2OutputIndexAfter',
args: [l2BlockNumber],
});
const output = await (0, readContract_js_1.readContract)(client, {
address: l2OutputOracleAddress,
abi: abis_js_1.l2OutputOracleAbi,
functionName: 'getL2Output',
args: [outputIndex],
});
return { outputIndex, ...output };
}
exports.getL2Output = getL2Output;
//# sourceMappingURL=getL2Output.js.map