lisk-framework
Version:
Lisk blockchain application platform
54 lines (53 loc) • 3.09 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { EventEmitter } from 'events';
import { StateDB, Database } from '@liskhq/lisk-db';
import { ABI, InitStateMachineRequest, InitStateMachineResponse, InitGenesisStateRequest, InitGenesisStateResponse, InsertAssetsRequest, InsertAssetsResponse, VerifyAssetsRequest, VerifyAssetsResponse, BeforeTransactionsExecuteRequest, BeforeTransactionsExecuteResponse, AfterTransactionsExecuteRequest, AfterTransactionsExecuteResponse, VerifyTransactionRequest, VerifyTransactionResponse, ExecuteTransactionRequest, ExecuteTransactionResponse, CommitRequest, CommitResponse, RevertRequest, RevertResponse, ClearRequest, ClearResponse, FinalizeRequest, FinalizeResponse, MetadataRequest, MetadataResponse, QueryRequest, QueryResponse, ProveRequest, ProveResponse, InitRequest, InitResponse } from '../abi';
import { Logger } from '../logger';
import { BaseModule } from '../modules';
import { StateMachine } from '../state_machine';
import { ApplicationConfig } from '../types';
import { BaseChannel } from '../controller/channels';
export interface ABIHandlerConstructor {
config: ApplicationConfig;
logger: Logger;
stateMachine: StateMachine;
stateDB: StateDB;
moduleDB: Database;
modules: BaseModule[];
channel: BaseChannel;
chainID: Buffer;
}
export declare const EVENT_ENGINE_READY = "EVENT_ENGINE_READY";
export declare class ABIHandler implements ABI {
readonly event: EventEmitter;
private readonly _logger;
private readonly _stateMachine;
private readonly _stateDB;
private readonly _moduleDB;
private readonly _modules;
private readonly _channel;
private readonly _config;
private _executionContext;
private _chainID?;
private _cachedGenesisState;
constructor(args: ABIHandlerConstructor);
get chainID(): Buffer;
cacheGenesisState(): Promise<void>;
init(req: InitRequest): Promise<InitResponse>;
initStateMachine(req: InitStateMachineRequest): Promise<InitStateMachineResponse>;
initGenesisState(req: InitGenesisStateRequest): Promise<InitGenesisStateResponse>;
insertAssets(req: InsertAssetsRequest): Promise<InsertAssetsResponse>;
verifyAssets(req: VerifyAssetsRequest): Promise<VerifyAssetsResponse>;
beforeTransactionsExecute(req: BeforeTransactionsExecuteRequest): Promise<BeforeTransactionsExecuteResponse>;
afterTransactionsExecute(req: AfterTransactionsExecuteRequest): Promise<AfterTransactionsExecuteResponse>;
verifyTransaction(req: VerifyTransactionRequest): Promise<VerifyTransactionResponse>;
executeTransaction(req: ExecuteTransactionRequest): Promise<ExecuteTransactionResponse>;
commit(req: CommitRequest): Promise<CommitResponse>;
revert(req: RevertRequest): Promise<RevertResponse>;
clear(_req: ClearRequest): Promise<ClearResponse>;
finalize(req: FinalizeRequest): Promise<FinalizeResponse>;
getMetadata(_req: MetadataRequest): Promise<MetadataResponse>;
query(req: QueryRequest): Promise<QueryResponse>;
prove(req: ProveRequest): Promise<ProveResponse>;
}