ETH Price: $1,610.29 (+0.80%)

Transaction Decoder

Block:
7752455 at May-13-2019 02:08:45 PM +UTC
Transaction Fee:
0.00777711 ETH $12.52
Gas Used:
777,711 Gas / 10 Gwei

Account State Difference:

  Address   Before After State Difference Code
(Spark Pool)
3,022.141305360029839284 Eth3,022.149082470029839284 Eth0.00777711
0xA38b7EE9...6Baa83A3D
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 37745037729066927382432291532470657468042104423053543638011310191327655732197755018438689612221181697949959032610071748923555181382791186715510439036904871840974246270126608554731929846079097796701566281503953161951519604307349643323211096975382656911958574566765189924346482170450227274616121880106318220859663040884224907793113827296104328607497844424600365962926846639443945823935138822448064699193930615169963030957566273643872694492436498382755780623371811427626984022225546048215069068539888634367720233692685239984582799229129473023829348026350851598846789383155849547692474452321753904981533718749186250999734048387874830157597812254956494880450832646133393329223839237371137868823403697441493826843303426462389993270590215299215173263546895049051253949938295955516798086769974864825331997502428670433179960021570452292755246323299071847638545145243194200467626532630633554050446228413574125132139153204389359007195372792209786237485471901661511526802088285784503939409460443349296963046531896273173483212075189844904983194252980059560816858297099627761212504973873775498242469565037280820458603485255909616554127633182697322022491025656604672636708803642406095272466475405960538569725970290352792159227185032238641732587568678912705975992009812684302372050331312495949315627327211084027459985814131889676677362813239414524018695793763698865426537256759527968767295298222007110757146355958698290474559982071402760462097591798501270463571388435668734517612460780852227095319128698349908335374478047595117592941739968298012222596373522338580885447813036470757493008797535135719301340117973476946091452295657170078066105273981696885058119110426885655373910695915653082330382048445737168520011229588359130054380297126188418065197606048158567316382521160254274591044774718818061486574163594947326496449685353146695866011646307069117154685570023666601324192065100761759812303633880210517615951426989995142897437901858559611134864331554997759832075643366843155093801117691743957049907408469101192911131444121833931043779264176276560078025814990471230919397952327568945339034738181930019346758136577722727161524611789630414938455856104258414739049629099860905841873777431806538352860646446913004408098900444151442147625735524081398739882297632291640522416881106696662476957464458105211346947441242805144303895124222988620624665810656918568533788921702090859731778729026787018882706361564987027650751001705914497956993587453771001783261498569056734907080338198504126590150540487992946362580458762660138328953404471063823241361442773078769082251363219604698360924275857255989384022467935984618384073454638758615639234600800464437232232324708556032144947482252736414447060595966716790629397826576848769777998276446123579655304997684620804213124467063177758769615070323509628958616294710996439835461549684697712890497518394647083023936778095390186022449083556936623972289292392765556757814039183786378013078514068712567825943220092917096128909318747374090167960662410785582213207219008281175251621696464852078317606362583642131689022415119572927603794445383411609771480053065210128837146036601972887035181223314400559154110415460921674746671726871777428033319266142526528726019308063442901563066648749824411738332069437976747905162424576756398125895382344088889481967260582989266655544783357883038136053083392894797848580571500078813159142499362932019925426647605246004442200544639333791445098358638723280166628176130797155412317935676223968493580617543383573091419587280272734914558958385165967991190210912726139415869204943424129551403567844975618328258162564603783792468832792518528406631071228528504060352058259057850163423871833128003207799946826116880705266762122210835218340402322786503896300558858771876480999975107435641659757603092641831171691622954774042711721872197755174358249628492477790809732541562484134098978936524770444956514241527664711567405993467641665831601867791536028796479477700919990135113654470815329807878104453028689363127136111539901776819759592550135955786262324904901997024342490605365872661127885739810599012379668441371954367690455729607420993659891068599127329999731751479296068137619342578130030803532278043102550809590162740668379901944070126006972643416297035771918426308083859368927327464017494502644052511074808801076196637942011761107637706363471546858716974028807992261042323266635158965527895479433874874221229617335081862445334910427183024066149258463608444245367827886476690654544771670584319442591263885069621209545114249422688948796215154268898036443902324673155835612429220001258095304711730980961054051247570746506938445046605856749610778261979164655149522187993732121468534133962538608369041374497755333679867044943635650349272316347819766460468584818298400437504763192452643246158290800934607158067695285513471055179310017349683767647076242199767619584924483408375395062025261275134967230697188232756805418463591930255861300336850563048554538257676050750664392829411604401663808898667040808363768596249241353444298247781678125027651379918816996170918968647617561288763577478499316701631114783815171684134495459868459436511810203504625064308282986927319740809012500383442109932112054984029366386729
0xE96e4488...8550280Fe
27.90421971826724094 Eth
Nonce: 595
27.89644260826724094 Eth
Nonce: 596
0.00777711

Execution Trace

MCToken.60806040( )
pragma solidity ^0.5.6;

contract owned {
    address public owner;

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}

contract TokenERC20 {
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    uint256 public totalSupply;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
	
    constructor (
        uint256 initialSupply,
        string memory tokenName,
        string memory tokenSymbol
    ) public {
        totalSupply = initialSupply * 10 ** uint256(decimals);
        balanceOf[msg.sender] = totalSupply;
        name = tokenName;
        symbol = tokenSymbol;
    }

    function _transfer(address _from, address _to, uint _value) internal {
        require(_to != address(0x0));
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value > balanceOf[_to]);
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }
    function transfer(address _to, uint256 _value) public returns (bool success) {
        _transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }
	
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
		emit Approval(msg.sender, _spender, _value);
        return true;
    }
}

contract MCToken is owned, TokenERC20 {

    mapping (address => bool) public frozenAccount;

    event FrozenFunds(address target, bool frozen);

    constructor (
        uint256 initialSupply,
        string memory tokenName,
        string memory tokenSymbol
    ) TokenERC20(initialSupply, tokenName, tokenSymbol) public {}

    function _transfer(address _from, address _to, uint _value) internal {
        require(_to != address(0x0));
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(!frozenAccount[_from]);
        require(!frozenAccount[_to]);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
    }

    function mintToken(address target, uint256 mintedAmount) onlyOwner public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        emit Transfer(address(0), owner, mintedAmount);
        emit Transfer(owner, target, mintedAmount);
    }

    function freezeAccount(address target, bool freeze) onlyOwner public {
        frozenAccount[target] = freeze;
        emit FrozenFunds(target, freeze);
    }
}