Class TokenWipeAccountTransactionBody.Builder

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

public static final class TokenWipeAccountTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<TokenWipeAccountTransactionBody,TokenWipeAccountTransactionBody.Builder> implements TokenWipeAccountTransactionBodyOrBuilder
 *
 Wipe (administratively burn) tokens held by a non-treasury account.<br/>
 On success, the requested tokens will be removed from the identified account
 and the token supply will be reduced by the amount "wiped".

 This transaction MUST be signed by the token `wipe_key`.<br/>
 The identified token MUST exist, MUST NOT be deleted,
 and MUST NOT be paused.<br/>
 The identified token MUST have a valid `Key` set for the `wipe_key` field,
 and that key MUST NOT be an empty `KeyList`.<br/>
 The identified account MUST exist, MUST NOT be deleted, MUST be
 associated to the identified token, MUST NOT be frozen for the identified
 token, MUST NOT be the token `treasury`, and MUST hold a balance for the
 token or the specific serial numbers provided.<br/>
 This transaction SHOULD provide a value for `amount` or `serialNumbers`,
 but MUST NOT set both fields.

 ### Block Stream Effects
 The new total supply for the wiped token type SHALL be recorded.
 
Protobuf type proto.TokenWipeAccountTransactionBody
  • Method Details

    • hasToken

      public boolean hasToken()
       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
      Specified by:
      hasToken in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      Whether the token field is set.
    • getToken

      public TokenID getToken()
       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
      Specified by:
      getToken in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      The token.
    • setToken

       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
    • setToken

      public TokenWipeAccountTransactionBody.Builder setToken(TokenID.Builder builderForValue)
       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
    • mergeToken

       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
    • clearToken

       *
       A token identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified token MUST exist, MUST NOT be paused, MUST NOT be
       deleted, and MUST NOT be expired.
       
      .proto.TokenID token = 1;
    • hasAccount

      public boolean hasAccount()
       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
      Specified by:
      hasAccount in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      Whether the account field is set.
    • getAccount

      public AccountID getAccount()
       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
      Specified by:
      getAccount in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      The account.
    • setAccount

       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
    • setAccount

      public TokenWipeAccountTransactionBody.Builder setAccount(AccountID.Builder builderForValue)
       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
    • mergeAccount

       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
    • clearAccount

       *
       An account identifier.<br/>
       This identifies the account from which tokens will be wiped.
       <p>
       This field is REQUIRED.<br/>
       The identified account MUST NOT be deleted or expired.<br/>
       If the identified token `kyc_key` is set to a valid key, the
       identified account MUST have "KYC" granted.<br/>
       The identified account MUST NOT be the `treasury` account for the
       identified token.
       
      .proto.AccountID account = 2;
    • getAmount

      public long getAmount()
       *
       An amount of fungible/common tokens to wipe.
       <p>
       If the identified token is a non-fungible/unique token type,
       this value MUST be exactly zero(`0`).<br/>
       If the identified token type is fungible/common:
       <ul>
       <li>This value SHALL be specified in units of the smallest
       denomination possible for the identified token
       (<tt>10<sup>-decimals</sup></tt> whole tokens).</li>
       <li>This value MUST be strictly less than `Long.MAX_VALUE`.</li>
       <li>This value MUST be less than or equal to the current total
       supply for the identified token.</li>
       <li>This value MUST be less than or equal to the current balance
       held by the identified account.</li>
       <li>This value MAY be zero(`0`).</li>
       </ul>
       
      uint64 amount = 3;
      Specified by:
      getAmount in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      The amount.
    • setAmount

      public TokenWipeAccountTransactionBody.Builder setAmount(long value)
       *
       An amount of fungible/common tokens to wipe.
       <p>
       If the identified token is a non-fungible/unique token type,
       this value MUST be exactly zero(`0`).<br/>
       If the identified token type is fungible/common:
       <ul>
       <li>This value SHALL be specified in units of the smallest
       denomination possible for the identified token
       (<tt>10<sup>-decimals</sup></tt> whole tokens).</li>
       <li>This value MUST be strictly less than `Long.MAX_VALUE`.</li>
       <li>This value MUST be less than or equal to the current total
       supply for the identified token.</li>
       <li>This value MUST be less than or equal to the current balance
       held by the identified account.</li>
       <li>This value MAY be zero(`0`).</li>
       </ul>
       
      uint64 amount = 3;
      Parameters:
      value - The amount to set.
      Returns:
      This builder for chaining.
    • clearAmount

       *
       An amount of fungible/common tokens to wipe.
       <p>
       If the identified token is a non-fungible/unique token type,
       this value MUST be exactly zero(`0`).<br/>
       If the identified token type is fungible/common:
       <ul>
       <li>This value SHALL be specified in units of the smallest
       denomination possible for the identified token
       (<tt>10<sup>-decimals</sup></tt> whole tokens).</li>
       <li>This value MUST be strictly less than `Long.MAX_VALUE`.</li>
       <li>This value MUST be less than or equal to the current total
       supply for the identified token.</li>
       <li>This value MUST be less than or equal to the current balance
       held by the identified account.</li>
       <li>This value MAY be zero(`0`).</li>
       </ul>
       
      uint64 amount = 3;
      Returns:
      This builder for chaining.
    • getSerialNumbersList

      public List<Long> getSerialNumbersList()
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Specified by:
      getSerialNumbersList in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      A list containing the serialNumbers.
    • getSerialNumbersCount

      public int getSerialNumbersCount()
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Specified by:
      getSerialNumbersCount in interface TokenWipeAccountTransactionBodyOrBuilder
      Returns:
      The count of serialNumbers.
    • getSerialNumbers

      public long getSerialNumbers(int index)
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Specified by:
      getSerialNumbers in interface TokenWipeAccountTransactionBodyOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The serialNumbers at the given index.
    • setSerialNumbers

      public TokenWipeAccountTransactionBody.Builder setSerialNumbers(int index, long value)
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Parameters:
      value - The serialNumbers to set.
      Returns:
      This builder for chaining.
    • addSerialNumbers

      public TokenWipeAccountTransactionBody.Builder addSerialNumbers(long value)
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Parameters:
      value - The serialNumbers to add.
      Returns:
      This builder for chaining.
    • addAllSerialNumbers

      public TokenWipeAccountTransactionBody.Builder addAllSerialNumbers(Iterable<? extends Long> values)
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Parameters:
      values - The serialNumbers to add.
      Returns:
      This builder for chaining.
    • clearSerialNumbers

      public TokenWipeAccountTransactionBody.Builder clearSerialNumbers()
       *
       A list of serial numbers to wipe.<br/>
       The non-fungible/unique tokens with these serial numbers will be
       destroyed and cannot be recovered or reused.
       <p>
       If the identified token type is a fungible/common type, this
       list MUST be empty.<br/>
       If the identified token type is non-fungible/unique:
       <ul>
       <li>This list MUST contain at least one entry if the identified token
       type is non-fungible/unique.>/li>
       <li>This list MUST NOT contain more entries than the current total
       supply for the identified token.</li>
       <li>Every entry in this list MUST be a valid serial number for the
       identified token (i.e. "collection").</li>
       <li>Every entry in this list MUST be owned by the
       identified account</li>
       <li></li>
       </ul>
       This list MUST NOT contain more entries than the network configuration
       value for batch size limit, typically ten(`10`).
       
      repeated int64 serialNumbers = 4;
      Returns:
      This builder for chaining.