All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody Maven / Gradle / Ivy

There is a newer version: 2.39.0
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: token_create.proto

package com.hedera.hashgraph.sdk.proto;

/**
 * 
 **
 * Create a new token. After the token is created, the Token ID for it is in the receipt.
 * The specified Treasury Account is receiving the initial supply of tokens as-well as the tokens
 * from the Token Mint operation once executed. The balance of the treasury account is decreased
 * when the Token Burn operation is executed.
 * 
 * The <tt>initialSupply</tt> is the initial supply of the smallest parts of a token (like a
 * tinybar, not an hbar). These are the smallest units of the token which may be transferred.
 * 
 * The supply can change over time. If the total supply at some moment is <i>S</i> parts of tokens,
 * and the token is using <i>D</i> decimals, then <i>S</i> must be less than or equal to
 * 2<sup>63</sup>-1, which is 9,223,372,036,854,775,807. The number of whole tokens (not parts) will
 * be <i>S / 10<sup>D</sup></i>.
 * 
 * If decimals is 8 or 11, then the number of whole tokens can be at most a few billions or
 * millions, respectively. For example, it could match Bitcoin (21 million whole tokens with 8
 * decimals) or hbars (50 billion whole tokens with 8 decimals). It could even match Bitcoin with
 * milli-satoshis (21 million whole tokens with 11 decimals).
 * 
 * Note that a created token is <i>immutable</i> if the <tt>adminKey</tt> is omitted. No property of
 * an immutable token can ever change, with the sole exception of its expiry. Anyone can pay to
 * extend the expiry time of an immutable token.
 * 
 * A token can be either <i>FUNGIBLE_COMMON</i> or <i>NON_FUNGIBLE_UNIQUE</i>, based on its
 * <i>TokenType</i>. If it has been omitted, <i>FUNGIBLE_COMMON</i> type is used.
 * 
 * A token can have either <i>INFINITE</i> or <i>FINITE</i> supply type, based on its
 * <i>TokenType</i>. If it has been omitted, <i>INFINITE</i> type is used.
 * 
 * If a <i>FUNGIBLE</i> TokenType is used, <i>initialSupply</i> should explicitly be set to a
 * non-negative. If not, the transaction will resolve to INVALID_TOKEN_INITIAL_SUPPLY.
 * 
 * If a <i>NON_FUNGIBLE_UNIQUE</i> TokenType is used, <i>initialSupply</i> should explicitly be set
 * to 0. If not, the transaction will resolve to INVALID_TOKEN_INITIAL_SUPPLY.
 * 
 * If an <i>INFINITE</i> TokenSupplyType is used, <i>maxSupply</i> should explicitly be set to 0. If
 * it is not 0, the transaction will resolve to INVALID_TOKEN_MAX_SUPPLY.
 * 
 * If a <i>FINITE</i> TokenSupplyType is used, <i>maxSupply</i> should be explicitly set to a
 * non-negative value. If it is not, the transaction will resolve to INVALID_TOKEN_MAX_SUPPLY.
 * 
* * Protobuf type {@code proto.TokenCreateTransactionBody} */ public final class TokenCreateTransactionBody extends com.google.protobuf.GeneratedMessageLite< TokenCreateTransactionBody, TokenCreateTransactionBody.Builder> implements // @@protoc_insertion_point(message_implements:proto.TokenCreateTransactionBody) TokenCreateTransactionBodyOrBuilder { private TokenCreateTransactionBody() { name_ = ""; symbol_ = ""; memo_ = ""; customFees_ = emptyProtobufList(); } private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; private java.lang.String name_; /** *
   **
   * The publicly visible name of the token. The token name is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string name = 1; * @return The name. */ @java.lang.Override public java.lang.String getName() { return name_; } /** *
   **
   * The publicly visible name of the token. The token name is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string name = 1; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { return com.google.protobuf.ByteString.copyFromUtf8(name_); } /** *
   **
   * The publicly visible name of the token. The token name is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string name = 1; * @param value The name to set. */ private void setName( java.lang.String value) { java.lang.Class valueClass = value.getClass(); name_ = value; } /** *
   **
   * The publicly visible name of the token. The token name is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string name = 1; */ private void clearName() { name_ = getDefaultInstance().getName(); } /** *
   **
   * The publicly visible name of the token. The token name is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string name = 1; * @param value The bytes for name to set. */ private void setNameBytes( com.google.protobuf.ByteString value) { checkByteStringIsUtf8(value); name_ = value.toStringUtf8(); } public static final int SYMBOL_FIELD_NUMBER = 2; private java.lang.String symbol_; /** *
   **
   * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string symbol = 2; * @return The symbol. */ @java.lang.Override public java.lang.String getSymbol() { return symbol_; } /** *
   **
   * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string symbol = 2; * @return The bytes for symbol. */ @java.lang.Override public com.google.protobuf.ByteString getSymbolBytes() { return com.google.protobuf.ByteString.copyFromUtf8(symbol_); } /** *
   **
   * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string symbol = 2; * @param value The symbol to set. */ private void setSymbol( java.lang.String value) { java.lang.Class valueClass = value.getClass(); symbol_ = value; } /** *
   **
   * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string symbol = 2; */ private void clearSymbol() { symbol_ = getDefaultInstance().getSymbol(); } /** *
   **
   * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
   * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
   * 
* * string symbol = 2; * @param value The bytes for symbol to set. */ private void setSymbolBytes( com.google.protobuf.ByteString value) { checkByteStringIsUtf8(value); symbol_ = value.toStringUtf8(); } public static final int DECIMALS_FIELD_NUMBER = 3; private int decimals_; /** *
   **
   * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
   * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
   * must be 0
   * 
* * uint32 decimals = 3; * @return The decimals. */ @java.lang.Override public int getDecimals() { return decimals_; } /** *
   **
   * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
   * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
   * must be 0
   * 
* * uint32 decimals = 3; * @param value The decimals to set. */ private void setDecimals(int value) { decimals_ = value; } /** *
   **
   * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
   * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
   * must be 0
   * 
* * uint32 decimals = 3; */ private void clearDecimals() { decimals_ = 0; } public static final int INITIALSUPPLY_FIELD_NUMBER = 4; private long initialSupply_; /** *
   **
   * Specifies the initial supply of tokens to be put in circulation. The
   * initial supply is sent to the Treasury Account. The supply is in the
   * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
   * the value must be 0
   * 
* * uint64 initialSupply = 4; * @return The initialSupply. */ @java.lang.Override public long getInitialSupply() { return initialSupply_; } /** *
   **
   * Specifies the initial supply of tokens to be put in circulation. The
   * initial supply is sent to the Treasury Account. The supply is in the
   * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
   * the value must be 0
   * 
* * uint64 initialSupply = 4; * @param value The initialSupply to set. */ private void setInitialSupply(long value) { initialSupply_ = value; } /** *
   **
   * Specifies the initial supply of tokens to be put in circulation. The
   * initial supply is sent to the Treasury Account. The supply is in the
   * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
   * the value must be 0
   * 
* * uint64 initialSupply = 4; */ private void clearInitialSupply() { initialSupply_ = 0L; } public static final int TREASURY_FIELD_NUMBER = 5; private com.hedera.hashgraph.sdk.proto.AccountID treasury_; /** *
   **
   * The account which will act as a treasury for the token. This account
   * will receive the specified initial supply or the newly minted NFTs in
   * the case for NON_FUNGIBLE_UNIQUE Type
   * 
* * .proto.AccountID treasury = 5; */ @java.lang.Override public boolean hasTreasury() { return ((bitField0_ & 0x00000001) != 0); } /** *
   **
   * The account which will act as a treasury for the token. This account
   * will receive the specified initial supply or the newly minted NFTs in
   * the case for NON_FUNGIBLE_UNIQUE Type
   * 
* * .proto.AccountID treasury = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getTreasury() { return treasury_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : treasury_; } /** *
   **
   * The account which will act as a treasury for the token. This account
   * will receive the specified initial supply or the newly minted NFTs in
   * the case for NON_FUNGIBLE_UNIQUE Type
   * 
* * .proto.AccountID treasury = 5; */ private void setTreasury(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); treasury_ = value; bitField0_ |= 0x00000001; } /** *
   **
   * The account which will act as a treasury for the token. This account
   * will receive the specified initial supply or the newly minted NFTs in
   * the case for NON_FUNGIBLE_UNIQUE Type
   * 
* * .proto.AccountID treasury = 5; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeTreasury(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); if (treasury_ != null && treasury_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { treasury_ = com.hedera.hashgraph.sdk.proto.AccountID.newBuilder(treasury_).mergeFrom(value).buildPartial(); } else { treasury_ = value; } bitField0_ |= 0x00000001; } /** *
   **
   * The account which will act as a treasury for the token. This account
   * will receive the specified initial supply or the newly minted NFTs in
   * the case for NON_FUNGIBLE_UNIQUE Type
   * 
* * .proto.AccountID treasury = 5; */ private void clearTreasury() { treasury_ = null; bitField0_ = (bitField0_ & ~0x00000001); } public static final int ADMINKEY_FIELD_NUMBER = 6; private com.hedera.hashgraph.sdk.proto.Key adminKey_; /** *
   **
   * The key which can perform update/delete operations on the token. If empty, the token can be
   * perceived as immutable (not being able to be updated/deleted)
   * 
* * .proto.Key adminKey = 6; */ @java.lang.Override public boolean hasAdminKey() { return ((bitField0_ & 0x00000002) != 0); } /** *
   **
   * The key which can perform update/delete operations on the token. If empty, the token can be
   * perceived as immutable (not being able to be updated/deleted)
   * 
* * .proto.Key adminKey = 6; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } /** *
   **
   * The key which can perform update/delete operations on the token. If empty, the token can be
   * perceived as immutable (not being able to be updated/deleted)
   * 
* * .proto.Key adminKey = 6; */ private void setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); adminKey_ = value; bitField0_ |= 0x00000002; } /** *
   **
   * The key which can perform update/delete operations on the token. If empty, the token can be
   * perceived as immutable (not being able to be updated/deleted)
   * 
* * .proto.Key adminKey = 6; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (adminKey_ != null && adminKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { adminKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(adminKey_).mergeFrom(value).buildPartial(); } else { adminKey_ = value; } bitField0_ |= 0x00000002; } /** *
   **
   * The key which can perform update/delete operations on the token. If empty, the token can be
   * perceived as immutable (not being able to be updated/deleted)
   * 
* * .proto.Key adminKey = 6; */ private void clearAdminKey() { adminKey_ = null; bitField0_ = (bitField0_ & ~0x00000002); } public static final int KYCKEY_FIELD_NUMBER = 7; private com.hedera.hashgraph.sdk.proto.Key kycKey_; /** *
   **
   * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
   * KYC is not required, and KYC grant or revoke operations are not possible.
   * 
* * .proto.Key kycKey = 7; */ @java.lang.Override public boolean hasKycKey() { return ((bitField0_ & 0x00000004) != 0); } /** *
   **
   * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
   * KYC is not required, and KYC grant or revoke operations are not possible.
   * 
* * .proto.Key kycKey = 7; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getKycKey() { return kycKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : kycKey_; } /** *
   **
   * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
   * KYC is not required, and KYC grant or revoke operations are not possible.
   * 
* * .proto.Key kycKey = 7; */ private void setKycKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); kycKey_ = value; bitField0_ |= 0x00000004; } /** *
   **
   * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
   * KYC is not required, and KYC grant or revoke operations are not possible.
   * 
* * .proto.Key kycKey = 7; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeKycKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (kycKey_ != null && kycKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { kycKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(kycKey_).mergeFrom(value).buildPartial(); } else { kycKey_ = value; } bitField0_ |= 0x00000004; } /** *
   **
   * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
   * KYC is not required, and KYC grant or revoke operations are not possible.
   * 
* * .proto.Key kycKey = 7; */ private void clearKycKey() { kycKey_ = null; bitField0_ = (bitField0_ & ~0x00000004); } public static final int FREEZEKEY_FIELD_NUMBER = 8; private com.hedera.hashgraph.sdk.proto.Key freezeKey_; /** *
   **
   * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
   * freezing is not possible
   * 
* * .proto.Key freezeKey = 8; */ @java.lang.Override public boolean hasFreezeKey() { return ((bitField0_ & 0x00000008) != 0); } /** *
   **
   * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
   * freezing is not possible
   * 
* * .proto.Key freezeKey = 8; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getFreezeKey() { return freezeKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : freezeKey_; } /** *
   **
   * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
   * freezing is not possible
   * 
* * .proto.Key freezeKey = 8; */ private void setFreezeKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); freezeKey_ = value; bitField0_ |= 0x00000008; } /** *
   **
   * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
   * freezing is not possible
   * 
* * .proto.Key freezeKey = 8; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeFreezeKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (freezeKey_ != null && freezeKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { freezeKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(freezeKey_).mergeFrom(value).buildPartial(); } else { freezeKey_ = value; } bitField0_ |= 0x00000008; } /** *
   **
   * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
   * freezing is not possible
   * 
* * .proto.Key freezeKey = 8; */ private void clearFreezeKey() { freezeKey_ = null; bitField0_ = (bitField0_ & ~0x00000008); } public static final int WIPEKEY_FIELD_NUMBER = 9; private com.hedera.hashgraph.sdk.proto.Key wipeKey_; /** *
   **
   * The key which can wipe the token balance of an account. If empty, wipe is not possible
   * 
* * .proto.Key wipeKey = 9; */ @java.lang.Override public boolean hasWipeKey() { return ((bitField0_ & 0x00000010) != 0); } /** *
   **
   * The key which can wipe the token balance of an account. If empty, wipe is not possible
   * 
* * .proto.Key wipeKey = 9; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getWipeKey() { return wipeKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : wipeKey_; } /** *
   **
   * The key which can wipe the token balance of an account. If empty, wipe is not possible
   * 
* * .proto.Key wipeKey = 9; */ private void setWipeKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); wipeKey_ = value; bitField0_ |= 0x00000010; } /** *
   **
   * The key which can wipe the token balance of an account. If empty, wipe is not possible
   * 
* * .proto.Key wipeKey = 9; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeWipeKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (wipeKey_ != null && wipeKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { wipeKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(wipeKey_).mergeFrom(value).buildPartial(); } else { wipeKey_ = value; } bitField0_ |= 0x00000010; } /** *
   **
   * The key which can wipe the token balance of an account. If empty, wipe is not possible
   * 
* * .proto.Key wipeKey = 9; */ private void clearWipeKey() { wipeKey_ = null; bitField0_ = (bitField0_ & ~0x00000010); } public static final int SUPPLYKEY_FIELD_NUMBER = 10; private com.hedera.hashgraph.sdk.proto.Key supplyKey_; /** *
   **
   * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
   * operations
   * 
* * .proto.Key supplyKey = 10; */ @java.lang.Override public boolean hasSupplyKey() { return ((bitField0_ & 0x00000020) != 0); } /** *
   **
   * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
   * operations
   * 
* * .proto.Key supplyKey = 10; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getSupplyKey() { return supplyKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : supplyKey_; } /** *
   **
   * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
   * operations
   * 
* * .proto.Key supplyKey = 10; */ private void setSupplyKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); supplyKey_ = value; bitField0_ |= 0x00000020; } /** *
   **
   * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
   * operations
   * 
* * .proto.Key supplyKey = 10; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeSupplyKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (supplyKey_ != null && supplyKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { supplyKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(supplyKey_).mergeFrom(value).buildPartial(); } else { supplyKey_ = value; } bitField0_ |= 0x00000020; } /** *
   **
   * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
   * operations
   * 
* * .proto.Key supplyKey = 10; */ private void clearSupplyKey() { supplyKey_ = null; bitField0_ = (bitField0_ & ~0x00000020); } public static final int FREEZEDEFAULT_FIELD_NUMBER = 11; private boolean freezeDefault_; /** *
   **
   * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
   * true, an account must be unfrozen before it can receive the token
   * 
* * bool freezeDefault = 11; * @return The freezeDefault. */ @java.lang.Override public boolean getFreezeDefault() { return freezeDefault_; } /** *
   **
   * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
   * true, an account must be unfrozen before it can receive the token
   * 
* * bool freezeDefault = 11; * @param value The freezeDefault to set. */ private void setFreezeDefault(boolean value) { freezeDefault_ = value; } /** *
   **
   * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
   * true, an account must be unfrozen before it can receive the token
   * 
* * bool freezeDefault = 11; */ private void clearFreezeDefault() { freezeDefault_ = false; } public static final int EXPIRY_FIELD_NUMBER = 13; private com.hedera.hashgraph.sdk.proto.Timestamp expiry_; /** *
   **
   * The epoch second at which the token should expire; if an auto-renew account and period are
   * specified, this is coerced to the current epoch second plus the autoRenewPeriod
   * 
* * .proto.Timestamp expiry = 13; */ @java.lang.Override public boolean hasExpiry() { return ((bitField0_ & 0x00000040) != 0); } /** *
   **
   * The epoch second at which the token should expire; if an auto-renew account and period are
   * specified, this is coerced to the current epoch second plus the autoRenewPeriod
   * 
* * .proto.Timestamp expiry = 13; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Timestamp getExpiry() { return expiry_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expiry_; } /** *
   **
   * The epoch second at which the token should expire; if an auto-renew account and period are
   * specified, this is coerced to the current epoch second plus the autoRenewPeriod
   * 
* * .proto.Timestamp expiry = 13; */ private void setExpiry(com.hedera.hashgraph.sdk.proto.Timestamp value) { value.getClass(); expiry_ = value; bitField0_ |= 0x00000040; } /** *
   **
   * The epoch second at which the token should expire; if an auto-renew account and period are
   * specified, this is coerced to the current epoch second plus the autoRenewPeriod
   * 
* * .proto.Timestamp expiry = 13; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeExpiry(com.hedera.hashgraph.sdk.proto.Timestamp value) { value.getClass(); if (expiry_ != null && expiry_ != com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance()) { expiry_ = com.hedera.hashgraph.sdk.proto.Timestamp.newBuilder(expiry_).mergeFrom(value).buildPartial(); } else { expiry_ = value; } bitField0_ |= 0x00000040; } /** *
   **
   * The epoch second at which the token should expire; if an auto-renew account and period are
   * specified, this is coerced to the current epoch second plus the autoRenewPeriod
   * 
* * .proto.Timestamp expiry = 13; */ private void clearExpiry() { expiry_ = null; bitField0_ = (bitField0_ & ~0x00000040); } public static final int AUTORENEWACCOUNT_FIELD_NUMBER = 14; private com.hedera.hashgraph.sdk.proto.AccountID autoRenewAccount_; /** *
   **
   * An account which will be automatically charged to renew the token's expiration, at
   * autoRenewPeriod interval
   * 
* * .proto.AccountID autoRenewAccount = 14; */ @java.lang.Override public boolean hasAutoRenewAccount() { return ((bitField0_ & 0x00000080) != 0); } /** *
   **
   * An account which will be automatically charged to renew the token's expiration, at
   * autoRenewPeriod interval
   * 
* * .proto.AccountID autoRenewAccount = 14; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getAutoRenewAccount() { return autoRenewAccount_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : autoRenewAccount_; } /** *
   **
   * An account which will be automatically charged to renew the token's expiration, at
   * autoRenewPeriod interval
   * 
* * .proto.AccountID autoRenewAccount = 14; */ private void setAutoRenewAccount(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); autoRenewAccount_ = value; bitField0_ |= 0x00000080; } /** *
   **
   * An account which will be automatically charged to renew the token's expiration, at
   * autoRenewPeriod interval
   * 
* * .proto.AccountID autoRenewAccount = 14; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeAutoRenewAccount(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); if (autoRenewAccount_ != null && autoRenewAccount_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { autoRenewAccount_ = com.hedera.hashgraph.sdk.proto.AccountID.newBuilder(autoRenewAccount_).mergeFrom(value).buildPartial(); } else { autoRenewAccount_ = value; } bitField0_ |= 0x00000080; } /** *
   **
   * An account which will be automatically charged to renew the token's expiration, at
   * autoRenewPeriod interval
   * 
* * .proto.AccountID autoRenewAccount = 14; */ private void clearAutoRenewAccount() { autoRenewAccount_ = null; bitField0_ = (bitField0_ & ~0x00000080); } public static final int AUTORENEWPERIOD_FIELD_NUMBER = 15; private com.hedera.hashgraph.sdk.proto.Duration autoRenewPeriod_; /** *
   **
   * The interval at which the auto-renew account will be charged to extend the token's expiry
   * 
* * .proto.Duration autoRenewPeriod = 15; */ @java.lang.Override public boolean hasAutoRenewPeriod() { return ((bitField0_ & 0x00000100) != 0); } /** *
   **
   * The interval at which the auto-renew account will be charged to extend the token's expiry
   * 
* * .proto.Duration autoRenewPeriod = 15; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Duration getAutoRenewPeriod() { return autoRenewPeriod_ == null ? com.hedera.hashgraph.sdk.proto.Duration.getDefaultInstance() : autoRenewPeriod_; } /** *
   **
   * The interval at which the auto-renew account will be charged to extend the token's expiry
   * 
* * .proto.Duration autoRenewPeriod = 15; */ private void setAutoRenewPeriod(com.hedera.hashgraph.sdk.proto.Duration value) { value.getClass(); autoRenewPeriod_ = value; bitField0_ |= 0x00000100; } /** *
   **
   * The interval at which the auto-renew account will be charged to extend the token's expiry
   * 
* * .proto.Duration autoRenewPeriod = 15; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeAutoRenewPeriod(com.hedera.hashgraph.sdk.proto.Duration value) { value.getClass(); if (autoRenewPeriod_ != null && autoRenewPeriod_ != com.hedera.hashgraph.sdk.proto.Duration.getDefaultInstance()) { autoRenewPeriod_ = com.hedera.hashgraph.sdk.proto.Duration.newBuilder(autoRenewPeriod_).mergeFrom(value).buildPartial(); } else { autoRenewPeriod_ = value; } bitField0_ |= 0x00000100; } /** *
   **
   * The interval at which the auto-renew account will be charged to extend the token's expiry
   * 
* * .proto.Duration autoRenewPeriod = 15; */ private void clearAutoRenewPeriod() { autoRenewPeriod_ = null; bitField0_ = (bitField0_ & ~0x00000100); } public static final int MEMO_FIELD_NUMBER = 16; private java.lang.String memo_; /** *
   **
   * The memo associated with the token (UTF-8 encoding max 100 bytes)
   * 
* * string memo = 16; * @return The memo. */ @java.lang.Override public java.lang.String getMemo() { return memo_; } /** *
   **
   * The memo associated with the token (UTF-8 encoding max 100 bytes)
   * 
* * string memo = 16; * @return The bytes for memo. */ @java.lang.Override public com.google.protobuf.ByteString getMemoBytes() { return com.google.protobuf.ByteString.copyFromUtf8(memo_); } /** *
   **
   * The memo associated with the token (UTF-8 encoding max 100 bytes)
   * 
* * string memo = 16; * @param value The memo to set. */ private void setMemo( java.lang.String value) { java.lang.Class valueClass = value.getClass(); memo_ = value; } /** *
   **
   * The memo associated with the token (UTF-8 encoding max 100 bytes)
   * 
* * string memo = 16; */ private void clearMemo() { memo_ = getDefaultInstance().getMemo(); } /** *
   **
   * The memo associated with the token (UTF-8 encoding max 100 bytes)
   * 
* * string memo = 16; * @param value The bytes for memo to set. */ private void setMemoBytes( com.google.protobuf.ByteString value) { checkByteStringIsUtf8(value); memo_ = value.toStringUtf8(); } public static final int TOKENTYPE_FIELD_NUMBER = 17; private int tokenType_; /** *
   **
   * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
   * 
* * .proto.TokenType tokenType = 17; * @return The enum numeric value on the wire for tokenType. */ @java.lang.Override public int getTokenTypeValue() { return tokenType_; } /** *
   **
   * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
   * 
* * .proto.TokenType tokenType = 17; * @return The tokenType. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.TokenType getTokenType() { com.hedera.hashgraph.sdk.proto.TokenType result = com.hedera.hashgraph.sdk.proto.TokenType.forNumber(tokenType_); return result == null ? com.hedera.hashgraph.sdk.proto.TokenType.UNRECOGNIZED : result; } /** *
   **
   * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
   * 
* * .proto.TokenType tokenType = 17; * @param value The enum numeric value on the wire for tokenType to set. */ private void setTokenTypeValue(int value) { tokenType_ = value; } /** *
   **
   * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
   * 
* * .proto.TokenType tokenType = 17; * @param value The tokenType to set. */ private void setTokenType(com.hedera.hashgraph.sdk.proto.TokenType value) { tokenType_ = value.getNumber(); } /** *
   **
   * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
   * 
* * .proto.TokenType tokenType = 17; */ private void clearTokenType() { tokenType_ = 0; } public static final int SUPPLYTYPE_FIELD_NUMBER = 18; private int supplyType_; /** *
   **
   * IWA compatibility. Specified the token supply type. Defaults to INFINITE
   * 
* * .proto.TokenSupplyType supplyType = 18; * @return The enum numeric value on the wire for supplyType. */ @java.lang.Override public int getSupplyTypeValue() { return supplyType_; } /** *
   **
   * IWA compatibility. Specified the token supply type. Defaults to INFINITE
   * 
* * .proto.TokenSupplyType supplyType = 18; * @return The supplyType. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.TokenSupplyType getSupplyType() { com.hedera.hashgraph.sdk.proto.TokenSupplyType result = com.hedera.hashgraph.sdk.proto.TokenSupplyType.forNumber(supplyType_); return result == null ? com.hedera.hashgraph.sdk.proto.TokenSupplyType.UNRECOGNIZED : result; } /** *
   **
   * IWA compatibility. Specified the token supply type. Defaults to INFINITE
   * 
* * .proto.TokenSupplyType supplyType = 18; * @param value The enum numeric value on the wire for supplyType to set. */ private void setSupplyTypeValue(int value) { supplyType_ = value; } /** *
   **
   * IWA compatibility. Specified the token supply type. Defaults to INFINITE
   * 
* * .proto.TokenSupplyType supplyType = 18; * @param value The supplyType to set. */ private void setSupplyType(com.hedera.hashgraph.sdk.proto.TokenSupplyType value) { supplyType_ = value.getNumber(); } /** *
   **
   * IWA compatibility. Specified the token supply type. Defaults to INFINITE
   * 
* * .proto.TokenSupplyType supplyType = 18; */ private void clearSupplyType() { supplyType_ = 0; } public static final int MAXSUPPLY_FIELD_NUMBER = 19; private long maxSupply_; /** *
   **
   * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
   * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
   * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
   * changed!
   * 
* * int64 maxSupply = 19; * @return The maxSupply. */ @java.lang.Override public long getMaxSupply() { return maxSupply_; } /** *
   **
   * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
   * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
   * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
   * changed!
   * 
* * int64 maxSupply = 19; * @param value The maxSupply to set. */ private void setMaxSupply(long value) { maxSupply_ = value; } /** *
   **
   * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
   * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
   * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
   * changed!
   * 
* * int64 maxSupply = 19; */ private void clearMaxSupply() { maxSupply_ = 0L; } public static final int FEE_SCHEDULE_KEY_FIELD_NUMBER = 20; private com.hedera.hashgraph.sdk.proto.Key feeScheduleKey_; /** *
   **
   * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
   * transaction
   * 
* * .proto.Key fee_schedule_key = 20; */ @java.lang.Override public boolean hasFeeScheduleKey() { return ((bitField0_ & 0x00000200) != 0); } /** *
   **
   * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
   * transaction
   * 
* * .proto.Key fee_schedule_key = 20; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getFeeScheduleKey() { return feeScheduleKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : feeScheduleKey_; } /** *
   **
   * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
   * transaction
   * 
* * .proto.Key fee_schedule_key = 20; */ private void setFeeScheduleKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); feeScheduleKey_ = value; bitField0_ |= 0x00000200; } /** *
   **
   * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
   * transaction
   * 
* * .proto.Key fee_schedule_key = 20; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergeFeeScheduleKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (feeScheduleKey_ != null && feeScheduleKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { feeScheduleKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(feeScheduleKey_).mergeFrom(value).buildPartial(); } else { feeScheduleKey_ = value; } bitField0_ |= 0x00000200; } /** *
   **
   * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
   * transaction
   * 
* * .proto.Key fee_schedule_key = 20; */ private void clearFeeScheduleKey() { feeScheduleKey_ = null; bitField0_ = (bitField0_ & ~0x00000200); } public static final int CUSTOM_FEES_FIELD_NUMBER = 21; private com.google.protobuf.Internal.ProtobufList customFees_; /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public java.util.List getCustomFeesList() { return customFees_; } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ public java.util.List getCustomFeesOrBuilderList() { return customFees_; } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public int getCustomFeesCount() { return customFees_.size(); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.CustomFee getCustomFees(int index) { return customFees_.get(index); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ public com.hedera.hashgraph.sdk.proto.CustomFeeOrBuilder getCustomFeesOrBuilder( int index) { return customFees_.get(index); } private void ensureCustomFeesIsMutable() { com.google.protobuf.Internal.ProtobufList tmp = customFees_; if (!tmp.isModifiable()) { customFees_ = com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); } } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void setCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee value) { value.getClass(); ensureCustomFeesIsMutable(); customFees_.set(index, value); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void addCustomFees(com.hedera.hashgraph.sdk.proto.CustomFee value) { value.getClass(); ensureCustomFeesIsMutable(); customFees_.add(value); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void addCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee value) { value.getClass(); ensureCustomFeesIsMutable(); customFees_.add(index, value); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void addAllCustomFees( java.lang.Iterable values) { ensureCustomFeesIsMutable(); com.google.protobuf.AbstractMessageLite.addAll( values, customFees_); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void clearCustomFees() { customFees_ = emptyProtobufList(); } /** *
   **
   * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
   * 
* * repeated .proto.CustomFee custom_fees = 21; */ private void removeCustomFees(int index) { ensureCustomFeesIsMutable(); customFees_.remove(index); } public static final int PAUSE_KEY_FIELD_NUMBER = 22; private com.hedera.hashgraph.sdk.proto.Key pauseKey_; /** *
   **
   * The Key which can pause and unpause the Token.
   * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
   * 
* * .proto.Key pause_key = 22; */ @java.lang.Override public boolean hasPauseKey() { return ((bitField0_ & 0x00000400) != 0); } /** *
   **
   * The Key which can pause and unpause the Token.
   * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
   * 
* * .proto.Key pause_key = 22; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getPauseKey() { return pauseKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : pauseKey_; } /** *
   **
   * The Key which can pause and unpause the Token.
   * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
   * 
* * .proto.Key pause_key = 22; */ private void setPauseKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); pauseKey_ = value; bitField0_ |= 0x00000400; } /** *
   **
   * The Key which can pause and unpause the Token.
   * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
   * 
* * .proto.Key pause_key = 22; */ @java.lang.SuppressWarnings({"ReferenceEquality"}) private void mergePauseKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (pauseKey_ != null && pauseKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { pauseKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(pauseKey_).mergeFrom(value).buildPartial(); } else { pauseKey_ = value; } bitField0_ |= 0x00000400; } /** *
   **
   * The Key which can pause and unpause the Token.
   * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
   * 
* * .proto.Key pause_key = 22; */ private void clearPauseKey() { pauseKey_ = null; bitField0_ = (bitField0_ & ~0x00000400); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static Builder newBuilder() { return (Builder) DEFAULT_INSTANCE.createBuilder(); } public static Builder newBuilder(com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody prototype) { return DEFAULT_INSTANCE.createBuilder(prototype); } /** *
   **
   * Create a new token. After the token is created, the Token ID for it is in the receipt.
   * The specified Treasury Account is receiving the initial supply of tokens as-well as the tokens
   * from the Token Mint operation once executed. The balance of the treasury account is decreased
   * when the Token Burn operation is executed.
   * 
   * The <tt>initialSupply</tt> is the initial supply of the smallest parts of a token (like a
   * tinybar, not an hbar). These are the smallest units of the token which may be transferred.
   * 
   * The supply can change over time. If the total supply at some moment is <i>S</i> parts of tokens,
   * and the token is using <i>D</i> decimals, then <i>S</i> must be less than or equal to
   * 2<sup>63</sup>-1, which is 9,223,372,036,854,775,807. The number of whole tokens (not parts) will
   * be <i>S / 10<sup>D</sup></i>.
   * 
   * If decimals is 8 or 11, then the number of whole tokens can be at most a few billions or
   * millions, respectively. For example, it could match Bitcoin (21 million whole tokens with 8
   * decimals) or hbars (50 billion whole tokens with 8 decimals). It could even match Bitcoin with
   * milli-satoshis (21 million whole tokens with 11 decimals).
   * 
   * Note that a created token is <i>immutable</i> if the <tt>adminKey</tt> is omitted. No property of
   * an immutable token can ever change, with the sole exception of its expiry. Anyone can pay to
   * extend the expiry time of an immutable token.
   * 
   * A token can be either <i>FUNGIBLE_COMMON</i> or <i>NON_FUNGIBLE_UNIQUE</i>, based on its
   * <i>TokenType</i>. If it has been omitted, <i>FUNGIBLE_COMMON</i> type is used.
   * 
   * A token can have either <i>INFINITE</i> or <i>FINITE</i> supply type, based on its
   * <i>TokenType</i>. If it has been omitted, <i>INFINITE</i> type is used.
   * 
   * If a <i>FUNGIBLE</i> TokenType is used, <i>initialSupply</i> should explicitly be set to a
   * non-negative. If not, the transaction will resolve to INVALID_TOKEN_INITIAL_SUPPLY.
   * 
   * If a <i>NON_FUNGIBLE_UNIQUE</i> TokenType is used, <i>initialSupply</i> should explicitly be set
   * to 0. If not, the transaction will resolve to INVALID_TOKEN_INITIAL_SUPPLY.
   * 
   * If an <i>INFINITE</i> TokenSupplyType is used, <i>maxSupply</i> should explicitly be set to 0. If
   * it is not 0, the transaction will resolve to INVALID_TOKEN_MAX_SUPPLY.
   * 
   * If a <i>FINITE</i> TokenSupplyType is used, <i>maxSupply</i> should be explicitly set to a
   * non-negative value. If it is not, the transaction will resolve to INVALID_TOKEN_MAX_SUPPLY.
   * 
* * Protobuf type {@code proto.TokenCreateTransactionBody} */ public static final class Builder extends com.google.protobuf.GeneratedMessageLite.Builder< com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody, Builder> implements // @@protoc_insertion_point(builder_implements:proto.TokenCreateTransactionBody) com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBodyOrBuilder { // Construct using com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody.newBuilder() private Builder() { super(DEFAULT_INSTANCE); } /** *
     **
     * The publicly visible name of the token. The token name is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string name = 1; * @return The name. */ @java.lang.Override public java.lang.String getName() { return instance.getName(); } /** *
     **
     * The publicly visible name of the token. The token name is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string name = 1; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { return instance.getNameBytes(); } /** *
     **
     * The publicly visible name of the token. The token name is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string name = 1; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { copyOnWrite(); instance.setName(value); return this; } /** *
     **
     * The publicly visible name of the token. The token name is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { copyOnWrite(); instance.clearName(); return this; } /** *
     **
     * The publicly visible name of the token. The token name is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string name = 1; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { copyOnWrite(); instance.setNameBytes(value); return this; } /** *
     **
     * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string symbol = 2; * @return The symbol. */ @java.lang.Override public java.lang.String getSymbol() { return instance.getSymbol(); } /** *
     **
     * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string symbol = 2; * @return The bytes for symbol. */ @java.lang.Override public com.google.protobuf.ByteString getSymbolBytes() { return instance.getSymbolBytes(); } /** *
     **
     * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string symbol = 2; * @param value The symbol to set. * @return This builder for chaining. */ public Builder setSymbol( java.lang.String value) { copyOnWrite(); instance.setSymbol(value); return this; } /** *
     **
     * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string symbol = 2; * @return This builder for chaining. */ public Builder clearSymbol() { copyOnWrite(); instance.clearSymbol(); return this; } /** *
     **
     * The publicly visible token symbol. The token symbol is specified as a Unicode string. 
     * Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).
     * 
* * string symbol = 2; * @param value The bytes for symbol to set. * @return This builder for chaining. */ public Builder setSymbolBytes( com.google.protobuf.ByteString value) { copyOnWrite(); instance.setSymbolBytes(value); return this; } /** *
     **
     * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
     * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
     * must be 0
     * 
* * uint32 decimals = 3; * @return The decimals. */ @java.lang.Override public int getDecimals() { return instance.getDecimals(); } /** *
     **
     * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
     * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
     * must be 0
     * 
* * uint32 decimals = 3; * @param value The decimals to set. * @return This builder for chaining. */ public Builder setDecimals(int value) { copyOnWrite(); instance.setDecimals(value); return this; } /** *
     **
     * For tokens of type FUNGIBLE_COMMON - the number of decimal places a
     * token is divisible by. For tokens of type NON_FUNGIBLE_UNIQUE - value
     * must be 0
     * 
* * uint32 decimals = 3; * @return This builder for chaining. */ public Builder clearDecimals() { copyOnWrite(); instance.clearDecimals(); return this; } /** *
     **
     * Specifies the initial supply of tokens to be put in circulation. The
     * initial supply is sent to the Treasury Account. The supply is in the
     * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
     * the value must be 0
     * 
* * uint64 initialSupply = 4; * @return The initialSupply. */ @java.lang.Override public long getInitialSupply() { return instance.getInitialSupply(); } /** *
     **
     * Specifies the initial supply of tokens to be put in circulation. The
     * initial supply is sent to the Treasury Account. The supply is in the
     * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
     * the value must be 0
     * 
* * uint64 initialSupply = 4; * @param value The initialSupply to set. * @return This builder for chaining. */ public Builder setInitialSupply(long value) { copyOnWrite(); instance.setInitialSupply(value); return this; } /** *
     **
     * Specifies the initial supply of tokens to be put in circulation. The
     * initial supply is sent to the Treasury Account. The supply is in the
     * lowest denomination possible. In the case for NON_FUNGIBLE_UNIQUE Type
     * the value must be 0
     * 
* * uint64 initialSupply = 4; * @return This builder for chaining. */ public Builder clearInitialSupply() { copyOnWrite(); instance.clearInitialSupply(); return this; } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ @java.lang.Override public boolean hasTreasury() { return instance.hasTreasury(); } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getTreasury() { return instance.getTreasury(); } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ public Builder setTreasury(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.setTreasury(value); return this; } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ public Builder setTreasury( com.hedera.hashgraph.sdk.proto.AccountID.Builder builderForValue) { copyOnWrite(); instance.setTreasury(builderForValue.build()); return this; } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ public Builder mergeTreasury(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.mergeTreasury(value); return this; } /** *
     **
     * The account which will act as a treasury for the token. This account
     * will receive the specified initial supply or the newly minted NFTs in
     * the case for NON_FUNGIBLE_UNIQUE Type
     * 
* * .proto.AccountID treasury = 5; */ public Builder clearTreasury() { copyOnWrite(); instance.clearTreasury(); return this; } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ @java.lang.Override public boolean hasAdminKey() { return instance.hasAdminKey(); } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return instance.getAdminKey(); } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ public Builder setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setAdminKey(value); return this; } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ public Builder setAdminKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setAdminKey(builderForValue.build()); return this; } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ public Builder mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeAdminKey(value); return this; } /** *
     **
     * The key which can perform update/delete operations on the token. If empty, the token can be
     * perceived as immutable (not being able to be updated/deleted)
     * 
* * .proto.Key adminKey = 6; */ public Builder clearAdminKey() { copyOnWrite(); instance.clearAdminKey(); return this; } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ @java.lang.Override public boolean hasKycKey() { return instance.hasKycKey(); } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getKycKey() { return instance.getKycKey(); } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ public Builder setKycKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setKycKey(value); return this; } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ public Builder setKycKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setKycKey(builderForValue.build()); return this; } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ public Builder mergeKycKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeKycKey(value); return this; } /** *
     **
     * The key which can grant or revoke KYC of an account for the token's transactions. If empty,
     * KYC is not required, and KYC grant or revoke operations are not possible.
     * 
* * .proto.Key kycKey = 7; */ public Builder clearKycKey() { copyOnWrite(); instance.clearKycKey(); return this; } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ @java.lang.Override public boolean hasFreezeKey() { return instance.hasFreezeKey(); } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getFreezeKey() { return instance.getFreezeKey(); } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ public Builder setFreezeKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setFreezeKey(value); return this; } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ public Builder setFreezeKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setFreezeKey(builderForValue.build()); return this; } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ public Builder mergeFreezeKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeFreezeKey(value); return this; } /** *
     **
     * The key which can sign to freeze or unfreeze an account for token transactions. If empty,
     * freezing is not possible
     * 
* * .proto.Key freezeKey = 8; */ public Builder clearFreezeKey() { copyOnWrite(); instance.clearFreezeKey(); return this; } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ @java.lang.Override public boolean hasWipeKey() { return instance.hasWipeKey(); } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getWipeKey() { return instance.getWipeKey(); } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ public Builder setWipeKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setWipeKey(value); return this; } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ public Builder setWipeKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setWipeKey(builderForValue.build()); return this; } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ public Builder mergeWipeKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeWipeKey(value); return this; } /** *
     **
     * The key which can wipe the token balance of an account. If empty, wipe is not possible
     * 
* * .proto.Key wipeKey = 9; */ public Builder clearWipeKey() { copyOnWrite(); instance.clearWipeKey(); return this; } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ @java.lang.Override public boolean hasSupplyKey() { return instance.hasSupplyKey(); } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getSupplyKey() { return instance.getSupplyKey(); } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ public Builder setSupplyKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setSupplyKey(value); return this; } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ public Builder setSupplyKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setSupplyKey(builderForValue.build()); return this; } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ public Builder mergeSupplyKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeSupplyKey(value); return this; } /** *
     **
     * The key which can change the supply of a token. The key is used to sign Token Mint/Burn
     * operations
     * 
* * .proto.Key supplyKey = 10; */ public Builder clearSupplyKey() { copyOnWrite(); instance.clearSupplyKey(); return this; } /** *
     **
     * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
     * true, an account must be unfrozen before it can receive the token
     * 
* * bool freezeDefault = 11; * @return The freezeDefault. */ @java.lang.Override public boolean getFreezeDefault() { return instance.getFreezeDefault(); } /** *
     **
     * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
     * true, an account must be unfrozen before it can receive the token
     * 
* * bool freezeDefault = 11; * @param value The freezeDefault to set. * @return This builder for chaining. */ public Builder setFreezeDefault(boolean value) { copyOnWrite(); instance.setFreezeDefault(value); return this; } /** *
     **
     * The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If
     * true, an account must be unfrozen before it can receive the token
     * 
* * bool freezeDefault = 11; * @return This builder for chaining. */ public Builder clearFreezeDefault() { copyOnWrite(); instance.clearFreezeDefault(); return this; } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ @java.lang.Override public boolean hasExpiry() { return instance.hasExpiry(); } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Timestamp getExpiry() { return instance.getExpiry(); } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ public Builder setExpiry(com.hedera.hashgraph.sdk.proto.Timestamp value) { copyOnWrite(); instance.setExpiry(value); return this; } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ public Builder setExpiry( com.hedera.hashgraph.sdk.proto.Timestamp.Builder builderForValue) { copyOnWrite(); instance.setExpiry(builderForValue.build()); return this; } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ public Builder mergeExpiry(com.hedera.hashgraph.sdk.proto.Timestamp value) { copyOnWrite(); instance.mergeExpiry(value); return this; } /** *
     **
     * The epoch second at which the token should expire; if an auto-renew account and period are
     * specified, this is coerced to the current epoch second plus the autoRenewPeriod
     * 
* * .proto.Timestamp expiry = 13; */ public Builder clearExpiry() { copyOnWrite(); instance.clearExpiry(); return this; } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ @java.lang.Override public boolean hasAutoRenewAccount() { return instance.hasAutoRenewAccount(); } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getAutoRenewAccount() { return instance.getAutoRenewAccount(); } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ public Builder setAutoRenewAccount(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.setAutoRenewAccount(value); return this; } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ public Builder setAutoRenewAccount( com.hedera.hashgraph.sdk.proto.AccountID.Builder builderForValue) { copyOnWrite(); instance.setAutoRenewAccount(builderForValue.build()); return this; } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ public Builder mergeAutoRenewAccount(com.hedera.hashgraph.sdk.proto.AccountID value) { copyOnWrite(); instance.mergeAutoRenewAccount(value); return this; } /** *
     **
     * An account which will be automatically charged to renew the token's expiration, at
     * autoRenewPeriod interval
     * 
* * .proto.AccountID autoRenewAccount = 14; */ public Builder clearAutoRenewAccount() { copyOnWrite(); instance.clearAutoRenewAccount(); return this; } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ @java.lang.Override public boolean hasAutoRenewPeriod() { return instance.hasAutoRenewPeriod(); } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Duration getAutoRenewPeriod() { return instance.getAutoRenewPeriod(); } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ public Builder setAutoRenewPeriod(com.hedera.hashgraph.sdk.proto.Duration value) { copyOnWrite(); instance.setAutoRenewPeriod(value); return this; } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ public Builder setAutoRenewPeriod( com.hedera.hashgraph.sdk.proto.Duration.Builder builderForValue) { copyOnWrite(); instance.setAutoRenewPeriod(builderForValue.build()); return this; } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ public Builder mergeAutoRenewPeriod(com.hedera.hashgraph.sdk.proto.Duration value) { copyOnWrite(); instance.mergeAutoRenewPeriod(value); return this; } /** *
     **
     * The interval at which the auto-renew account will be charged to extend the token's expiry
     * 
* * .proto.Duration autoRenewPeriod = 15; */ public Builder clearAutoRenewPeriod() { copyOnWrite(); instance.clearAutoRenewPeriod(); return this; } /** *
     **
     * The memo associated with the token (UTF-8 encoding max 100 bytes)
     * 
* * string memo = 16; * @return The memo. */ @java.lang.Override public java.lang.String getMemo() { return instance.getMemo(); } /** *
     **
     * The memo associated with the token (UTF-8 encoding max 100 bytes)
     * 
* * string memo = 16; * @return The bytes for memo. */ @java.lang.Override public com.google.protobuf.ByteString getMemoBytes() { return instance.getMemoBytes(); } /** *
     **
     * The memo associated with the token (UTF-8 encoding max 100 bytes)
     * 
* * string memo = 16; * @param value The memo to set. * @return This builder for chaining. */ public Builder setMemo( java.lang.String value) { copyOnWrite(); instance.setMemo(value); return this; } /** *
     **
     * The memo associated with the token (UTF-8 encoding max 100 bytes)
     * 
* * string memo = 16; * @return This builder for chaining. */ public Builder clearMemo() { copyOnWrite(); instance.clearMemo(); return this; } /** *
     **
     * The memo associated with the token (UTF-8 encoding max 100 bytes)
     * 
* * string memo = 16; * @param value The bytes for memo to set. * @return This builder for chaining. */ public Builder setMemoBytes( com.google.protobuf.ByteString value) { copyOnWrite(); instance.setMemoBytes(value); return this; } /** *
     **
     * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
     * 
* * .proto.TokenType tokenType = 17; * @return The enum numeric value on the wire for tokenType. */ @java.lang.Override public int getTokenTypeValue() { return instance.getTokenTypeValue(); } /** *
     **
     * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
     * 
* * .proto.TokenType tokenType = 17; * @param value The tokenType to set. * @return This builder for chaining. */ public Builder setTokenTypeValue(int value) { copyOnWrite(); instance.setTokenTypeValue(value); return this; } /** *
     **
     * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
     * 
* * .proto.TokenType tokenType = 17; * @return The tokenType. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.TokenType getTokenType() { return instance.getTokenType(); } /** *
     **
     * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
     * 
* * .proto.TokenType tokenType = 17; * @param value The enum numeric value on the wire for tokenType to set. * @return This builder for chaining. */ public Builder setTokenType(com.hedera.hashgraph.sdk.proto.TokenType value) { copyOnWrite(); instance.setTokenType(value); return this; } /** *
     **
     * IWA compatibility. Specifies the token type. Defaults to FUNGIBLE_COMMON
     * 
* * .proto.TokenType tokenType = 17; * @return This builder for chaining. */ public Builder clearTokenType() { copyOnWrite(); instance.clearTokenType(); return this; } /** *
     **
     * IWA compatibility. Specified the token supply type. Defaults to INFINITE
     * 
* * .proto.TokenSupplyType supplyType = 18; * @return The enum numeric value on the wire for supplyType. */ @java.lang.Override public int getSupplyTypeValue() { return instance.getSupplyTypeValue(); } /** *
     **
     * IWA compatibility. Specified the token supply type. Defaults to INFINITE
     * 
* * .proto.TokenSupplyType supplyType = 18; * @param value The supplyType to set. * @return This builder for chaining. */ public Builder setSupplyTypeValue(int value) { copyOnWrite(); instance.setSupplyTypeValue(value); return this; } /** *
     **
     * IWA compatibility. Specified the token supply type. Defaults to INFINITE
     * 
* * .proto.TokenSupplyType supplyType = 18; * @return The supplyType. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.TokenSupplyType getSupplyType() { return instance.getSupplyType(); } /** *
     **
     * IWA compatibility. Specified the token supply type. Defaults to INFINITE
     * 
* * .proto.TokenSupplyType supplyType = 18; * @param value The enum numeric value on the wire for supplyType to set. * @return This builder for chaining. */ public Builder setSupplyType(com.hedera.hashgraph.sdk.proto.TokenSupplyType value) { copyOnWrite(); instance.setSupplyType(value); return this; } /** *
     **
     * IWA compatibility. Specified the token supply type. Defaults to INFINITE
     * 
* * .proto.TokenSupplyType supplyType = 18; * @return This builder for chaining. */ public Builder clearSupplyType() { copyOnWrite(); instance.clearSupplyType(); return this; } /** *
     **
     * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
     * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
     * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
     * changed!
     * 
* * int64 maxSupply = 19; * @return The maxSupply. */ @java.lang.Override public long getMaxSupply() { return instance.getMaxSupply(); } /** *
     **
     * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
     * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
     * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
     * changed!
     * 
* * int64 maxSupply = 19; * @param value The maxSupply to set. * @return This builder for chaining. */ public Builder setMaxSupply(long value) { copyOnWrite(); instance.setMaxSupply(value); return this; } /** *
     **
     * IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the
     * maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -
     * the maximum number of NFTs (serial numbers) that can be minted. This field can never be
     * changed!
     * 
* * int64 maxSupply = 19; * @return This builder for chaining. */ public Builder clearMaxSupply() { copyOnWrite(); instance.clearMaxSupply(); return this; } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ @java.lang.Override public boolean hasFeeScheduleKey() { return instance.hasFeeScheduleKey(); } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getFeeScheduleKey() { return instance.getFeeScheduleKey(); } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ public Builder setFeeScheduleKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setFeeScheduleKey(value); return this; } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ public Builder setFeeScheduleKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setFeeScheduleKey(builderForValue.build()); return this; } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ public Builder mergeFeeScheduleKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergeFeeScheduleKey(value); return this; } /** *
     **
     * The key which can change the token's custom fee schedule; must sign a TokenFeeScheduleUpdate
     * transaction
     * 
* * .proto.Key fee_schedule_key = 20; */ public Builder clearFeeScheduleKey() { copyOnWrite(); instance.clearFeeScheduleKey(); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public java.util.List getCustomFeesList() { return java.util.Collections.unmodifiableList( instance.getCustomFeesList()); } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public int getCustomFeesCount() { return instance.getCustomFeesCount(); }/** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.CustomFee getCustomFees(int index) { return instance.getCustomFees(index); } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder setCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee value) { copyOnWrite(); instance.setCustomFees(index, value); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder setCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee.Builder builderForValue) { copyOnWrite(); instance.setCustomFees(index, builderForValue.build()); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder addCustomFees(com.hedera.hashgraph.sdk.proto.CustomFee value) { copyOnWrite(); instance.addCustomFees(value); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder addCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee value) { copyOnWrite(); instance.addCustomFees(index, value); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder addCustomFees( com.hedera.hashgraph.sdk.proto.CustomFee.Builder builderForValue) { copyOnWrite(); instance.addCustomFees(builderForValue.build()); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder addCustomFees( int index, com.hedera.hashgraph.sdk.proto.CustomFee.Builder builderForValue) { copyOnWrite(); instance.addCustomFees(index, builderForValue.build()); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder addAllCustomFees( java.lang.Iterable values) { copyOnWrite(); instance.addAllCustomFees(values); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder clearCustomFees() { copyOnWrite(); instance.clearCustomFees(); return this; } /** *
     **
     * The custom fees to be assessed during a CryptoTransfer that transfers units of this token
     * 
* * repeated .proto.CustomFee custom_fees = 21; */ public Builder removeCustomFees(int index) { copyOnWrite(); instance.removeCustomFees(index); return this; } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ @java.lang.Override public boolean hasPauseKey() { return instance.hasPauseKey(); } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getPauseKey() { return instance.getPauseKey(); } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ public Builder setPauseKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.setPauseKey(value); return this; } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ public Builder setPauseKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { copyOnWrite(); instance.setPauseKey(builderForValue.build()); return this; } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ public Builder mergePauseKey(com.hedera.hashgraph.sdk.proto.Key value) { copyOnWrite(); instance.mergePauseKey(value); return this; } /** *
     **
     * The Key which can pause and unpause the Token.
     * If Empty the token pause status defaults to PauseNotApplicable, otherwise Unpaused.
     * 
* * .proto.Key pause_key = 22; */ public Builder clearPauseKey() { copyOnWrite(); instance.clearPauseKey(); return this; } // @@protoc_insertion_point(builder_scope:proto.TokenCreateTransactionBody) } @java.lang.Override @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) protected final java.lang.Object dynamicMethod( com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1) { switch (method) { case NEW_MUTABLE_INSTANCE: { return new com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody(); } case NEW_BUILDER: { return new Builder(); } case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { "bitField0_", "name_", "symbol_", "decimals_", "initialSupply_", "treasury_", "adminKey_", "kycKey_", "freezeKey_", "wipeKey_", "supplyKey_", "freezeDefault_", "expiry_", "autoRenewAccount_", "autoRenewPeriod_", "memo_", "tokenType_", "supplyType_", "maxSupply_", "feeScheduleKey_", "customFees_", com.hedera.hashgraph.sdk.proto.CustomFee.class, "pauseKey_", }; java.lang.String info = "\u0000\u0015\u0000\u0001\u0001\u0016\u0015\u0000\u0001\u0000\u0001\u0208\u0002\u0208" + "\u0003\u000b\u0004\u0003\u0005\u1009\u0000\u0006\u1009\u0001\u0007\u1009\u0002\b" + "\u1009\u0003\t\u1009\u0004\n\u1009\u0005\u000b\u0007\r\u1009\u0006\u000e\u1009\u0007" + "\u000f\u1009\b\u0010\u0208\u0011\f\u0012\f\u0013\u0002\u0014\u1009\t\u0015\u001b" + "\u0016\u1009\n"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through case GET_DEFAULT_INSTANCE: { return DEFAULT_INSTANCE; } case GET_PARSER: { com.google.protobuf.Parser parser = PARSER; if (parser == null) { synchronized (com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody.class) { parser = PARSER; if (parser == null) { parser = new DefaultInstanceBasedParser( DEFAULT_INSTANCE); PARSER = parser; } } } return parser; } case GET_MEMOIZED_IS_INITIALIZED: { return (byte) 1; } case SET_MEMOIZED_IS_INITIALIZED: { return null; } } throw new UnsupportedOperationException(); } // @@protoc_insertion_point(class_scope:proto.TokenCreateTransactionBody) private static final com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody DEFAULT_INSTANCE; static { TokenCreateTransactionBody defaultInstance = new TokenCreateTransactionBody(); // New instances are implicitly immutable so no need to make // immutable. DEFAULT_INSTANCE = defaultInstance; com.google.protobuf.GeneratedMessageLite.registerDefaultInstance( TokenCreateTransactionBody.class, defaultInstance); } public static com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody getDefaultInstance() { return DEFAULT_INSTANCE; } private static volatile com.google.protobuf.Parser PARSER; public static com.google.protobuf.Parser parser() { return DEFAULT_INSTANCE.getParserForType(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy