From 75106ee5e81b6bd0d4b4066d5e719013fc81d66f Mon Sep 17 00:00:00 2001 From: Srdjan Obucina Date: Wed, 27 Nov 2019 02:22:24 +0100 Subject: [PATCH] Fix build error --- .../sidechain_net_handler_bitcoin.hpp | 6 +- .../sidechain_net_handler_bitcoin.cpp | 216 +++++++++--------- 2 files changed, 111 insertions(+), 111 deletions(-) diff --git a/libraries/plugins/peerplays_sidechain/include/graphene/peerplays_sidechain/sidechain_net_handler_bitcoin.hpp b/libraries/plugins/peerplays_sidechain/include/graphene/peerplays_sidechain/sidechain_net_handler_bitcoin.hpp index 79e6cf17..a8c3069b 100644 --- a/libraries/plugins/peerplays_sidechain/include/graphene/peerplays_sidechain/sidechain_net_handler_bitcoin.hpp +++ b/libraries/plugins/peerplays_sidechain/include/graphene/peerplays_sidechain/sidechain_net_handler_bitcoin.hpp @@ -59,11 +59,11 @@ public: sidechain_net_handler_bitcoin(const boost::program_options::variables_map& options); virtual ~sidechain_net_handler_bitcoin(); - void update_tx_infos( const std::string& block_hash ); + //void update_tx_infos( const std::string& block_hash ); - void update_tx_approvals(); + //void update_tx_approvals(); - void update_estimated_fee(); + //void update_estimated_fee(); //void send_btc_tx( const sidechain::bitcoin_transaction& trx ); diff --git a/libraries/plugins/peerplays_sidechain/sidechain_net_handler_bitcoin.cpp b/libraries/plugins/peerplays_sidechain/sidechain_net_handler_bitcoin.cpp index b1ecb56d..85c23b4a 100644 --- a/libraries/plugins/peerplays_sidechain/sidechain_net_handler_bitcoin.cpp +++ b/libraries/plugins/peerplays_sidechain/sidechain_net_handler_bitcoin.cpp @@ -36,29 +36,29 @@ std::string bitcoin_rpc_client::receive_full_block( const std::string& block_has return std::string( reply.body.begin(), reply.body.end() ); } -int32_t bitcoin_rpc_client::receive_confirmations_tx( const std::string& tx_hash ) -{ - const auto body = std::string("{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getrawtransaction\", \"params\": [") + - std::string("\"") + tx_hash + std::string("\"") + ", " + "true" + std::string("] }"); - - const auto reply = send_post_request( body ); - - if ( reply.status != 200 ) - return 0; - - const auto result = std::string( reply.body.begin(), reply.body.end() ); - - std::stringstream ss( result ); - boost::property_tree::ptree tx; - boost::property_tree::read_json( ss, tx ); - - if( tx.count( "result" ) ) { - if( tx.get_child( "result" ).count( "confirmations" ) ) { - return tx.get_child( "result" ).get_child( "confirmations" ).get_value(); - } - } - return 0; -} +//int32_t bitcoin_rpc_client::receive_confirmations_tx( const std::string& tx_hash ) +//{ +// const auto body = std::string("{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getrawtransaction\", \"params\": [") + +// std::string("\"") + tx_hash + std::string("\"") + ", " + "true" + std::string("] }"); +// +// const auto reply = send_post_request( body ); +// +// if ( reply.status != 200 ) +// return 0; +// +// const auto result = std::string( reply.body.begin(), reply.body.end() ); +// +// std::stringstream ss( result ); +// boost::property_tree::ptree tx; +// boost::property_tree::read_json( ss, tx ); +// +// if( tx.count( "result" ) ) { +// if( tx.get_child( "result" ).count( "confirmations" ) ) { +// return tx.get_child( "result" ).get_child( "confirmations" ).get_value(); +// } +// } +// return 0; +//} bool bitcoin_rpc_client::receive_mempool_entry_tx( const std::string& tx_hash ) { @@ -212,45 +212,45 @@ sidechain_net_handler_bitcoin::sidechain_net_handler_bitcoin(const boost::progra sidechain_net_handler_bitcoin::~sidechain_net_handler_bitcoin() { } -void sidechain_net_handler_bitcoin::update_tx_infos( const std::string& block_hash ) -{ - std::string block = bitcoin_client->receive_full_block( block_hash ); - if( block != "" ) { - const auto& vins = extract_info_from_block( block ); - const auto& addr_idx = db->get_index_type().indices().get(); - for( const auto& v : vins ) { - const auto& addr_itr = addr_idx.find( v.address ); - FC_ASSERT( addr_itr != addr_idx.end() ); - db->i_w_info.insert_info_for_vin( prev_out{ v.out.hash_tx, v.out.n_vout, v.out.amount }, v.address, addr_itr->address.get_witness_script() ); - } - } -} +//void sidechain_net_handler_bitcoin::update_tx_infos( const std::string& block_hash ) +//{ +// std::string block = bitcoin_client->receive_full_block( block_hash ); +// if( block != "" ) { +// const auto& vins = extract_info_from_block( block ); +// const auto& addr_idx = db->get_index_type().indices().get(); +// for( const auto& v : vins ) { +// const auto& addr_itr = addr_idx.find( v.address ); +// FC_ASSERT( addr_itr != addr_idx.end() ); +// db->i_w_info.insert_info_for_vin( prev_out{ v.out.hash_tx, v.out.n_vout, v.out.amount }, v.address, addr_itr->address.get_witness_script() ); +// } +// } +//} -void sidechain_net_handler_bitcoin::update_tx_approvals() -{ - std::vector trx_for_check; - const auto& confirmations_num = db->get_sidechain_params().confirmations_num; +//void sidechain_net_handler_bitcoin::update_tx_approvals() +//{ +// std::vector trx_for_check; +// const auto& confirmations_num = db->get_sidechain_params().confirmations_num; +// +// db->bitcoin_confirmations.safe_for([&]( btc_tx_confirmations_index::iterator itr_b, btc_tx_confirmations_index::iterator itr_e ){ +// for(auto iter = itr_b; iter != itr_e; iter++) { +// db->bitcoin_confirmations.modify( iter->transaction_id, [&]( bitcoin_transaction_confirmations& obj ) { +// obj.count_block++; +// }); +// +// if( iter->count_block == confirmations_num ) { +// trx_for_check.push_back( iter->transaction_id ); +// } +// } +// }); +// +// update_transaction_status( trx_for_check ); +// +//} - db->bitcoin_confirmations.safe_for([&]( btc_tx_confirmations_index::iterator itr_b, btc_tx_confirmations_index::iterator itr_e ){ - for(auto iter = itr_b; iter != itr_e; iter++) { - db->bitcoin_confirmations.modify( iter->transaction_id, [&]( bitcoin_transaction_confirmations& obj ) { - obj.count_block++; - }); - - if( iter->count_block == confirmations_num ) { - trx_for_check.push_back( iter->transaction_id ); - } - } - }); - - update_transaction_status( trx_for_check ); - -} - -void sidechain_net_handler_bitcoin::update_estimated_fee() -{ - db->estimated_feerate = bitcoin_client->receive_estimated_fee(); -} +//void sidechain_net_handler_bitcoin::update_estimated_fee() +//{ +// db->estimated_feerate = bitcoin_client->receive_estimated_fee(); +//} //void sidechain_net_handler_bitcoin::send_btc_tx( const sidechain::bitcoin_transaction& trx ) //{ @@ -274,9 +274,9 @@ bool sidechain_net_handler_bitcoin::connection_is_not_defined() const void sidechain_net_handler_bitcoin::handle_block( const std::string& block_hash ) { ilog("peerplays sidechain plugin: sidechain_net_handler_bitcoin::handle_block"); ilog(" block_hash: ${block_hash}", ("block_hash", block_hash)); - update_tx_approvals(); - update_estimated_fee(); - update_tx_infos( block_hash ); + //update_tx_approvals(); + //update_estimated_fee(); + //update_tx_infos( block_hash ); } //std::vector sidechain_net_handler_bitcoin::extract_info_from_block( const std::string& _block ) @@ -315,52 +315,52 @@ void sidechain_net_handler_bitcoin::handle_block( const std::string& block_hash // return result; //} -void sidechain_net_handler_bitcoin::update_transaction_status( std::vector trx_for_check ) -{ - const auto& confirmations_num = db->get_sidechain_params().confirmations_num; +//void sidechain_net_handler_bitcoin::update_transaction_status( std::vector trx_for_check ) +//{ +// const auto& confirmations_num = db->get_sidechain_params().confirmations_num; +// +// for( const auto& trx : trx_for_check ) { +// auto confirmations = bitcoin_client->receive_confirmations_tx( trx.str() ); +// db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { +// obj.count_block = confirmations; +// }); +// +// if( confirmations >= confirmations_num ) { +// db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { +// obj.confirmed = true; +// }); +// +// } else if( confirmations == 0 ) { +// auto is_in_mempool = bitcoin_client->receive_mempool_entry_tx( trx.str() ); +// +// std::set valid_vins; +// if( !is_in_mempool ) { +// valid_vins = get_valid_vins( trx.str() ); +// } +// +// db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { +// obj.missing = !is_in_mempool; +// obj.valid_vins = valid_vins; +// }); +// } +// } +//} - for( const auto& trx : trx_for_check ) { - auto confirmations = bitcoin_client->receive_confirmations_tx( trx.str() ); - db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { - obj.count_block = confirmations; - }); - - if( confirmations >= confirmations_num ) { - db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { - obj.confirmed = true; - }); - - } else if( confirmations == 0 ) { - auto is_in_mempool = bitcoin_client->receive_mempool_entry_tx( trx.str() ); - - std::set valid_vins; - if( !is_in_mempool ) { - valid_vins = get_valid_vins( trx.str() ); - } - - db->bitcoin_confirmations.modify( trx, [&]( bitcoin_transaction_confirmations& obj ) { - obj.missing = !is_in_mempool; - obj.valid_vins = valid_vins; - }); - } - } -} - -std::set sidechain_net_handler_bitcoin::get_valid_vins( const std::string tx_hash ) -{ - const auto& confirmations_obj = db->bitcoin_confirmations.find( fc::sha256( tx_hash ) ); - FC_ASSERT( confirmations_obj.valid() ); - - std::set valid_vins; - for( const auto& v : confirmations_obj->valid_vins ) { - auto confirmations = bitcoin_client->receive_confirmations_tx( v.str() ); - if( confirmations == 0 ) { - continue; - } - valid_vins.insert( v ); - } - return valid_vins; -} +//std::set sidechain_net_handler_bitcoin::get_valid_vins( const std::string tx_hash ) +//{ +// const auto& confirmations_obj = db->bitcoin_confirmations.find( fc::sha256( tx_hash ) ); +// FC_ASSERT( confirmations_obj.valid() ); +// +// std::set valid_vins; +// for( const auto& v : confirmations_obj->valid_vins ) { +// auto confirmations = bitcoin_client->receive_confirmations_tx( v.str() ); +// if( confirmations == 0 ) { +// continue; +// } +// valid_vins.insert( v ); +// } +// return valid_vins; +//} // Removes dot from amount output: "50.00000000" inline uint64_t sidechain_net_handler_bitcoin::parse_amount(std::string raw) {