For the complete documentation index, see llms.txt. This page is also available as Markdown.

Coin Decimals

It stores information about Coins' decimals to allow protocols to fetch them. The idea is to pass a single argument CoinDecimals to functions that require several sui::coin::CoinMetadata objects.

Structs

Decimals

struct Decimals has store {
    decimals: u8, 
    scalar: u64
}
  • decimals - decimals of a sui::coin

  • scalar - The scalar of a sui::coin's decimals. It is calculated by 10^decimals. E.g. sui::sui has a scalar of 1_000_000_000 or 1e9.

CoinDecimals

struct CoinDecimals has key, store {
    id: UID
}

The Decimals struct is saved in CoinDecimals using dynamic fields.

Interface

new

It creates a new CoinDecimals.

  • @return CoinDecimals.

contains

Checks if a coin with type CoinType has been added to self.

  • @param self A {CoinDecimals} object.

  • @return bool. True if the coin's decimals and scalar are in the self.

decimals

Returns the decimals of a coin with the type CoinType.

  • @param self A CoinDecimals object.

  • @return u8. The decimals of the coin.

Aborts

  • CoinType has not been added to the self.

scalar

Returns the decimals scalar of a coin with type CoinType.

  • @param self A {CoinDecimals} object.

  • @return u64. The decimal's scalar. It is calculated by 10^decimals.

Aborts

  • CoinType has not been added to the self.

add

Adds the decimals and decimal scalar of a coin with type CoinType to self.

  • @param self A CoinDecimals object.

  • @return coin_metadata The sui::coin::CoinMetadata of a coin with type CoinType.

Last updated