27 #include <graphene/chain/hardfork.hpp>
35 namespace graphene {
namespace chain {
39 return *_p_core_asset_obj;
44 return *_p_core_dynamic_data_obj;
49 return *_p_global_prop_obj;
54 return *_p_chain_property_obj;
59 return *_p_dyn_global_prop_obj;
94 return _node_property_object;
99 return _node_property_object;
103 account_id_type account,
const operation &op,
106 const auto&
index = get_index_type<custom_authority_index>().indices().
get<by_account_custom>();
110 vector<std::reference_wrapper<const custom_authority_object>> valid_auths;
111 std::copy_if(range.first, range.second, std::back_inserter(valid_auths), is_valid);
113 vector<authority> results;
114 for (
const auto& cust_auth : valid_auths) {
116 auto result = cust_auth.get().get_predicate()(op);
118 results.emplace_back(cust_auth.get().auth);
119 else if (rejected_authorities !=
nullptr)
120 rejected_authorities->insert(std::make_pair(cust_auth.get().get_id(), std::move(result)));
122 if (rejected_authorities !=
nullptr)
123 rejected_authorities->insert(std::make_pair(cust_auth.get().get_id(), std::move(e)));
144 return account_statistics_id_type(owner.instance)(*this);
149 return *_p_witness_schedule_obj;
154 const auto& limit_index = get_index_type<limit_order_index>().indices().get<by_is_settled_debt>();
155 auto itr = limit_index.lower_bound( std::make_tuple(
true, a ) );
156 if( itr != limit_index.end() && itr->receive_asset_id() == a )
162 bool force_by_collateral_index )
const
164 bool find_by_collateral =
true;
165 if( !force_by_collateral_index )
173 if( !find_by_collateral )
175 const auto& call_price_index = get_index_type<call_order_index>().indices().get<by_price>();
176 auto call_itr = call_price_index.lower_bound( call_min );
177 if( call_itr != call_price_index.end() )
178 call_ptr = &(*call_itr);
183 const auto& call_collateral_index = get_index_type<call_order_index>().indices().get<by_collateral>();
184 auto call_itr = call_collateral_index.lower_bound( call_min );
185 if( call_itr != call_collateral_index.end() )
186 call_ptr = &(*call_itr);