remove min_market_fee due to potential attack vector with many small partial matches
This commit is contained in:
parent
a1601cbc0f
commit
de99437be4
3 changed files with 1 additions and 6 deletions
|
|
@ -85,7 +85,6 @@ void asset_object::asset_options::validate()const
|
|||
FC_ASSERT( max_supply <= GRAPHENE_MAX_SHARE_SUPPLY );
|
||||
FC_ASSERT( market_fee_percent <= GRAPHENE_100_PERCENT );
|
||||
FC_ASSERT( max_market_fee >= 0 && max_market_fee <= GRAPHENE_MAX_SHARE_SUPPLY );
|
||||
FC_ASSERT( min_market_fee >= 0 && min_market_fee <= GRAPHENE_MAX_SHARE_SUPPLY );
|
||||
// There must be no high bits in permissions whose meaning is not known.
|
||||
FC_ASSERT( !(issuer_permissions & ~ASSET_ISSUER_PERMISSION_MASK) );
|
||||
// There must be no high bits in flags which are not also high in permissions.
|
||||
|
|
|
|||
|
|
@ -471,7 +471,7 @@ asset database::calculate_market_fee( const asset_object& trade_asset, const ass
|
|||
if( !trade_asset.charges_market_fees() )
|
||||
return trade_asset.amount(0);
|
||||
if( trade_asset.options.market_fee_percent == 0 )
|
||||
return trade_asset.amount(trade_asset.options.min_market_fee);
|
||||
return trade_asset.amount(0);
|
||||
|
||||
fc::uint128 a(trade_amount.amount.value);
|
||||
a *= trade_asset.options.market_fee_percent;
|
||||
|
|
@ -480,8 +480,6 @@ asset database::calculate_market_fee( const asset_object& trade_asset, const ass
|
|||
|
||||
if( percent_fee.amount > trade_asset.options.max_market_fee )
|
||||
percent_fee.amount = trade_asset.options.max_market_fee;
|
||||
else if( percent_fee.amount < trade_asset.options.min_market_fee )
|
||||
percent_fee.amount = trade_asset.options.min_market_fee;
|
||||
|
||||
return percent_fee;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ namespace graphene { namespace chain {
|
|||
/// in this field means a 1% fee is charged on market trades of this asset.
|
||||
uint16_t market_fee_percent = 0;
|
||||
share_type max_market_fee = GRAPHENE_MAX_SHARE_SUPPLY;
|
||||
share_type min_market_fee;
|
||||
|
||||
/// The flags which the issuer has permission to update. See @ref asset_issuer_permission_flags
|
||||
uint16_t issuer_permissions = UIA_ASSET_ISSUER_PERMISSION_MASK;
|
||||
|
|
@ -320,7 +319,6 @@ FC_REFLECT( graphene::chain::asset_object::asset_options,
|
|||
(max_supply)
|
||||
(market_fee_percent)
|
||||
(max_market_fee)
|
||||
(min_market_fee)
|
||||
(issuer_permissions)
|
||||
(flags)
|
||||
(core_exchange_rate)
|
||||
|
|
|
|||
Loading…
Reference in a new issue