lisk-framework
Version:
Lisk blockchain application platform
36 lines (35 loc) • 2.33 kB
TypeScript
import { ModuleMetadata } from '../../base_module';
import { BaseInteroperabilityModule } from '../base_interoperability_module';
import { MainchainInteroperabilityMethod } from './method';
import { MainchainCCMethod } from './cc_method';
import { MainchainInteroperabilityEndpoint } from './endpoint';
import { TokenMethod } from '../../token';
import { RecoverMessageCommand, RegisterSidechainCommand, SubmitMainchainCrossChainUpdateCommand, TerminateSidechainForLivenessCommand } from './commands';
import { MainchainInteroperabilityInternalMethod } from './internal_method';
import { InitializeMessageRecoveryCommand } from './commands/initialize_message_recovery';
import { FeeMethod, GenesisInteroperability } from '../types';
import { MainchainCCChannelTerminatedCommand, MainchainCCRegistrationCommand } from './cc_commands';
import { RecoverStateCommand } from './commands/recover_state';
import { GenesisBlockExecuteContext } from '../../../state_machine';
export declare class MainchainInteroperabilityModule extends BaseInteroperabilityModule {
crossChainMethod: MainchainCCMethod;
protected internalMethod: MainchainInteroperabilityInternalMethod;
method: MainchainInteroperabilityMethod;
endpoint: MainchainInteroperabilityEndpoint;
private readonly _sidechainRegistrationCommand;
private readonly _messageRecoveryInitializationCommand;
private readonly _crossChainUpdateCommand;
private readonly _messageRecoveryCommand;
private readonly _stateRecoveryCommand;
private readonly _terminateSidechainForLivenessCommand;
commands: (SubmitMainchainCrossChainUpdateCommand | RegisterSidechainCommand | RecoverMessageCommand | TerminateSidechainForLivenessCommand | InitializeMessageRecoveryCommand | RecoverStateCommand)[];
crossChainCommand: (MainchainCCChannelTerminatedCommand | MainchainCCRegistrationCommand)[];
addDependencies(tokenMethod: TokenMethod, feeMethod: FeeMethod): void;
metadata(): ModuleMetadata;
initGenesisState(ctx: GenesisBlockExecuteContext): Promise<void>;
private _verifyChainInfos;
private _verifyChainData;
private _verifyTerminatedStateAccounts;
private _verifyTerminatedOutboxAccounts;
processGenesisState(ctx: GenesisBlockExecuteContext, genesisInteroperability: GenesisInteroperability): Promise<void>;
}