Class TssVoteTransactionBody.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<TssVoteTransactionBody,TssVoteTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<TssVoteTransactionBody,TssVoteTransactionBody.Builder>
com.hedera.hapi.services.auxiliary.tss.legacy.TssVoteTransactionBody.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, TssVoteTransactionBodyOrBuilder, Cloneable
Enclosing class:
TssVoteTransactionBody

public static final class TssVoteTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<TssVoteTransactionBody,TssVoteTransactionBody.Builder> implements TssVoteTransactionBodyOrBuilder
 *
 A transaction body to vote on the validity of Threshold Signature Scheme
 (TSS) Messages for a candidate roster.

 - A `TssVoteTransactionBody` MUST identify the hash of the roster containing
 the node generating this TssVote
 - A `TssVoteTransactionBody` MUST identify the hash of the roster that the
 TSS messages is for
 - If the candidate roster has received enough yes votes, the candidate
 roster SHALL be adopted.
 - Switching to the candidate roster MUST not happen until enough nodes have
 voted that they have verified a threshold number of TSS messages from the
 active roster.
 - A vote consists of a bit vector of message statuses where each bit
 corresponds to the order of TssMessages as they have come through
 consensus.
 - The threshold for votes to adopt a candidate roster SHALL be at least 1/3
 of the consensus weight of the active roster to ensure that at least 1
 honest node has validated the TSS key material.
 
