BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
graphene::chain::asset_object Class Reference

tracks the parameters of an asset More...

#include <asset_object.hpp>

Inheritance diagram for graphene::chain::asset_object:
graphene::db::abstract_object< asset_object, protocol_ids, asset_object_type > graphene::db::base_abstract_object< asset_object > graphene::db::object graphene::app::extended_asset_object

Public Member Functions

bool is_market_issued () const
 
bool is_liquidity_pool_share_asset () const
 
bool can_force_settle () const
 
bool can_global_settle () const
 
bool charges_market_fees () const
 
bool is_transfer_restricted () const
 
bool can_override () const
 
bool allow_confidential () const
 
bool can_update_max_supply () const
 
bool can_create_new_supply () const
 
bool can_owner_update_mcr () const
 
bool can_owner_update_icr () const
 
bool can_owner_update_mssr () const
 
bool can_owner_update_bsrm () const
 
bool can_bid_collateral () const
 
asset amount (share_type a) const
 Helper function to get an asset object with the given amount in this asset's type. More...
 
asset amount_from_string (string amount_string) const
 
string amount_to_string (share_type amount) const
 Convert an asset to a textual representation, i.e. "123.45". More...
 
string amount_to_string (const asset &amount) const
 Convert an asset to a textual representation, i.e. "123.45". More...
 
string amount_to_pretty_string (share_type amount) const
 Convert an asset to a textual representation with symbol, i.e. "123.45 USD". More...
 
string amount_to_pretty_string (const asset &amount) const
 Convert an asset to a textual representation with symbol, i.e. "123.45 USD". More...
 
void validate () const
 
template<class DB >
const asset_bitasset_data_objectbitasset_data (const DB &db) const
 
template<class DB >
const asset_dynamic_data_objectdynamic_data (const DB &db) const
 
template<class DB >
share_type reserved (const DB &db) const
 
template<class DB >
bool can_accumulate_fee (const DB &db, const asset &fee) const
 
template<class DB >
void accumulate_fee (DB &db, const asset &fee) const
 
- Public Member Functions inherited from graphene::db::abstract_object< asset_object, protocol_ids, asset_object_type >
 abstract_object ()
 
object_id< SpaceID, TypeID > get_id () const
 
- Public Member Functions inherited from graphene::db::base_abstract_object< asset_object >
std::unique_ptr< objectclone () const override
 
void move_from (object &obj) override
 
fc::variant to_variant () const override
 
std::vector< char > pack () const override
 
 object ()=default
 
 object (uint8_t space_id, uint8_t type_id)
 
- Public Member Functions inherited from graphene::db::object
 object ()=default
 
 object (uint8_t space_id, uint8_t type_id)
 
virtual ~object ()=default
 
virtual std::unique_ptr< objectclone () const =0
 
virtual fc::variant to_variant () const =0
 
virtual std::vector< char > pack () const =0
 

Static Public Member Functions

static bool is_valid_symbol (const string &symbol)
 

Public Attributes

string symbol
 Ticker symbol for this asset, i.e. "USD". More...
 
uint8_t precision = 0
 Maximum number of digits after the decimal point (must be <= 12) More...
 
account_id_type issuer
 ID of the account which issued this asset. More...
 
asset_options options
 
asset_dynamic_data_id_type dynamic_asset_data_id
 Current supply, fee pool, and collected fees are stored in a separate object as they change frequently. More...
 
optional< asset_bitasset_data_id_type > bitasset_data_id
 Extra data associated with BitAssets. This field is non-null if and only if is_market_issued() returns true. More...
 
optional< account_id_type > buyback_account
 
optional< liquidity_pool_id_type > for_liquidity_pool
 The ID of the liquidity pool if the asset is the share asset of a liquidity pool. More...
 
uint32_t creation_block_num = 0
 The block number when the asset object was created. More...
 
time_point_sec creation_time
 The time when the asset object was created. More...
 
- Public Attributes inherited from graphene::db::object
object_id_type id
 

Additional Inherited Members

- Static Public Attributes inherited from graphene::db::abstract_object< asset_object, protocol_ids, asset_object_type >
static constexpr uint8_t space_id
 
