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

tracks the parameters of an assetAll 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. More...

#include <asset_object.hpp>

Inheritance diagram for graphene::chain::asset_object:
graphene::db::abstract_object< asset_object > graphene::db::object graphene::app::extended_asset_object

Public Member Functions

bool is_market_issued () 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
 
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...
 
asset_id_type get_id () const
 
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 >
virtual unique_ptr< objectclone () const
 these methods are implemented for derived classes by inheriting abstract_object<DerivedClass> More...
 
virtual void move_from (object &obj)
 
virtual variant to_variant () const
 
virtual vector< char > pack () const
 
- Public Member Functions inherited from graphene::db::object
 object ()
 
virtual ~object ()
 

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
 
- Public Attributes inherited from graphene::db::object
object_id_type id
 

Static Public Attributes

static const uint8_t space_id = protocol_ids
 
static const uint8_t type_id = asset_object_type
 
- Static Public Attributes inherited from graphene::db::object
static const uint8_t space_id = 0
 
static const uint8_t type_id = 0
 

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 79 of file asset_object.hpp.

Member Function Documentation

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

Definition at line 195 of file asset_object.hpp.

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

Definition at line 101 of file asset_object.hpp.

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.

asset 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 150 of file asset_object.cpp.

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.

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.

string asset_object::amount_to_string ( share_type  amount) const

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

Definition at line 205 of file asset_object.cpp.

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.

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

Definition at line 160 of file asset_object.hpp.

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 181 of file asset_object.hpp.

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

Definition at line 105 of file asset_object.hpp.

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 93 of file asset_object.hpp.

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 95 of file asset_object.hpp.

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

Definition at line 100 of file asset_object.hpp.

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

Definition at line 109 of file asset_object.hpp.

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

Definition at line 107 of file asset_object.hpp.

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

Definition at line 111 of file asset_object.hpp.

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 103 of file asset_object.hpp.

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 97 of file asset_object.hpp.

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

Definition at line 169 of file asset_object.hpp.

asset_id_type graphene::chain::asset_object::get_id ( ) const
inline

Definition at line 147 of file asset_object.hpp.

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

Definition at line 91 of file asset_object.hpp.

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 99 of file asset_object.hpp.

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.
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 176 of file asset_object.hpp.

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

Definition at line 149 of file asset_object.hpp.

Member Data Documentation

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 143 of file asset_object.hpp.

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

Definition at line 145 of file asset_object.hpp.

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 141 of file asset_object.hpp.

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.

asset_options graphene::chain::asset_object::options

Definition at line 137 of file asset_object.hpp.

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.

const uint8_t graphene::chain::asset_object::space_id = protocol_ids
static

Definition at line 82 of file asset_object.hpp.

string graphene::chain::asset_object::symbol

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

Definition at line 131 of file asset_object.hpp.

const uint8_t graphene::chain::asset_object::type_id = asset_object_type
static

Definition at line 83 of file asset_object.hpp.


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