diff --git a/libraries/app/api.cpp b/libraries/app/api.cpp index b587dba3..8c8f4512 100644 --- a/libraries/app/api.cpp +++ b/libraries/app/api.cpp @@ -276,6 +276,18 @@ namespace graphene { namespace app { { acnt.cashback_balance = account->cashback_balance(_db); } + // Add the account's proposals + const auto& proposal_idx = _db.get_index_type(); + const auto& pidx = dynamic_cast&>(proposal_idx); + const auto& proposals_by_account = pidx.get_secondary_index(); + auto required_approvals_itr = proposals_by_account._account_to_proposals.find( account->id ); + if( required_approvals_itr != proposals_by_account._account_to_proposals.end() ) + { + acnt.proposals.reserve( required_approvals_itr->second.size() ); + for( auto proposal_id : required_approvals_itr->second ) + acnt.proposals.push_back( proposal_id(_db) ); + } + // Add the account's balances auto balance_range = _db.get_index_type().indices().get().equal_range(account->id); diff --git a/libraries/app/include/graphene/app/full_account.hpp b/libraries/app/include/graphene/app/full_account.hpp index 3132a0ca..9967c11f 100644 --- a/libraries/app/include/graphene/app/full_account.hpp +++ b/libraries/app/include/graphene/app/full_account.hpp @@ -20,6 +20,7 @@ namespace graphene { namespace app { vector vesting_balances; vector limit_orders; vector call_orders; + vector proposals; }; } } @@ -35,4 +36,6 @@ FC_REFLECT( graphene::app::full_account, (balances) (vesting_balances) (limit_orders) - (call_orders) ) + (call_orders) + (proposals) + ) diff --git a/libraries/fc b/libraries/fc index 18ed468c..458b6017 160000 --- a/libraries/fc +++ b/libraries/fc @@ -1 +1 @@ -Subproject commit 18ed468c6f0b19bb1e322548d8be64d7faafe4e5 +Subproject commit 458b601774c36b702e2d4712320b5d53c6b2ee1c