lisk-framework
Version:
Lisk blockchain application platform
22 lines (21 loc) • 1.28 kB
TypeScript
/// <reference types="node" />
import { GenesisBlockExecuteContext } from '../../state_machine';
import { TokenMethod } from '../token';
import { BaseCCCommand } from './base_cc_command';
import { BaseCCMethod } from './base_cc_method';
import { BaseInteroperableModule } from './base_interoperable_module';
import { ChainInfo, GenesisInteroperability } from './types';
export declare abstract class BaseInteroperabilityModule extends BaseInteroperableModule {
protected interoperableCCCommands: Map<string, BaseCCCommand<unknown>[]>;
protected interoperableCCMethods: Map<string, BaseCCMethod>;
protected tokenMethod: TokenMethod;
constructor();
get name(): string;
registerInteroperableModule(module: BaseInteroperableModule): void;
protected _verifyChannelData(ctx: GenesisBlockExecuteContext, chainInfo: ChainInfo): void;
protected _verifyChainValidators(chainInfo: ChainInfo): void;
protected _verifyChainID(chainID: Buffer, mainchainID: Buffer, prefix: string): void;
protected _verifyTerminatedStateAccountsIDs(chainIDs: Buffer[]): void;
processGenesisState(ctx: GenesisBlockExecuteContext, genesisInteroperability: GenesisInteroperability): Promise<void>;
finalizeGenesisState?(ctx: GenesisBlockExecuteContext): Promise<void>;
}