29 namespace graphene {
namespace protocol {
56 uint16_t market_fee_percent = 0;
61 uint16_t issuer_permissions = DEFAULT_UIA_ASSET_ISSUER_PERMISSION;
66 uint16_t get_enabled_issuer_permissions_mask()
const;
101 void validate_flags(
bool is_market_issued,
bool allow_disable_collateral_bid =
true )
const;
117 global_settlement = 0,
129 individual_settlement_to_fund = 2,
134 individual_settlement_to_order = 3,
158 uint8_t minimum_feeds = 1;
177 void validate()
const;
182 if( !extensions.
value.black_swan_response_method.valid() )
183 return black_swan_response_type::global_settlement;
198 uint32_t price_per_kbyte = 10;
207 uint8_t precision = 0;
219 bool is_prediction_market =
false;
223 void validate()
const;
249 void validate()
const;
287 void validate()
const;
299 const asset& a ) : settlement(fsid), account(aid), amount(a) {}
332 account_id_type
fee_payer()
const {
return from_account; }
333 void validate()
const;
365 uint32_t price_per_kbyte = 10;
380 void validate()
const;
410 void validate()
const;
442 void validate()
const;
479 void validate()
const;
503 void validate()
const;
523 void validate()
const;
552 void validate()
const;
578 void validate()
const;
581 { a.insert( issuer ); }
614 void validate()
const;
633 (whitelist_authorities)
634 (blacklist_authorities)
642 (initial_collateral_ratio)
643 (maintenance_collateral_ratio)
644 (maximum_short_squeeze_ratio)
645 (margin_call_fee_ratio)
646 (force_settle_fee_percent)
647 (black_swan_response_method)
653 (force_settlement_delay_sec)
654 (force_settlement_offset_percent)
655 (maximum_force_settlement_volume)
656 (short_backing_asset)
667 (symbol3)(symbol4)(long_symbol)(price_per_kbyte) )
689 (is_prediction_market)
715 (fee)(issuer)(asset_to_update)(new_feed_producers)(extensions)
718 (fee)(publisher)(asset_id)(feed)(extensions) )
722 (fee)(issuer)(asset_to_settle)(settle_price)(extensions) )
724 (fee)(issuer)(asset_to_issue)(issue_to_account)(memo)(extensions) )
726 (fee)(payer)(amount_to_reserve)(extensions) )
fc::optional< uint16_t > force_settle_fee_percent
future_extensions::flat_set_type extensions_type
extension< ext > extensions
account_id_type fee_payer() const
asset_id_type asset_id
asset for which the feed is published
extensions_type extensions
account_id_type issuer
must match issuer of asset from which we claim fees
extensions_type extensions
black_swan_response_type get_black_swan_response_method() const
Get the effective black swan response method.
fc::optional< flat_set< account_id_type > > whitelist_market_fee_sharing
Update the set of feed-producing accounts for a BitAssetBitAssets have price feeds selected by taking...
bitasset_options new_options
flat_set< account_id_type > blacklist_authorities
optional< memo_data > memo
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
account_id_type new_issuer
black_swan_response_type
Defines how a BitAsset would respond to black swan events.
extension< additional_options_type > extensions
account_id_type publisher
flat_set< account_id_type > new_feed_producers
extension< ext > extensions
extensions_type extensions
asset_id_type asset_to_update
asset amount
Amount of asset to force settle. This must be a market-issued asset.
force_settlement_id_type settlement
fc::optional< uint16_t > maximum_short_squeeze_ratio
After BSIP75, the asset owner can update MSSR directly.
account_id_type fee_payer() const
The asset_options struct contains options available on all assets in the network. ...
used to transfer accumulated fees back to the issuer's balance.
asset_id_type asset_to_update
account_id_type fee_payer() const
#define GRAPHENE_DEFAULT_FORCE_SETTLEMENT_OFFSET
1%
extension< additional_asset_options > additional_asset_options_t
Schedules a market-issued asset for automatic settlementHolders of market-issued assests may request ...
#define GRAPHENE_DEFAULT_FORCE_SETTLEMENT_DELAY
1 day
extensions_type extensions
flat_set< asset_id_type > blacklist_markets
account_id_type fee_payer() const
extensions_type extensions
#define GRAPHENE_DEFAULT_FORCE_SETTLEMENT_MAX_VOLUME
20%
asset_id_type asset_to_update
account_id_type fee_payer() const
Publish price feeds for market-issued assetsPrice feed providers use this operation to publish their ...
account_id_type fee_payer() const
fc::optional< uint16_t > initial_collateral_ratio
After BSIP77, price feed producers can feed ICR too.
account_id_type fee_payer() const
account_id_type fee_payer() const
string symbol
The ticker symbol of this asset.
extension< ext > extensions
fc::optional< uint16_t > reward_percent
used to take an asset out of circulation, returning to the issuer
flat_set< asset_id_type > whitelist_markets
#define GRAPHENE_DECLARE_EXTERNAL_SERIALIZATION(type)
fc::optional< uint16_t > maintenance_collateral_ratio
After BSIP75, the asset owner can update MCR directly.
The price struct stores asset prices in the BitShares system.
share_type calculate_fee(const fee_parameters_type ¶ms) const
extensions_type extensions
#define GRAPHENE_BLOCKCHAIN_PRECISION
Update options specific to BitAssetsBitAssets have some options which are not relevant to other asset...
account_id_type from_account
fc::optional< uint16_t > margin_call_fee_ratio
#define FC_ASSERT(TEST,...)
Checks a condition and throws an assert_exception if the test is FALSE.
account_id_type account
Account requesting the force settlement. This account pays the fee.
account_id_type fee_payer() const
extensions_type extensions
account_id_type issuer
Must be asset_to_issue->asset_id->issuer.
Update options common to all assetsThere are a number of options which all assets in the network use...
fc::optional< uint8_t > black_swan_response_method
account_id_type issuer
This account must sign and pay the fee for this operation. Later, this account may update the asset...
asset_settle_cancel_operation(const force_settlement_id_type &fsid, const account_id_type &aid, const asset &a)
account_id_type account
Account requesting the force settlement. This account pays the fee.
asset_id_type asset_to_update
Transfers BTS from the fee pool of a specified asset back to the issuer's balance.
fc::optional< bool > skip_core_exchange_rate
share_type amount
core asset
account_id_type fee_payer() const
defines market parameters for margin positions
account_id_type fee_payer() const
extensions_type extensions
#define GRAPHENE_DEFAULT_PRICE_FEED_LIFETIME
1 day
extensions_type extensions
void get_required_owner_authorities(flat_set< account_id_type > &a) const
optional< bitasset_options > bitasset_opts
Options only available for BitAssets. MUST be non-null if and only if the asset is market-issued...
account_id_type fee_payer() const
fc::optional< asset_id_type > claim_from_asset_id
account_id_type fee_payer() const
asset amount_to_claim
fee.asset_id must != asset_id
fc::optional< uint16_t > taker_fee_percent
constexpr int64_t GRAPHENE_MAX_SHARE_SUPPLY(1000000000000000LL)
flat_set< account_id_type > whitelist_authorities
account_id_type fee_payer() const
asset amount
Amount of asset to force settle. This must be a market-issued asset.
Update issuer of an assetAn issuer has general administrative power of an asset and in some cases als...
void get_required_active_authorities(flat_set< account_id_type > &a) const
asset_id_type asset_to_settle
fc::optional< uint8_t > new_precision
asset fee
paid for by publisher
additional_asset_options_t extensions
asset_options new_options
asset_id_type short_backing_asset
fc::optional< uint16_t > initial_collateral_ratio
asset_options common_options
account_id_type issuer
must equal issuer of asset_to_settle
The bitasset_options struct contains configurable options available only to BitAssets.
bool is_valid_symbol(const string &symbol)
account_id_type issue_to_account
allows global settling of bitassets (black swan or prediction markets)
optional< account_id_type > new_issuer
If the asset is to be given a new issuer, specify his ID here.
extensions_type extensions
core asset