5 namespace account_by_key {
17 std::vector<std::vector<account_name_type>>
get_key_references(std::vector<public_key_type>& keys)
const;
22 std::vector<std::vector<account_name_type>>
25 std::vector<std::vector<account_name_type>> final_result;
26 final_result.reserve(keys.size());
30 for (
auto& key : keys)
32 std::vector<account_name_type>
result;
33 auto lookup_itr = key_idx.lower_bound(key);
35 while (lookup_itr != key_idx.end() && lookup_itr->key == key)
37 result.push_back(lookup_itr->account);
41 final_result.emplace_back(std::move(
result));
51 my = std::make_shared<detail::account_by_key_api_impl>(ctx.
app);
58 std::vector<std::vector<account_name_type>>
61 return my->_app.chain_database()->with_read_lock([&]() {
return my->get_key_references(keys); });
account_by_key_api(const app::api_context &ctx)
std::vector< std::vector< account_name_type > > get_key_references(std::vector< public_key_type > &keys) const
account_by_key_api_impl(scorum::app::application &app)
scorum::app::application & _app
std::shared_ptr< chain::database > chain_database() const
std::vector< std::vector< account_name_type > > get_key_references(std::vector< public_key_type > keys) const
get_key_references
shared_multi_index_container< key_lookup_object, indexed_by< ordered_unique< tag< by_id >, member< key_lookup_object, key_lookup_id_type, &key_lookup_object::id > >, ordered_unique< tag< by_key >, composite_key< key_lookup_object, member< key_lookup_object, public_key_type, &key_lookup_object::key >, member< key_lookup_object, account_name_type, &key_lookup_object::account > > > > > key_lookup_index