Интерфейс ERC20 не является частью кода. Это соглашение среди программистов о том, как должен выглядеть контракт.
Соглашение между группами программистов обычно называют «стандартным». Вот почему ERC20 часто называют стандартом токенов.
В коде стандарт реализован в виде интерфейса, так что компилятор может проверять, соответствовали ли вы стандарту.
Если вы измените интерфейс, вы измените стандарт. Поэтому то, что вы запрограммировали, больше не является токеном ERC20. Поэтому неудивительно, что другое программное обеспечение отказывается принимать смарт-контракт в качестве токена ERC20, поскольку это не токен ERC20.
Если вы хотите внести изменения
Следует отметить, что интерфейсы обеспечивают только то, что ДОЛЖНО быть реализовано. Нет никаких ограничений на любые функции, которые вы хотите добавить. Так что вы можете добавить specialTransfer()
функцию, если хотите.