UNPKG

@lodestar/prover

Version:

A Typescript implementation of the Ethereum Consensus light client

44 lines 1.63 kB
import { BlockHeader } from "@ethereumjs/block"; import { RunTxResult, VM } from "@ethereumjs/vm"; import { NetworkName } from "@lodestar/config/networks"; import { ExecutionPayload } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { ProofProvider } from "../proof_provider/proof_provider.js"; import { ELBlock, ELProof, ELTransaction } from "../types.js"; import { ELRpcProvider } from "./rpc_provider.js"; export declare function createVM({ proofProvider }: { proofProvider: ProofProvider; }): Promise<VM>; export declare function getVMWithState({ rpc, executionPayload, tx, vm, logger, }: { rpc: ELRpcProvider; vm: VM; executionPayload: ExecutionPayload; tx: ELTransaction; logger: Logger; }): Promise<VM>; type VMState = Record<string, { code: string; proof: ELProof; }>; export declare function updateVMWithState({ vm, state }: { logger: Logger; state: VMState; vm: VM; }): Promise<VM>; export declare function executeVMCall({ rpc, tx, vm, executionPayload, network, }: { rpc: ELRpcProvider; tx: ELTransaction; vm: VM; executionPayload: ExecutionPayload; network: NetworkName; }): Promise<RunTxResult["execResult"]>; export declare function executeVMTx({ rpc, tx, vm, executionPayload, network, }: { rpc: ELRpcProvider; tx: ELTransaction; vm: VM; executionPayload: ExecutionPayload; network: NetworkName; }): Promise<RunTxResult>; export declare function getVMBlockHeaderFromELBlock(block: ELBlock, executionPayload: ExecutionPayload, network: NetworkName): BlockHeader; export {}; //# sourceMappingURL=evm.d.ts.map