db_update.cpp: Don't clear expired feeds for non-market-issued assets #410
This commit is contained in:
parent
a1b00b2749
commit
55fef1b161
2 changed files with 10 additions and 8 deletions
|
|
@ -366,11 +366,13 @@ void database::clear_expired_orders()
|
||||||
|
|
||||||
void database::update_expired_feeds()
|
void database::update_expired_feeds()
|
||||||
{
|
{
|
||||||
auto& asset_idx = get_index_type<asset_index>().indices();
|
auto& asset_idx = get_index_type<asset_index>().indices().get<by_type>();
|
||||||
for( const asset_object& a : asset_idx )
|
auto itr = asset_idx.lower_bound( true /** market issued */ );
|
||||||
|
while( itr != asset_idx.end() )
|
||||||
{
|
{
|
||||||
if( !a.is_market_issued() )
|
const asset_object& a = *itr;
|
||||||
continue;
|
++itr;
|
||||||
|
assert( a.is_market_issued() );
|
||||||
|
|
||||||
const asset_bitasset_data_object& b = a.bitasset_data(*this);
|
const asset_bitasset_data_object& b = a.bitasset_data(*this);
|
||||||
if( b.feed_is_expired(head_block_time()) )
|
if( b.feed_is_expired(head_block_time()) )
|
||||||
|
|
|
||||||
|
|
@ -213,7 +213,6 @@ namespace graphene { namespace chain {
|
||||||
void update_median_feeds(time_point_sec current_time);
|
void update_median_feeds(time_point_sec current_time);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct by_feed_expiration;
|
struct by_feed_expiration;
|
||||||
typedef multi_index_container<
|
typedef multi_index_container<
|
||||||
asset_bitasset_data_object,
|
asset_bitasset_data_object,
|
||||||
|
|
@ -227,17 +226,19 @@ namespace graphene { namespace chain {
|
||||||
typedef flat_index<asset_bitasset_data_object> asset_bitasset_data_index;
|
typedef flat_index<asset_bitasset_data_object> asset_bitasset_data_index;
|
||||||
|
|
||||||
struct by_symbol;
|
struct by_symbol;
|
||||||
|
struct by_type;
|
||||||
typedef multi_index_container<
|
typedef multi_index_container<
|
||||||
asset_object,
|
asset_object,
|
||||||
indexed_by<
|
indexed_by<
|
||||||
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
ordered_unique< tag<by_id>, member< object, object_id_type, &object::id > >,
|
||||||
ordered_unique< tag<by_symbol>, member<asset_object, string, &asset_object::symbol> >
|
ordered_unique< tag<by_symbol>, member<asset_object, string, &asset_object::symbol> >,
|
||||||
|
ordered_non_unique< tag<by_type>, const_mem_fun<asset_object, bool, &asset_object::is_market_issued> >
|
||||||
>
|
>
|
||||||
> asset_object_multi_index_type;
|
> asset_object_multi_index_type;
|
||||||
typedef generic_index<asset_object, asset_object_multi_index_type> asset_index;
|
typedef generic_index<asset_object, asset_object_multi_index_type> asset_index;
|
||||||
|
|
||||||
|
|
||||||
} } // graphene::chain
|
} } // graphene::chain
|
||||||
|
|
||||||
FC_REFLECT_DERIVED( graphene::chain::asset_dynamic_data_object, (graphene::db::object),
|
FC_REFLECT_DERIVED( graphene::chain::asset_dynamic_data_object, (graphene::db::object),
|
||||||
(current_supply)(confidential_supply)(accumulated_fees)(fee_pool) )
|
(current_supply)(confidential_supply)(accumulated_fees)(fee_pool) )
|
||||||
|
|
||||||
|
|
@ -260,4 +261,3 @@ FC_REFLECT_DERIVED( graphene::chain::asset_object, (graphene::db::object),
|
||||||
(dynamic_asset_data_id)
|
(dynamic_asset_data_id)
|
||||||
(bitasset_data_id)
|
(bitasset_data_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue