Refactor transaction signing in particular order, BTC only (maybe) need it

This commit is contained in:
Srdjan Obucina 2020-03-21 03:23:04 +01:00
parent 68f246b955
commit 0a63eed265
2 changed files with 36 additions and 32 deletions

View file

@ -269,16 +269,6 @@ void sidechain_net_handler::process_sidechain_transactions() {
const auto &idx_range = idx.equal_range(std::make_tuple(sidechain, false));
std::for_each(idx_range.first, idx_range.second, [&](const sidechain_transaction_object &sto) {
son_id_type invalid_signer = son_id_type(0xFFFFFFFF);
son_id_type next_signer = invalid_signer;
for (auto &signer : sto.signers) {
if (signer.second == false) {
next_signer = signer.first;
break;
}
}
if ((next_signer != invalid_signer) && (next_signer == plugin.get_current_son_id())) {
ilog("Sidechain transaction to process: ${sto}", ("sto", sto));
bool complete = false;
@ -304,7 +294,6 @@ void sidechain_net_handler::process_sidechain_transactions() {
} catch (fc::exception e) {
elog("Sending proposal for sidechain transaction sign operation failed with exception ${e}", ("e", e.what()));
}
}
});
}

View file

@ -881,6 +881,21 @@ std::string sidechain_net_handler_bitcoin::process_withdrawal(const son_wallet_w
}
std::string sidechain_net_handler_bitcoin::process_sidechain_transaction(const sidechain_transaction_object &sto, bool &complete) {
//// Uncomment to get signing in order from sto.signers
//son_id_type invalid_signer = son_id_type(0xFFFFFFFF);
//son_id_type next_signer = invalid_signer;
//for (auto &signer : sto.signers) {
// if (signer.second == false) {
// next_signer = signer.first;
// break;
// }
//}
//
//if ((next_signer == invalid_signer) || (next_signer != plugin.get_current_son_id())) {
// return "";
//}
return sign_transaction(sto.transaction, complete);
}