#85 adding api call get_keys_for_address

This commit is contained in:
Daniel Larimer 2015-06-24 16:19:33 -04:00
parent c4b2bb443b
commit 23a633bea1
2 changed files with 24 additions and 0 deletions

View file

@ -515,5 +515,23 @@ namespace graphene { namespace app {
return result;
}
/**
* @return all key_ids that have been registered for a given address.
*/
vector<key_id_type> database_api::get_keys_for_address( const address& a )const
{ try {
vector<key_id_type> result;
const auto& idx = _db.get_index_type<key_index>();
const auto& aidx = idx.indices().get<by_address>();
auto itr = aidx.find(a);
while( itr != aidx.end() && itr->key_address() == a )
{
result.push_back( itr->id );
++itr;
}
return result;
} FC_CAPTURE_AND_RETHROW( (a) ) }
} } // graphene::app

View file

@ -242,6 +242,11 @@ namespace graphene { namespace app {
*/
vector<account_id_type> get_account_references( object_id_type key_or_account_id )const;
/**
* @return all key_ids that have been registered for a given address.
*/
vector<key_id_type> get_keys_for_address( const address& a )const;
private:
/** called every time a block is applied to report the objects that were changed */
void on_objects_changed(const vector<object_id_type>& ids);
@ -383,6 +388,7 @@ FC_API(graphene::app::database_api,
(get_transaction_hex)
(get_proposed_transactions)
(get_account_references)
(get_keys_for_address)
)
FC_API(graphene::app::history_api, (get_account_history)(get_market_history)(get_market_history_buckets))
FC_API(graphene::app::network_api, (broadcast_transaction)(add_node)(get_connected_peers))