static constexpr uint8_t type_id
 

Detailed Description

tracks the parameters of an asset

All assets have a globally unique symbol name that controls how they are traded and an issuer who has authority over the parameters of the asset.

Definition at line 75 of file asset_object.hpp.

Member Function Documentation

◆ accumulate_fee()

template<class DB >
void graphene::chain::asset_object::accumulate_fee ( DB &  db,
const asset fee 
) const
inline

Definition at line 201 of file asset_object.hpp.

◆ allow_confidential()

bool graphene::chain::asset_object::allow_confidential ( ) const
inline

Definition at line 96 of file asset_object.hpp.

◆ amount()

asset graphene::chain::asset_object::amount ( share_type  a) const
inline

Helper function to get an asset object with the given amount in this asset's type.

Definition at line 114 of file asset_object.hpp.

◆ amount_from_string()

asset graphene::chain::asset_object::amount_from_string ( string  amount_string) const

Convert a string amount (i.e. "123.45") to an asset object with this asset's type The string may have a decimal and/or a negative sign.

Definition at line 152 of file asset_object.cpp.

◆ amount_to_pretty_string() [1/2]

string graphene::chain::asset_object::amount_to_pretty_string ( const asset amount) const
inline

Convert an asset to a textual representation with symbol, i.e. "123.45 USD".

Definition at line 127 of file asset_object.hpp.

◆ amount_to_pretty_string() [2/2]

string graphene::chain::asset_object::amount_to_pretty_string ( share_type  amount) const
inline

Convert an asset to a textual representation with symbol, i.e. "123.45 USD".

Definition at line 124 of file asset_object.hpp.

◆ amount_to_string() [1/2]

string graphene::chain::asset_object::amount_to_string ( const asset amount) const
inline

Convert an asset to a textual representation, i.e. "123.45".

Definition at line 121 of file asset_object.hpp.

◆ amount_to_string() [2/2]

string graphene::chain::asset_object::amount_to_string ( share_type  amount) const

Convert an asset to a textual representation, i.e. "123.45".

Definition at line 207 of file asset_object.cpp.

◆ bitasset_data()

template<class DB >
const asset_bitasset_data_object& graphene::chain::asset_object::bitasset_data ( const DB &  db) const
inline

Definition at line 166 of file asset_object.hpp.

◆ can_accumulate_fee()

template<class DB >
bool graphene::chain::asset_object::can_accumulate_fee ( const DB &  db,
const asset fee 
) const
inline
Returns
true if asset can accumulate fees in the given denomination

Definition at line 187 of file asset_object.hpp.

◆ can_bid_collateral()

bool graphene::chain::asset_object::can_bid_collateral ( ) const
inline
Returns
true if can bid collateral for the asset

Definition at line 111 of file asset_object.hpp.

◆ can_create_new_supply()

bool graphene::chain::asset_object::can_create_new_supply ( ) const
inline
Returns
true if can create new supply for the asset

Definition at line 101 of file asset_object.hpp.

◆ can_force_settle()

bool graphene::chain::asset_object::can_force_settle ( ) const
inline
Returns
true if users may request force-settlement of this market-issued asset; false otherwise

Definition at line 88 of file asset_object.hpp.

◆ can_global_settle()

bool graphene::chain::asset_object::can_global_settle ( ) const
inline
Returns
true if the issuer of this market-issued asset may globally settle the asset; false otherwise

Definition at line 90 of file asset_object.hpp.

◆ can_override()

bool graphene::chain::asset_object::can_override ( ) const
inline

Definition at line 95 of file asset_object.hpp.

◆ can_owner_update_bsrm()

bool graphene::chain::asset_object::can_owner_update_bsrm ( ) const
inline
Returns
true if the asset owner can change black swan response method

Definition at line 109 of file asset_object.hpp.

◆ can_owner_update_icr()

bool graphene::chain::asset_object::can_owner_update_icr ( ) const
inline
Returns
true if the asset owner can update ICR directly

Definition at line 105 of file asset_object.hpp.

◆ can_owner_update_mcr()

bool graphene::chain::asset_object::can_owner_update_mcr ( ) const
inline
Returns
true if the asset owner can update MCR directly

