lisk-framework
Version:
Lisk blockchain application platform
49 lines (48 loc) • 1.85 kB
TypeScript
import { ModuleInitArgs, ModuleMetadata } from '../base_module';
import { InteroperabilityMethod, TokenMethod } from './types';
import { TransactionExecuteContext, TransactionVerifyContext, VerificationResult } from '../../state_machine';
import { FeeMethod } from './method';
import { FeeEndpoint } from './endpoint';
import { FeeInteroperableMethod } from './cc_method';
import { BaseInteroperableModule } from '../interoperability/base_interoperable_module';
export declare class FeeModule extends BaseInteroperableModule {
method: FeeMethod;
crossChainMethod: FeeInteroperableMethod;
configSchema: {
$id: string;
type: string;
properties: {
feeTokenID: {
type: string;
format: string;
};
minFeePerByte: {
type: string;
format: string;
};
maxBlockHeightZeroFeePerByte: {
type: string;
format: string;
};
feePoolAddress: {
type: string;
format: string;
};
};
required: string[];
};
endpoint: FeeEndpoint;
private _tokenMethod;
private _minFeePerByte;
private _maxBlockHeightZeroFeePerByte;
private _tokenID;
private _feePoolAddress?;
constructor();
addDependencies(tokenMethod: TokenMethod, interopMethod: InteroperabilityMethod): void;
metadata(): ModuleMetadata;
init(args: ModuleInitArgs): Promise<void>;
verifyTransaction(context: TransactionVerifyContext): Promise<VerificationResult>;
beforeCommandExecute(context: TransactionExecuteContext): Promise<void>;
afterCommandExecute(context: TransactionExecuteContext): Promise<void>;
_getMinFee(blockHeight: number, transactionByteLength: number): bigint;
}