#include #include #include namespace graphene { namespace peerplays_sidechain { sidechain_net_handler::sidechain_net_handler(peerplays_sidechain_plugin &_plugin, const boost::program_options::variables_map& options) : plugin( _plugin ) { } sidechain_net_handler::~sidechain_net_handler() { } graphene::chain::database& sidechain_net_handler::get_database() { return plugin.database(); } std::vector sidechain_net_handler::get_sidechain_addresses() { std::vector result; switch (sidechain) { case sidechain_type::bitcoin: { const auto& sidechain_addresses_idx = get_database().get_index_type(); const auto& sidechain_addresses_by_sidechain_idx = sidechain_addresses_idx.indices().get(); const auto& sidechain_addresses_by_sidechain_range = sidechain_addresses_by_sidechain_idx.equal_range(sidechain); std::for_each(sidechain_addresses_by_sidechain_range.first, sidechain_addresses_by_sidechain_range.second, [&result] (const sidechain_address_object& sao) { result.push_back(sao.address); }); break; } default: assert(false); } return result; } } } // graphene::peerplays_sidechain