done acounts_list_plugin
This commit is contained in:
parent
fcc1cb28bd
commit
0c14896a3d
6 changed files with 30 additions and 23 deletions
|
|
@ -458,7 +458,7 @@ namespace graphene { namespace app {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<account_id_type> history_api::list_core_accounts()const
|
vector<account_balance_object> history_api::list_core_accounts()const
|
||||||
{
|
{
|
||||||
auto list = _app.get_plugin<accounts_list_plugin>( "accounts_list" );
|
auto list = _app.get_plugin<accounts_list_plugin>( "accounts_list" );
|
||||||
FC_ASSERT( list );
|
FC_ASSERT( list );
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ namespace graphene { namespace app {
|
||||||
vector<order_history_object> get_fill_order_history( asset_id_type a, asset_id_type b, uint32_t limit )const;
|
vector<order_history_object> get_fill_order_history( asset_id_type a, asset_id_type b, uint32_t limit )const;
|
||||||
vector<bucket_object> get_market_history( asset_id_type a, asset_id_type b, uint32_t bucket_seconds,
|
vector<bucket_object> get_market_history( asset_id_type a, asset_id_type b, uint32_t bucket_seconds,
|
||||||
fc::time_point_sec start, fc::time_point_sec end )const;
|
fc::time_point_sec start, fc::time_point_sec end )const;
|
||||||
vector<account_id_type> list_core_accounts()const;
|
vector<account_balance_object> list_core_accounts()const;
|
||||||
flat_set<uint32_t> get_market_history_buckets()const;
|
flat_set<uint32_t> get_market_history_buckets()const;
|
||||||
private:
|
private:
|
||||||
application& _app;
|
application& _app;
|
||||||
|
|
|
||||||
|
|
@ -62,8 +62,7 @@ class accounts_list_plugin_impl
|
||||||
}
|
}
|
||||||
|
|
||||||
accounts_list_plugin& _self;
|
accounts_list_plugin& _self;
|
||||||
vector<account_id_type> _listed_accounts;
|
vector<account_balance_object> _listed_balances;
|
||||||
//map<string, account_balance_object> _listed_balances;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
accounts_list_plugin_impl::~accounts_list_plugin_impl()
|
accounts_list_plugin_impl::~accounts_list_plugin_impl()
|
||||||
|
|
@ -74,19 +73,16 @@ accounts_list_plugin_impl::~accounts_list_plugin_impl()
|
||||||
void accounts_list_plugin_impl::list_accounts()
|
void accounts_list_plugin_impl::list_accounts()
|
||||||
{
|
{
|
||||||
graphene::chain::database& db = database();
|
graphene::chain::database& db = database();
|
||||||
_listed_accounts.clear();
|
_listed_balances.clear();
|
||||||
|
|
||||||
|
|
||||||
std::vector<account_balance_object> db_balances;
|
|
||||||
auto& balance_index = db.get_index_type<graphene::chain::account_balance_index>().indices().get<graphene::chain::by_asset_balance>();
|
auto& balance_index = db.get_index_type<graphene::chain::account_balance_index>().indices().get<graphene::chain::by_asset_balance>();
|
||||||
for (auto balance_iter = balance_index.begin();
|
for (auto balance_iter = balance_index.begin();
|
||||||
balance_iter != balance_index.end() &&
|
balance_iter != balance_index.end() &&
|
||||||
balance_iter->asset_type == graphene::chain::asset_id_type() &&
|
balance_iter->asset_type == graphene::chain::asset_id_type() &&
|
||||||
balance_iter->balance > 0; ++balance_iter)
|
balance_iter->balance > 0; ++balance_iter)
|
||||||
{
|
{
|
||||||
idump((balance_iter->owner(db))(*balance_iter));
|
//idump((balance_iter->owner(db) .name)(*balance_iter));
|
||||||
_listed_accounts.emplace_back(balance_iter->owner);
|
_listed_balances.emplace_back(*balance_iter);
|
||||||
db_balances.emplace_back(*balance_iter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -119,26 +115,21 @@ void accounts_list_plugin::plugin_set_program_options(
|
||||||
|
|
||||||
void accounts_list_plugin::plugin_initialize(const boost::program_options::variables_map& /*options*/)
|
void accounts_list_plugin::plugin_initialize(const boost::program_options::variables_map& /*options*/)
|
||||||
{
|
{
|
||||||
ilog("accounts list plugin: plugin_initialize()");
|
//ilog("accounts list plugin: plugin_initialize()");
|
||||||
//database().add_index< primary_index< simple_index< operation_history_object > > >();
|
|
||||||
//database().add_index< primary_index< simple_index< account_transaction_history_object > > >();
|
|
||||||
|
|
||||||
//LOAD_VALUE_SET(options, "listed-accounts", my->_listed_accounts, graphene::chain::account_id_type);
|
|
||||||
|
|
||||||
list_accounts();
|
list_accounts();
|
||||||
}
|
}
|
||||||
|
|
||||||
void accounts_list_plugin::plugin_startup()
|
void accounts_list_plugin::plugin_startup()
|
||||||
{
|
{
|
||||||
ilog("accounts list plugin: plugin_startup()");
|
//ilog("accounts list plugin: plugin_startup()");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<account_id_type> accounts_list_plugin::list_accounts() const
|
vector<account_balance_object> accounts_list_plugin::list_accounts() const
|
||||||
{
|
{
|
||||||
ilog("accounts list plugin: list_accounts()");
|
ilog("accounts list plugin: list_accounts()");
|
||||||
my->list_accounts();
|
my->list_accounts();
|
||||||
idump((my->_listed_accounts));
|
//idump((my->_listed_balances));
|
||||||
return my->_listed_accounts;
|
return my->_listed_balances;
|
||||||
}
|
}
|
||||||
|
|
||||||
} }
|
} }
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include <graphene/app/plugin.hpp>
|
#include <graphene/app/plugin.hpp>
|
||||||
#include <graphene/chain/database.hpp>
|
#include <graphene/chain/database.hpp>
|
||||||
|
#include <graphene/chain/account_object.hpp>
|
||||||
|
|
||||||
#include <fc/thread/future.hpp>
|
#include <fc/thread/future.hpp>
|
||||||
|
|
||||||
|
|
@ -49,7 +50,7 @@ class accounts_list_plugin : public graphene::app::plugin
|
||||||
virtual void plugin_initialize(const boost::program_options::variables_map& options) override;
|
virtual void plugin_initialize(const boost::program_options::variables_map& options) override;
|
||||||
virtual void plugin_startup() override;
|
virtual void plugin_startup() override;
|
||||||
|
|
||||||
vector<account_id_type> list_accounts()const;
|
vector<account_balance_object>list_accounts()const;
|
||||||
|
|
||||||
friend class detail::accounts_list_plugin_impl;
|
friend class detail::accounts_list_plugin_impl;
|
||||||
std::unique_ptr<detail::accounts_list_plugin_impl> my;
|
std::unique_ptr<detail::accounts_list_plugin_impl> my;
|
||||||
|
|
|
||||||
|
|
@ -340,7 +340,7 @@ class wallet_api
|
||||||
*/
|
*/
|
||||||
vector<operation_detail> get_account_history(string name, int limit)const;
|
vector<operation_detail> get_account_history(string name, int limit)const;
|
||||||
|
|
||||||
vector<account_id_type> list_core_accounts()const;
|
vector<account_balance_object> list_core_accounts()const;
|
||||||
|
|
||||||
vector<bucket_object> get_market_history(string symbol, string symbol2, uint32_t bucket)const;
|
vector<bucket_object> get_market_history(string symbol, string symbol2, uint32_t bucket)const;
|
||||||
vector<limit_order_object> get_limit_orders(string a, string b, uint32_t limit)const;
|
vector<limit_order_object> get_limit_orders(string a, string b, uint32_t limit)const;
|
||||||
|
|
|
||||||
|
|
@ -2403,6 +2403,21 @@ public:
|
||||||
return ss.str();
|
return ss.str();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
m["list_core_accounts"] = [this](variant result, const fc::variants& a)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
|
||||||
|
auto balances = result.as<vector<account_balance_object>>();
|
||||||
|
for (const account_balance_object& balance: balances)
|
||||||
|
{
|
||||||
|
const account_object& account = get_account(balance.owner);
|
||||||
|
//ss << account.name << " " << std::string(balance.id) << " " << balance.balance.value << "\n";
|
||||||
|
ss << account.name << " " << std::string(balance.id) << " " << get_asset(balance.asset_type).amount_to_pretty_string(balance.balance) << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return ss.str();
|
||||||
|
};
|
||||||
|
|
||||||
m["get_blind_balances"] = [this](variant result, const fc::variants& a)
|
m["get_blind_balances"] = [this](variant result, const fc::variants& a)
|
||||||
{
|
{
|
||||||
auto r = result.as<vector<asset>>();
|
auto r = result.as<vector<asset>>();
|
||||||
|
|
@ -3328,7 +3343,7 @@ vector<operation_detail> wallet_api::get_account_history(string name, int limit)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<account_id_type> wallet_api::list_core_accounts()const
|
vector<account_balance_object> wallet_api::list_core_accounts()const
|
||||||
{
|
{
|
||||||
return my->_remote_hist->list_core_accounts();
|
return my->_remote_hist->list_core_accounts();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue