Class NodeStakeUpdateTransactionBody.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<NodeStakeUpdateTransactionBody,NodeStakeUpdateTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<NodeStakeUpdateTransactionBody,NodeStakeUpdateTransactionBody.Builder>
com.hedera.hashgraph.sdk.proto.NodeStakeUpdateTransactionBody.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, NodeStakeUpdateTransactionBodyOrBuilder, Cloneable
Enclosing class:
NodeStakeUpdateTransactionBody

public static final class NodeStakeUpdateTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<NodeStakeUpdateTransactionBody,NodeStakeUpdateTransactionBody.Builder> implements NodeStakeUpdateTransactionBodyOrBuilder
 *
 A system initiated transaction to update staking information.

 This transaction SHALL be issued at the end of each staking period to update
 node stakes and reward limits.<br/>
 This transaction SHALL be a child of the first transaction to reach
 consensus following the end of the previous staking period.<br/>
 This transaction MUST NOT be sent by a client and SHALL be rejected if
 received by any node.<br/>
 This transaction SHALL be present in the record stream or block stream.

 ### Block Stream Effects
 None
 
Protobuf type proto.NodeStakeUpdateTransactionBody
  • Method Details

    • hasEndOfStakingPeriod

      public 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;
      Specified by:
      hasEndOfStakingPeriod in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      Whether the endOfStakingPeriod field is set.
    • getEndOfStakingPeriod

      public 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;
      Specified by:
      getEndOfStakingPeriod in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The endOfStakingPeriod.
    • setEndOfStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder setEndOfStakingPeriod(Timestamp value)
       *
       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;
    • setEndOfStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder setEndOfStakingPeriod(Timestamp.Builder builderForValue)
       *
       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;
    • mergeEndOfStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder mergeEndOfStakingPeriod(Timestamp value)
       *
       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;
    • clearEndOfStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder clearEndOfStakingPeriod()
       *
       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;
    • getNodeStakeList

      public 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;
      Specified by:
      getNodeStakeList in interface NodeStakeUpdateTransactionBodyOrBuilder
    • getNodeStakeCount

      public 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;
      Specified by:
      getNodeStakeCount in interface NodeStakeUpdateTransactionBodyOrBuilder
    • getNodeStake

      public 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;
      Specified by:
      getNodeStake in interface NodeStakeUpdateTransactionBodyOrBuilder
    • setNodeStake

      public NodeStakeUpdateTransactionBody.Builder setNodeStake(int index, NodeStake value)
       *
       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;
    • setNodeStake

      public NodeStakeUpdateTransactionBody.Builder setNodeStake(int index, NodeStake.Builder builderForValue)
       *
       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;
    • addNodeStake

       *
       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;
    • addNodeStake

      public NodeStakeUpdateTransactionBody.Builder addNodeStake(int index, NodeStake value)
       *
       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;
    • addNodeStake

      public NodeStakeUpdateTransactionBody.Builder addNodeStake(NodeStake.Builder builderForValue)
       *
       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;
    • addNodeStake

      public NodeStakeUpdateTransactionBody.Builder addNodeStake(int index, NodeStake.Builder builderForValue)
       *
       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;
    • addAllNodeStake

      public NodeStakeUpdateTransactionBody.Builder addAllNodeStake(Iterable<? extends NodeStake> values)
       *
       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;
    • clearNodeStake

      public NodeStakeUpdateTransactionBody.Builder clearNodeStake()
       *
       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;
    • removeNodeStake

      public NodeStakeUpdateTransactionBody.Builder removeNodeStake(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;
    • getMaxStakingRewardRatePerHbar

      public 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;
      Specified by:
      getMaxStakingRewardRatePerHbar in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The maxStakingRewardRatePerHbar.
    • setMaxStakingRewardRatePerHbar

      public NodeStakeUpdateTransactionBody.Builder setMaxStakingRewardRatePerHbar(long value)
       *
       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;
      Parameters:
      value - The maxStakingRewardRatePerHbar to set.
      Returns:
      This builder for chaining.
    • clearMaxStakingRewardRatePerHbar

      public NodeStakeUpdateTransactionBody.Builder clearMaxStakingRewardRatePerHbar()
       *
       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:
      This builder for chaining.
    • hasNodeRewardFeeFraction

      public 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;
      Specified by:
      hasNodeRewardFeeFraction in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      Whether the nodeRewardFeeFraction field is set.
    • getNodeRewardFeeFraction

      public 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;
      Specified by:
      getNodeRewardFeeFraction in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The nodeRewardFeeFraction.
    • setNodeRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder setNodeRewardFeeFraction(Fraction value)
       *
       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;
    • setNodeRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder setNodeRewardFeeFraction(Fraction.Builder builderForValue)
       *
       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;
    • mergeNodeRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder mergeNodeRewardFeeFraction(Fraction value)
       *
       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;
    • clearNodeRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder clearNodeRewardFeeFraction()
       *
       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;
    • getStakingPeriodsStored

      public 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;
      Specified by:
      getStakingPeriodsStored in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The stakingPeriodsStored.
    • setStakingPeriodsStored

      public NodeStakeUpdateTransactionBody.Builder setStakingPeriodsStored(long value)
       *
       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;
      Parameters:
      value - The stakingPeriodsStored to set.
      Returns:
      This builder for chaining.
    • clearStakingPeriodsStored

      public NodeStakeUpdateTransactionBody.Builder clearStakingPeriodsStored()
       *
       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:
      This builder for chaining.
    • getStakingPeriod

      public 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;
      Specified by:
      getStakingPeriod in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The stakingPeriod.
    • setStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder setStakingPeriod(long value)
       *
       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;
      Parameters:
      value - The stakingPeriod to set.
      Returns:
      This builder for chaining.
    • clearStakingPeriod

      public NodeStakeUpdateTransactionBody.Builder clearStakingPeriod()
       *
       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:
      This builder for chaining.
    • hasStakingRewardFeeFraction

      public 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;
      Specified by:
      hasStakingRewardFeeFraction in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      Whether the stakingRewardFeeFraction field is set.
    • getStakingRewardFeeFraction

      public 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;
      Specified by:
      getStakingRewardFeeFraction in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The stakingRewardFeeFraction.
    • setStakingRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder setStakingRewardFeeFraction(Fraction value)
       *
       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;
    • setStakingRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder setStakingRewardFeeFraction(Fraction.Builder builderForValue)
       *
       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;
    • mergeStakingRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder mergeStakingRewardFeeFraction(Fraction value)
       *
       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;
    • clearStakingRewardFeeFraction

      public NodeStakeUpdateTransactionBody.Builder clearStakingRewardFeeFraction()
       *
       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;
    • getStakingStartThreshold

      public 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;
      Specified by:
      getStakingStartThreshold in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The stakingStartThreshold.
    • setStakingStartThreshold

      public NodeStakeUpdateTransactionBody.Builder setStakingStartThreshold(long value)
       *
       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;
      Parameters:
      value - The stakingStartThreshold to set.
      Returns:
      This builder for chaining.
    • clearStakingStartThreshold

      public NodeStakeUpdateTransactionBody.Builder clearStakingStartThreshold()
       *
       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:
      This builder for chaining.
    • getStakingRewardRate

      @Deprecated public 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];
      Specified by:
      getStakingRewardRate in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The stakingRewardRate.
    • setStakingRewardRate

      @Deprecated public NodeStakeUpdateTransactionBody.Builder setStakingRewardRate(long value)
      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];
      Parameters:
      value - The stakingRewardRate to set.
      Returns:
      This builder for chaining.
    • clearStakingRewardRate

      @Deprecated public NodeStakeUpdateTransactionBody.Builder clearStakingRewardRate()
      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:
      This builder for chaining.
    • getReservedStakingRewards

      public 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;
      Specified by:
      getReservedStakingRewards in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The reservedStakingRewards.
    • setReservedStakingRewards

      public NodeStakeUpdateTransactionBody.Builder setReservedStakingRewards(long value)
       *
       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;
      Parameters:
      value - The reservedStakingRewards to set.
      Returns:
      This builder for chaining.
    • clearReservedStakingRewards

      public NodeStakeUpdateTransactionBody.Builder clearReservedStakingRewards()
       *
       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:
      This builder for chaining.
    • getUnreservedStakingRewardBalance

      public 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;
      Specified by:
      getUnreservedStakingRewardBalance in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The unreservedStakingRewardBalance.
    • setUnreservedStakingRewardBalance

      public NodeStakeUpdateTransactionBody.Builder setUnreservedStakingRewardBalance(long value)
       *
       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;
      Parameters:
      value - The unreservedStakingRewardBalance to set.
      Returns:
      This builder for chaining.
    • clearUnreservedStakingRewardBalance

      public NodeStakeUpdateTransactionBody.Builder clearUnreservedStakingRewardBalance()
       *
       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:
      This builder for chaining.
    • getRewardBalanceThreshold

      public 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;
      Specified by:
      getRewardBalanceThreshold in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The rewardBalanceThreshold.
    • setRewardBalanceThreshold

      public NodeStakeUpdateTransactionBody.Builder setRewardBalanceThreshold(long value)
       *
       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;
      Parameters:
      value - The rewardBalanceThreshold to set.
      Returns:
      This builder for chaining.
    • clearRewardBalanceThreshold

      public NodeStakeUpdateTransactionBody.Builder clearRewardBalanceThreshold()
       *
       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:
      This builder for chaining.
    • getMaxStakeRewarded

      public 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;
      Specified by:
      getMaxStakeRewarded in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The maxStakeRewarded.
    • setMaxStakeRewarded

      public NodeStakeUpdateTransactionBody.Builder setMaxStakeRewarded(long value)
       *
       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;
      Parameters:
      value - The maxStakeRewarded to set.
      Returns:
      This builder for chaining.
    • clearMaxStakeRewarded

      public NodeStakeUpdateTransactionBody.Builder clearMaxStakeRewarded()
       *
       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:
      This builder for chaining.
    • getMaxTotalReward

      public 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;
      Specified by:
      getMaxTotalReward in interface NodeStakeUpdateTransactionBodyOrBuilder
      Returns:
      The maxTotalReward.
    • setMaxTotalReward

      public NodeStakeUpdateTransactionBody.Builder setMaxTotalReward(long value)
       *
       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;
      Parameters:
      value - The maxTotalReward to set.
      Returns:
      This builder for chaining.
    • clearMaxTotalReward

      public NodeStakeUpdateTransactionBody.Builder clearMaxTotalReward()
       *
       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:
      This builder for chaining.