Skip to content

Commit

Permalink
Merge pull request #317 from fioprotocol/feature/proxyvotepow_fiocont…
Browse files Browse the repository at this point in the history
…racts_develop_09202023

BD-4597 voting bug fix
  • Loading branch information
edrotthoff authored Oct 6, 2023
2 parents 0f15ccc + 64a145b commit b320fba
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion contracts/fio.system/src/voting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1178,10 +1178,21 @@ namespace eosiosystem {
fio_400_assert((isproxy != pitr->is_proxy)|| !isproxy, "fio_address", fio_address,
"Already registered as proxy. ", ErrorPubAddressExist);
name nm;

if(pitr->proxy != nm){
auto pitr_old_proxy = votersbyowner.find(pitr->proxy.value);
if(pitr_old_proxy != votersbyowner.end())
{
votersbyowner.modify(pitr_old_proxy, same_payer, [&](auto &vp) {
vp.proxied_vote_weight -= pitr->last_vote_weight;
});
propagate_weight_change(*pitr_old_proxy);
}
}

votersbyowner.modify(pitr, same_payer, [&](auto &p) {
p.fioaddress = fio_address;
p.addresshash = addresshash;
p.proxied_vote_weight = 0;
p.is_proxy = isproxy;
p.is_auto_proxy = false;
p.proxy = nm;
Expand Down

0 comments on commit b320fba

Please sign in to comment.