Sablier

Sablier
DeFiFoundry
53,440 USDC
View results
Submission Details
Severity: low
Invalid

Incompatible with fee on transfer tokens

Summary

The protocol is not compatible with fee-on-transfer tokens.

Vulnerability Details

For example, in the SablierV2LockupTranched::_create() function, the createAmounts.deposit is saved to the stream, L233:

stream.amounts.deposited = createAmounts.deposit;

And the depositor transfers createAmounts.deposit amount of asset token to the contract.

params.asset.safeTransferFrom({ from: msg.sender, to: address(this), value: createAmounts.deposit });

If the asset is a fee-on-transfer token, the token amount received by the contract is less than createAmounts.deposit due to the transfer fee.

Impact

The stream would have insufficient tokent to distribute.

Tools Used

vscode

Recommendations

Update the relavant codes and track the token amount the contract received.

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Known issue
Assigned finding tags:

Known - Contest Details

https://www.codehawks.com/contests/clvb9njmy00012dqjyaavpl44

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.