-
Notifications
You must be signed in to change notification settings - Fork 24
Future fees may be skirted by setting a non-ETH reward token #74
Description
Fees are planned to be implemented on the rewardRecipient splitter by updating to a new fee structure using the ImmutableSplitController.
It is assumed that all rewards will flow through the splitter, because (a) all distributed rewards less than 16 ETH are sent to the rewardRecipient, and (b) even if a team waited for rewards to be greater than 16 ETH, rewards sent to the principalRecipient are capped at the amountOfPrincipalStake.
This creates a fairly strong guarantee that reward funds will flow to the rewardRecipient. Even if a user were to set their amountOfPrincipalStake high enough that the principalRecipient could receive unlimited funds, the Obol team could call distributeFunds() when the balance got near 16 ETH to ensure fees were paid.
However, if the user selects a non-ETH token, all ETH will be withdrawable only thorugh the recoverFunds() function. If they set up a split with their node operators as their recoveryAddress, all funds will be withdrawable via recoverFunds() without ever touching the rewardRecipient or paying a fee.
Recommendation
I would recommend removing the ability to use a non-ETH token from the OptimisticWithdrawalRecipient. Alternatively, if it feels like it may be a use case that is needed, it may make sense to always include ETH as a valid token, in addition to any OWRToken set.