@unruggable/gateways
Version:
Trustless Ethereum Multichain CCIP-Read Gateway
57 lines • 2.73 kB
TypeScript
import type { RollupDeployment } from '../rollup.js';
import type { HexAddress, HexString32, ProviderPair } from '../types.js';
import { AbstractOPRollup, type AbstractOPCommit } from './AbstractOPRollup.js';
import { Contract } from 'ethers/contract';
export declare const OUTPUT_FINDER_ABI: any;
export type OPConfig = {
OptimismPortal: HexAddress;
OutputFinder: HexAddress;
};
export type OPCommit = AbstractOPCommit & {
output: ABIOutputTuple;
};
type ABIOutputTuple = {
outputRoot: HexString32;
timestamp: bigint;
l2BlockNumber: bigint;
};
export declare class OPRollup extends AbstractOPRollup<OPCommit> {
minAgeSec: number;
static readonly blastMainnnetConfig: RollupDeployment<OPConfig>;
static readonly fraxtalMainnetConfig: RollupDeployment<OPConfig>;
static readonly zoraMainnetConfig: RollupDeployment<OPConfig>;
static readonly mantleMainnetConfig: RollupDeployment<OPConfig>;
static readonly modeMainnetConfig: RollupDeployment<OPConfig>;
static readonly cyberMainnetConfig: RollupDeployment<OPConfig>;
static readonly redstoneMainnetConfig: RollupDeployment<OPConfig>;
static readonly shapeMainnetConfig: RollupDeployment<OPConfig>;
static readonly opBNBMainnetConfig: RollupDeployment<OPConfig>;
static readonly celoAlfajoresConfig: RollupDeployment<OPConfig>;
static readonly worldMainnetConfig: RollupDeployment<OPConfig>;
static readonly zircuitMainnetConfig: RollupDeployment<OPConfig>;
static readonly zircuitSepoliaConfig: RollupDeployment<OPConfig>;
static readonly liskMainnetConfig: RollupDeployment<OPConfig>;
static readonly liskSepoliaConfig: RollupDeployment<OPConfig>;
static readonly mintMainnetConfig: RollupDeployment<OPConfig>;
static readonly mintSepoliaConfig: RollupDeployment<OPConfig>;
static readonly bobMainnetConfig: RollupDeployment<OPConfig>;
static readonly bobSepoliaConfig: RollupDeployment<OPConfig>;
readonly OptimismPortal: HexAddress;
readonly OutputFinder: Contract;
constructor(providers: ProviderPair, config: OPConfig, minAgeSec?: number);
get unfinalized(): boolean;
fetchOutput(index: bigint): Promise<ABIOutputTuple | undefined>;
fetchLatestCommitIndex(): Promise<bigint>;
protected _fetchCommit(index: bigint): Promise<{
output: ABIOutputTuple;
index: bigint;
prover: import("../index.js").EthProver;
blockHash: import("../types.js").HexString;
stateRoot: import("../types.js").HexString;
passerRoot: import("../types.js").HexString;
}>;
isCommitStillValid(commit: OPCommit): Promise<boolean>;
windowFromSec(sec: number): number;
}
export {};
//# sourceMappingURL=OPRollup.d.ts.map