lisk-framework
Version:
Lisk blockchain application platform
57 lines (56 loc) • 2.27 kB
TypeScript
import { BaseModule, ModuleInitArgs, ModuleMetadata } from '../base_module';
import { PoSMethod, RandomMethod, TokenMethod, ValidatorsMethod } from './types';
import { BlockAfterExecuteContext, BlockHeader, ImmutableMethodContext } from '../../state_machine';
import { DynamicRewardMethod } from './method';
import { DynamicRewardEndpoint } from './endpoint';
import { BlockAssets, BlockExecuteContext, GenesisBlockExecuteContext } from '../../state_machine/types';
export declare class DynamicRewardModule extends BaseModule {
method: DynamicRewardMethod;
configSchema: {
$id: string;
type: string;
properties: {
factorMinimumRewardActiveValidators: {
type: string;
minimum: number;
};
tokenID: {
type: string;
format: string;
minLength: number;
maxLength: number;
};
offset: {
type: string;
minimum: number;
};
distance: {
type: string;
minimum: number;
};
brackets: {
type: string;
items: {
type: string;
format: string;
};
};
};
required: string[];
};
endpoint: DynamicRewardEndpoint;
private _tokenMethod;
private _randomMethod;
private _validatorMethod;
private _posMethod;
private _moduleConfig;
constructor();
addDependencies(tokenMethod: TokenMethod, randomMethod: RandomMethod, validatorMethod: ValidatorsMethod, posMethod: PoSMethod): void;
metadata(): ModuleMetadata;
init(args: ModuleInitArgs): Promise<void>;
initGenesisState(context: GenesisBlockExecuteContext): Promise<void>;
beforeTransactionsExecute(context: BlockExecuteContext): Promise<void>;
afterTransactionsExecute(context: BlockAfterExecuteContext): Promise<void>;
_getBlockRewardDeduction(context: ImmutableMethodContext, header: BlockHeader, assets: BlockAssets, defaultReward: bigint): Promise<[bigint, number]>;
_getDefaultBlockReward(context: ImmutableMethodContext, header: BlockHeader): Promise<bigint>;
}