Class TokenCreateTransactionBody.Builder

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

public static final class TokenCreateTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<TokenCreateTransactionBody,TokenCreateTransactionBody.Builder> implements TokenCreateTransactionBodyOrBuilder
 *
 Create an HTS token.

 #### Keys
 Each token has several keys that, separately, control different functions
 for that token. It is *_strongly_* recommended that each key assigned to
 a token be unique, or disabled by assigning an empty `KeyList`.
 Keys and purpose
 - `adminKey` is a general access and may authorize a token update
 transaction as well as _update the other keys_. Even the admin key
 cannot authorize _adding_ a key that is not present, however.<br/>
 The admin key may also delete the token entirely.
 - `fee_schedule` may authorize updating the token custom fees. If this
 key is not present, the custom fees for the token are fixed and immutable.
 - `freeze` may authorize a token freeze or unfreeze transaction.
 If this key is not present, accounts holding this token cannot have
 their tokens frozen or unfrozen.
 - `kyc` may authorize a token grant KYC or revoke KYC transaction.
 If this key is not present, accounts holding this token cannot have
 KYC status granted or revoked.
 - `metadata` may authorize token update nfts transactions.
 If this key is not present, the token metadata values for that
 non-fungible/unique token _type_ will be immutable.
 - `pause` may authorize a token pause or token unpause transaction.
 If this key is not present, the token cannot be paused (preventing any
 account from transacting in that token) or resumed.
 - `supply` may authorize a token mint or burn transaction.
 If this key is not present, the token cannot mint additional supply and
 existing tokens cannot be "burned" from the treasury (but _might_ still be
 "burned" from individual accounts, c.f. `wipeKey` and `tokenWipe`).
 - `wipe` may authorize a token wipe account transaction.
 If this key is not present, accounts holding this token cannot have
 their balance or NFTs wiped (effectively burned).

 #### Requirements
 If `tokenType` is fungible/common, the `initialSupply` MUST be strictly
 greater than zero(`0`).<br/>
 If `tokenType` is non-fungible/unique, the `initialSupply` MUST
 be zero(`0`).<br/>
 If `tokenSupplyType` is "infinite", the `maxSupply` MUST be zero(`0`).<br/>
 If `tokenSupplyType` is "finite", the `maxSupply` MUST be strictly
 greater than zero(`0`).<br/>

 ### Block Stream Effects
 If the token is created, the Token Identifier SHALL be in the receipt.<br/>
 
