The PreMarkets and TokenManager contracts are intended to be compatible with "any token that follows the ERC20 standard," according to the documentation.
However, some tokens that adhere to the ERC20 standard have additional features that can lead to fund loss, such as fee-on-transfer tokens and rebasing tokens (e.g. STA, PAXG etc).
Here are the different call flows for managing funds in the protocol:
The _transfer() function is incompatible with fee-on-transfer and rebasing tokens and will always revert:
The _safe_transfer_from() function is a standard transferFrom() function and will lead to a loss of funds when users try to withdraw their ERC20 tokens:
Incompatibility with standard ERC20 tokens can lead to a loss of funds for users and disrupt the protocol's functionality when the admin attempts to add ERC20 standard fee-on-transfer or rebasing tokens to the whitelist.
Do not allow fee-on-transfer or rebasing tokens in the whitelist, and therefore, do not claim compatibility with "any token that follows the ERC20 standard".
Valid medium, there are disruptions to the ability to take market actions. The following functions will be disrupted without the possibiliy of reaching settlement, since the respective offers cannot be created/listed regardless of mode when transferring collateral token required to the CapitalPool contract or when refunding token from user to capital pool during relisting. So withdrawal is not an issue - `createOffer()` - reverts [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/PreMarkets.sol#L96-L102) - `listOffer()` - reverts [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/PreMarkets.sol#L355-L362) - `relistOffer()` - reverts [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/PreMarkets.sol#L515-L521) - `createTaker()` - reverts [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/PreMarkets.sol#L831-L836) I believe medium severity is appropriate although the likelihood is high and impact is medium (only some level of disruption i.e. FOT tokens not supported and no funds at risk)
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.