Livepeer team requested the LIP-25 proposal revision by auditing the Governor smart contract, the commit referenced for this audit is ac98605f78520b0ef43e31d0d20d0efbf2d32876.
-
Based on how each update is staged, if for some reason two calls are needed within a delay, the second one will fail. Even it is not part of the spec, a common usage as set regular payments won't be possible. This could be allowed by using a
nonce
allowing the same call to be staged more than once. -
An update can contain
value
on one or more calls (if it is a batch update). When an update is staged, there is no check of the sum of each value againstmsg.value
. If for some reason there is a mismatch between them, at the execution step, a call may fail or may use Ether from otherupdate
. Consider looping through the updates checking ifmsg.value == sum(update.value)
. Also, at the cancel stage the return of that Ether could be considered. Another alternative could be to addpayable
modifier to theexecute
function.