Lists all assets registered on the blockchain.
To list all assets, pass the empty string ""
for the lowerbound
to start at the beginning of the list, and iterate as necessary.
vector<extended_asset_object> graphene::wallet::wallet_api::list_assets(
const string &lowerbound,
uint32_t limit)const
{% tabs %} {% tab title="Parameters" %}
lowerbound
: the symbol of the first asset to include in the list.limit
: the maximum number of assets to return (max: 100) {% endtab %}
{% tab title="Return" %} The list of asset objects, ordered by symbol. {% endtab %} {% endtabs %}
Creates a new user-issued or market-issued asset.
Many options can be changed later using update_asset()
.
{% hint style="warning" %} Note: Right now this function is difficult to use because you must provide raw JSON data structures for the options objects, and those include prices and asset ids. {% endhint %}
signed_transaction graphene::wallet::wallet_api::create_asset(
string issuer,
string symbol,
uint8_t precision,
asset_options common,
fc::optional<bitasset_options> bitasset_opts,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
issuer
: the name or id of the account who will pay the fee and become the issuer of the new asset. This can be updated latersymbol
: the ticker symbol of the new assetprecision
: the number of digits of precision to the right of the decimal point, must be less than or equal to 12common
: asset options required for all new assets. Note that core_exchange_rate technically needs to store the asset ID of this new asset. Since this ID is not known at the time this operation is created, create this price as though the new asset has instance ID 1, and the chain will overwrite it with the new asset’s ID.bitasset_opts
: options specific to BitAssets. This may be null unless themarket_issued
flag is set in common.flagsbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction creating a new asset. {% endtab %} {% endtabs %}
Update the core options on an asset. There are a number of options which all assets in the network use. These options are enumerated in the asset_object::asset_options
struct.
This command is used to update these options for an existing asset.
signed_transaction graphene::wallet::wallet_api::update_asset(
string symbol,
optional<string> new_issuer,
asset_options new_options,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
symbol
: the name or id of the asset to updatenew_issuer
: if changing the asset’s issuer, the name or id of the new issuer. null if you wish to remain the issuer of the assetnew_options
: the new asset_options object, which will entirely replace the existing options.broadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction updating the asset {% endtab %} {% endtabs %}
Update the options specific to a BitAsset.
BitAssets have some options which are not relevant to other asset types. This operation is used to update those options as an existing BitAsset.
See update_asset()
signed_transaction graphene::wallet::wallet_api::update_bitasset(
string symbol,
bitasset_options new_options,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
symbol
: the name or id of the asset to update, which must be a market-issued assetnew_options
: the newbitasset_options
object, which will entirely replace the existing options.broadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction updating the Bitasset {% endtab %} {% endtabs %}
Update the set of feed-producing accounts for a BitAsset.
BitAssets have price feeds selected by taking the median values of recommendations from a set of feed producers. This command is used to specify which accounts may produce feeds for a given BitAsset.
signed_transaction graphene::wallet::wallet_api::update_asset_feed_producers(
string symbol,
flat_set<string> new_feed_producers,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
symbol
: the name or id of the asset to updatenew_feed_producers
: a list of account names or ids which are authorized to produce feeds for the asset. this list will completely replace the existing listbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction updating the BitAsset’s feed producers {% endtab %} {% endtabs %}
Publishes a price feed for the named asset.
Price feed providers use this command to publish their price feeds for market-issued assets. A price feed is used to tune the market for a particular market-issued asset. For each value in the feed, the median across all committee_member feeds for that asset is calculated and the market for the asset is configured with the median of that value.
The feed object in this command contains three prices:
- A call price limit
- A short price limit,
- A settlement price
The call limit price is structured as (collateral asset) / (debt asset) and the short limit price is structured as (asset for sale) / (collateral asset).
{% hint style="warning" %} Note: The asset IDs are opposite to each other, so if we’re publishing a feed for BTC, the call limit price will be PPY/BTC and the short limit price will be BTC/PPY. {% endhint %}
The settlement price may be flipped either direction, as long as it is a ratio between the market-issued asset and its collateral.
signed_transaction graphene::wallet::wallet_api::publish_asset_feed(
string publishing_account,
string symbol,
price_feed feed,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
publishing_account
: the account publishing the price feedsymbol
: the name or id of the asset whose feed we’re publishingfeed
: the price_feed object containing the three prices making up the feedbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction updating the price feed for the given asset. {% endtab %} {% endtabs %}
Issue new shares of an asset.
signed_transaction graphene::wallet::wallet_api::issue_asset(
string to_account,
string amount,
string symbol,
string memo,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
to_account
: the name or id of the account to receive the new sharesamount
: the amount to issue, in nominal unitssymbol
: the ticker symbol of the asset to issuememo
: a memo to include in the transaction, readable by the recipientbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction issuing the new shares {% endtab %} {% endtabs %}
Returns information about the given asset.
extended_asset_object graphene::wallet::wallet_api::get_asset(
string asset_name_or_id)const
{% tabs %} {% tab title="Parameters" %}
asset_name_or_id
: the symbol or id of the asset in question {% endtab %}
{% tab title="Return" %} The information about the asset stored in the block chain. {% endtab %} {% endtabs %}
Returns the BitAsset-specific data for a given asset. Market-issued asset’s behavior are determined both by their “BitAsset Data” and their basic asset data, as returned by get_asset()
.
asset_bitasset_data_object graphene::wallet::wallet_api::get_bitasset_data(
string asset_name_or_id)const
{% tabs %} {% tab title="Parameters" %}
asset_name_or_id
: the symbol or id of the BitAsset in question {% endtab %}
{% tab title="Return" %} The BitAsset-specific data for this asset {% endtab %} {% endtabs %}
Pay into the fee pool for the given asset.
User-issued assets can optionally have a pool of the core asset which is automatically used to pay transaction fees for any transaction using that asset (using the asset’s core exchange rate).
This command allows anyone to deposit the core asset into this fee pool.
signed_transaction graphene::wallet::wallet_api::fund_asset_fee_pool(
string from,
string symbol,
string amount,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
from
: the name or id of the account sending the core assetsymbol
: the name or id of the asset whose fee pool you wish to fundamount
: the amount of the core asset to depositbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction funding the fee pool. {% endtab %} {% endtabs %}
Burns an amount of given asset.
This command burns an amount of given asset to reduce the amount in circulation.
{% hint style="warning" %} Note: You can't burn market-issued assets. {% endhint %}
signed_transaction graphene::wallet::wallet_api::reserve_asset(
string from,
string amount,
string symbol,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
from
: the account containing the asset you wish to burnamount
: the amount to burn, in nominal unitssymbol
: the name or id of the asset to burnbroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction burning the asset {% endtab %} {% endtabs %}
Forces a global settling of the given asset (black swan or prediction markets).
In order to use this operation, asset_to_settle
must have the global_settle
flag set
When this operation is executed all open margin positions are called at the settle price. A pool will be formed containing the collateral got from the margin positions. Users owning an amount of the asset may use settle_asset()
to claim collateral instantly at the settle price from the pool.
If this asset is used as backing for other BitAssets, those BitAssets will not be affected.
{% hint style="warning" %} Note: This operation is used only by the asset issuer. {% endhint %}
signed_transaction graphene::wallet::wallet_api::global_settle_asset(
string symbol,
price settle_price,
bool broadcast = false)
{% tabs %} {% tab title="Parameters" %}
symbol
: the name or id of the asset to globally settlesettle_price
: the price at which to settlebroadcast
: true to broadcast the transaction on the network {% endtab %}
{% tab title="Return" %} The signed transaction settling the named asset {% endtab %} {% endtabs %}