20 lines
666 B
ReStructuredText
20 lines
666 B
ReStructuredText
###############################
|
|
Exceptional ERC20s
|
|
###############################
|
|
|
|
Some ERC20s have unique behavior that may require extra handling. We document these here as they are discovered.
|
|
|
|
Assert vs Require
|
|
-----------------
|
|
These ERC20's use `assert` instead of `require`, which means that if the token reverts then (nearly) all
|
|
of the gas from your transaction will be consumed. Specifically, you are left with 1/64 of the gas limit.
|
|
Be mindful of this when implementing fallback logic; for example, if a call to `transferFrom` reverts then
|
|
note you will only have 1/64 of the gas limit to handle the exception.
|
|
|
|
Known tokens:
|
|
|
|
- KNC
|
|
- LINK
|
|
- sUSD
|
|
- USDT
|