The onTokenTransfer
function lacks a mechanism to restrict the number of tokens mintable in a single transaction.
When an investor tries to receive or distribute the tokens in the WrappedTokenBridge
/SDLPoolPrimary
/SDLPoolSecondary
contracts, the onTokenTransfer
function does not allow to limit the amount of tokens that can be minted during the particular transaction. Because of that, limiting the allowance won’t help, so the user doesn’t know how many tokens can be bought.
The owner of the price oracle can front-run the transaction and twist the price.
Manual Review
Since you cannot add an extra argument to this function, the minimal token amount is optionally added to the _calldata
parameter. This parameter became a bit complicated and remains optional. So, the result of the direct token transfer with empty _data can theoretically be manipulated by the owner.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.