Skip to content

Latest commit

 

History

History
executable file
·
42 lines (20 loc) · 1.35 KB

YiTongCoin.md

File metadata and controls

executable file
·
42 lines (20 loc) · 1.35 KB

YiTongCoin

https://etherscan.io/address/0xdf07fa1b102c00124e96f18ea612bbbe553f50e1#code

    /// @notice Create `mintedAmount` tokens and send it to `target`
    /// @param target Address to receive the tokens
    /// @param mintedAmount the amount of tokens it will receive
    function mintToken(address target, uint256 mintedAmount) onlyOwner public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        Transfer(0, this, mintedAmount);
        Transfer(this, target, mintedAmount);
    }

The YiTongCoin could be arbitrary minted by its creator in function mintToken(). The balanceOf[target] and mintedAmount are a defined as uint, so oprator '+' would definitely result in an integer overflow.

Simulated on Remix:

The owner of the contract could mintToken arbitary amout of (for example 0x8000000000000000000000000000000000000000000000000000000000000000 Wei) subconcurrency YiTongCoin to an arbitary user.

If the owner of the contract mintToken another 0x8000000000000000000000000000000000000000000000000000000000000000 YiTongCoin to the user again, integer overflow happened which make balanceOf this user to be 0.

And actually the owner of the contract could control the balance of an arbitary user to be an aribitary value.