@unruggable/gateways
Version:
Trustless Ethereum Multichain CCIP-Read Gateway
57 lines • 2.34 kB
TypeScript
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