Currently the burnSignal contract burns funds as follows:
Whenever funds are received on one of the VoteOptions contracts via the receive() function, two things happen:
There are two issues/areas for improvement with this approach:
- This burn transfer happens on every deposit, adding an additional transaction to the network for each vote
- The additional gas cost is incurred by the voter (roughly doubled since we are executing an extra transaction)
What should happen:
Currently the burnSignal contract burns funds as follows:
Whenever funds are received on one of the
VoteOptionscontracts via thereceive()function, two things happen:BurnedDepositevent when successful (see https://github.com/Tomasvrba/burnSignalContracts/blob/burn-address/burnSignal.sol#L25)There are two issues/areas for improvement with this approach:
What should happen: