обменять токен 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
}
}
}