Protobuf type com.hedera.hapi.services.auxiliary.tss.TssVoteTransactionBody
  • Method Details

    • getSourceRosterHash

      public com.google.protobuf.ByteString getSourceRosterHash()
       *
       A hash of the roster containing the node generating this TssVote.
       
      bytes source_roster_hash = 1;
      Specified by:
      getSourceRosterHash in interface TssVoteTransactionBodyOrBuilder
      Returns:
      The sourceRosterHash.
    • setSourceRosterHash

      public TssVoteTransactionBody.Builder setSourceRosterHash(com.google.protobuf.ByteString value)
       *
       A hash of the roster containing the node generating this TssVote.
       
      bytes source_roster_hash = 1;
      Parameters:
      value - The sourceRosterHash to set.
      Returns:
      This builder for chaining.
    • clearSourceRosterHash

      public TssVoteTransactionBody.Builder clearSourceRosterHash()
       *
       A hash of the roster containing the node generating this TssVote.
       
      bytes source_roster_hash = 1;
      Returns:
      This builder for chaining.
    • getTargetRosterHash

      public com.google.protobuf.ByteString getTargetRosterHash()
       *
       A hash of the roster that this TssVote is for.
       
      bytes target_roster_hash = 2;
      Specified by:
      getTargetRosterHash in interface TssVoteTransactionBodyOrBuilder
      Returns:
      The targetRosterHash.
    • setTargetRosterHash

      public TssVoteTransactionBody.Builder setTargetRosterHash(com.google.protobuf.ByteString value)
       *
       A hash of the roster that this TssVote is for.
       
      bytes target_roster_hash = 2;
      Parameters:
      value - The targetRosterHash to set.
      Returns:
      This builder for chaining.
    • clearTargetRosterHash

      public TssVoteTransactionBody.Builder clearTargetRosterHash()
       *
       A hash of the roster that this TssVote is for.
       
      bytes target_roster_hash = 2;
      Returns:
      This builder for chaining.
    • getLedgerId

      public com.google.protobuf.ByteString getLedgerId()
       *
       An identifier (and public key) computed from the TssMessages for the target
       roster.
       
      bytes ledger_id = 3;
      Specified by:
      getLedgerId in interface TssVoteTransactionBodyOrBuilder
      Returns:
      The ledgerId.
    • setLedgerId

      public TssVoteTransactionBody.Builder setLedgerId(com.google.protobuf.ByteString value)
       *
       An identifier (and public key) computed from the TssMessages for the target
       roster.
       
      bytes ledger_id = 3;
      Parameters:
      value - The ledgerId to set.
      Returns:
      This builder for chaining.
    • clearLedgerId

      public TssVoteTransactionBody.Builder clearLedgerId()
       *
       An identifier (and public key) computed from the TssMessages for the target
       roster.
       
      bytes ledger_id = 3;
      Returns:
      This builder for chaining.
    • getNodeSignature

      public com.google.protobuf.ByteString getNodeSignature()
       *
       A signature produced by the node.
       <p>
       This signature SHALL be produced using the node RSA signing key to sign
       the ledger_id.<br/>
       This signature SHALL be used to establish a chain of trust in the ledger id.
       
      bytes node_signature = 4;
      Specified by:
      getNodeSignature in interface TssVoteTransactionBodyOrBuilder
      Returns:
      The nodeSignature.
    • setNodeSignature

      public TssVoteTransactionBody.Builder setNodeSignature(com.google.protobuf.ByteString value)
       *
       A signature produced by the node.
       <p>
       This signature SHALL be produced using the node RSA signing key to sign
       the ledger_id.<br/>
       This signature SHALL be used to establish a chain of trust in the ledger id.
       
      bytes node_signature = 4;
      Parameters:
      value - The nodeSignature to set.
      Returns:
      This builder for chaining.
    • clearNodeSignature

      public TssVoteTransactionBody.Builder clearNodeSignature()
       *
       A signature produced by the node.
       <p>
       This signature SHALL be produced using the node RSA signing key to sign
       the ledger_id.<br/>
       This signature SHALL be used to establish a chain of trust in the ledger id.
       
      bytes node_signature = 4;
      Returns:
      This builder for chaining.
    • getTssVote

      public com.google.protobuf.ByteString getTssVote()
       *
       A bit vector of message statuses.
       <p>
       #### Example
       <ul><li>The least significant bit of byte[0] SHALL be the 0th item in the sequence.</li>
       <li>The most significant bit of byte[0] SHALL be the 7th item in the sequence.</li>
       <li>The least significant bit of byte[1] SHALL be the 8th item in the sequence.</li>
       <li>The most significant bit of byte[1] SHALL be the 15th item in the sequence.</li>
       </ul>
       A bit SHALL be set if the `TssMessage` for the `TssMessageTransaction`
       with a sequence number matching that bit index has been
       received, and is valid.<br/>
       A bit SHALL NOT be set if the `TssMessage` has not been received or was
       received but not valid.
       
      bytes tss_vote = 5;
      Specified by:
      getTssVote in interface TssVoteTransactionBodyOrBuilder
      Returns:
      The tssVote.
    • setTssVote

      public TssVoteTransactionBody.Builder setTssVote(com.google.protobuf.ByteString value)
       *
       A bit vector of message statuses.
       <p>
       #### Example
       <ul><li>The least significant bit of byte[0] SHALL be the 0th item in the sequence.</li>
       <li>The most significant bit of byte[0] SHALL be the 7th item in the sequence.</li>
       <li>The least significant bit of byte[1] SHALL be the 8th item in the sequence.</li>
       <li>The most significant bit of byte[1] SHALL be the 15th item in the sequence.</li>
       </ul>
       A bit SHALL be set if the `TssMessage` for the `TssMessageTransaction`
       with a sequence number matching that bit index has been
       received, and is valid.<br/>
       A bit SHALL NOT be set if the `TssMessage` has not been received or was
       received but not valid.
       
      bytes tss_vote = 5;
      Parameters:
      value - The tssVote to set.
      Returns:
      This builder for chaining.
    • clearTssVote

      public TssVoteTransactionBody.Builder clearTssVote()
       *
       A bit vector of message statuses.
       <p>
       #### Example
       <ul><li>The least significant bit of byte[0] SHALL be the 0th item in the sequence.</li>
       <li>The most significant bit of byte[0] SHALL be the 7th item in the sequence.</li>
       <li>The least significant bit of byte[1] SHALL be the 8th item in the sequence.</li>
       <li>The most significant bit of byte[1] SHALL be the 15th item in the sequence.</li>
       </ul>
       A bit SHALL be set if the `TssMessage` for the `TssMessageTransaction`
       with a sequence number matching that bit index has been
       received, and is valid.<br/>
       A bit SHALL NOT be set if the `TssMessage` has not been received or was
       received but not valid.
       
      bytes tss_vote = 5;
      Returns:
      This builder for chaining.