Interface TokenCreateTransactionBodyOrBuilder

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

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

    Modifier and Type
    Method
    Description
    * An Hedera key for token administration.
    * An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token.
    * 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.
    getCustomFees(int index)
    * A list of custom fees representing a fee schedule.
    int
    * A list of custom fees representing a fee schedule.
    * A list of custom fees representing a fee schedule.
    int
    * 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.
    * An expiration timestamp.
    * An Hedera key for managing the token custom fee schedule.
    boolean
    * An initial Freeze status for accounts associated to this token.
    * An Hedera key for managing asset "freeze".
    long
    * An initial supply, in the smallest denomination for the token.
    * An Hedera key for managing account KYC.
    long
    * A maximum supply for this token.
    * A short description for this token.
    com.google.protobuf.ByteString
    * A short description for this token.
    com.google.protobuf.ByteString
    * Token "Metadata".
    * An Hedera key for managing the token `metadata`.
    * A name for the token.<br/> This is generally the "full name" displayed in wallet software.
    com.google.protobuf.ByteString
    * A name for the token.<br/> This is generally the "full name" displayed in wallet software.
    * An Hedera key for managing token "pause".
    * An Hedera key for "minting" and "burning" tokens.
    * A supply type for this token, according to IWA classification.
    int
    * A supply type for this token, according to IWA classification.
    * A symbol to use for the token.
    com.google.protobuf.ByteString
    * A symbol to use for the token.
    * A type for this token, according to IWA classification.
    int
    * A type for this token, according to IWA classification.
    * A treasury account identifier.
    * An Hedera key for wiping tokens from accounts.
    boolean
    * An Hedera key for token administration.
    boolean
    * An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token.
    boolean
    * 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.
    boolean
    * An expiration timestamp.
    boolean
    * An Hedera key for managing the token custom fee schedule.
    boolean
    * An Hedera key for managing asset "freeze".
    boolean
    * An Hedera key for managing account KYC.
    boolean
    * An Hedera key for managing the token `metadata`.
    boolean
    * An Hedera key for managing token "pause".
    boolean
    * An Hedera key for "minting" and "burning" tokens.
    boolean
    * A treasury account identifier.
    boolean
    * An Hedera key for wiping tokens from accounts.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Method Details

    • getName

      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;
      Returns:
      The name.
    • getNameBytes

      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;
      Returns:
      The bytes for name.
    • getSymbol

      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;
      Returns:
      The symbol.
    • getSymbolBytes

      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;
      Returns:
      The bytes for symbol.
    • getDecimals

      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;
      Returns:
      The decimals.
    • getInitialSupply

      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;
      Returns:
      The initialSupply.
    • hasTreasury

      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;
      Returns:
      Whether the treasury field is set.
    • getTreasury

      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;
      Returns:
      The treasury.
    • hasAdminKey

      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;
      Returns:
      Whether the adminKey field is set.
    • getAdminKey

      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;
      Returns:
      The adminKey.
    • hasKycKey

      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;
      Returns:
      Whether the kycKey field is set.
    • getKycKey

      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;
      Returns:
      The kycKey.
    • hasFreezeKey

      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;
      Returns:
      Whether the freezeKey field is set.
    • getFreezeKey

      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;
      Returns:
      The freezeKey.
    • hasWipeKey

      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;
      Returns:
      Whether the wipeKey field is set.
    • getWipeKey

      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;
      Returns:
      The wipeKey.
    • hasSupplyKey

      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;
      Returns:
      Whether the supplyKey field is set.
    • getSupplyKey

      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;
      Returns:
      The supplyKey.
    • getFreezeDefault

      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;
      Returns:
      The freezeDefault.
    • hasExpiry

      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;
      Returns:
      Whether the expiry field is set.
    • getExpiry

      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;
      Returns:
      The expiry.
    • hasAutoRenewAccount

      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;
      Returns:
      Whether the autoRenewAccount field is set.
    • getAutoRenewAccount

      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;
      Returns:
      The autoRenewAccount.
    • hasAutoRenewPeriod

      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;
      Returns:
      Whether the autoRenewPeriod field is set.
    • getAutoRenewPeriod

      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;
      Returns:
      The autoRenewPeriod.
    • getMemo

      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;
      Returns:
      The memo.
    • getMemoBytes

      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;
      Returns:
      The bytes for memo.
    • getTokenTypeValue

      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;
      Returns:
      The enum numeric value on the wire for tokenType.
    • getTokenType

      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;
      Returns:
      The tokenType.
    • getSupplyTypeValue

      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;
      Returns:
      The enum numeric value on the wire for supplyType.
    • getSupplyType

      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;
      Returns:
      The supplyType.
    • getMaxSupply

      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;
      Returns:
      The maxSupply.
    • hasFeeScheduleKey

      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;
      Returns:
      Whether the feeScheduleKey field is set.
    • getFeeScheduleKey

      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;
      Returns:
      The feeScheduleKey.
    • getCustomFeesList

      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;
    • getCustomFees

      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;
    • getCustomFeesCount

      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;
    • hasPauseKey

      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;
      Returns:
      Whether the pauseKey field is set.
    • getPauseKey

      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;
      Returns:
      The pauseKey.
    • getMetadata

      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;
      Returns:
      The metadata.
    • hasMetadataKey

      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;
      Returns:
      Whether the metadataKey field is set.
    • getMetadataKey

      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;
      Returns:
      The metadataKey.