Protobuf type proto.TokenCreateTransactionBody
  • Method Details

    • getName

      public String getName()
       *
       A name for the token.<br/>
       This is generally the "full name" displayed in wallet software.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string name = 1;
      Specified by:
      getName in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       *
       A name for the token.<br/>
       This is generally the "full name" displayed in wallet software.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string name = 1;
      Specified by:
      getNameBytes in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The bytes for name.
    • setName

       *
       A name for the token.<br/>
       This is generally the "full name" displayed in wallet software.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string name = 1;
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

       *
       A name for the token.<br/>
       This is generally the "full name" displayed in wallet software.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string name = 1;
      Returns:
      This builder for chaining.
    • setNameBytes

      public TokenCreateTransactionBody.Builder setNameBytes(com.google.protobuf.ByteString value)
       *
       A name for the token.<br/>
       This is generally the "full name" displayed in wallet software.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string name = 1;
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getSymbol

      public String getSymbol()
       *
       A symbol to use for the token.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string symbol = 2;
      Specified by:
      getSymbol in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The symbol.
    • getSymbolBytes

      public com.google.protobuf.ByteString getSymbolBytes()
       *
       A symbol to use for the token.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string symbol = 2;
      Specified by:
      getSymbolBytes in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The bytes for symbol.
    • setSymbol

      public TokenCreateTransactionBody.Builder setSymbol(String value)
       *
       A symbol to use for the token.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string symbol = 2;
      Parameters:
      value - The symbol to set.
      Returns:
      This builder for chaining.
    • clearSymbol

      public TokenCreateTransactionBody.Builder clearSymbol()
       *
       A symbol to use for the token.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string symbol = 2;
      Returns:
      This builder for chaining.
    • setSymbolBytes

      public TokenCreateTransactionBody.Builder setSymbolBytes(com.google.protobuf.ByteString value)
       *
       A symbol to use for the token.
       <p>
       This field is REQUIRED.<br/>
       This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
       This value MUST NOT contain the Unicode NUL codepoint.
       
      string symbol = 2;
      Parameters:
      value - The bytes for symbol to set.
      Returns:
      This builder for chaining.
    • getDecimals

      public int getDecimals()
       *
       A decimal precision of the token's smallest denomination.<br/>
       Most values are described in terms of this smallest denomination,
       so the token initial supply, for instance, must be divided by
       <tt>10<sup>decimals</sup></tt> to get whole tokens.
       <p>
       This MUST be zero(`0`) for non-fungible/unique tokens.
       
      uint32 decimals = 3;
      Specified by:
      getDecimals in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The decimals.
    • setDecimals

      public TokenCreateTransactionBody.Builder setDecimals(int value)
       *
       A decimal precision of the token's smallest denomination.<br/>
       Most values are described in terms of this smallest denomination,
       so the token initial supply, for instance, must be divided by
       <tt>10<sup>decimals</sup></tt> to get whole tokens.
       <p>
       This MUST be zero(`0`) for non-fungible/unique tokens.
       
      uint32 decimals = 3;
      Parameters:
      value - The decimals to set.
      Returns:
      This builder for chaining.
    • clearDecimals

      public TokenCreateTransactionBody.Builder clearDecimals()
       *
       A decimal precision of the token's smallest denomination.<br/>
       Most values are described in terms of this smallest denomination,
       so the token initial supply, for instance, must be divided by
       <tt>10<sup>decimals</sup></tt> to get whole tokens.
       <p>
       This MUST be zero(`0`) for non-fungible/unique tokens.
       
      uint32 decimals = 3;
      Returns:
      This builder for chaining.
    • getInitialSupply

      public long getInitialSupply()
       *
       An initial supply, in the smallest denomination for the token.
       <p>
       This amount SHALL be transferred to the treasury account as part
       of this transaction.<br/>
       This amount MUST be specified in the smallest denomination for the
       token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/>
       This MUST be zero(`0`) for a non-fungible/unique token.
       
      uint64 initialSupply = 4;
      Specified by:
      getInitialSupply in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The initialSupply.
    • setInitialSupply

      public TokenCreateTransactionBody.Builder setInitialSupply(long value)
       *
       An initial supply, in the smallest denomination for the token.
       <p>
       This amount SHALL be transferred to the treasury account as part
       of this transaction.<br/>
       This amount MUST be specified in the smallest denomination for the
       token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/>
       This MUST be zero(`0`) for a non-fungible/unique token.
       
      uint64 initialSupply = 4;
      Parameters:
      value - The initialSupply to set.
      Returns:
      This builder for chaining.
    • clearInitialSupply

      public TokenCreateTransactionBody.Builder clearInitialSupply()
       *
       An initial supply, in the smallest denomination for the token.
       <p>
       This amount SHALL be transferred to the treasury account as part
       of this transaction.<br/>
       This amount MUST be specified in the smallest denomination for the
       token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/>
       This MUST be zero(`0`) for a non-fungible/unique token.
       
      uint64 initialSupply = 4;
      Returns:
      This builder for chaining.
    • hasTreasury

      public boolean hasTreasury()
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
      Specified by:
      hasTreasury in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the treasury field is set.
    • getTreasury

      public AccountID getTreasury()
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
      Specified by:
      getTreasury in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The treasury.
    • setTreasury

      public TokenCreateTransactionBody.Builder setTreasury(AccountID value)
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
    • setTreasury

      public TokenCreateTransactionBody.Builder setTreasury(AccountID.Builder builderForValue)
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
    • mergeTreasury

      public TokenCreateTransactionBody.Builder mergeTreasury(AccountID value)
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
    • clearTreasury

      public TokenCreateTransactionBody.Builder clearTreasury()
       *
       A treasury account identifier.
       <p>
       This field is REQUIRED.<br/>
       The identified account SHALL be designated the "treasury" for the
       new token, and all tokens "minted" SHALL be delivered to that account,
       including the initial supply, if any.<br/>
       The identified account MUST exist, MUST NOT be expired, and SHOULD
       have a non-zero HBAR balance.<br/>
       The identified account SHALL be associated to the new token.
       
      .proto.AccountID treasury = 5;
    • hasAdminKey

      public boolean hasAdminKey()
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
      Specified by:
      hasAdminKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the adminKey field is set.
    • getAdminKey

      public Key getAdminKey()
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
      Specified by:
      getAdminKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The adminKey.
    • setAdminKey

      public TokenCreateTransactionBody.Builder setAdminKey(Key value)
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
    • setAdminKey

      public TokenCreateTransactionBody.Builder setAdminKey(Key.Builder builderForValue)
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
    • mergeAdminKey

      public TokenCreateTransactionBody.Builder mergeAdminKey(Key value)
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
    • clearAdminKey

      public TokenCreateTransactionBody.Builder clearAdminKey()
       *
       An Hedera key for token administration.
       <p>
       This key, if set, SHALL have administrative authority for this token and
       MAY authorize token update and/or token delete transactions.<br/>
       If this key is not set, or is an empty `KeyList`, this token SHALL be
       immutable, except for expiration and renewal.
       
      .proto.Key adminKey = 6;
    • hasKycKey

      public boolean hasKycKey()
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
      Specified by:
      hasKycKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the kycKey field is set.
    • getKycKey

      public Key getKycKey()
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
      Specified by:
      getKycKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The kycKey.
    • setKycKey

      public TokenCreateTransactionBody.Builder setKycKey(Key value)
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
    • setKycKey

      public TokenCreateTransactionBody.Builder setKycKey(Key.Builder builderForValue)
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
    • mergeKycKey

      public TokenCreateTransactionBody.Builder mergeKycKey(Key value)
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
    • clearKycKey

      public TokenCreateTransactionBody.Builder clearKycKey()
       *
       An Hedera key for managing account KYC.
       <p>
       This key, if set, SHALL have KYC authority for this token and
       MAY authorize transactions to grant or revoke KYC for accounts.<br/>
       If this key is not set, or is an empty `KeyList`, KYC status for this
       token SHALL NOT be granted or revoked for any account.<br/>
       If this key is removed after granting KYC, those grants SHALL remain
       and cannot be revoked.
       
      .proto.Key kycKey = 7;
    • hasFreezeKey

      public boolean hasFreezeKey()
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
      Specified by:
      hasFreezeKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the freezeKey field is set.
    • getFreezeKey

      public Key getFreezeKey()
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
      Specified by:
      getFreezeKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The freezeKey.
    • setFreezeKey

      public TokenCreateTransactionBody.Builder setFreezeKey(Key value)
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
    • setFreezeKey

      public TokenCreateTransactionBody.Builder setFreezeKey(Key.Builder builderForValue)
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
    • mergeFreezeKey

      public TokenCreateTransactionBody.Builder mergeFreezeKey(Key value)
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
    • clearFreezeKey

      public TokenCreateTransactionBody.Builder clearFreezeKey()
       *
       An Hedera key for managing asset "freeze".
       <p>
       This key, if set, SHALL have "freeze" authority for this token and
       MAY authorize transactions to freeze or unfreeze accounts
       with respect to this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be frozen or unfrozen for any account.<br/>
       If this key is removed after freezing accounts, those accounts
       SHALL remain frozen and cannot be unfrozen.
       
      .proto.Key freezeKey = 8;
    • hasWipeKey

      public boolean hasWipeKey()
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
      Specified by:
      hasWipeKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the wipeKey field is set.
    • getWipeKey

      public Key getWipeKey()
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
      Specified by:
      getWipeKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The wipeKey.
    • setWipeKey

      public TokenCreateTransactionBody.Builder setWipeKey(Key value)
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
    • setWipeKey

      public TokenCreateTransactionBody.Builder setWipeKey(Key.Builder builderForValue)
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
    • mergeWipeKey

      public TokenCreateTransactionBody.Builder mergeWipeKey(Key value)
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
    • clearWipeKey

      public TokenCreateTransactionBody.Builder clearWipeKey()
       *
       An Hedera key for wiping tokens from accounts.
       <p>
       This key, if set, SHALL have "wipe" authority for this token and
       MAY authorize transactions to "wipe" any amount of this token from
       any account, effectively burning the tokens "wiped".<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to "wipe" this token from an account.
       
      .proto.Key wipeKey = 9;
    • hasSupplyKey

      public boolean hasSupplyKey()
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
      Specified by:
      hasSupplyKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the supplyKey field is set.
    • getSupplyKey

      public Key getSupplyKey()
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
      Specified by:
      getSupplyKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The supplyKey.
    • setSupplyKey

      public TokenCreateTransactionBody.Builder setSupplyKey(Key value)
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
    • setSupplyKey

      public TokenCreateTransactionBody.Builder setSupplyKey(Key.Builder builderForValue)
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
    • mergeSupplyKey

      public TokenCreateTransactionBody.Builder mergeSupplyKey(Key value)
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
    • clearSupplyKey

      public TokenCreateTransactionBody.Builder clearSupplyKey()
       *
       An Hedera key for "minting" and "burning" tokens.
       <p>
       This key, if set, MAY authorize transactions to "mint" new tokens to
       be delivered to the token treasury or "burn" tokens held by the
       token treasury.<br/>
       If this key is not set, or is an empty `KeyList`, it SHALL NOT be
       possible to change the supply of tokens and neither "mint" nor "burn"
       transactions SHALL be permitted.
       
      .proto.Key supplyKey = 10;
    • getFreezeDefault

      public boolean getFreezeDefault()
       *
       An initial Freeze status for accounts associated to this token.
       <p>
       If this value is set, an account MUST be the subject of a
       `tokenUnfreeze` transaction after associating to the token before
       that account can send or receive this token.<br/>
       If this value is set, the `freezeKey` SHOULD be set.<br/>
       If the `freezeKey` is not set, any account associated to this token
       while this value is set SHALL be permanently frozen.
       <p>
       <blockquote>REVIEW NOTE<blockquote>
       Should we prevent setting this value true for tokens with no freeze
       key?<br/>
       Should we set this value to false if a freeze key is removed?
       </blockquote></blockquote>
       
      bool freezeDefault = 11;
      Specified by:
      getFreezeDefault in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The freezeDefault.
    • setFreezeDefault

      public TokenCreateTransactionBody.Builder setFreezeDefault(boolean value)
       *
       An initial Freeze status for accounts associated to this token.
       <p>
       If this value is set, an account MUST be the subject of a
       `tokenUnfreeze` transaction after associating to the token before
       that account can send or receive this token.<br/>
       If this value is set, the `freezeKey` SHOULD be set.<br/>
       If the `freezeKey` is not set, any account associated to this token
       while this value is set SHALL be permanently frozen.
       <p>
       <blockquote>REVIEW NOTE<blockquote>
       Should we prevent setting this value true for tokens with no freeze
       key?<br/>
       Should we set this value to false if a freeze key is removed?
       </blockquote></blockquote>
       
      bool freezeDefault = 11;
      Parameters:
      value - The freezeDefault to set.
      Returns:
      This builder for chaining.
    • clearFreezeDefault

      public TokenCreateTransactionBody.Builder clearFreezeDefault()
       *
       An initial Freeze status for accounts associated to this token.
       <p>
       If this value is set, an account MUST be the subject of a
       `tokenUnfreeze` transaction after associating to the token before
       that account can send or receive this token.<br/>
       If this value is set, the `freezeKey` SHOULD be set.<br/>
       If the `freezeKey` is not set, any account associated to this token
       while this value is set SHALL be permanently frozen.
       <p>
       <blockquote>REVIEW NOTE<blockquote>
       Should we prevent setting this value true for tokens with no freeze
       key?<br/>
       Should we set this value to false if a freeze key is removed?
       </blockquote></blockquote>
       
      bool freezeDefault = 11;
      Returns:
      This builder for chaining.
    • hasExpiry

      public boolean hasExpiry()
       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
      Specified by:
      hasExpiry in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the expiry field is set.
    • getExpiry

      public Timestamp getExpiry()
       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
      Specified by:
      getExpiry in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The expiry.
    • setExpiry

       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
    • setExpiry

      public TokenCreateTransactionBody.Builder setExpiry(Timestamp.Builder builderForValue)
       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
    • mergeExpiry

      public TokenCreateTransactionBody.Builder mergeExpiry(Timestamp value)
       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
    • clearExpiry

      public TokenCreateTransactionBody.Builder clearExpiry()
       *
       An expiration timestamp.
       <p>
       If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this
       value SHALL be replaced with the current consensus time extended
       by the `autoRenewPeriod` duration.<br/>
       If this value is set and token expiration is enabled in network
       configuration, this token SHALL expire when consensus time exceeds
       this value, and MAY be subsequently removed from the network state.<br/>
       If this value is not set, and the automatic renewal account is also not
       set, then this value SHALL default to the current consensus time
       extended by the "default" expiration period from network configuration.
       
      .proto.Timestamp expiry = 13;
    • hasAutoRenewAccount

      public boolean hasAutoRenewAccount()
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
      Specified by:
      hasAutoRenewAccount in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the autoRenewAccount field is set.
    • getAutoRenewAccount

      public AccountID getAutoRenewAccount()
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
      Specified by:
      getAutoRenewAccount in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The autoRenewAccount.
    • setAutoRenewAccount

      public TokenCreateTransactionBody.Builder setAutoRenewAccount(AccountID value)
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
    • setAutoRenewAccount

      public TokenCreateTransactionBody.Builder setAutoRenewAccount(AccountID.Builder builderForValue)
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
    • mergeAutoRenewAccount

      public TokenCreateTransactionBody.Builder mergeAutoRenewAccount(AccountID value)
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
    • clearAutoRenewAccount

      public TokenCreateTransactionBody.Builder clearAutoRenewAccount()
       *
       An identifier for the account to be charged renewal fees at the token's
       expiry to extend the lifetime of the token.
       <p>
       If this value is set, the token lifetime SHALL be extended by the
       _smallest_ of the following:
       <ul>
       <li>The current `autoRenewPeriod` duration.</li>
       <li>The maximum duration that this account has funds to purchase.</li>
       <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic
       renewal.</li>
       </ul>
       If this account's HBAR balance is `0` when the token must be
       renewed, then the token SHALL be expired, and MAY be subsequently
       removed from state.<br/>
       If this value is set, the referenced account MUST sign this
       transaction.
       
      .proto.AccountID autoRenewAccount = 14;
    • hasAutoRenewPeriod

      public boolean hasAutoRenewPeriod()
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
      Specified by:
      hasAutoRenewPeriod in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the autoRenewPeriod field is set.
    • getAutoRenewPeriod

      public Duration getAutoRenewPeriod()
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
      Specified by:
      getAutoRenewPeriod in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The autoRenewPeriod.
    • setAutoRenewPeriod

      public TokenCreateTransactionBody.Builder setAutoRenewPeriod(Duration value)
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
    • setAutoRenewPeriod

      public TokenCreateTransactionBody.Builder setAutoRenewPeriod(Duration.Builder builderForValue)
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
    • mergeAutoRenewPeriod

      public TokenCreateTransactionBody.Builder mergeAutoRenewPeriod(Duration value)
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
    • clearAutoRenewPeriod

      public TokenCreateTransactionBody.Builder clearAutoRenewPeriod()
       *
       A duration between token automatic renewals.<br/>
       All entities in state may be charged "rent" occasionally (typically
       every 90 days) to prevent unnecessary growth of the ledger. This value
       sets the interval between such events for this token.
       <p>
       This value MUST be set.<br/>
       This value MUST be greater than the configured
       MIN_AUTORENEW_PERIOD.<br/>
       This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
       
      .proto.Duration autoRenewPeriod = 15;
    • getMemo

      public String getMemo()
       *
       A short description for this token.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 16;
      Specified by:
      getMemo in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The memo.
    • getMemoBytes

      public com.google.protobuf.ByteString getMemoBytes()
       *
       A short description for this token.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 16;
      Specified by:
      getMemoBytes in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The bytes for memo.
    • setMemo

       *
       A short description for this token.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 16;
      Parameters:
      value - The memo to set.
      Returns:
      This builder for chaining.
    • clearMemo

       *
       A short description for this token.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 16;
      Returns:
      This builder for chaining.
    • setMemoBytes

      public TokenCreateTransactionBody.Builder setMemoBytes(com.google.protobuf.ByteString value)
       *
       A short description for this token.
       <p>
       This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes`
       (default 100) bytes when encoded as UTF-8.
       
      string memo = 16;
      Parameters:
      value - The bytes for memo to set.
      Returns:
      This builder for chaining.
    • getTokenTypeValue

      public int getTokenTypeValue()
       *
       A type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default type of
       fungible/common.<br/>
       This field SHALL be immutable.
       
      .proto.TokenType tokenType = 17;
      Specified by:
      getTokenTypeValue in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The enum numeric value on the wire for tokenType.
    • setTokenTypeValue

      public TokenCreateTransactionBody.Builder setTokenTypeValue(int value)
       *
       A type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default type of
       fungible/common.<br/>
       This field SHALL be immutable.
       
      .proto.TokenType tokenType = 17;
      Parameters:
      value - The tokenType to set.
      Returns:
      This builder for chaining.
      Throws:
      IllegalArgumentException - if UNRECOGNIZED is provided.
    • getTokenType

      public TokenType getTokenType()
       *
       A type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default type of
       fungible/common.<br/>
       This field SHALL be immutable.
       
      .proto.TokenType tokenType = 17;
      Specified by:
      getTokenType in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The tokenType.
    • setTokenType

      public TokenCreateTransactionBody.Builder setTokenType(TokenType value)
       *
       A type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default type of
       fungible/common.<br/>
       This field SHALL be immutable.
       
      .proto.TokenType tokenType = 17;
      Parameters:
      value - The enum numeric value on the wire for tokenType to set.
      Returns:
      This builder for chaining.
    • clearTokenType

      public TokenCreateTransactionBody.Builder clearTokenType()
       *
       A type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default type of
       fungible/common.<br/>
       This field SHALL be immutable.
       
      .proto.TokenType tokenType = 17;
      Returns:
      This builder for chaining.
    • getSupplyTypeValue

      public int getSupplyTypeValue()
       *
       A supply type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default supply
       type of "infinite" (which is, as a practical matter,
       (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/>
       This field SHALL be immutable.
       
      .proto.TokenSupplyType supplyType = 18;
      Specified by:
      getSupplyTypeValue in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The enum numeric value on the wire for supplyType.
    • setSupplyTypeValue

      public TokenCreateTransactionBody.Builder setSupplyTypeValue(int value)
       *
       A supply type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default supply
       type of "infinite" (which is, as a practical matter,
       (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/>
       This field SHALL be immutable.
       
      .proto.TokenSupplyType supplyType = 18;
      Parameters:
      value - The supplyType to set.
      Returns:
      This builder for chaining.
      Throws:
      IllegalArgumentException - if UNRECOGNIZED is provided.
    • getSupplyType

      public TokenSupplyType getSupplyType()
       *
       A supply type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default supply
       type of "infinite" (which is, as a practical matter,
       (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/>
       This field SHALL be immutable.
       
      .proto.TokenSupplyType supplyType = 18;
      Specified by:
      getSupplyType in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The supplyType.
    • setSupplyType

       *
       A supply type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default supply
       type of "infinite" (which is, as a practical matter,
       (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/>
       This field SHALL be immutable.
       
      .proto.TokenSupplyType supplyType = 18;
      Parameters:
      value - The enum numeric value on the wire for supplyType to set.
      Returns:
      This builder for chaining.
    • clearSupplyType

      public TokenCreateTransactionBody.Builder clearSupplyType()
       *
       A supply type for this token, according to IWA classification.
       <p>
       If this value is not set, the token SHALL have the default supply
       type of "infinite" (which is, as a practical matter,
       (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/>
       This field SHALL be immutable.
       
      .proto.TokenSupplyType supplyType = 18;
      Returns:
      This builder for chaining.
    • getMaxSupply

      public long getMaxSupply()
       *
       A maximum supply for this token.
       <p>
       This SHALL be interpreted in terms of the smallest fractional unit for
       this token.<br/>
       If `supplyType` is "infinite", this MUST be `0`.<br/>
       This field SHALL be immutable.
       
      int64 maxSupply = 19;
      Specified by:
      getMaxSupply in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The maxSupply.
    • setMaxSupply

      public TokenCreateTransactionBody.Builder setMaxSupply(long value)
       *
       A maximum supply for this token.
       <p>
       This SHALL be interpreted in terms of the smallest fractional unit for
       this token.<br/>
       If `supplyType` is "infinite", this MUST be `0`.<br/>
       This field SHALL be immutable.
       
      int64 maxSupply = 19;
      Parameters:
      value - The maxSupply to set.
      Returns:
      This builder for chaining.
    • clearMaxSupply

      public TokenCreateTransactionBody.Builder clearMaxSupply()
       *
       A maximum supply for this token.
       <p>
       This SHALL be interpreted in terms of the smallest fractional unit for
       this token.<br/>
       If `supplyType` is "infinite", this MUST be `0`.<br/>
       This field SHALL be immutable.
       
      int64 maxSupply = 19;
      Returns:
      This builder for chaining.
    • hasFeeScheduleKey

      public boolean hasFeeScheduleKey()
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
      Specified by:
      hasFeeScheduleKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the feeScheduleKey field is set.
    • getFeeScheduleKey

      public Key getFeeScheduleKey()
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
      Specified by:
      getFeeScheduleKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The feeScheduleKey.
    • setFeeScheduleKey

      public TokenCreateTransactionBody.Builder setFeeScheduleKey(Key value)
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
    • setFeeScheduleKey

      public TokenCreateTransactionBody.Builder setFeeScheduleKey(Key.Builder builderForValue)
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
    • mergeFeeScheduleKey

      public TokenCreateTransactionBody.Builder mergeFeeScheduleKey(Key value)
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
    • clearFeeScheduleKey

      public TokenCreateTransactionBody.Builder clearFeeScheduleKey()
       *
       An Hedera key for managing the token custom fee schedule.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `custom_fees` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `custom_fees`
       for this token SHALL NOT be modified.
       
      .proto.Key fee_schedule_key = 20;
    • getCustomFeesList

      public List<CustomFee> getCustomFeesList()
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
      Specified by:
      getCustomFeesList in interface TokenCreateTransactionBodyOrBuilder
    • getCustomFeesCount

      public int getCustomFeesCount()
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
      Specified by:
      getCustomFeesCount in interface TokenCreateTransactionBodyOrBuilder
    • getCustomFees

      public CustomFee getCustomFees(int index)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
      Specified by:
      getCustomFees in interface TokenCreateTransactionBodyOrBuilder
    • setCustomFees

      public TokenCreateTransactionBody.Builder setCustomFees(int index, CustomFee value)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • setCustomFees

      public TokenCreateTransactionBody.Builder setCustomFees(int index, CustomFee.Builder builderForValue)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • addCustomFees

      public TokenCreateTransactionBody.Builder addCustomFees(CustomFee value)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • addCustomFees

      public TokenCreateTransactionBody.Builder addCustomFees(int index, CustomFee value)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • addCustomFees

      public TokenCreateTransactionBody.Builder addCustomFees(CustomFee.Builder builderForValue)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • addCustomFees

      public TokenCreateTransactionBody.Builder addCustomFees(int index, CustomFee.Builder builderForValue)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • addAllCustomFees

      public TokenCreateTransactionBody.Builder addAllCustomFees(Iterable<? extends CustomFee> values)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • clearCustomFees

      public TokenCreateTransactionBody.Builder clearCustomFees()
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • removeCustomFees

      public TokenCreateTransactionBody.Builder removeCustomFees(int index)
       *
       A list of custom fees representing a fee schedule.
       <p>
       This list MAY be empty, which SHALL mean that there
       are no custom fees for this token.<br/>
       If this token is a non-fungible/unique type, the entries
       in this list MUST NOT declare a `fractional_fee`.<br/>
       If this token is a fungible/common type, the entries in this
       list MUST NOT declare a `royalty_fee`.<br/>
       Any token type MAY include entries that declare a `fixed_fee`.
       
      repeated .proto.CustomFee custom_fees = 21;
    • hasPauseKey

      public boolean hasPauseKey()
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
      Specified by:
      hasPauseKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the pauseKey field is set.
    • getPauseKey

      public Key getPauseKey()
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
      Specified by:
      getPauseKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The pauseKey.
    • setPauseKey

      public TokenCreateTransactionBody.Builder setPauseKey(Key value)
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
    • setPauseKey

      public TokenCreateTransactionBody.Builder setPauseKey(Key.Builder builderForValue)
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
    • mergePauseKey

      public TokenCreateTransactionBody.Builder mergePauseKey(Key value)
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
    • clearPauseKey

      public TokenCreateTransactionBody.Builder clearPauseKey()
       *
       An Hedera key for managing token "pause".
       <p>
       This key, if set, SHALL have "pause" authority for this token and
       MAY authorize transactions to pause or unpause this token.<br/>
       If this key is not set, or is an empty `KeyList`, this token
       SHALL NOT be paused or unpaused.<br/>
       If this key is removed while the token is paused, the token cannot
       be unpaused and SHALL remain paused.
       
      .proto.Key pause_key = 22;
    • getMetadata

      public com.google.protobuf.ByteString getMetadata()
       *
       Token "Metadata".
       <p>
       The value, if set, MUST NOT exceed 100 bytes.<br/>
       <dl><dt>Examples</dt>
       <dd>hcs://1/0.0.4896575</dd>
       <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd>
       </dl>
       
      bytes metadata = 23;
      Specified by:
      getMetadata in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The metadata.
    • setMetadata

      public TokenCreateTransactionBody.Builder setMetadata(com.google.protobuf.ByteString value)
       *
       Token "Metadata".
       <p>
       The value, if set, MUST NOT exceed 100 bytes.<br/>
       <dl><dt>Examples</dt>
       <dd>hcs://1/0.0.4896575</dd>
       <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd>
       </dl>
       
      bytes metadata = 23;
      Parameters:
      value - The metadata to set.
      Returns:
      This builder for chaining.
    • clearMetadata

      public TokenCreateTransactionBody.Builder clearMetadata()
       *
       Token "Metadata".
       <p>
       The value, if set, MUST NOT exceed 100 bytes.<br/>
       <dl><dt>Examples</dt>
       <dd>hcs://1/0.0.4896575</dd>
       <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd>
       </dl>
       
      bytes metadata = 23;
      Returns:
      This builder for chaining.
    • hasMetadataKey

      public boolean hasMetadataKey()
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;
      Specified by:
      hasMetadataKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      Whether the metadataKey field is set.
    • getMetadataKey

      public Key getMetadataKey()
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;
      Specified by:
      getMetadataKey in interface TokenCreateTransactionBodyOrBuilder
      Returns:
      The metadataKey.
    • setMetadataKey

      public TokenCreateTransactionBody.Builder setMetadataKey(Key value)
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;
    • setMetadataKey

      public TokenCreateTransactionBody.Builder setMetadataKey(Key.Builder builderForValue)
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;
    • mergeMetadataKey

      public TokenCreateTransactionBody.Builder mergeMetadataKey(Key value)
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;
    • clearMetadataKey

      public TokenCreateTransactionBody.Builder clearMetadataKey()
       *
       An Hedera key for managing the token `metadata`.
       <p>
       This key, if set, MAY authorize transactions to modify the
       `metadata` for this token.<br/>
       If this key is not set, or is an empty `KeyList`, the `metadata`
       for this token SHALL NOT be modified.
       
      .proto.Key metadata_key = 24;