asset_evaluator.cpp: Implement TODO, move feed validation checks from evaluate() to validate()
This commit is contained in:
parent
704f943181
commit
0e41933003
2 changed files with 15 additions and 17 deletions
|
|
@ -463,24 +463,7 @@ void_result asset_publish_feeds_evaluator::do_evaluate(const asset_publish_feed_
|
||||||
const asset_bitasset_data_object& bitasset = base.bitasset_data(d);
|
const asset_bitasset_data_object& bitasset = base.bitasset_data(d);
|
||||||
FC_ASSERT( !bitasset.has_settlement(), "No further feeds may be published after a settlement event" );
|
FC_ASSERT( !bitasset.has_settlement(), "No further feeds may be published after a settlement event" );
|
||||||
|
|
||||||
//
|
|
||||||
// many of these checks should be moved to price_feed.validate()
|
|
||||||
// or the operation validator when new network is started
|
|
||||||
//
|
|
||||||
if( !o.feed.core_exchange_rate.is_null() )
|
|
||||||
{
|
|
||||||
o.feed.core_exchange_rate.validate();
|
|
||||||
}
|
|
||||||
if( (!o.feed.settlement_price.is_null()) && (!o.feed.core_exchange_rate.is_null()) )
|
|
||||||
{
|
|
||||||
FC_ASSERT( o.feed.settlement_price.base.asset_id == o.feed.core_exchange_rate.base.asset_id );
|
|
||||||
FC_ASSERT( o.feed.settlement_price.quote.asset_id == o.feed.core_exchange_rate.quote.asset_id );
|
|
||||||
}
|
|
||||||
|
|
||||||
FC_ASSERT( !o.feed.settlement_price.is_null() );
|
|
||||||
FC_ASSERT( !o.feed.core_exchange_rate.is_null() );
|
|
||||||
FC_ASSERT( o.feed.settlement_price.quote.asset_id == bitasset.options.short_backing_asset );
|
FC_ASSERT( o.feed.settlement_price.quote.asset_id == bitasset.options.short_backing_asset );
|
||||||
FC_ASSERT( o.feed.is_for( o.asset_id ) );
|
|
||||||
|
|
||||||
//Verify that the publisher is authoritative to publish a feed
|
//Verify that the publisher is authoritative to publish a feed
|
||||||
if( base.options.flags & witness_fed_asset )
|
if( base.options.flags & witness_fed_asset )
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,21 @@ void asset_publish_feed_operation::validate()const
|
||||||
{
|
{
|
||||||
FC_ASSERT( fee.amount >= 0 );
|
FC_ASSERT( fee.amount >= 0 );
|
||||||
feed.validate();
|
feed.validate();
|
||||||
|
|
||||||
|
// maybe some of these could be moved to feed.validate()
|
||||||
|
if( !feed.core_exchange_rate.is_null() )
|
||||||
|
{
|
||||||
|
feed.core_exchange_rate.validate();
|
||||||
|
}
|
||||||
|
if( (!feed.settlement_price.is_null()) && (!feed.core_exchange_rate.is_null()) )
|
||||||
|
{
|
||||||
|
FC_ASSERT( feed.settlement_price.base.asset_id == feed.core_exchange_rate.base.asset_id );
|
||||||
|
FC_ASSERT( feed.settlement_price.quote.asset_id == feed.core_exchange_rate.quote.asset_id );
|
||||||
|
}
|
||||||
|
|
||||||
|
FC_ASSERT( !feed.settlement_price.is_null() );
|
||||||
|
FC_ASSERT( !feed.core_exchange_rate.is_null() );
|
||||||
|
FC_ASSERT( feed.is_for( asset_id ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void asset_reserve_operation::validate()const
|
void asset_reserve_operation::validate()const
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue