diff --git a/libraries/app/api.cpp b/libraries/app/api.cpp index 5539ba4c..cbcb9295 100644 --- a/libraries/app/api.cpp +++ b/libraries/app/api.cpp @@ -1062,6 +1062,16 @@ namespace graphene { namespace app { } FC_CAPTURE_AND_RETHROW( (id) ) } + vector database_api::get_vested_balances( const vector& objs )const + { try { + vector result; + result.reserve( objs.size() ); + auto now = _db.head_block_time(); + for( auto obj : objs ) + result.push_back( obj(_db).available( now ) ); + return result; + } FC_CAPTURE_AND_RETHROW( (objs) ) } + vector database_api::get_balance_objects( const vector
& addrs )const { try { const auto& bal_idx = _db.get_index_type(); diff --git a/libraries/app/include/graphene/app/api.hpp b/libraries/app/include/graphene/app/api.hpp index 703e2480..48de0024 100644 --- a/libraries/app/include/graphene/app/api.hpp +++ b/libraries/app/include/graphene/app/api.hpp @@ -307,6 +307,8 @@ namespace graphene { namespace app { /** @return all unclaimed balance objects for a set of addresses */ vector get_balance_objects( const vector
& addrs )const; + vector get_vested_balances( const vector& objs )const; + /** * This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for @@ -535,6 +537,7 @@ FC_API(graphene::app::database_api, (get_key_references) (get_margin_positions) (get_balance_objects) + (get_vested_balances) (get_required_signatures) (verify_authority) (get_blinded_balances)