UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

40 lines 1.81 kB
import { ChainConfig } from "@lodestar/config"; import { Logger } from "@lodestar/logger"; import { phase0 } from "@lodestar/types"; import { Eth1Block, Eth1ProviderState, IEth1Provider } from "../interface.js"; import { EthJsonRpcBlockRaw } from "../interface.js"; import { Eth1Options } from "../options.js"; import { JsonRpcHttpClientMetrics } from "./jsonRpcHttpClient.js"; export declare class Eth1Provider implements IEth1Provider { readonly deployBlock: number; private readonly depositContractAddress; private readonly rpc; private state; private logger?; constructor(config: Pick<ChainConfig, "DEPOSIT_CONTRACT_ADDRESS">, opts: Pick<Eth1Options, "depositContractDeployBlock" | "providerUrls" | "jwtSecretHex" | "jwtId" | "jwtVersion"> & { logger?: Logger; }, signal?: AbortSignal, metrics?: JsonRpcHttpClientMetrics | null); getState(): Eth1ProviderState; validateContract(): Promise<void>; getDepositEvents(fromBlock: number, toBlock: number): Promise<phase0.DepositEvent[]>; /** * Fetches an arbitrary array of block numbers in batch */ getBlocksByNumber(fromBlock: number, toBlock: number): Promise<EthJsonRpcBlockRaw[]>; getBlockByNumber(blockNumber: number | "latest"): Promise<EthJsonRpcBlockRaw | null>; getBlockByHash(blockHashHex: string): Promise<EthJsonRpcBlockRaw | null>; getBlockNumber(): Promise<number>; getCode(address: string): Promise<string>; getLogs(options: { fromBlock: number; toBlock: number; address: string; topics: string[]; }): Promise<{ blockNumber: number; data: string; topics: string[]; }[]>; } export declare function parseEth1Block(blockRaw: EthJsonRpcBlockRaw): Eth1Block; //# sourceMappingURL=eth1Provider.d.ts.map