lisk-framework
Version:
Lisk blockchain application platform
43 lines (42 loc) • 1.61 kB
TypeScript
/// <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;
}