ETH Price: $3,573.84 (-2.80%)

Transaction Decoder

Block:
13813123 at Dec-16-2021 12:59:08 AM +UTC
Transaction Fee:
0.00381533321519235 ETH $13.64
Gas Used:
58,650 Gas / 65.052569739 Gwei

Emitted Events:

235 WCX.Transfer( _from=[Sender] 0xb9f73fe3618cc0016f7152124a0d48b476238eef, _to=0xbCE536b0Fe24194AB37D331e6B3B70D509e99020, _value=25000000000000000000000000 )

Account State Difference:

  Address   Before After State Difference Code
(F2Pool Old)
3,379.57377704702303821 Eth3,379.57386502202303821 Eth0.000087975
0xb9F73FE3...476238EEF
1.606788168514029548 Eth
Nonce: 12
1.602972835298837198 Eth
Nonce: 13
0.00381533321519235
0xC014186C...eb3934347

Execution Trace

WCX.transfer( _to=0xbCE536b0Fe24194AB37D331e6B3B70D509e99020, _value=25000000000000000000000000 ) => ( success=True )
transfer[Token (ln:27)]
pragma solidity >= 0.5.0;

contract SafeMath {
    function safeAdd(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x + y;
        assert((z >= x) && (z >= y));
        return z;
    }

    function safeSubtract(uint256 x, uint256 y) internal returns(uint256) {
        assert(x >= y);
        uint256 z = x - y;
        return z;
    }

    function safeMult(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x * y;
        assert((x == 0)||(z/x == y));
        return z;
    }

}

contract Token {
    uint256 public totalSupply;
    function balanceOf(address _owner) view public returns  (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) view public returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

}


contract StandardToken is Token , SafeMath {

    bool public status = true;
    modifier on() {
        require(status == true);
        _;
    }

    function transfer(address _to, uint256 _value) on public returns (bool success) {
        require(!frozenAccount[msg.sender]);
        require(!frozenAccount[_to]);
        if (balances[msg.sender] >= _value && _value > 0 && _to != address(0)) {
            balances[msg.sender] -= _value;
            balances[_to] = safeAdd(balances[_to],_value);
            emit Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value) on public returns (bool success) {
        require(!frozenAccount[_from]);
        require(!frozenAccount[_to]);
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
            balances[_to] = safeAdd(balances[_to],_value);
            balances[_from] = safeSubtract(balances[_from],_value);
            allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender],_value);
            emit Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function balanceOf(address _owner) on view public returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) on public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) on view public returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    mapping (address => bool) public frozenAccount;
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
}



contract WCX is StandardToken {
    string public name = "WeCoOwn Rewards";
    uint8 public decimals = 18;
    string public symbol = "WCX";
    bool private init =true;
    
    event Mint(address indexed to, uint value);
    event Burn(address indexed burner, uint256 value);
    event FrozenFunds(address target, bool frozen);
    
    
    function turnon() controller public {
        status = true;
    }
    function turnoff() controller public {
        status = false;
    }
    constructor() public {
        require(init==true);
        totalSupply = 100000000000*10**18;
        balances[0x528FE8Abf74CB2799D709585208fCF87CD505DCE] = totalSupply;
        init = false;
    }
    address public controllerAddress = 0x528FE8Abf74CB2799D709585208fCF87CD505DCE;

    modifier controller () {
        require(msg.sender == controllerAddress);
        _;
    }
    
    function mint(address _to, uint256 _amount) on controller public returns (bool) {
        totalSupply = safeAdd(totalSupply, _amount);
        balances[_to] = safeAdd(balances[_to], _amount);

        emit Mint(_to, _amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }
    
    function burn(uint256 _value) on public returns (bool success) {
        require(balances[msg.sender] >= _value);   // Check if the sender has enough
        balances[msg.sender] = safeSubtract(balances[msg.sender],_value);
        totalSupply = safeSubtract(totalSupply,_value);
        emit Burn(msg.sender, _value);
        return true;
    }
    
   
    function freezeAccount(address target, bool freeze) on controller public {
        frozenAccount[target] = freeze;
        emit FrozenFunds(target, freeze);
    }
}