wowok
Version:
Wowok Blockchain TypeScript API
147 lines (146 loc) • 4.55 kB
TypeScript
import { MessageType } from "@protobuf-ts/runtime";
export interface SystemState {
version?: bigint;
epoch?: bigint;
protocolVersion?: bigint;
validators?: ValidatorSet;
storageFund?: StorageFund;
parameters?: SystemParameters;
referenceGasPrice?: bigint;
validatorReportRecords: ValidatorReportRecord[];
stakeSubsidy?: StakeSubsidy;
safeMode?: boolean;
safeModeStorageRewards?: bigint;
safeModeComputationRewards?: bigint;
safeModeStorageRebates?: bigint;
safeModeNonRefundableStorageFee?: bigint;
epochStartTimestampMs?: bigint;
extraFields?: MoveTable;
}
export interface ValidatorReportRecord {
reported?: string;
reporters: string[];
}
export interface SystemParameters {
epochDurationMs?: bigint;
stakeSubsidyStartEpoch?: bigint;
minValidatorCount?: bigint;
maxValidatorCount?: bigint;
minValidatorJoiningStake?: bigint;
validatorLowStakeThreshold?: bigint;
validatorVeryLowStakeThreshold?: bigint;
validatorLowStakeGracePeriod?: bigint;
extraFields?: MoveTable;
}
export interface MoveTable {
id?: string;
size?: bigint;
}
export interface StakeSubsidy {
balance?: bigint;
distributionCounter?: bigint;
currentDistributionAmount?: bigint;
stakeSubsidyPeriodLength?: bigint;
stakeSubsidyDecreaseRate?: number;
extraFields?: MoveTable;
}
export interface StorageFund {
totalObjectStorageRebates?: bigint;
nonRefundableBalance?: bigint;
}
export interface ValidatorSet {
totalStake?: bigint;
activeValidators: Validator[];
pendingActiveValidators?: MoveTable;
pendingRemovals: bigint[];
stakingPoolMappings?: MoveTable;
inactiveValidators?: MoveTable;
validatorCandidates?: MoveTable;
atRiskValidators: {
[key: string]: bigint;
};
extraFields?: MoveTable;
}
export interface Validator {
name?: string;
address?: string;
description?: string;
imageUrl?: string;
projectUrl?: string;
protocolPublicKey?: Uint8Array;
proofOfPossession?: Uint8Array;
networkPublicKey?: Uint8Array;
workerPublicKey?: Uint8Array;
networkAddress?: string;
p2PAddress?: string;
primaryAddress?: string;
workerAddress?: string;
nextEpochProtocolPublicKey?: Uint8Array;
nextEpochProofOfPossession?: Uint8Array;
nextEpochNetworkPublicKey?: Uint8Array;
nextEpochWorkerPublicKey?: Uint8Array;
nextEpochNetworkAddress?: string;
nextEpochP2PAddress?: string;
nextEpochPrimaryAddress?: string;
nextEpochWorkerAddress?: string;
metadataExtraFields?: MoveTable;
votingPower?: bigint;
operationCapId?: string;
gasPrice?: bigint;
stakingPool?: StakingPool;
commissionRate?: bigint;
nextEpochStake?: bigint;
nextEpochGasPrice?: bigint;
nextEpochCommissionRate?: bigint;
extraFields?: MoveTable;
}
export interface StakingPool {
id?: string;
activationEpoch?: bigint;
deactivationEpoch?: bigint;
wowBalance?: bigint;
rewardsPool?: bigint;
poolTokenBalance?: bigint;
exchangeRates?: MoveTable;
pendingStake?: bigint;
pendingTotalWowWithdraw?: bigint;
pendingPoolTokenWithdraw?: bigint;
extraFields?: MoveTable;
}
declare class SystemState$Type extends MessageType<SystemState> {
constructor();
}
export declare const SystemState: SystemState$Type;
declare class ValidatorReportRecord$Type extends MessageType<ValidatorReportRecord> {
constructor();
}
export declare const ValidatorReportRecord: ValidatorReportRecord$Type;
declare class SystemParameters$Type extends MessageType<SystemParameters> {
constructor();
}
export declare const SystemParameters: SystemParameters$Type;
declare class MoveTable$Type extends MessageType<MoveTable> {
constructor();
}
export declare const MoveTable: MoveTable$Type;
declare class StakeSubsidy$Type extends MessageType<StakeSubsidy> {
constructor();
}
export declare const StakeSubsidy: StakeSubsidy$Type;
declare class StorageFund$Type extends MessageType<StorageFund> {
constructor();
}
export declare const StorageFund: StorageFund$Type;
declare class ValidatorSet$Type extends MessageType<ValidatorSet> {
constructor();
}
export declare const ValidatorSet: ValidatorSet$Type;
declare class Validator$Type extends MessageType<Validator> {
constructor();
}
export declare const Validator: Validator$Type;
declare class StakingPool$Type extends MessageType<StakingPool> {
constructor();
}
export declare const StakingPool: StakingPool$Type;
export {};