UNPKG

lisk-framework

Version:

Lisk blockchain application platform

33 lines (32 loc) 2.5 kB
/// <reference types="node" /> import { BaseMethod } from '../base_method'; import { BaseCCMethod } from './base_cc_method'; import { NamedRegistry } from '../named_registry'; import { ImmutableMethodContext, MethodContext } from '../../state_machine'; import { ChainAccount } from './stores/chain_account'; import { CCMsg } from './types'; import { BaseInteroperabilityInternalMethod } from './base_interoperability_internal_methods'; import { TokenMethod } from '../token'; export declare abstract class BaseInteroperabilityMethod<T extends BaseInteroperabilityInternalMethod> extends BaseMethod { protected readonly interoperableCCMethods: Map<string, BaseCCMethod>; protected internalMethod: T; protected _tokenMethod: TokenMethod & { payMessageFee: (context: MethodContext, payFromAddress: Buffer, fee: bigint, receivingChainID: Buffer) => Promise<void>; }; constructor(stores: NamedRegistry, events: NamedRegistry, interoperableCCMethods: Map<string, BaseCCMethod>, internalMethod: T); addDependencies(tokenMethod: TokenMethod & { payMessageFee: (context: MethodContext, payFromAddress: Buffer, fee: bigint, receivingChainID: Buffer) => Promise<void>; }): void; getChainAccount(context: ImmutableMethodContext, chainID: Buffer): Promise<ChainAccount>; getChannel(context: ImmutableMethodContext, chainID: Buffer): Promise<import("./types").ChannelData>; getOwnChainAccount(context: ImmutableMethodContext): Promise<import("./stores/own_chain_account").OwnChainAccount>; getTerminatedStateAccount(context: ImmutableMethodContext, chainID: Buffer): Promise<import("./stores/terminated_state").TerminatedStateAccount>; getTerminatedOutboxAccount(context: ImmutableMethodContext, chainID: Buffer): Promise<import("./stores/terminated_outbox").TerminatedOutboxAccount>; private _getChannelCommon; getMessageFeeTokenID(context: ImmutableMethodContext, chainID: Buffer): Promise<Buffer>; getMessageFeeTokenIDFromCCM(context: ImmutableMethodContext, ccm: CCMsg): Promise<Buffer>; getMinReturnFeePerByte(context: ImmutableMethodContext, chainID: Buffer): Promise<bigint>; send(context: MethodContext, sendingAddress: Buffer, module: string, crossChainCommand: string, receivingChainID: Buffer, fee: bigint, params: Buffer, timestamp?: number): Promise<void>; error(context: MethodContext, ccm: CCMsg, errorStatus: number): Promise<void>; terminateChain(context: MethodContext, chainID: Buffer): Promise<void>; }