Module com.hedera.hashgraph.sdk
Package com.hedera.hashgraph.sdk.proto
Class TokenCreateTransactionBody.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<TokenCreateTransactionBody,TokenCreateTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<TokenCreateTransactionBody,TokenCreateTransactionBody.Builder>
com.hedera.hashgraph.sdk.proto.TokenCreateTransactionBody.Builder
- All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,TokenCreateTransactionBodyOrBuilder,Cloneable
- Enclosing class:
TokenCreateTransactionBody
public static final class TokenCreateTransactionBody.Builder
extends com.google.protobuf.GeneratedMessageLite.Builder<TokenCreateTransactionBody,TokenCreateTransactionBody.Builder>
implements TokenCreateTransactionBodyOrBuilder
* Create an HTS token. #### Keys Each token has several keys that, separately, control different functions for that token. It is *_strongly_* recommended that each key assigned to a token be unique, or disabled by assigning an empty `KeyList`. Keys and purpose - `adminKey` is a general access and may authorize a token update transaction as well as _update the other keys_. Even the admin key cannot authorize _adding_ a key that is not present, however.<br/> The admin key may also delete the token entirely. - `fee_schedule` may authorize updating the token custom fees. If this key is not present, the custom fees for the token are fixed and immutable. - `freeze` may authorize a token freeze or unfreeze transaction. If this key is not present, accounts holding this token cannot have their tokens frozen or unfrozen. - `kyc` may authorize a token grant KYC or revoke KYC transaction. If this key is not present, accounts holding this token cannot have KYC status granted or revoked. - `metadata` may authorize token update nfts transactions. If this key is not present, the token metadata values for that non-fungible/unique token _type_ will be immutable. - `pause` may authorize a token pause or token unpause transaction. If this key is not present, the token cannot be paused (preventing any account from transacting in that token) or resumed. - `supply` may authorize a token mint or burn transaction. If this key is not present, the token cannot mint additional supply and existing tokens cannot be "burned" from the treasury (but _might_ still be "burned" from individual accounts, c.f. `wipeKey` and `tokenWipe`). - `wipe` may authorize a token wipe account transaction. If this key is not present, accounts holding this token cannot have their balance or NFTs wiped (effectively burned). #### Requirements If `tokenType` is fungible/common, the `initialSupply` MUST be strictly greater than zero(`0`).<br/> If `tokenType` is non-fungible/unique, the `initialSupply` MUST be zero(`0`).<br/> If `tokenSupplyType` is "infinite", the `maxSupply` MUST be zero(`0`).<br/> If `tokenSupplyType` is "finite", the `maxSupply` MUST be strictly greater than zero(`0`).<br/> ### Block Stream Effects If the token is created, the Token Identifier SHALL be in the receipt.<br/>Protobuf type
proto.TokenCreateTransactionBody-
Field Summary
Fields inherited from class com.google.protobuf.GeneratedMessageLite.Builder
instance -
Method Summary
Modifier and TypeMethodDescriptionaddAllCustomFees(Iterable<? extends CustomFee> values) * A list of custom fees representing a fee schedule.addCustomFees(int index, CustomFee value) * A list of custom fees representing a fee schedule.addCustomFees(int index, CustomFee.Builder builderForValue) * A list of custom fees representing a fee schedule.addCustomFees(CustomFee value) * A list of custom fees representing a fee schedule.addCustomFees(CustomFee.Builder builderForValue) * A list of custom fees representing a fee schedule.* 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.* A list of custom fees representing a fee schedule.* 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.* An initial Freeze status for accounts associated to this token.* An Hedera key for managing asset "freeze".* An initial supply, in the smallest denomination for the token.* An Hedera key for managing account KYC.* A maximum supply for this token.* A short description for this token.* 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.* 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.* A symbol to use for the token.* A type for this token, according to IWA classification.* A treasury account identifier.* An Hedera key for wiping tokens from accounts.* 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.getMemo()* 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`.getName()* 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.mergeAdminKey(Key value) * An Hedera key for token administration.mergeAutoRenewAccount(AccountID value) * An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token.mergeAutoRenewPeriod(Duration value) * A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger.mergeExpiry(Timestamp value) * An expiration timestamp.mergeFeeScheduleKey(Key value) * An Hedera key for managing the token custom fee schedule.mergeFreezeKey(Key value) * An Hedera key for managing asset "freeze".mergeKycKey(Key value) * An Hedera key for managing account KYC.mergeMetadataKey(Key value) * An Hedera key for managing the token `metadata`.mergePauseKey(Key value) * An Hedera key for managing token "pause".mergeSupplyKey(Key value) * An Hedera key for "minting" and "burning" tokens.mergeTreasury(AccountID value) * A treasury account identifier.mergeWipeKey(Key value) * An Hedera key for wiping tokens from accounts.removeCustomFees(int index) * A list of custom fees representing a fee schedule.setAdminKey(Key value) * An Hedera key for token administration.setAdminKey(Key.Builder builderForValue) * An Hedera key for token administration.setAutoRenewAccount(AccountID value) * An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token.setAutoRenewAccount(AccountID.Builder builderForValue) * An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token.setAutoRenewPeriod(Duration value) * A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger.setAutoRenewPeriod(Duration.Builder builderForValue) * A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger.setCustomFees(int index, CustomFee value) * A list of custom fees representing a fee schedule.setCustomFees(int index, CustomFee.Builder builderForValue) * A list of custom fees representing a fee schedule.setDecimals(int value) * A decimal precision of the token's smallest denomination.<br/> Most values are described in terms of this smallest denomination, so the token initial supply, for instance, must be divided by <tt>10<sup>decimals</sup></tt> to get whole tokens.* An expiration timestamp.setExpiry(Timestamp.Builder builderForValue) * An expiration timestamp.setFeeScheduleKey(Key value) * An Hedera key for managing the token custom fee schedule.setFeeScheduleKey(Key.Builder builderForValue) * An Hedera key for managing the token custom fee schedule.setFreezeDefault(boolean value) * An initial Freeze status for accounts associated to this token.setFreezeKey(Key value) * An Hedera key for managing asset "freeze".setFreezeKey(Key.Builder builderForValue) * An Hedera key for managing asset "freeze".setInitialSupply(long value) * An initial supply, in the smallest denomination for the token.* An Hedera key for managing account KYC.setKycKey(Key.Builder builderForValue) * An Hedera key for managing account KYC.setMaxSupply(long value) * A maximum supply for this token.* A short description for this token.setMemoBytes(com.google.protobuf.ByteString value) * A short description for this token.setMetadata(com.google.protobuf.ByteString value) * Token "Metadata".setMetadataKey(Key value) * An Hedera key for managing the token `metadata`.setMetadataKey(Key.Builder builderForValue) * An Hedera key for managing the token `metadata`.* A name for the token.<br/> This is generally the "full name" displayed in wallet software.setNameBytes(com.google.protobuf.ByteString value) * A name for the token.<br/> This is generally the "full name" displayed in wallet software.setPauseKey(Key value) * An Hedera key for managing token "pause".setPauseKey(Key.Builder builderForValue) * An Hedera key for managing token "pause".setSupplyKey(Key value) * An Hedera key for "minting" and "burning" tokens.setSupplyKey(Key.Builder builderForValue) * An Hedera key for "minting" and "burning" tokens.setSupplyType(TokenSupplyType value) * A supply type for this token, according to IWA classification.setSupplyTypeValue(int value) * A supply type for this token, according to IWA classification.* A symbol to use for the token.setSymbolBytes(com.google.protobuf.ByteString value) * A symbol to use for the token.setTokenType(TokenType value) * A type for this token, according to IWA classification.setTokenTypeValue(int value) * A type for this token, according to IWA classification.setTreasury(AccountID value) * A treasury account identifier.setTreasury(AccountID.Builder builderForValue) * A treasury account identifier.setWipeKey(Key value) * An Hedera key for wiping tokens from accounts.setWipeKey(Key.Builder builderForValue) * An Hedera key for wiping tokens from accounts.Methods inherited from class com.google.protobuf.GeneratedMessageLite.Builder
build, buildPartial, clear, clone, copyOnWrite, copyOnWriteInternal, getDefaultInstanceForType, internalMergeFrom, isInitialized, mergeFrom, mergeFrom, mergeFrom, mergeFromMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType, isInitialized
-
Method Details
-
getName
* A name for the token.<br/> This is generally the "full name" displayed in wallet software. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string name = 1;- Specified by:
getNamein interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The name.
-
getNameBytes
public com.google.protobuf.ByteString getNameBytes()* A name for the token.<br/> This is generally the "full name" displayed in wallet software. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string name = 1;- Specified by:
getNameBytesin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The bytes for name.
-
setName
* A name for the token.<br/> This is generally the "full name" displayed in wallet software. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string name = 1;- Parameters:
value- The name to set.- Returns:
- This builder for chaining.
-
clearName
* A name for the token.<br/> This is generally the "full name" displayed in wallet software. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string name = 1;- Returns:
- This builder for chaining.
-
setNameBytes
* A name for the token.<br/> This is generally the "full name" displayed in wallet software. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string name = 1;- Parameters:
value- The bytes for name to set.- Returns:
- This builder for chaining.
-
getSymbol
* A symbol to use for the token. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string symbol = 2;- Specified by:
getSymbolin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The symbol.
-
getSymbolBytes
public com.google.protobuf.ByteString getSymbolBytes()* A symbol to use for the token. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string symbol = 2;- Specified by:
getSymbolBytesin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The bytes for symbol.
-
setSymbol
* A symbol to use for the token. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string symbol = 2;- Parameters:
value- The symbol to set.- Returns:
- This builder for chaining.
-
clearSymbol
* A symbol to use for the token. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string symbol = 2;- Returns:
- This builder for chaining.
-
setSymbolBytes
* A symbol to use for the token. <p> This field is REQUIRED.<br/> This value MUST NOT exceed 100 bytes when encoded as UTF-8.<br/> This value MUST NOT contain the Unicode NUL codepoint.
string symbol = 2;- Parameters:
value- The bytes for symbol to set.- Returns:
- This builder for chaining.
-
getDecimals
public int getDecimals()* A decimal precision of the token's smallest denomination.<br/> Most values are described in terms of this smallest denomination, so the token initial supply, for instance, must be divided by <tt>10<sup>decimals</sup></tt> to get whole tokens. <p> This MUST be zero(`0`) for non-fungible/unique tokens.
uint32 decimals = 3;- Specified by:
getDecimalsin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The decimals.
-
setDecimals
* A decimal precision of the token's smallest denomination.<br/> Most values are described in terms of this smallest denomination, so the token initial supply, for instance, must be divided by <tt>10<sup>decimals</sup></tt> to get whole tokens. <p> This MUST be zero(`0`) for non-fungible/unique tokens.
uint32 decimals = 3;- Parameters:
value- The decimals to set.- Returns:
- This builder for chaining.
-
clearDecimals
* A decimal precision of the token's smallest denomination.<br/> Most values are described in terms of this smallest denomination, so the token initial supply, for instance, must be divided by <tt>10<sup>decimals</sup></tt> to get whole tokens. <p> This MUST be zero(`0`) for non-fungible/unique tokens.
uint32 decimals = 3;- Returns:
- This builder for chaining.
-
getInitialSupply
public long getInitialSupply()* An initial supply, in the smallest denomination for the token. <p> This amount SHALL be transferred to the treasury account as part of this transaction.<br/> This amount MUST be specified in the smallest denomination for the token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/> This MUST be zero(`0`) for a non-fungible/unique token.
uint64 initialSupply = 4;- Specified by:
getInitialSupplyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The initialSupply.
-
setInitialSupply
* An initial supply, in the smallest denomination for the token. <p> This amount SHALL be transferred to the treasury account as part of this transaction.<br/> This amount MUST be specified in the smallest denomination for the token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/> This MUST be zero(`0`) for a non-fungible/unique token.
uint64 initialSupply = 4;- Parameters:
value- The initialSupply to set.- Returns:
- This builder for chaining.
-
clearInitialSupply
* An initial supply, in the smallest denomination for the token. <p> This amount SHALL be transferred to the treasury account as part of this transaction.<br/> This amount MUST be specified in the smallest denomination for the token (i.e. <tt>10<sup>-decimals</sup></tt> whole tokens).<br/> This MUST be zero(`0`) for a non-fungible/unique token.
uint64 initialSupply = 4;- Returns:
- This builder for chaining.
-
hasTreasury
public boolean hasTreasury()* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5;- Specified by:
hasTreasuryin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the treasury field is set.
-
getTreasury
* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5;- Specified by:
getTreasuryin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The treasury.
-
setTreasury
* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5; -
setTreasury
* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5; -
mergeTreasury
* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5; -
clearTreasury
* A treasury account identifier. <p> This field is REQUIRED.<br/> The identified account SHALL be designated the "treasury" for the new token, and all tokens "minted" SHALL be delivered to that account, including the initial supply, if any.<br/> The identified account MUST exist, MUST NOT be expired, and SHOULD have a non-zero HBAR balance.<br/> The identified account SHALL be associated to the new token.
.proto.AccountID treasury = 5; -
hasAdminKey
public boolean hasAdminKey()* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6;- Specified by:
hasAdminKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the adminKey field is set.
-
getAdminKey
* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6;- Specified by:
getAdminKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The adminKey.
-
setAdminKey
* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6; -
setAdminKey
* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6; -
mergeAdminKey
* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6; -
clearAdminKey
* An Hedera key for token administration. <p> This key, if set, SHALL have administrative authority for this token and MAY authorize token update and/or token delete transactions.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL be immutable, except for expiration and renewal.
.proto.Key adminKey = 6; -
hasKycKey
public boolean hasKycKey()* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7;- Specified by:
hasKycKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the kycKey field is set.
-
getKycKey
* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7;- Specified by:
getKycKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The kycKey.
-
setKycKey
* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7; -
setKycKey
* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7; -
mergeKycKey
* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7; -
clearKycKey
* An Hedera key for managing account KYC. <p> This key, if set, SHALL have KYC authority for this token and MAY authorize transactions to grant or revoke KYC for accounts.<br/> If this key is not set, or is an empty `KeyList`, KYC status for this token SHALL NOT be granted or revoked for any account.<br/> If this key is removed after granting KYC, those grants SHALL remain and cannot be revoked.
.proto.Key kycKey = 7; -
hasFreezeKey
public boolean hasFreezeKey()* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8;- Specified by:
hasFreezeKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the freezeKey field is set.
-
getFreezeKey
* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8;- Specified by:
getFreezeKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The freezeKey.
-
setFreezeKey
* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8; -
setFreezeKey
* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8; -
mergeFreezeKey
* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8; -
clearFreezeKey
* An Hedera key for managing asset "freeze". <p> This key, if set, SHALL have "freeze" authority for this token and MAY authorize transactions to freeze or unfreeze accounts with respect to this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be frozen or unfrozen for any account.<br/> If this key is removed after freezing accounts, those accounts SHALL remain frozen and cannot be unfrozen.
.proto.Key freezeKey = 8; -
hasWipeKey
public boolean hasWipeKey()* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9;- Specified by:
hasWipeKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the wipeKey field is set.
-
getWipeKey
* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9;- Specified by:
getWipeKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The wipeKey.
-
setWipeKey
* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9; -
setWipeKey
* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9; -
mergeWipeKey
* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9; -
clearWipeKey
* An Hedera key for wiping tokens from accounts. <p> This key, if set, SHALL have "wipe" authority for this token and MAY authorize transactions to "wipe" any amount of this token from any account, effectively burning the tokens "wiped".<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to "wipe" this token from an account.
.proto.Key wipeKey = 9; -
hasSupplyKey
public boolean hasSupplyKey()* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10;- Specified by:
hasSupplyKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the supplyKey field is set.
-
getSupplyKey
* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10;- Specified by:
getSupplyKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The supplyKey.
-
setSupplyKey
* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10; -
setSupplyKey
* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10; -
mergeSupplyKey
* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10; -
clearSupplyKey
* An Hedera key for "minting" and "burning" tokens. <p> This key, if set, MAY authorize transactions to "mint" new tokens to be delivered to the token treasury or "burn" tokens held by the token treasury.<br/> If this key is not set, or is an empty `KeyList`, it SHALL NOT be possible to change the supply of tokens and neither "mint" nor "burn" transactions SHALL be permitted.
.proto.Key supplyKey = 10; -
getFreezeDefault
public boolean getFreezeDefault()* An initial Freeze status for accounts associated to this token. <p> If this value is set, an account MUST be the subject of a `tokenUnfreeze` transaction after associating to the token before that account can send or receive this token.<br/> If this value is set, the `freezeKey` SHOULD be set.<br/> If the `freezeKey` is not set, any account associated to this token while this value is set SHALL be permanently frozen. <p> <blockquote>REVIEW NOTE<blockquote> Should we prevent setting this value true for tokens with no freeze key?<br/> Should we set this value to false if a freeze key is removed? </blockquote></blockquote>
bool freezeDefault = 11;- Specified by:
getFreezeDefaultin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The freezeDefault.
-
setFreezeDefault
* An initial Freeze status for accounts associated to this token. <p> If this value is set, an account MUST be the subject of a `tokenUnfreeze` transaction after associating to the token before that account can send or receive this token.<br/> If this value is set, the `freezeKey` SHOULD be set.<br/> If the `freezeKey` is not set, any account associated to this token while this value is set SHALL be permanently frozen. <p> <blockquote>REVIEW NOTE<blockquote> Should we prevent setting this value true for tokens with no freeze key?<br/> Should we set this value to false if a freeze key is removed? </blockquote></blockquote>
bool freezeDefault = 11;- Parameters:
value- The freezeDefault to set.- Returns:
- This builder for chaining.
-
clearFreezeDefault
* An initial Freeze status for accounts associated to this token. <p> If this value is set, an account MUST be the subject of a `tokenUnfreeze` transaction after associating to the token before that account can send or receive this token.<br/> If this value is set, the `freezeKey` SHOULD be set.<br/> If the `freezeKey` is not set, any account associated to this token while this value is set SHALL be permanently frozen. <p> <blockquote>REVIEW NOTE<blockquote> Should we prevent setting this value true for tokens with no freeze key?<br/> Should we set this value to false if a freeze key is removed? </blockquote></blockquote>
bool freezeDefault = 11;- Returns:
- This builder for chaining.
-
hasExpiry
public boolean hasExpiry()* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13;- Specified by:
hasExpiryin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the expiry field is set.
-
getExpiry
* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13;- Specified by:
getExpiryin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The expiry.
-
setExpiry
* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13; -
setExpiry
* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13; -
mergeExpiry
* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13; -
clearExpiry
* An expiration timestamp. <p> If the `autoRenewAccount` and `autoRenewPeriod` fields are set, this value SHALL be replaced with the current consensus time extended by the `autoRenewPeriod` duration.<br/> If this value is set and token expiration is enabled in network configuration, this token SHALL expire when consensus time exceeds this value, and MAY be subsequently removed from the network state.<br/> If this value is not set, and the automatic renewal account is also not set, then this value SHALL default to the current consensus time extended by the "default" expiration period from network configuration.
.proto.Timestamp expiry = 13; -
hasAutoRenewAccount
public boolean hasAutoRenewAccount()* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14;- Specified by:
hasAutoRenewAccountin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the autoRenewAccount field is set.
-
getAutoRenewAccount
* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14;- Specified by:
getAutoRenewAccountin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The autoRenewAccount.
-
setAutoRenewAccount
* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14; -
setAutoRenewAccount
* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14; -
mergeAutoRenewAccount
* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14; -
clearAutoRenewAccount
* An identifier for the account to be charged renewal fees at the token's expiry to extend the lifetime of the token. <p> If this value is set, the token lifetime SHALL be extended by the _smallest_ of the following: <ul> <li>The current `autoRenewPeriod` duration.</li> <li>The maximum duration that this account has funds to purchase.</li> <li>The configured MAX_AUTORENEW_PERIOD at the time of automatic renewal.</li> </ul> If this account's HBAR balance is `0` when the token must be renewed, then the token SHALL be expired, and MAY be subsequently removed from state.<br/> If this value is set, the referenced account MUST sign this transaction.
.proto.AccountID autoRenewAccount = 14; -
hasAutoRenewPeriod
public boolean hasAutoRenewPeriod()* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15;- Specified by:
hasAutoRenewPeriodin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the autoRenewPeriod field is set.
-
getAutoRenewPeriod
* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15;- Specified by:
getAutoRenewPeriodin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The autoRenewPeriod.
-
setAutoRenewPeriod
* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15; -
setAutoRenewPeriod
* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15; -
mergeAutoRenewPeriod
* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15; -
clearAutoRenewPeriod
* A duration between token automatic renewals.<br/> All entities in state may be charged "rent" occasionally (typically every 90 days) to prevent unnecessary growth of the ledger. This value sets the interval between such events for this token. <p> This value MUST be set.<br/> This value MUST be greater than the configured MIN_AUTORENEW_PERIOD.<br/> This value MUST be less than the configured MAX_AUTORENEW_PERIOD.
.proto.Duration autoRenewPeriod = 15; -
getMemo
* A short description for this token. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.
string memo = 16;- Specified by:
getMemoin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The memo.
-
getMemoBytes
public com.google.protobuf.ByteString getMemoBytes()* A short description for this token. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.
string memo = 16;- Specified by:
getMemoBytesin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The bytes for memo.
-
setMemo
* A short description for this token. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.
string memo = 16;- Parameters:
value- The memo to set.- Returns:
- This builder for chaining.
-
clearMemo
* A short description for this token. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.
string memo = 16;- Returns:
- This builder for chaining.
-
setMemoBytes
* A short description for this token. <p> This value, if set, MUST NOT exceed `transaction.maxMemoUtf8Bytes` (default 100) bytes when encoded as UTF-8.
string memo = 16;- Parameters:
value- The bytes for memo to set.- Returns:
- This builder for chaining.
-
getTokenTypeValue
public int getTokenTypeValue()* A type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default type of fungible/common.<br/> This field SHALL be immutable.
.proto.TokenType tokenType = 17;- Specified by:
getTokenTypeValuein interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The enum numeric value on the wire for tokenType.
-
setTokenTypeValue
* A type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default type of fungible/common.<br/> This field SHALL be immutable.
.proto.TokenType tokenType = 17;- Parameters:
value- The tokenType to set.- Returns:
- This builder for chaining.
- Throws:
IllegalArgumentException- if UNRECOGNIZED is provided.
-
getTokenType
* A type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default type of fungible/common.<br/> This field SHALL be immutable.
.proto.TokenType tokenType = 17;- Specified by:
getTokenTypein interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The tokenType.
-
setTokenType
* A type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default type of fungible/common.<br/> This field SHALL be immutable.
.proto.TokenType tokenType = 17;- Parameters:
value- The enum numeric value on the wire for tokenType to set.- Returns:
- This builder for chaining.
-
clearTokenType
* A type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default type of fungible/common.<br/> This field SHALL be immutable.
.proto.TokenType tokenType = 17;- Returns:
- This builder for chaining.
-
getSupplyTypeValue
public int getSupplyTypeValue()* A supply type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default supply type of "infinite" (which is, as a practical matter, (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/> This field SHALL be immutable.
.proto.TokenSupplyType supplyType = 18;- Specified by:
getSupplyTypeValuein interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The enum numeric value on the wire for supplyType.
-
setSupplyTypeValue
* A supply type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default supply type of "infinite" (which is, as a practical matter, (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/> This field SHALL be immutable.
.proto.TokenSupplyType supplyType = 18;- Parameters:
value- The supplyType to set.- Returns:
- This builder for chaining.
- Throws:
IllegalArgumentException- if UNRECOGNIZED is provided.
-
getSupplyType
* A supply type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default supply type of "infinite" (which is, as a practical matter, (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/> This field SHALL be immutable.
.proto.TokenSupplyType supplyType = 18;- Specified by:
getSupplyTypein interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The supplyType.
-
setSupplyType
* A supply type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default supply type of "infinite" (which is, as a practical matter, (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/> This field SHALL be immutable.
.proto.TokenSupplyType supplyType = 18;- Parameters:
value- The enum numeric value on the wire for supplyType to set.- Returns:
- This builder for chaining.
-
clearSupplyType
* A supply type for this token, according to IWA classification. <p> If this value is not set, the token SHALL have the default supply type of "infinite" (which is, as a practical matter, (2<sup><i>63</i></sup>-1)/10<sup><i>decimals</i></sup>).<br/> This field SHALL be immutable.
.proto.TokenSupplyType supplyType = 18;- Returns:
- This builder for chaining.
-
getMaxSupply
public long getMaxSupply()* A maximum supply for this token. <p> This SHALL be interpreted in terms of the smallest fractional unit for this token.<br/> If `supplyType` is "infinite", this MUST be `0`.<br/> This field SHALL be immutable.
int64 maxSupply = 19;- Specified by:
getMaxSupplyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The maxSupply.
-
setMaxSupply
* A maximum supply for this token. <p> This SHALL be interpreted in terms of the smallest fractional unit for this token.<br/> If `supplyType` is "infinite", this MUST be `0`.<br/> This field SHALL be immutable.
int64 maxSupply = 19;- Parameters:
value- The maxSupply to set.- Returns:
- This builder for chaining.
-
clearMaxSupply
* A maximum supply for this token. <p> This SHALL be interpreted in terms of the smallest fractional unit for this token.<br/> If `supplyType` is "infinite", this MUST be `0`.<br/> This field SHALL be immutable.
int64 maxSupply = 19;- Returns:
- This builder for chaining.
-
hasFeeScheduleKey
public boolean hasFeeScheduleKey()* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20;- Specified by:
hasFeeScheduleKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the feeScheduleKey field is set.
-
getFeeScheduleKey
* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20;- Specified by:
getFeeScheduleKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The feeScheduleKey.
-
setFeeScheduleKey
* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20; -
setFeeScheduleKey
* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20; -
mergeFeeScheduleKey
* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20; -
clearFeeScheduleKey
* An Hedera key for managing the token custom fee schedule. <p> This key, if set, MAY authorize transactions to modify the `custom_fees` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `custom_fees` for this token SHALL NOT be modified.
.proto.Key fee_schedule_key = 20; -
getCustomFeesList
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21;- Specified by:
getCustomFeesListin interfaceTokenCreateTransactionBodyOrBuilder
-
getCustomFeesCount
public int getCustomFeesCount()* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21;- Specified by:
getCustomFeesCountin interfaceTokenCreateTransactionBodyOrBuilder
-
getCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21;- Specified by:
getCustomFeesin interfaceTokenCreateTransactionBodyOrBuilder
-
setCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
setCustomFees
public TokenCreateTransactionBody.Builder setCustomFees(int index, CustomFee.Builder builderForValue) * A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
addCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
addCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
addCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
addCustomFees
public TokenCreateTransactionBody.Builder addCustomFees(int index, CustomFee.Builder builderForValue) * A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
addAllCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
clearCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
removeCustomFees
* A list of custom fees representing a fee schedule. <p> This list MAY be empty, which SHALL mean that there are no custom fees for this token.<br/> If this token is a non-fungible/unique type, the entries in this list MUST NOT declare a `fractional_fee`.<br/> If this token is a fungible/common type, the entries in this list MUST NOT declare a `royalty_fee`.<br/> Any token type MAY include entries that declare a `fixed_fee`.
repeated .proto.CustomFee custom_fees = 21; -
hasPauseKey
public boolean hasPauseKey()* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22;- Specified by:
hasPauseKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the pauseKey field is set.
-
getPauseKey
* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22;- Specified by:
getPauseKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The pauseKey.
-
setPauseKey
* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22; -
setPauseKey
* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22; -
mergePauseKey
* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22; -
clearPauseKey
* An Hedera key for managing token "pause". <p> This key, if set, SHALL have "pause" authority for this token and MAY authorize transactions to pause or unpause this token.<br/> If this key is not set, or is an empty `KeyList`, this token SHALL NOT be paused or unpaused.<br/> If this key is removed while the token is paused, the token cannot be unpaused and SHALL remain paused.
.proto.Key pause_key = 22; -
getMetadata
public com.google.protobuf.ByteString getMetadata()* Token "Metadata". <p> The value, if set, MUST NOT exceed 100 bytes.<br/> <dl><dt>Examples</dt> <dd>hcs://1/0.0.4896575</dd> <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd> </dl>
bytes metadata = 23;- Specified by:
getMetadatain interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The metadata.
-
setMetadata
* Token "Metadata". <p> The value, if set, MUST NOT exceed 100 bytes.<br/> <dl><dt>Examples</dt> <dd>hcs://1/0.0.4896575</dd> <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd> </dl>
bytes metadata = 23;- Parameters:
value- The metadata to set.- Returns:
- This builder for chaining.
-
clearMetadata
* Token "Metadata". <p> The value, if set, MUST NOT exceed 100 bytes.<br/> <dl><dt>Examples</dt> <dd>hcs://1/0.0.4896575</dd> <dd>ipfs://bafkreifd7tcjjuwxxf4qkaibkj62pj4mhfuud7plwrc3pfoygt55al6syi</dd> </dl>
bytes metadata = 23;- Returns:
- This builder for chaining.
-
hasMetadataKey
public boolean hasMetadataKey()* An Hedera key for managing the token `metadata`. <p> This key, if set, MAY authorize transactions to modify the `metadata` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `metadata` for this token SHALL NOT be modified.
.proto.Key metadata_key = 24;- Specified by:
hasMetadataKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- Whether the metadataKey field is set.
-
getMetadataKey
* An Hedera key for managing the token `metadata`. <p> This key, if set, MAY authorize transactions to modify the `metadata` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `metadata` for this token SHALL NOT be modified.
.proto.Key metadata_key = 24;- Specified by:
getMetadataKeyin interfaceTokenCreateTransactionBodyOrBuilder- Returns:
- The metadataKey.
-
setMetadataKey
* An Hedera key for managing the token `metadata`. <p> This key, if set, MAY authorize transactions to modify the `metadata` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `metadata` for this token SHALL NOT be modified.
.proto.Key metadata_key = 24; -
setMetadataKey
* An Hedera key for managing the token `metadata`. <p> This key, if set, MAY authorize transactions to modify the `metadata` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `metadata` for this token SHALL NOT be modified.
.proto.Key metadata_key = 24; -
mergeMetadataKey
* An Hedera key for managing the token `metadata`. <p> This key, if set, MAY authorize transactions to modify the `metadata` for this token.<br/> If this key is not set, or is an empty `KeyList`, the `metadata` for this token SHALL NOT be modified.
.proto.Key metadata_key = 24; -
clearMetadataKey
* 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;
-