ETH Price: $2,945.39 (-2.29%)
Gas: 3 Gwei

Transaction Decoder

Block:
8984872 at Nov-23-2019 06:27:24 AM +UTC
Transaction Fee:
0.004161981 ETH $12.26
Gas Used:
1,387,327 Gas / 3 Gwei

Emitted Events:

Account State Difference:

  Address   Before After State Difference Code
0x3f62CFEF...6276F4b53
0 Eth
Nonce: 0
0 Eth
Nonce: 1
From: 0 To: 1200439532949709524662889106370284162288535840143014361164241889673576314984815899889067676793587237628329847631821976134345963867283901035307774874110220778921105872045228447320446026756417764409512177721670530693214065504729287292178430053371559266614401228511880951663907765529793679638515878325384641934454680586686852602017683128417773068096301454245098405489411526107076521949286421144873282248924063521520069583497276414446974419623918693019779080234499059416133463605950578178182667167402222450359039127215682408386062110126595336155420107786162207147765832933624445373770095737776658262219064857046947058073503854622395483123622556235504069476563877402226174734669905825220616446062081373638988672362899929163066640897492164825803054983923247873432630784795624020833345043399374515270347847493576254783521524544592193018349273815351992890744862733664981086794483450663081108397333414995800144492113230117385618055508085458628341376029246483940357967099053898336488985272576019759276313438731423344439446521858332076551807323557076520340948686675948810618841377322966221684350894343183280480364540235960770338598664892132988484727046481821097355377475687110806999442521953161159776497928527007188355789580673275626660304457440644255469237917940548950662564847905421148973556826064158456575012059218275393487451303641667265801369476391597175807974849422056598668943831464813583920063493351328657858813910382641680225588528109288093572319976201389332061940360659809504565547408147883692738323069615452468093438238686313983638645944784499639404899142516406704366091408133684672480732092815228927338550652181081161356149388732774439147811539379696015651831170405913663089407531570820498062134597539811184596861148898905774429762401684112245044604697486676656558444698804993452028786837192808728558082975813066782000704728810511856768369638867047878164283106594386707256100275107208758430803952796818182711424144522031892175346552009269028689410176121842160671587593923471633809039440581044297712305755297574463538055916299370531863830672231151113899762479820762560218797312316219310127262264092286248746059483096228595779652176442871315464332377449173246839737450897938025522307110326041437426941885571824086389682475370031408574329035297228707716975644837059124239365427048724698875264637239755151077246976699005784314458180436611794610997417388137935716415449480276179218330022645838814248778211479121725518152691814772462552649934376683391197295468554296362541706774857116146003363810119779647925160459128775582857414528755345154624509679634065784766284329463584317812924909313972498325964364013810960740523110901875243272690095681538435217128610540551552544550370821159681573258708782831442335754453085696886366155498786487002719481846377327994202026427811835063525268282057641667079964832926721579289002683217802855524481247293326318267505521915049915228496717355995851198268046020093272763482702486667887991155639618297113606048244680569836286044444369585350835016478030513794952267022377457127661340014750255608154030637500858167994671590622931049453843906660020820657520185623337865678107409592718864754136097620806781172837862050008786454912378081964706423042826156600492468054347789532921757976485060766595217218341357876498758554679999536570728974870006380731428832768933883317517690393382507163409425755231505751473661303645070322493824847233475017494315718913017210665440273495240374273403502539283302647726882579700652428439075652847907890600602335791915679963509161750565981917391378273017872124471559517574179158744627792689694855840639897140762980444702075252664775156496391101981197570742857279347130427351291010715514255143750690545280062012572621678082198894574499929342517511172569936242648365404089913051596626439714202459616092658640704187801110528111175548601038157676980486092395457337271217536092695820927062895002512629848019288687272356736340253919135286902024531907234336734711529351873217992307659791478628261801241845204439286968834370573107429433750886462790909146117563111352343461713381359951242691608442259212947355517329063692730438831767107087168994658948156709505533898318391126305267855320578414912495449226956991997054091588818137930041283629108979019863612570155267871230238558986715922093317078005176762609344940073651505015828734078427609739410250179983017255072058642986971271700456811505864632110608275403859606471917203497141946763878791274529807201007221062234397847531855824944221969819129563607242845966535227106961490688098329222048209870466281137170181933748941212939762960938934780890730316227353801195543533690511702039385772599317742535785892794115369976124409622491065653322871652371246764127173849908929679088089028460188364143843679464808506212741825788519933724087973490058379615791162561618148662985000946034704863673731377937226813795190477339797653531402579961610149871896454923752937423950502728425403974503496480350223208163174909982242114632221131462660564581044179581437085231409448275818053810632471988857654791036303376772225098773621905321531621370142866311660725938991118287531257422408068212843241573893629016238437225101429129658258505240205630568538963012567683309148291531428994473729330766603588661178122312220064607917676055408493913054530160596592989894290307550063170738066774069239703484742753969156238247240580610827229793028107029472820839031017446397700382896947766788203274831149231571044566779094711862949184822034053118087785820001225245759935079939909187050959004152522337245992880483914795495099514290422293608328840153398249975280005283103344604014905019009726762343277967781303881127997851908782575424033147043917987672411763434750606686323809488078212998606171792389117964896387432295264913423888651072414146789912168502779011152637493779150842717652559516829281453390366014082217230559960811000542287174079831635806776713853887602805604740431443773380306453998924709260836032235690054933408761746030260436837904459448827864819662280687962897017777066194483940958259621296615727415535016975263743708620672350390203140443745229436243041202760502116980828857907332309445476252984222347098011745966752087672059735271646714780666498371254511045474825895185308861626404651512010363418346399508445519065454659877704983435783991916278034137183994890085856765222664424658441216488823871939025297135746062372784516860729264406911673531926567345653657989500077280214644398282724149218777707037888821706797775424243850550739746104262548380851867669169485620604494152255331283695268042657503426308565782985927055736494934839223916777986182372955577984350440558627623481381904016654129133541580545898770846862464512333344419830368287868456313744519887326113577597087131561157570716773114134152601122233208709374960585057110214677391808290460762022737913165693371718324110979531746161826662909656438489779831848535270662862829330668651776263032309042479394155538019759845762807301160490764571645923249338921815737600230241090180392011118960224039983175397618097194857127736998217064377514271207654816547016800969798111958290191945770424438318119412716771212097243427384512446975550558766832124353902184283857462856776592817137655015683699034134880144738873282333115820143030938939446911125528737104194791676621003495598936283407340943104153614108128439276423497245491663651071066794742396437177053491169817101773222703968663877526508056622614090364264133725496381507668810039190455789845512320202424294313685113909324098641131542605558096657305420194263773448011969077313484948890291726664115695778221984401887661705413512724220289436114985338177561302183765011649011651500648328456128889006248130326329826576798838168194543797161912045877345646535692774515850410056288885703889162429752053988126832915540978129140875762471755525931501237291789264059860195351694162070776678392234157952738037185824714144734585348396342129222637864819361158394160632729151286907811174205224686894157516517397643937193547995739429424620757775157188302466275699822364866045039976616376251938234743572232072280320972766660318744306638818955670673264460809219571633753737995924411112771788950627992038668369746971231888842041841218249579031965550301918634448571599725433221604240821817191622373275364541512772761404682335115602086024686361334977639237371650652402032309440776197722230872830218294763847735347253779316134045521078320215791427388242137793251525064466572912751576141457243796123920110136004902155843871636824961615498167015618118258979425928932674911538749713580888283978790373474826455491426106977621713558137902250231986257872466389351946681013310868034654336151485274193925098466829314277481037993230594297437038249471591589070826436914182767113612520931487520597458124028919376256475877311004644364498284559181612751278450920152002363172553482664024569412470293534020213258852073176279028548393577147612550620521159437808911163617222513457558795869050642952063328211094994236596999013457279806064356029754829466809234113175959642798459282944189689408082705601826022511602575346162625708436656090913673885246612795528100019395918499649179096542002421362549338956087948711549731999402609348718595499956760775477332473966630323757703181393645597559477661197836591249445237683290683356471007683128996102950221088447484205499826363880884444395130231816664168666794436356621217100859969449901451393788717701240090721457622355336243776861950760545381706945184634345777883820331761156970524272886743194693430252007434470596423871687679675167782959205681787353463730360144136768630443451637869373141820497020057798020782078155615551892238657251667624512958403475811410151365927931942713996240696894146319427162917942150976097566760520031208112113310052518436576127587281252184190855634770212014027162835419321247987770588092113650064873442676039102484203903346963230645228513014019618438434872786101914041051172252087477723494989421258837153451085534049081737330068570921690078157188462812992869822538105809750557667942813925901118799264135264646198111940292192519886946814079423832570250186741525694929561964832834356315050573058234543281432801270201882385007167469704821686996460978029905172640323325555800127471388230945330036252028602007457673297817029586392022861126152333284871954582574119190537846930258602832115911897592349570196275205925266232859677394050186061614776874073577175487139335828175680982650819085318614428326445066003367290796866222236528426442595620218014659242858234001503352256242497158575044104362302134903941433404836018886545498659376715208843669877118243280992947504451469082253705012018809886297676534093817458017880552696497750082569472271924329007573471220404396793031564158517558185901286453576332766894838573087615371733600647771318156831139673631978179437337676283954
0xB0393739...7bF876ea2
0.0335484459 Eth
Nonce: 3
0.0293864649 Eth
Nonce: 4
0.004161981
(Ethermine)
398.290049981719980122 Eth398.294211962719980122 Eth0.004161981

