Skeleton of Peerplays network listener
This commit is contained in:
parent
b927ffa4d0
commit
992b245d5b
3 changed files with 28 additions and 3 deletions
|
|
@ -23,6 +23,8 @@ public:
|
|||
private:
|
||||
|
||||
void handle_event( const std::string& event_data );
|
||||
void on_block_applied(const signed_block& b);
|
||||
void on_changed_objects(const vector<object_id_type>& changed_object_ids);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -47,8 +47,6 @@ class peerplays_sidechain_plugin_impl
|
|||
void recreate_primary_wallet();
|
||||
void process_deposits();
|
||||
//void process_withdrawals();
|
||||
void on_block_applied( const signed_block& b );
|
||||
void on_objects_new(const vector<object_id_type>& new_object_ids);
|
||||
|
||||
private:
|
||||
peerplays_sidechain_plugin& plugin;
|
||||
|
|
@ -62,6 +60,9 @@ class peerplays_sidechain_plugin_impl
|
|||
std::set<chain::son_id_type> _sons;
|
||||
fc::future<void> _heartbeat_task;
|
||||
|
||||
void on_block_applied( const signed_block& b );
|
||||
void on_objects_new(const vector<object_id_type>& new_object_ids);
|
||||
|
||||
};
|
||||
|
||||
peerplays_sidechain_plugin_impl::peerplays_sidechain_plugin_impl(peerplays_sidechain_plugin& _plugin) :
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ namespace graphene { namespace peerplays_sidechain {
|
|||
sidechain_net_handler_peerplays::sidechain_net_handler_peerplays(peerplays_sidechain_plugin& _plugin, const boost::program_options::variables_map& options) :
|
||||
sidechain_net_handler(_plugin, options) {
|
||||
sidechain = sidechain_type::peerplays;
|
||||
plugin.database().applied_block.connect( [&] (const signed_block& b) { on_block_applied(b); } );
|
||||
plugin.database().changed_objects.connect( [&] (const vector<object_id_type>& ids, const flat_set<account_id_type>& impacted_accounts) { on_changed_objects(ids); } );
|
||||
}
|
||||
|
||||
sidechain_net_handler_peerplays::~sidechain_net_handler_peerplays() {
|
||||
|
|
@ -47,9 +49,29 @@ std::string sidechain_net_handler_peerplays::send_transaction( const std::string
|
|||
}
|
||||
|
||||
void sidechain_net_handler_peerplays::handle_event( const std::string& event_data ) {
|
||||
ilog("peerplays sidechain plugin: sidechain_net_handler_bitcoin::handle_event");
|
||||
ilog("peerplays sidechain plugin: sidechain_net_handler_peerplays::handle_event");
|
||||
ilog(" event_data: ${event_data}", ("event_data", event_data));
|
||||
}
|
||||
|
||||
void sidechain_net_handler_peerplays::on_block_applied(const signed_block& b) {
|
||||
for (const auto& trx: b.transactions) {
|
||||
for (auto op: trx.operations) {
|
||||
ilog("sidechain_net_handler_peerplays: operation detected ${op}", ("op", op));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sidechain_net_handler_peerplays::on_changed_objects(const vector<object_id_type>& changed_object_ids) {
|
||||
for (auto object_id: changed_object_ids) {
|
||||
const object* obj = plugin.database().find_object(object_id);
|
||||
|
||||
const chain::account_balance_object * abo = dynamic_cast<const chain::account_balance_object*>(obj);
|
||||
if (abo != nullptr) {
|
||||
ilog("sidechain_net_handler_peerplays: account_balance_object changed, id ${id}", ("id", abo->id));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} } // graphene::peerplays_sidechain
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue