lisk-framework
Version:
Lisk blockchain application platform
27 lines (26 loc) • 1.3 kB
TypeScript
import { TransactionExecutionResult } from '../abi';
import { Logger } from '../logger';
import { BaseModule } from '../modules';
import { GenesisConfig } from '../types';
import { BlockContext } from './block_context';
import { GenerationContext } from './generator_context';
import { GenesisBlockContext } from './genesis_block_context';
import { TransactionContext } from './transaction_context';
import { VerificationResult } from './types';
export declare class StateMachine {
private readonly _modules;
private _logger;
private _initialized;
registerModule(mod: BaseModule): void;
init(logger: Logger, genesisConfig: GenesisConfig, moduleConfig?: Record<string, Record<string, unknown>>): Promise<void>;
executeGenesisBlock(ctx: GenesisBlockContext): Promise<void>;
insertAssets(ctx: GenerationContext): Promise<void>;
verifyTransaction(ctx: TransactionContext, onlyCommand?: boolean): Promise<VerificationResult>;
executeTransaction(ctx: TransactionContext): Promise<TransactionExecutionResult>;
verifyAssets(ctx: BlockContext): Promise<void>;
beforeTransactionsExecute(ctx: BlockContext): Promise<void>;
afterExecuteBlock(ctx: BlockContext): Promise<void>;
private _findModule;
private _getCommand;
private _validateExisting;
}