Execution Trace

ProductChainCoin.60806040( )
{"Context.sol":{"content":"pragma solidity ^0.5.0;\r\n\r\n/*\r\n * @dev Provides information about the current execution context, including the\r\n * sender of the transaction and its data. While these are generally available\r\n * via msg.sender and msg.data, they should not be accessed in such a direct\r\n * manner, since when dealing with GSN meta-transactions the account sending and\r\n * paying for execution may not be the actual sender (as far as an application\r\n * is concerned).\r\n *\r\n * This contract is only required for intermediate, library-like contracts.\r\n */\r\ncontract Context {\r\n    // Empty internal constructor, to prevent people from mistakenly deploying\r\n    // an instance of this contract, which should be used via inheritance.\r\n    constructor () internal { }\r\n    // solhint-disable-previous-line no-empty-blocks\r\n\r\n    function _msgSender() internal view returns (address payable) {\r\n        return msg.sender;\r\n    }\r\n\r\n    function _msgData() internal view returns (bytes memory) {\r\n        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\r\n        return msg.data;\r\n    }\r\n}"},"Ownable.sol":{"content":"pragma solidity ^0.5.0;\r\n\r\nimport \"Context.sol\";\r\n/**\r\n * @dev Contract module which provides a basic access control mechanism, where\r\n * there is an account (an owner) that can be granted exclusive access to\r\n * specific functions.\r\n *\r\n * This module is used through inheritance. It will make available the modifier\r\n * `onlyOwner`, which can be applied to your functions to restrict their use to\r\n * the owner.\r\n */\r\ncontract Ownable is Context {\r\n    address private _owner;\r\n\r\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\r\n\r\n    /**\r\n     * @dev Initializes the contract setting the deployer as the initial owner.\r\n     */\r\n    constructor () internal {\r\n        address msgSender = _msgSender();\r\n        _owner = msgSender;\r\n        emit OwnershipTransferred(address(0), msgSender);\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the address of the current owner.\r\n     */\r\n    function owner() public view returns (address) {\r\n        return _owner;\r\n    }\r\n\r\n    /**\r\n     * @dev Throws if called by any account other than the owner.\r\n     */\r\n    modifier onlyOwner() {\r\n        require(isOwner(), \"Ownable: caller is not the owner\");\r\n        _;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns true if the caller is the current owner.\r\n     */\r\n    function isOwner() public view returns (bool) {\r\n        return _msgSender() == _owner;\r\n    }\r\n\r\n    /**\r\n     * @dev Leaves the contract without owner. It will not be possible to call\r\n     * `onlyOwner` functions anymore. Can only be called by the current owner.\r\n     *\r\n     * NOTE: Renouncing ownership will leave the contract without an owner,\r\n     * thereby removing any functionality that is only available to the owner.\r\n     */\r\n    function renounceOwnership() public onlyOwner {\r\n        emit OwnershipTransferred(_owner, address(0));\r\n        _owner = address(0);\r\n    }\r\n\r\n    /**\r\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\r\n     * Can only be called by the current owner.\r\n     */\r\n    function transferOwnership(address newOwner) public onlyOwner {\r\n        _transferOwnership(newOwner);\r\n    }\r\n\r\n    /**\r\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\r\n     */\r\n    function _transferOwnership(address newOwner) internal {\r\n        require(newOwner != address(0), \"Ownable: new owner is the zero address\");\r\n        emit OwnershipTransferred(_owner, newOwner);\r\n        _owner = newOwner;\r\n    }\r\n}"},"ProductChainCoin.sol":{"content":"pragma solidity ^0.5.0;\r\n\r\nimport \"SafeMath.sol\";\r\nimport \"Ownable.sol\";\r\n\r\ncontract ProductChainCoin is Ownable {\r\n    using SafeMath for uint;\r\n\r\n    // Variables\r\n    string public name = \"Product Chain\";\r\n    string public symbol = \"PDC\";\r\n    uint256 public decimals = 18;\r\n    uint256 public totalSupply;\r\n    mapping(address =\u003e uint256) public balanceOf;\r\n    mapping(address =\u003e mapping(address =\u003e uint256)) public allowance;\r\n\r\n    // Events\r\n    event Transfer(address indexed from, address indexed to, uint256 value);\r\n    event Approval(address indexed owner, address indexed spender, uint256 value);\r\n\r\n    constructor() public {\r\n        totalSupply = 10000000000 * (10 ** decimals);\r\n        balanceOf[msg.sender] = totalSupply;\r\n    }\r\n\r\n    function transfer(address _to, uint256 _value) public returns (bool success) {\r\n        require(balanceOf[msg.sender] \u003e= _value);\r\n        _transfer(msg.sender, _to, _value);\r\n        return true;\r\n    }\r\n\r\n    function _transfer(address _from, address _to, uint256 _value) internal {\r\n        require(_to != address(0));\r\n        balanceOf[_from] = balanceOf[_from].sub(_value);\r\n        balanceOf[_to] = balanceOf[_to].add(_value);\r\n        emit Transfer(_from, _to, _value);\r\n    }\r\n\r\n    function approve(address _spender, uint256 _value) public returns (bool success) {\r\n        require(_spender != address(0));\r\n        allowance[msg.sender][_spender] = _value;\r\n        emit Approval(msg.sender, _spender, _value);\r\n        return true;\r\n    }\r\n\r\n    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\r\n        require(_value \u003c= balanceOf[_from]);\r\n        require(_value \u003c= allowance[_from][msg.sender]);\r\n        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);\r\n        _transfer(_from, _to, _value);\r\n        return true;\r\n    }\r\n}\r\n"},"SafeMath.sol":{"content":"pragma solidity ^0.5.0;\r\n\r\n/**\r\n * @dev Wrappers over Solidity\u0027s arithmetic operations with added overflow\r\n * checks.\r\n *\r\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\r\n * in bugs, because programmers usually assume that an overflow raises an\r\n * error, which is the standard behavior in high level programming languages.\r\n * `SafeMath` restores this intuition by reverting the transaction when an\r\n * operation overflows.\r\n *\r\n * Using this library instead of the unchecked operations eliminates an entire\r\n * class of bugs, so it\u0027s recommended to use it always.\r\n */\r\nlibrary SafeMath {\r\n    /**\r\n     * @dev Returns the addition of two unsigned integers, reverting on\r\n     * overflow.\r\n     *\r\n     * Counterpart to Solidity\u0027s `+` operator.\r\n     *\r\n     * Requirements:\r\n     * - Addition cannot overflow.\r\n     */\r\n    function add(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        uint256 c = a + b;\r\n        require(c \u003e= a, \"SafeMath: addition overflow\");\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the subtraction of two unsigned integers, reverting on\r\n     * overflow (when the result is negative).\r\n     *\r\n     * Counterpart to Solidity\u0027s `-` operator.\r\n     *\r\n     * Requirements:\r\n     * - Subtraction cannot overflow.\r\n     */\r\n    function sub(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return sub(a, b, \"SafeMath: subtraction overflow\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\r\n     * overflow (when the result is negative).\r\n     *\r\n     * Counterpart to Solidity\u0027s `-` operator.\r\n     *\r\n     * Requirements:\r\n     * - Subtraction cannot overflow.\r\n     *\r\n     * _Available since v2.4.0._\r\n     */\r\n    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\r\n        require(b \u003c= a, errorMessage);\r\n        uint256 c = a - b;\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the multiplication of two unsigned integers, reverting on\r\n     * overflow.\r\n     *\r\n     * Counterpart to Solidity\u0027s `*` operator.\r\n     *\r\n     * Requirements:\r\n     * - Multiplication cannot overflow.\r\n     */\r\n    function mul(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        // Gas optimization: this is cheaper than requiring \u0027a\u0027 not being zero, but the\r\n        // benefit is lost if \u0027b\u0027 is also tested.\r\n        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\r\n        if (a == 0) {\r\n            return 0;\r\n        }\r\n\r\n        uint256 c = a * b;\r\n        require(c / a == b, \"SafeMath: multiplication overflow\");\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the integer division of two unsigned integers. Reverts on\r\n     * division by zero. The result is rounded towards zero.\r\n     *\r\n     * Counterpart to Solidity\u0027s `/` operator. Note: this function uses a\r\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\r\n     * uses an invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function div(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return div(a, b, \"SafeMath: division by zero\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\r\n     * division by zero. The result is rounded towards zero.\r\n     *\r\n     * Counterpart to Solidity\u0027s `/` operator. Note: this function uses a\r\n     * `revert` opcode (which leaves remaining gas untouched) while Solidity\r\n     * uses an invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     * - The divisor cannot be zero.\r\n     *\r\n     * _Available since v2.4.0._\r\n     */\r\n    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\r\n        // Solidity only automatically asserts when dividing by 0\r\n        require(b \u003e 0, errorMessage);\r\n        uint256 c = a / b;\r\n        // assert(a == b * c + a % b); // There is no case in which this doesn\u0027t hold\r\n\r\n        return c;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\r\n     * Reverts when dividing by zero.\r\n     *\r\n     * Counterpart to Solidity\u0027s `%` operator. This function uses a `revert`\r\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\r\n     * invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     * - The divisor cannot be zero.\r\n     */\r\n    function mod(uint256 a, uint256 b) internal pure returns (uint256) {\r\n        return mod(a, b, \"SafeMath: modulo by zero\");\r\n    }\r\n\r\n    /**\r\n     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\r\n     * Reverts with custom message when dividing by zero.\r\n     *\r\n     * Counterpart to Solidity\u0027s `%` operator. This function uses a `revert`\r\n     * opcode (which leaves remaining gas untouched) while Solidity uses an\r\n     * invalid opcode to revert (consuming all remaining gas).\r\n     *\r\n     * Requirements:\r\n     * - The divisor cannot be zero.\r\n     *\r\n     * _Available since v2.4.0._\r\n     */\r\n    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\r\n        require(b != 0, errorMessage);\r\n        return a % b;\r\n    }\r\n}"}}