Definition at line 103 of file asset_object.hpp.

◆ can_owner_update_mssr()

bool graphene::chain::asset_object::can_owner_update_mssr ( ) const
inline
Returns
true if the asset owner can update MSSR directly

Definition at line 107 of file asset_object.hpp.

◆ can_update_max_supply()

bool graphene::chain::asset_object::can_update_max_supply ( ) const
inline
Returns
true if max supply of the asset can be updated

Definition at line 99 of file asset_object.hpp.

◆ charges_market_fees()

bool graphene::chain::asset_object::charges_market_fees ( ) const
inline
Returns
true if this asset charges a fee for the issuer on market operations; false otherwise

Definition at line 92 of file asset_object.hpp.

◆ dynamic_data()

template<class DB >
const asset_dynamic_data_object& graphene::chain::asset_object::dynamic_data ( const DB &  db) const
inline

Definition at line 175 of file asset_object.hpp.

◆ is_liquidity_pool_share_asset()

bool graphene::chain::asset_object::is_liquidity_pool_share_asset ( ) const
inline
Returns
true if this is a share asset of a liquidity pool; false otherwise.

Definition at line 86 of file asset_object.hpp.

◆ is_market_issued()

bool graphene::chain::asset_object::is_market_issued ( ) const
inline
Returns
true if this is a market-issued asset; false otherwise.

Definition at line 84 of file asset_object.hpp.

◆ is_transfer_restricted()

bool graphene::chain::asset_object::is_transfer_restricted ( ) const
inline
Returns
true if this asset may only be transferred to/from the issuer or market orders

Definition at line 94 of file asset_object.hpp.

◆ is_valid_symbol()

static bool graphene::chain::asset_object::is_valid_symbol ( const string &  symbol)
static

This function does not check if any registered asset has this symbol or not; it simply checks whether the symbol would be valid.

Returns
true if symbol is a valid ticker symbol; false otherwise.

◆ reserved()

template<class DB >
share_type graphene::chain::asset_object::reserved ( const DB &  db) const
inline

The total amount of an asset that is reserved for future issuance.

Definition at line 182 of file asset_object.hpp.

◆ validate()

void graphene::chain::asset_object::validate ( ) const
inline

Definition at line 154 of file asset_object.hpp.

Member Data Documentation

◆ bitasset_data_id

optional<asset_bitasset_data_id_type> graphene::chain::asset_object::bitasset_data_id

Extra data associated with BitAssets. This field is non-null if and only if is_market_issued() returns true.

Definition at line 142 of file asset_object.hpp.

◆ buyback_account

optional<account_id_type> graphene::chain::asset_object::buyback_account

Definition at line 144 of file asset_object.hpp.

◆ creation_block_num

uint32_t graphene::chain::asset_object::creation_block_num = 0

The block number when the asset object was created.

Definition at line 150 of file asset_object.hpp.

◆ creation_time

time_point_sec graphene::chain::asset_object::creation_time

The time when the asset object was created.

Definition at line 152 of file asset_object.hpp.

◆ dynamic_asset_data_id

asset_dynamic_data_id_type graphene::chain::asset_object::dynamic_asset_data_id

Current supply, fee pool, and collected fees are stored in a separate object as they change frequently.

Definition at line 140 of file asset_object.hpp.

◆ for_liquidity_pool

optional<liquidity_pool_id_type> graphene::chain::asset_object::for_liquidity_pool

The ID of the liquidity pool if the asset is the share asset of a liquidity pool.

Definition at line 147 of file asset_object.hpp.

◆ issuer

account_id_type graphene::chain::asset_object::issuer

ID of the account which issued this asset.

Definition at line 135 of file asset_object.hpp.

◆ options

asset_options graphene::chain::asset_object::options

Definition at line 137 of file asset_object.hpp.

◆ precision

uint8_t graphene::chain::asset_object::precision = 0

Maximum number of digits after the decimal point (must be <= 12)

Definition at line 133 of file asset_object.hpp.

◆ symbol

string graphene::chain::asset_object::symbol

Ticker symbol for this asset, i.e. "USD".

Definition at line 131 of file asset_object.hpp.


The documentation for this class was generated from the following files: