Supported Tokens

Overall ERC20 tokens are supported by the PoolGuardian, while there are some tokens that should not be deposited into the pools:

  • Rebasing tokens are not directly supported. Since rebasing is just a visual (psychological) trick rather than an actual feature, direct support was not added. However, most rebasing tokens could easily be wrapped exposing the underlying balances as an ERC20 token. These could be deposited into the pools with no drama.

  • Tokens where a single 'unit' has significant value. Due to rounding and gas optimizations, it is possible to craft transactions that will give you 'free' units of a token. In the case of a token, such as $IPISTR, with 18 decimals, this would be worth about $0.00000000000000001. As long as gas costs are more than this, it’s safe. In the case of WBTC, 1 unit is about $0.00033, which still has a safety margin of about 4 orders of magnitude. There may however be some tokens with low or no decimals and a high value that should not be added to the pools.

  • Tokens where the totalSupply in token units is greater than uint128, which is about 38 decimals. With a maximum of 18 decimals normally used, this would still allow for a totalSupply of 100.000.000.000.000.000.000, which is more than enough. While ERC20 supports uint256, this limit was added to safe on gas.