fix: [L04] updatedRelayerFeePct can be lower than expected #254
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
From Audit
In the SpokePool contract, the speedUpDeposit function performs the following check on
the updatedRelayerFeePct variable:
require(updatedRelayerFeePct < 0.5e18, "invalid relayer fee");
Unlike the equivalent check in the deposit function, in this case the SignedMath.abs
function is not used, which allows the updatedRelayerFeePct value to reach or go below
the lower limit of -0.5e18 . An attempt by the relayer to fill this request will be rejected by the
_fillRelay function's fee check.
Consider using the SignedMath.abs function to ensure the updatedRelayerFeePct
argument provided to speedUpDeposit is within the expected limits.