Follow required transaction signatures order

This commit is contained in:
Srdjan Obucina 2020-03-20 21:02:36 +01:00
parent 3745d3fba2
commit d185fe36c3

View file

@ -271,6 +271,16 @@ void sidechain_net_handler::process_sidechain_transactions() {
std::for_each(idx_range.first, idx_range.second, [&](const sidechain_transaction_object &sto) {
ilog("Sidechain transaction to process: ${sto}", ("sto", 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())) {
bool complete = false;
std::string processed_sidechain_tx = process_sidechain_transaction(sto, complete);
@ -294,6 +304,7 @@ void sidechain_net_handler::process_sidechain_transactions() {
} catch (fc::exception e) {
ilog("sidechain_net_handler: sending proposal for sidechain transaction sign operation failed with exception ${e}", ("e", e.what()));
}
}
});
}