UNPKG

lisk-framework

Version:

Lisk blockchain application platform

43 lines (42 loc) 1.61 kB
/// <reference types="node" /> import { BlockAssets, Transaction } from '@liskhq/lisk-chain'; import { Logger } from '../logger'; import { EventQueue } from './event_queue'; import { PrefixedStateReadWriter } from './prefixed_state_read_writer'; import { TransactionContext } from './transaction_context'; import { BlockAfterExecuteContext, BlockExecuteContext, BlockVerifyContext, BlockHeader, Validator } from './types'; export interface ContextParams { chainID: Buffer; stateStore: PrefixedStateReadWriter; contextStore: Map<string, unknown>; header: BlockHeader; assets: BlockAssets; logger: Logger; eventQueue: EventQueue; transactions?: ReadonlyArray<Transaction>; } export declare class BlockContext { private readonly _stateStore; private readonly _chainID; private readonly _logger; private readonly _eventQueue; private readonly _header; private readonly _assets; private readonly _contextStore; private _transactions?; private _nextValidators?; constructor(params: ContextParams); get transactions(): ReadonlyArray<Transaction>; setTransactions(transactions: Transaction[]): void; getBlockVerifyExecuteContext(): BlockVerifyContext; getBlockExecuteContext(): BlockExecuteContext; getBlockAfterExecuteContext(): BlockAfterExecuteContext; getTransactionContext(tx: Transaction): TransactionContext; get eventQueue(): EventQueue; get nextValidators(): { precommitThreshold: bigint; certificateThreshold: bigint; validators: Validator[]; }; get assets(): BlockAssets; }