Interface NodeStakeUpdateTransactionBodyOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder
All Known Implementing Classes:
NodeStakeUpdateTransactionBody, NodeStakeUpdateTransactionBody.Builder

@Generated public interface NodeStakeUpdateTransactionBodyOrBuilder extends com.google.protobuf.MessageLiteOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    * A timestamp indicating the end of the staking period.
    long
    * A maximum network-wide stake that can earn full rewards.<br/> If the network-wide stake, in tinybar, exceeds this value, then staking rewards must be reduced to maintain "smooth" reward adjustments as defined in HIP-782.<br/> This value is further detailed in HIP-786.
    long
    * A maximum reward rate for this staking period.
    long
    * A limit amount that could be paid as staking rewards.<br/> In the limit case, the network could pay at most this amount, in tinybar as staking rewards for the staking period that just ended, if all other conditions were met to perfection.<br/> <p> This value SHALL reflect the result of a maximum reward calculation that takes into account the balance thresholds and maximum stake thresholds as defined in HIP-782 and HIP-786.<br/> This value is a convenience.
    * A fraction of network and service fees paid to the "node" reward account.<br/> The node staking rewards are paid from the designated reward account `0.0.801`, which receives a fraction of network and service fees for each transaction.
    getNodeStake(int index)
    * A list of `NodeStake` entries for each node at the beginning of the new staking period.
    int
    * A list of `NodeStake` entries for each node at the beginning of the new staking period.
    * A list of `NodeStake` entries for each node at the beginning of the new staking period.
    long
    * An amount reserved in the staking reward account.<br/> This is an amount "reserved" in the balance of account `0.0.800` that is already owed for pending rewards that were previously earned but have not yet been collected.<br/> This value is further detailed in HIP-786.
    long
    * A minimum balance required for maximum staking rewards.<br/> This value is further detailed in HIP-786.
    long
    * A number of minutes representing a staking period.<br/> <blockquote>Note<blockquote> For the special case of `1440` minutes, periods are treated as calendar days aligned to midnight UTC, rather than repeating `1440` minute periods left-aligned at the epoch.</blockquote></blockquote>
    long
    * A limit to the number of staking periods held for inactive accounts.<br/> This is the maximum number of trailing staking periods for which an account can collect staking rewards.<br/> #### Example If this value is 365 with a calendar day period, then each account must collect rewards at least once per calendar year to receive the full amount of staking rewards earned.
    * A fraction of network and service fees paid to the "general" reward account.<br/> The general staking rewards are paid from the designated reward account `0.0.800`, which receives a fraction of network and service fees for each transaction.
    long
    Deprecated.
    proto.NodeStakeUpdateTransactionBody.staking_reward_rate is deprecated.
    long
    * A minimum balance required to pay general staking rewards.
    long
    * An available, unreserved, amount in the staking reward account.<br/> This is the balance of the staking reward account `0.0.800` at the close of the staking period that just ended, after reduction for all "reserved" funds necessary to pay previously earned rewards.<br/> This value is further detailed in HIP-786.
    boolean
    * A timestamp indicating the end of the staking period.
    boolean
    * A fraction of network and service fees paid to the "node" reward account.<br/> The node staking rewards are paid from the designated reward account `0.0.801`, which receives a fraction of network and service fees for each transaction.
    boolean
    * A fraction of network and service fees paid to the "general" reward account.<br/> The general staking rewards are paid from the designated reward account `0.0.800`, which receives a fraction of network and service fees for each transaction.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Method Details

    • hasEndOfStakingPeriod

      boolean hasEndOfStakingPeriod()
       *
       A timestamp indicating the end of the staking period.
       <p>
       This value SHALL be one nanosecond prior to midnight prior to the
       consensus time of the parent transaction.
       
      .proto.Timestamp end_of_staking_period = 1;
      Returns:
      Whether the endOfStakingPeriod field is set.
    • getEndOfStakingPeriod

      Timestamp getEndOfStakingPeriod()
       *
       A timestamp indicating the end of the staking period.
       <p>
       This value SHALL be one nanosecond prior to midnight prior to the
       consensus time of the parent transaction.
       
      .proto.Timestamp end_of_staking_period = 1;
      Returns:
      The endOfStakingPeriod.
    • getNodeStakeList

      List<NodeStake> getNodeStakeList()
       *
       A list of `NodeStake` entries for each node at the beginning of the new
       staking period.
       <p>
       This list SHALL have one entry for each node participating in network
       consensus.
       
      repeated .proto.NodeStake node_stake = 2;
    • getNodeStake

      NodeStake getNodeStake(int index)
       *
       A list of `NodeStake` entries for each node at the beginning of the new
       staking period.
       <p>
       This list SHALL have one entry for each node participating in network
       consensus.
       
      repeated .proto.NodeStake node_stake = 2;
    • getNodeStakeCount

      int getNodeStakeCount()
       *
       A list of `NodeStake` entries for each node at the beginning of the new
       staking period.
       <p>
       This list SHALL have one entry for each node participating in network
       consensus.
       
      repeated .proto.NodeStake node_stake = 2;
    • getMaxStakingRewardRatePerHbar

      long getMaxStakingRewardRatePerHbar()
       *
       A maximum reward rate for this staking period.
       <p>
       This SHALL be a ratio of tinybar to HBAR.<br/>
       An account SHALL NOT receive a reward greater than the product of this
       ratio and the total number of HBAR staked by that account.
       
      int64 max_staking_reward_rate_per_hbar = 3;
      Returns:
      The maxStakingRewardRatePerHbar.
    • hasNodeRewardFeeFraction

      boolean hasNodeRewardFeeFraction()
       *
       A fraction of network and service fees paid to
       the "node" reward account.<br/>
       The node staking rewards are paid from the designated reward account
       `0.0.801`, which receives a fraction of network and service fees for
       each transaction. This field is the value of that fraction for the
       last staking period.
       
      .proto.Fraction node_reward_fee_fraction = 4;
      Returns:
      Whether the nodeRewardFeeFraction field is set.
    • getNodeRewardFeeFraction

      Fraction getNodeRewardFeeFraction()
       *
       A fraction of network and service fees paid to
       the "node" reward account.<br/>
       The node staking rewards are paid from the designated reward account
       `0.0.801`, which receives a fraction of network and service fees for
       each transaction. This field is the value of that fraction for the
       last staking period.
       
      .proto.Fraction node_reward_fee_fraction = 4;
      Returns:
      The nodeRewardFeeFraction.
    • getStakingPeriodsStored

      long getStakingPeriodsStored()
       *
       A limit to the number of staking periods held for inactive accounts.<br/>
       This is the maximum number of trailing staking periods for which an
       account can collect staking rewards.<br/>
       #### Example
       If this value is 365 with a calendar day period, then each account must
       collect rewards at least once per calendar year to receive the full
       amount of staking rewards earned.
       <p>
       Staking rewards SHALL be stored in network state for no more than
       `staking_periods_stored` staking periods.<br/>
       Each account MUST participate in at least one transaction that affects
       its balance, staking, or staking metadata within this time limit
       to receive all available staking rewards.
       
      int64 staking_periods_stored = 5;
      Returns:
      The stakingPeriodsStored.
    • getStakingPeriod

      long getStakingPeriod()
       *
       A number of minutes representing a staking period.<br/>
       <blockquote>Note<blockquote>
       For the special case of `1440` minutes, periods are treated as
       calendar days aligned to midnight UTC, rather than repeating `1440`
       minute periods left-aligned at the epoch.</blockquote></blockquote>
       
      int64 staking_period = 6;
      Returns:
      The stakingPeriod.
    • hasStakingRewardFeeFraction

      boolean hasStakingRewardFeeFraction()
       *
       A fraction of network and service fees paid to
       the "general" reward account.<br/>
       The general staking rewards are paid from the designated reward account
       `0.0.800`, which receives a fraction of network and service fees for
       each transaction. This field is the value of that fraction for the
       last staking period.
       
      .proto.Fraction staking_reward_fee_fraction = 7;
      Returns:
      Whether the stakingRewardFeeFraction field is set.
    • getStakingRewardFeeFraction

      Fraction getStakingRewardFeeFraction()
       *
       A fraction of network and service fees paid to
       the "general" reward account.<br/>
       The general staking rewards are paid from the designated reward account
       `0.0.800`, which receives a fraction of network and service fees for
       each transaction. This field is the value of that fraction for the
       last staking period.
       
      .proto.Fraction staking_reward_fee_fraction = 7;
      Returns:
      The stakingRewardFeeFraction.
    • getStakingStartThreshold

      long getStakingStartThreshold()
       *
       A minimum balance required to pay general staking rewards.
       <p>
       If the balance of the staking reward account `0.0.800` is below this
       threshold, staking rewards SHALL NOT be paid in full.
       
      int64 staking_start_threshold = 8;
      Returns:
      The stakingStartThreshold.
    • getStakingRewardRate

      @Deprecated long getStakingRewardRate()
      Deprecated.
      proto.NodeStakeUpdateTransactionBody.staking_reward_rate is deprecated. See node_stake_update.proto;l=135
       *
       HIP-786 replaced this field with `max_total_reward`.<br/>
       This was a maximum total number of tinybars to be distributed as staking
       rewards in the staking period that just ended.
       
      int64 staking_reward_rate = 9 [deprecated = true];
      Returns:
      The stakingRewardRate.
    • getReservedStakingRewards

      long getReservedStakingRewards()
       *
       An amount reserved in the staking reward account.<br/>
       This is an amount "reserved" in the balance of account `0.0.800` that
       is already owed for pending rewards that were previously earned but
       have not yet been collected.<br/>
       This value is further detailed in HIP-786.
       
      int64 reserved_staking_rewards = 10;
      Returns:
      The reservedStakingRewards.
    • getUnreservedStakingRewardBalance

      long getUnreservedStakingRewardBalance()
       *
       An available, unreserved, amount in the staking reward account.<br/>
       This is the balance of the staking reward account `0.0.800` at the close
       of the staking period that just ended, after reduction for all "reserved"
       funds necessary to pay previously earned rewards.<br/>
       This value is further detailed in HIP-786.
       <p>
       This value SHALL be used to calculate the reward ratio according to
       the formula detailed in HIP-782.
       
      int64 unreserved_staking_reward_balance = 11;
      Returns:
      The unreservedStakingRewardBalance.
    • getRewardBalanceThreshold

      long getRewardBalanceThreshold()
       *
       A minimum balance required for maximum staking rewards.<br/>
       This value is further detailed in HIP-786.
       The formula to calculate staking rewards is detailed in HIP-782.
       <p>
       The value of `unreserved_staking_reward_balance` MUST match or exceed the
       value of this field to support the maximum staking reward ratio.<br/>
       
      int64 reward_balance_threshold = 12;
      Returns:
      The rewardBalanceThreshold.
    • getMaxStakeRewarded

      long getMaxStakeRewarded()
       *
       A maximum network-wide stake that can earn full rewards.<br/>
       If the network-wide stake, in tinybar, exceeds this value, then staking
       rewards must be reduced to maintain "smooth" reward adjustments as
       defined in HIP-782.<br/>
       This value is further detailed in HIP-786.
       <p>
       If the total network-wide stake exceeds this value, the effective
       staking reward ratio MUST be reduced to maintain solvency of the
       staking reward account.
       
      int64 max_stake_rewarded = 13;
      Returns:
      The maxStakeRewarded.
    • getMaxTotalReward

      long getMaxTotalReward()
       *
       A limit amount that could be paid as staking rewards.<br/>
       In the limit case, the network could pay at most this amount, in tinybar
       as staking rewards for the staking period that just ended, if all other
       conditions were met to perfection.<br/>
       <p>
       This value SHALL reflect the result of a maximum reward calculation that
       takes into account the balance thresholds and maximum stake thresholds
       as defined in HIP-782 and HIP-786.<br/>
       This value is a convenience. The actual defined calculation SHALL be
       authoritative in the unlikely event this value differs.
       
      int64 max_total_reward = 14;
      Returns:
      The maxTotalReward.