There are some advanced functions that were recently added in the ERC20 token implementations. However, these functions are not part of the ERC20 standard APIs. These functions are just added to improve usage and reduce security issues and attacks. If you are writing decentralized or centralized exchanges, these functions should not be taken as part of the ERC20 standard as these functions may not be found in all of the ERC20 standard token implementations.
In the new OpenZeppelin implementation of ERC20 contracts, there are more functions such as _mint(), _burn(), and _burnFrom() that were also added. We will look into those functions in detail in Chapter 9, Deep Dive into the OpenZeppelin Library.
As we have seen when we talked about the approve() function, it's possible to attack the function using front-running techniques. By using the...