обменять токен bet20 на токен bep20, как не включенный в список, так и бесполезный

Вот в чем дело: у меня старый bep20 ничего не стоит, со смартконтрактом были некоторые проблемы, поэтому я решил создать новый bep20, и, очевидно, мне нужны держатели старого bep20, чтобы получить новый.

Решения могут быть чем-то вроде контракта на обмен, где люди могут просто поменять токен A на токен B. Я попытался развернуть следующий контракт, но есть ошибка, люди могут менять местами неограниченное количество раз :(

Вот код, но любая идея, любая помощь приветствуется, пожалуйста:

      import 'ERC20.sol`;

contract NewToken{
    ERC20 public oldToken;
    address public addressToIgnore;

    function NewToken(address _oldTokenAdddress, address _addressToIgnore){
        oldTokenAddress=_oldTokenAddress;
        addressToIgnore=_addressToIgnore;
    }

    function upgradeTokens(uint amountToUpgrade){
        require(amountToUpgrade<=oldToken.balanceOf(msg.sender));
        require(amountToUpgrade<=allowance(msg.sender, this));
        require(msg.sender!=addressToIgnore);
        if(transferFrom(msg.sender, 0x0, amountToUpgrade)){
            //Mint the new tokens
        }
    }
}

0 ответов

Другие вопросы по тегам