diff --git a/libraries/plugins/peerplays_sidechain/bitcoin_utils.cpp b/libraries/plugins/peerplays_sidechain/bitcoin_utils.cpp index c835b877..64a934a0 100644 --- a/libraries/plugins/peerplays_sidechain/bitcoin_utils.cpp +++ b/libraries/plugins/peerplays_sidechain/bitcoin_utils.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -763,10 +764,7 @@ std::string get_weighted_multisig_address(const std::vector> key_data; for (auto p : public_keys) { fc::ecc::public_key_data kd; - for (uint32_t i = 0; i < p.first.length(); i += 2) { - std::string byte_str = p.first.substr(i, 2); - kd.data[i / 2] = (char)std::strtol(byte_str.c_str(), NULL, 16); - } + fc::from_hex(p.first, kd.begin(), kd.size()); key_data.push_back(std::make_pair(fc::ecc::public_key(kd), p.second)); } bytes redeem_script = generate_redeem_script(key_data);