Class CreateTokenParams
Token Creation Parameters.
Inherited Members
Namespace: Hashgraph
Assembly: Hashgraph.dll
Syntax
public sealed class CreateTokenParams
Remarks
The Name and Symbol properties must be unique within the network. If there are other tokens defined with the same name or symbol, respectively
TOKEN_SYMBOL_ALREADY_IN_USE
and TOKEN_NAME_ALREADY_IN_USE
errors are returned.
The specified Treasury Account is receiving the initial supply of tokens as-well as the tokens from Token Mint operations when executed. The balance of the treasury account is decreased when the Token Burn operation is executed.
The supply that is going to be put in circulation is going to be
S*(10^D)
,
where S
is initial supply and D
is Decimals. The maximum supply
a token can have is S* (10^D) < 2^63
.
The token can be created as immutable if the
Administrator
endorsement is omitted
or set to None
. In this case, the name, symbol, treasury, management keys, Expiration
and renew properties cannot be updated. If a token is created as immutable, any account is able to
extend the expiration time by paying the fee.
Properties
| Improve this Doc View SourceAdministrator
Administrator key for signing transactions modifying this token's properties.
Declaration
public Endorsement Administrator { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Ceiling
The maximum number of tokens allowed to be in circulation at any given time. If set to a value of zero or less, the toal circulation will be allowed to grow to the maxumin amount allowed by the network.
Declaration
public long Ceiling { get; set; }
Property Value
Type | Description |
---|---|
Int64 |
Circulation
The initial number of tokens to placed into the token treasury account upon creation of the token (specified in the smallest unit). The Treasury receivie the initial circulation.
Declaration
public ulong Circulation { get; set; }
Property Value
Type | Description |
---|---|
UInt64 |
ConfiscateEndorsement
Administrator key for signing transaction that completely remove tokens from an crypto address.
Declaration
public Endorsement ConfiscateEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Decimals
The number of decimal places token may be subdivided.
Declaration
public uint Decimals { get; set; }
Property Value
Type | Description |
---|---|
UInt32 |
Expiration
Original expiration date for the token, fees will be charged as appropriate.
Declaration
public DateTime Expiration { get; set; }
Property Value
Type | Description |
---|---|
DateTime |
GrantKycEndorsement
Administrator key for signing transactions updating the grant or revoke KYC status of an account.
Declaration
public Endorsement GrantKycEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
InitializeSuspended
The default frozen setting for current and newly created accounts. A value of
true
will default crypto account status of Frozen
with relationship to this token. A value of false
will default
to an tradable/unfrozen relationship.
Declaration
public bool InitializeSuspended { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Memo
Additional Short description of the token, not checked for uniqueness.
Declaration
public string Memo { get; set; }
Property Value
Type | Description |
---|---|
String |
Name
Name of the token, only ASCII characters are allowed, not required to be globally unique.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
String |
RenewAccount
Optional address of the account supporting the auto renewal of the token at expiration time. The topic lifetime will be extended by the RenewPeriod at expiration time if this account contains sufficient funds. The private key associated with this account must sign the transaction if RenewAccount is specified.
Declaration
public Address RenewAccount { get; set; }
Property Value
Type | Description |
---|---|
Address |
Remarks
If specified, an Administrator Endorsement must also be specified.
RenewPeriod
Interval of the topic and auto-renewal period. If the associated renewal account does not have sufficient funds to renew at the expiration time, it will be renewed for a period of time the remaining funds can support. If no funds remain, the topic instance will be deleted.
Declaration
public TimeSpan? RenewPeriod { get; set; }
Property Value
Type | Description |
---|---|
Nullable<TimeSpan> |
Royalties
The list of royalties applied to transactions transferring this token. If a royalty endorsement is not supplied upon creation, the royalties are imutable after creation.
Declaration
public IEnumerable<IRoyalty> Royalties { get; set; }
Property Value
Type | Description |
---|---|
IEnumerable<IRoyalty> |
RoyaltyEndorsement
Administrator key for signing transactions updating the royalty (custom transfer fees) associated with this token.
Declaration
public Endorsement RoyaltyEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Signatory
Additional private key, keys or signing callback method required to create to this token. Typically matches the Administrator, KycEndorsement, FreezeEndorsement and other listed endorsements associated with this token.
Declaration
public Signatory Signatory { get; set; }
Property Value
Type | Description |
---|---|
Signatory |
Remarks
Keys/callbacks added here will be combined with those already identified in the client object's context when signing this transaction to change the state of this account. They will not be asked to sign transactions to retrieve the record if the "WithRecord" form of the method call is made. The client will rely on the Signatory from the context to sign the transaction requesting the record.
SupplyEndorsement
Administrator key for signing transactions for minting or unminting tokens in the treasury account.
Declaration
public Endorsement SupplyEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
SuspendEndorsement
Administrator key for signing transactions for freezing or unfreezing an account's ability to transfer tokens.
Declaration
public Endorsement SuspendEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Symbol
A string containing only upper case ASCII alpha characters identifying this token.
Declaration
public string Symbol { get; set; }
Property Value
Type | Description |
---|---|
String |
Treasury
The treasury account receiving the Initial Circulation balance of tokens.
Declaration
public Address Treasury { get; set; }
Property Value
Type | Description |
---|---|
Address |