Skip to main content

MPTokenIssuanceFields

Trait MPTokenIssuanceFields 

Source
pub trait MPTokenIssuanceFields: LedgerObjectCommonFields {
Show 17 methods // Provided methods fn issuer(&self) -> Result<AccountID> { ... } fn sequence(&self) -> Result<u32> { ... } fn transfer_fee(&self) -> Result<Option<u16>> { ... } fn owner_node(&self) -> Result<u64> { ... } fn asset_scale(&self) -> Result<Option<u8>> { ... } fn maximum_amount(&self) -> Result<Option<u64>> { ... } fn outstanding_amount(&self) -> Result<u64> { ... } fn locked_amount(&self) -> Result<Option<u64>> { ... } fn mptoken_metadata(&self) -> Result<Option<StandardBlob>> { ... } fn previous_txn_id(&self) -> Result<Hash256> { ... } fn previous_txn_lgr_seq(&self) -> Result<u32> { ... } fn domain_id(&self) -> Result<Option<Hash256>> { ... } fn immutable_flags(&self) -> Result<Option<u32>> { ... } fn reference_holding(&self) -> Result<Option<Hash256>> { ... } fn issuer_encryption_key(&self) -> Result<Option<StandardBlob>> { ... } fn auditor_encryption_key(&self) -> Result<Option<StandardBlob>> { ... } fn confidential_outstanding_amount(&self) -> Result<Option<u64>> { ... }
}
Expand description

Trait providing access to fields specific to MPTokenIssuance objects in any ledger.

Provided Methods§

Source

fn issuer(&self) -> Result<AccountID>

The address of the account that controls both the issuance amounts and characteristics of a particular fungible token.

Source

fn sequence(&self) -> Result<u32>

The Sequence (or Ticket) number of the transaction that created this issuance. This helps to uniquely identify the issuance and distinguish it from any other later MPT issuances created by this account.

Source

fn transfer_fee(&self) -> Result<Option<u16>>

This value specifies the fee, in tenths of a basis point, charged by the issuer for secondary sales of the token, if such sales are allowed at all. Valid values for this field are between 0 and 50,000 inclusive. A value of 1 is equivalent to 1/10 of a basis point or 0.001%, allowing transfer rates between 0% and 50%. A TransferFee of 50,000 corresponds to 50%. The default value for this field is 0. Any decimals in the transfer fee are rounded down. The fee can be rounded down to zero if the payment is small. Issuers should make sure that their MPT’s AssetScale is large enough.

This field is mutable by default, but can be made immutable.

Source

fn owner_node(&self) -> Result<u64>

A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages.

Source

fn asset_scale(&self) -> Result<Option<u8>>

Where to put the decimal place when displaying amounts of this MPT. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, if a US Dollar Stablecoin has an asset scale of 2, then 1 unit of that MPT would equal 0.01 US Dollars. This indicates to how many decimal places the MPT can be subdivided. The default is 0, meaning that the MPT cannot be divided into smaller than 1 unit.

Source

fn maximum_amount(&self) -> Result<Option<u64>>

The maximum number of MPTs that can exist at one time. If omitted, the maximum is currently limited to 2^63-1.

Source

fn outstanding_amount(&self) -> Result<u64>

The total amount of MPTs of this issuance currently in circulation. This value increases when the issuer sends MPTs to a non-issuer, and decreases whenever the issuer receives MPTs.

Source

fn locked_amount(&self) -> Result<Option<u64>>

The amount of tokens currently locked up (for example, in escrow). This amount is already included in the OutstandingAmount.

Source

fn mptoken_metadata(&self) -> Result<Option<StandardBlob>>

Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes.

This field is mutable by default, but can be made immutable.

Source

fn previous_txn_id(&self) -> Result<Hash256>

The identifying hash of the transaction that most recently modified this entry.

Source

fn previous_txn_lgr_seq(&self) -> Result<u32>

The index of the ledger that contains the transaction that most recently modified this object.

Source

fn domain_id(&self) -> Result<Option<Hash256>>

The ledger entry ID of a permissioned domain that grants access to the MPT. This field is always mutable.

Source

fn immutable_flags(&self) -> Result<Option<u32>>

Indicates which fields and flags are immutable for this MPT issuance. Any field or flag not represented here remains mutable. See MPTokenIssuance Immutable Flags.

Source

fn reference_holding(&self) -> Result<Option<Hash256>>

The ReferenceHolding field (Optional).

Source

fn issuer_encryption_key(&self) -> Result<Option<StandardBlob>>

A 33-byte compressed ElGamal public key for the issuer.

Source

fn auditor_encryption_key(&self) -> Result<Option<StandardBlob>>

A 33-byte compressed ElGamal public key for an optional on-chain auditor.

Source

fn confidential_outstanding_amount(&self) -> Result<Option<u64>>

The total amount of this token that is currently held in confidential balances.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§