Inline fast path of is_authorized_asset() #566
This commit is contained in:
parent
68a0ffa1aa
commit
130b54116c
2 changed files with 22 additions and 3 deletions
|
|
@ -29,11 +29,26 @@ class account_object;
|
|||
class asset_object;
|
||||
class database;
|
||||
|
||||
namespace detail {
|
||||
|
||||
bool _is_authorized_asset(const database& d, const account_object& acct, const asset_object& asset_obj);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the account is whitelisted and not blacklisted to transact in the provided asset; false
|
||||
* otherwise.
|
||||
*/
|
||||
|
||||
bool is_authorized_asset(const database& d, const account_object& acct, const asset_object& asset_obj);
|
||||
inline bool is_authorized_asset(const database& d, const account_object& acct, const asset_object& asset_obj)
|
||||
{
|
||||
bool fast_check = !(asset_obj.options.flags & white_list);
|
||||
|
||||
if( fast_check )
|
||||
return true;
|
||||
|
||||
bool slow_check = detail::_is_authorized_asset( d, acct, asset_obj );
|
||||
return slow_check;
|
||||
}
|
||||
|
||||
} }
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@
|
|||
|
||||
namespace graphene { namespace chain {
|
||||
|
||||
bool is_authorized_asset(
|
||||
namespace detail {
|
||||
|
||||
bool _is_authorized_asset(
|
||||
const database& d,
|
||||
const account_object& acct,
|
||||
const asset_object& asset_obj)
|
||||
|
|
@ -62,4 +64,6 @@ bool is_authorized_asset(
|
|||
return false;
|
||||
}
|
||||
|
||||
} }
|
||||
} // detail
|
||||
|
||||
} } // graphene::chain
|
||||
|
|
|
|||
Loading…
Reference in a new issue