import _m0 from "protobufjs/minimal"; import { Fraction } from "./basic_types"; import { Timestamp } from "./timestamp"; export declare const protobufPackage = "proto"; /** Updates the staking info at the end of staking period to indicate new staking period has started. */ export interface NodeStakeUpdateTransactionBody { /** Time and date of the end of the staking period that is ending */ endOfStakingPeriod: Timestamp | undefined; /** Staking info of each node at the beginning of the new staking period */ nodeStake: NodeStake[]; /** The maximum reward rate, in tinybars per whole hbar, that any account can receive in a day. */ maxStakingRewardRatePerHbar: number; /** The fraction of the network and service fees paid to the node reward account 0.0.801. */ nodeRewardFeeFraction: Fraction | undefined; /** * The maximum number of trailing periods for which a user can collect rewards. For example, if this * is 365 with a UTC calendar day period, then users must collect rewards at least once per calendar * year to avoid missing any value. */ stakingPeriodsStored: number; /** * The number of minutes in a staking period. Note for the special case of 1440 minutes, periods are * treated as UTC calendar days, rather than repeating 1440 minute periods left-aligned at the epoch. */ stakingPeriod: number; /** The fraction of the network and service fees paid to the staking reward account 0.0.800. */ stakingRewardFeeFraction: Fraction | undefined; /** The minimum balance of staking reward account 0.0.800 required to active rewards. */ stakingStartThreshold: number; /** The total number of tinybars to be distributed as staking rewards each period. */ stakingRewardRate: number; } /** Staking info for each node at the end of a staking period. */ export interface NodeStake { /** * The maximum stake (rewarded or not rewarded) this node can have as consensus weight. If its stake to * reward is above this maximum at the start of a period, then accounts staking to the node in that * period will be rewarded at a lower rate scaled by (maxStake / stakeRewardStart). */ maxStake: number; /** * The minimum stake (rewarded or not rewarded) this node must reach before having non-zero consensus weight. * If its total stake is below this minimum at the start of a period, then accounts staking to the node in * that period will receive no rewards. */ minStake: number; /** The id of this node. */ nodeId: number; /** * The reward rate _per whole hbar_ that was staked to this node with declineReward=false from the start of * the staking period that is ending. */ rewardRate: number; /** Consensus weight of this node for the new staking period. */ stake: number; /** * Total of (balance + stakedToMe) for all accounts staked to this node with declineReward=true, at the * beginning of the new staking period. */ stakeNotRewarded: number; /** * Total of (balance + stakedToMe) for all accounts staked to this node with declineReward=false, at the * beginning of the new staking period. */ stakeRewarded: number; } export declare const NodeStakeUpdateTransactionBody: { encode(message: NodeStakeUpdateTransactionBody, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NodeStakeUpdateTransactionBody; fromJSON(object: any): NodeStakeUpdateTransactionBody; toJSON(message: NodeStakeUpdateTransactionBody): unknown; create(base?: DeepPartial): NodeStakeUpdateTransactionBody; fromPartial(object: DeepPartial): NodeStakeUpdateTransactionBody; }; export declare const NodeStake: { encode(message: NodeStake, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NodeStake; fromJSON(object: any): NodeStake; toJSON(message: NodeStake): unknown; create(base?: DeepPartial): NodeStake; fromPartial(object: DeepPartial): NodeStake; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends { $case: string; } ? { [K in keyof Omit]?: DeepPartial; } & { $case: T["$case"]; } : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export {}; //# sourceMappingURL=node_stake_update.d.ts.map