Bugfix for BlockReward contract exception


#1

Dear xDai chain validators,

we’ve been working on a possible parity bug https://github.com/paritytech/parity-ethereum/issues/9764 observed on some nodes. It seems that parity sometimes incorrectly sends zero address as a block author address to the BlockReward contract.

The solution we found is to change RewardByBlock contract to let it gracefully handle these unexpected input parameters. Here is the Pull Request with actual changes: https://github.com/poanetwork/poa-network-consensus-contracts/pull/205

To update current RewardByBlock implementation would require:

  1. create a ballot to change implementation of ProxyStorage contract to allow us to change RewardByBlock implementation
  2. after p.1 is done, create a ballot to change implementation of RewardByBlock contract that contains the actual fix

This solution was previously successfully tested on Sokol test network (see Bugfix test on Sokol testnet (step 1) and Bugfix test on Sokol testnet (step 2))

The ballot for p.1 on xDai chain is submitted now:

Please cast your votes on https://voting.poa.network/poa-dapps-voting (don’t forget to connect to xDai chain RPC endpoint in MetaMask/NiftyWallet and select your xDai Voting key).


#2

The first ballot was successfully approved. Now the second ballot is submitted: