parent
					
						
							
								608b4c4765
							
						
					
				
			
			
				commit
				
					
						d9af3a4283
					
				
			
		
					 3 changed files with 39 additions and 0 deletions
				
			
		| 
						 | 
					@ -906,6 +906,26 @@ void nano::json_handler::accounts_balances ()
 | 
				
			||||||
	response_errors ();
 | 
						response_errors ();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void nano::json_handler::accounts_representatives ()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						boost::property_tree::ptree representatives;
 | 
				
			||||||
 | 
						for (auto & accounts : request.get_child ("accounts"))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							auto account (account_impl (accounts.second.data ()));
 | 
				
			||||||
 | 
							auto transaction (node.store.tx_begin_read ());
 | 
				
			||||||
 | 
							auto info (account_info_impl (transaction, account));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (!ec)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								boost::property_tree::ptree entry;
 | 
				
			||||||
 | 
								entry.put ("", info.representative.to_account ());
 | 
				
			||||||
 | 
								representatives.push_back (std::make_pair (accounts.second.data (), entry));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						response_l.add_child ("representatives", representatives);
 | 
				
			||||||
 | 
						response_errors ();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void nano::json_handler::accounts_create ()
 | 
					void nano::json_handler::accounts_create ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	node.workers.push_task (create_worker_task ([] (std::shared_ptr<nano::json_handler> const & rpc_l) {
 | 
						node.workers.push_task (create_worker_task ([] (std::shared_ptr<nano::json_handler> const & rpc_l) {
 | 
				
			||||||
| 
						 | 
					@ -5167,6 +5187,7 @@ ipc_json_handler_no_arg_func_map create_ipc_json_handler_no_arg_func_map ()
 | 
				
			||||||
	no_arg_funcs.emplace ("account_representative_set", &nano::json_handler::account_representative_set);
 | 
						no_arg_funcs.emplace ("account_representative_set", &nano::json_handler::account_representative_set);
 | 
				
			||||||
	no_arg_funcs.emplace ("account_weight", &nano::json_handler::account_weight);
 | 
						no_arg_funcs.emplace ("account_weight", &nano::json_handler::account_weight);
 | 
				
			||||||
	no_arg_funcs.emplace ("accounts_balances", &nano::json_handler::accounts_balances);
 | 
						no_arg_funcs.emplace ("accounts_balances", &nano::json_handler::accounts_balances);
 | 
				
			||||||
 | 
						no_arg_funcs.emplace ("accounts_representatives", &nano::json_handler::accounts_representatives);
 | 
				
			||||||
	no_arg_funcs.emplace ("accounts_create", &nano::json_handler::accounts_create);
 | 
						no_arg_funcs.emplace ("accounts_create", &nano::json_handler::accounts_create);
 | 
				
			||||||
	no_arg_funcs.emplace ("accounts_frontiers", &nano::json_handler::accounts_frontiers);
 | 
						no_arg_funcs.emplace ("accounts_frontiers", &nano::json_handler::accounts_frontiers);
 | 
				
			||||||
	no_arg_funcs.emplace ("accounts_pending", &nano::json_handler::accounts_pending);
 | 
						no_arg_funcs.emplace ("accounts_pending", &nano::json_handler::accounts_pending);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,6 +40,7 @@ public:
 | 
				
			||||||
	void account_representative_set ();
 | 
						void account_representative_set ();
 | 
				
			||||||
	void account_weight ();
 | 
						void account_weight ();
 | 
				
			||||||
	void accounts_balances ();
 | 
						void accounts_balances ();
 | 
				
			||||||
 | 
						void accounts_representatives ();
 | 
				
			||||||
	void accounts_create ();
 | 
						void accounts_create ();
 | 
				
			||||||
	void accounts_frontiers ();
 | 
						void accounts_frontiers ();
 | 
				
			||||||
	void accounts_pending ();
 | 
						void accounts_pending ();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2973,6 +2973,23 @@ TEST (rpc, accounts_balances)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST (rpc, accounts_representatives)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						nano::system system;
 | 
				
			||||||
 | 
						auto node = add_ipc_enabled_node (system);
 | 
				
			||||||
 | 
						auto [rpc, rpc_ctx] = add_rpc (system, node);
 | 
				
			||||||
 | 
						boost::property_tree::ptree request;
 | 
				
			||||||
 | 
						request.put ("action", "accounts_representatives");
 | 
				
			||||||
 | 
						boost::property_tree::ptree entry;
 | 
				
			||||||
 | 
						boost::property_tree::ptree accounts;
 | 
				
			||||||
 | 
						entry.put ("", nano::dev::genesis_key.pub.to_account ());
 | 
				
			||||||
 | 
						accounts.push_back (std::make_pair ("", entry));
 | 
				
			||||||
 | 
						request.add_child ("accounts", accounts);
 | 
				
			||||||
 | 
						auto response (wait_response (system, rpc, request));
 | 
				
			||||||
 | 
						auto response_representative (response.get_child("representatives").get<std::string>(nano::dev::genesis->account ().to_account ()));
 | 
				
			||||||
 | 
						ASSERT_EQ (response_representative, nano::dev::genesis->account ().to_account ());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST (rpc, accounts_frontiers)
 | 
					TEST (rpc, accounts_frontiers)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	nano::system system;
 | 
						nano::system system;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue