Crate stp258_tokens[][src]

Setheum Tokenization Protocol 258 Tokens Module

Multi-Currency Stablecoin SERP Module

Overview

The stp258 module provides fungible multiple stable currencies functionality that implements SettCurrency trait.

The stp258 module provides functions for:

  • Querying and setting the balance of a given account.
  • Getting and managing total issuance.
  • Balance transfer between accounts.
  • Depositing and withdrawing balance.
  • Slashing an account balance.
  • Minting and Burning currencies.
  • Fetching prices for currencies.
  • A basket_token could be made by combining a basket of prices into one in any desired ratio. Could be done on runtime, the basket_token price_of_pegs and basket_ratio logic could be defined in an offchain worker and fed on-chain.

Implementations

The stp258 module provides implementations for following traits.

  • Stp258Currency - Abstraction over a fungible multi-currency stablecoin system.
  • Stp258CurrencyExtended - Extended Stp258Currency with additional helper types and methods, like updating balance by a given signed integer amount.

Interface

Dispatchable Functions

  • transfer - Transfer some balance to another account.
  • transfer_all - Transfer all balance to another account.

Genesis Config

The STP258 tokens module depends on the GenesisConfig. Endowed accounts could be configured in genesis configs.

Re-exports

pub use module::*;

Modules

module

Structs

AccountData

balance information for an account.

BalanceLock

A single lock on a balance. There can be many of these on an account and they “overlap”, so the same balance is frozen by multiple locks.

BurnDust
CurrencyAdapter
NegativeImbalance

Opaque, move-only struct with private fields that serves as a token denoting that funds have been destroyed without any equal and opposite accounting.

PositiveImbalance

Opaque, move-only struct with private fields that serves as a token denoting that funds have been created without any equal and opposite accounting.

TransferDust