UNPKG

@unruggable/gateways

Version:

Trustless Ethereum Multichain CCIP-Read Gateway

57 lines 2.34 kB
import { AbstractRollup, type RollupCommit, type RollupDeployment } from '../rollup.js'; import type { HexAddress, HexString, HexString32, ProviderPair, ProofSequence } from '../types.js'; import { type ABIHeaderTuple } from './types.js'; import { Contract } from 'ethers/contract'; import { EthProver } from '../eth/EthProver.js'; export type PolygonPoSPoster = { readonly address: HexAddress; readonly topicHash: HexString32; readonly blockNumberStart: bigint; }; export type PolygonPoSConfig = { RootChain: HexAddress; apiURL: string; poster: PolygonPoSPoster; }; export type PolygonPoSCommit = RollupCommit<EthProver> & ABIHeaderTuple & { readonly rlpEncodedProof: HexString; readonly rlpEncodedBlock: HexString; }; export declare class PolygonPoSRollup extends AbstractRollup<PolygonPoSCommit> { static readonly mainnetConfig: RollupDeployment<PolygonPoSConfig>; readonly apiURL: string; readonly RootChain: Contract; readonly poster: PolygonPoSPoster; constructor(providers: ProviderPair, config: PolygonPoSConfig); findPosterEventBefore(l2BlockNumber: bigint): Promise<any>; findPosterHeaderBefore(l2BlockNumber: bigint): Promise<{ number: bigint; l2BlockNumberStart: bigint; l2BlockNumberEnd: bigint; rootHash: string; }>; fetchJSON(url: URL): Promise<any>; fetchAPIFindHeader(l2BlockNumber: bigint): Promise<{ number: bigint; l2BlockNumberStart: bigint; l2BlockNumberEnd: bigint; rootHash: string; }>; fetchAPIReceiptProof(txHash: HexString32): Promise<HexString>; fetchLatestCommitIndex(): Promise<bigint>; protected _fetchParentCommitIndex(commit: PolygonPoSCommit): Promise<bigint>; protected _fetchCommit(index: bigint): Promise<PolygonPoSCommit>; encodeWitness(commit: PolygonPoSCommit, proofSeq: ProofSequence): HexString; windowFromSec(sec: number): number; JSONFromCommit(commit: PolygonPoSCommit): { index: string; l2BlockNumber: string; l2BlockNumberStart: string; l2BlockNumberEnd: string; rlpEncodedBlock: string; rlpEncodedProof: string; rootHash: string; }; commitFromJSON(json: ReturnType<this['JSONFromCommit']>): PolygonPoSCommit; } //# sourceMappingURL=PolygonPoSRollup.d.ts.map