将 bet20 代币换成 bep20 代币,既不上市也不值钱

时间:2021-05-17 15:34:40

标签: ethereum solidity cryptocurrency binance 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 个答案:

没有答案