将 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
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...