/// import { Block, Chain, DataAccess, BlockHeader, Transaction, StateStore } from '@liskhq/lisk-chain'; import { Database } from '@liskhq/lisk-db'; import { BaseModule } from '../modules'; import { Keys } from './fixtures'; import { EventJSON, GenesisConfig } from '../types'; import { Consensus } from '../engine/consensus'; import { MethodContext } from '../state_machine'; import { Generator } from '../engine/generator'; type Options = { genesis?: GenesisConfig; modules?: Record>; databasePath?: string; passphrase?: string; }; interface BlockProcessingParams { modules?: BaseModule[]; options?: Options; initValidators?: Buffer[]; logLevel?: string; } type DecodedEventJSON = EventJSON & { decodedData: Record; }; export interface BlockProcessingEnv { createBlock: (transactions?: Transaction[], timestamp?: number) => Promise; getConsensus: () => Consensus; getConsensusStore: () => StateStore; getGenerator: () => Generator; getGenesisBlock: () => Block; getChain: () => Chain; getMethodContext: () => MethodContext; getBlockchainDB: () => Database; process: (block: Block) => Promise; processUntilHeight: (height: number) => Promise; getLastBlock: () => Block; getNextValidatorKeys: (blockHeader: BlockHeader, distance?: number) => Promise; getDataAccess: () => DataAccess; getEvents: (height: number, module?: string, name?: string) => Promise; getChainID: () => Buffer; invoke: (path: string, params?: Record) => Promise; cleanup: (config: Options) => void; } export declare const getBlockProcessingEnv: (params: BlockProcessingParams) => Promise; export {};