Class CreateAssetParams
Asset Creation Parameters.
Inherited Members
Namespace: Hashgraph
Assembly: Hashgraph.dll
Syntax
public sealed class CreateAssetParams
Remarks
The Name and Symbol properties must be unique within the network. If there are other assets 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 assets as-well as the assets from Asset Mint operations when executed. The balance of the treasury account is decreased when the Asset 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 asset can have is S* (10^D) < 2^63
.
The asset 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 asset 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 asset's properties.
Declaration
public Endorsement Administrator { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Ceiling
The maximum number of Assets allowed to be minted. If set to a value of zero or less, an infinite amount of assets can be minted.
Declaration
public long Ceiling { get; set; }
Property Value
Type | Description |
---|---|
Int64 |
ConfiscateEndorsement
Administrator key for signing transaction that completely remove assets from an crypto address.
Declaration
public Endorsement ConfiscateEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Expiration
Original expiration date for the asset, 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 asset. 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 asset, not checked for uniqueness.
Declaration
public string Memo { get; set; }
Property Value
Type | Description |
---|---|
String |
Name
Name of the asset, 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 asset 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 asset. 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> |
RoyaltiesEndorsement
Administrator key for signing transactions updating the royalty (custom transfer fees) associated with this token.
Declaration
public Endorsement RoyaltiesEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Signatory
Additional private key, keys or signing callback method required to create to this asset. Typically matches the Administrator, KycEndorsement, FreezeEndorsement and other listed endorsements associated with this asset.
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 assets 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 assets.
Declaration
public Endorsement SuspendEndorsement { get; set; }
Property Value
Type | Description |
---|---|
Endorsement |
Symbol
A string containing only upper case ASCII alpha characters identifying this asset.
Declaration
public string Symbol { get; set; }
Property Value
Type | Description |
---|---|
String |
Treasury
The treasury account receiving the Initial Circulation balance of assets.
Declaration
public Address Treasury { get; set; }
Property Value
Type | Description |
---|---|
Address |