@swaptoshi/liquid-pos-module
Version:
Klayr liquid PoS on-chain module
19 lines (18 loc) • 1.02 kB
TypeScript
import { Modules, StateMachine, Types } from 'klayr-framework';
import { LiquidPosModuleConfig, TokenMethod } from './types';
export declare class InternalLiquidPosMethod extends Modules.BaseMethod {
private _chainID;
private _tokenMethod;
private _lstTokenID;
private _config;
init(moduleConfig: LiquidPosModuleConfig, genesisConfig: Types.GenesisConfig): Promise<void>;
addDependencies(tokenMethod: TokenMethod): void;
getLstTokenID(): Buffer<ArrayBufferLike> | undefined;
handleInitGenesisState(context: StateMachine.GenesisBlockExecuteContext): Promise<void>;
handleAfterCommandExecute(context: StateMachine.TransactionExecuteContext): Promise<void>;
mint(context: StateMachine.MethodContext, address: Buffer, baseAmount: bigint): Promise<void>;
burn(context: StateMachine.MethodContext, address: Buffer, baseBurned: bigint): Promise<void>;
checkDependencies(): void;
_assignLstTokenID(config: LiquidPosModuleConfig): Promise<void>;
private _multiplyByRatio;
}