Lines of code
<https://github.com/code-423n4/2023-08-livepeer/blob/a3d801fa4690119b6f96aeb5508e58d752bda5bc/contracts/bonding/BondingManager.sol#L1367>
The contract could incorrectly deactivate or reward transcoders based on the invalid pool order.
When decreasing a delegateβs stake with decreaseTotalStake(), the contract calls transcoderPool.updateKey() to update the delegateβs position in the pool. However, passing the _newPosPrev/_newPosNext hints does not guarantee correct ordering after the update.
Here is how an invalid order could occur:
Manual
Proper mitigations include doing a full sort after updates or maintaining a separate sorted list for validation.
Other
The text was updated successfully, but these errors were encountered:
All reactions