ETH Price: $2,423.30 (-4.47%)

Transaction Decoder

Block:
17692689 at Jul-14-2023 03:48:47 PM +UTC
Transaction Fee:
0.016391038483102752 ETH $39.72
Gas Used:
457,194 Gas / 35.851385808 Gwei

Emitted Events:

170 CoinJuheStorageProxy.0x04afd2ce457d973046bd54f5d7d36368546da08b88be1bca8ae50e32b451da17( 0x04afd2ce457d973046bd54f5d7d36368546da08b88be1bca8ae50e32b451da17, 0000000000000000000000000000000000000000000000062e34e2f2fa490000, 000000000000000000000000000000000000000000000000000000000000beef )

Account State Difference:

  Address   Before After State Difference Code
0x028aa90b...990b3529A 0 Eth2.85 Eth2.85
0x148E3b58...C0cC32b81 0 Eth2.85 Eth2.85
0x17bC1523...F76c268F3 0 Eth2.85 Eth2.85
0x1Bf2fA2e...5cA19117e 0 Eth2.85 Eth2.85
0x1E8957b4...10d9986aa 0 Eth2.85 Eth2.85
0x218F8166...4d51b6E56 0 Eth2.85 Eth2.85
0x251189Aa...aB96c59C1 0 Eth2.85 Eth2.85
0x26a4A996...Ca00EdC7f 0 Eth2.85 Eth2.85
0x28080295...dcd459487 0 Eth2.85 Eth2.85
0x2c0dd9ab...1A9Ca6abf 0 Eth2.85 Eth2.85
0x31e782a5...B65Fb516B 0 Eth2.85 Eth2.85
0x3931c8Be...54eb1133E 0 Eth2.85 Eth2.85
0x40741855...F1841151c
(TokenTool: MultiSender)
0.09 Eth0.1 Eth0.01
0x407d150F...E147d5692 0 Eth2.85 Eth2.85
0x43530EBc...993fB0Af4 0 Eth2.85 Eth2.85
0x55c058f6...A080f45e2 0 Eth2.85 Eth2.85
0x5Ea17111...0a327268d 0 Eth2.85 Eth2.85
0x62151e3a...43E9F36C4 0 Eth2.85 Eth2.85
0x7BE0158b...B05f87d31 0 Eth2.85 Eth2.85
0x8F0F82b7...8e044Dca7 0 Eth2.85 Eth2.85
(beaverbuild)
4.576704042102909864 Eth4.577847027102909864 Eth0.001142985
0xA35FD3bB...9A4e2624f 0 Eth2.85 Eth2.85
0xA6a065fC...89785E967 0 Eth2.85 Eth2.85
0xA956fF2b...476aeB1f3 0 Eth2.85 Eth2.85
0xaC06EBFf...7a038DE4C 0 Eth2.85 Eth2.85
0xb208E452...394885F3e 0 Eth2.85 Eth2.85
0xB386B1c4...e25cd8C82 0 Eth2.85 Eth2.85
0xb8020DF7...e2B015aFC 0 Eth2.85 Eth2.85
0xbA83dE0c...Ff5e59288 0 Eth2.85 Eth2.85
0xBdD12f12...9B7a524e1 0 Eth2.85 Eth2.85
0xbdfFc9AB...66ab633Ad 0 Eth2.85 Eth2.85
0xc4d0CA7d...A0BcfEB3d 0 Eth2.85 Eth2.85
0xc5338eF6...6cCB6e401 0 Eth2.85 Eth2.85
0xC6DF6C4D...a9cFeEF70 0 Eth2.85 Eth2.85
0xcdC4F75D...563385013 0 Eth2.85 Eth2.85
0xCeC15918...2DB903F2d 0 Eth2.85 Eth2.85
0xe272C42e...ca0655817 0 Eth2.85 Eth2.85
0xF272229d...365AbEeAC 0 Eth2.85 Eth2.85
0xf2D64a76...a653962F5
114.353591200268325139 Eth
Nonce: 0
0.327200161785222387 Eth
Nonce: 1
114.026391038483102752
0xf5797de1...d3E65add0 0 Eth2.85 Eth2.85
0xf7A0430d...3ecaCF3FC 0 Eth2.85 Eth2.85
0xF9C45f2D...E8Da1F38A 0 Eth2.85 Eth2.85
0xfD82C124...9345332FA 0 Eth2.85 Eth2.85

Execution Trace

ETH 114.01 CoinJuheStorageProxy.0b66f3f5( )
  • ETH 114.01 0xbc2528fdd1717ebcabd3e442485aee3b27759ef1.0b66f3f5( )
    • ETH 2.85 0x62151e3a4409642c25d12c14d89babf43e9f36c4.CALL( )
    • ETH 2.85 0xb208e452cfed01f7e9bc39d7372d78e394885f3e.CALL( )
    • ETH 2.85 0x251189aa140d910984a18adc27bcaedab96c59c1.CALL( )
    • ETH 2.85 0x8f0f82b7eb070f51e7091fcbfea67288e044dca7.CALL( )
    • ETH 2.85 0xc4d0ca7d817e6fc4a7fd10322ee61e8a0bcfeb3d.CALL( )
    • ETH 2.85 0xbdd12f12ac01118ff6450c60fb3a2e89b7a524e1.CALL( )
    • ETH 2.85 0xf5797de1ea8663097416caa6badb161d3e65add0.CALL( )
    • ETH 2.85 0xe272c42ef11539cd4ca60a1c5988757ca0655817.CALL( )
    • ETH 2.85 0x3931c8be4159092888f71924eb1247154eb1133e.CALL( )
    • ETH 2.85 0xf9c45f2dff9a5b2c5e8e113f8a9ef90e8da1f38a.CALL( )
    • ETH 2.85 0xc6df6c4db239155d7be285f45cc92a0a9cfeef70.CALL( )
    • ETH 2.85 0x31e782a5722ed49e54ff16d33838727b65fb516b.CALL( )
    • ETH 2.85 0xba83de0c82ca76198fe1f597f6af485ff5e59288.CALL( )
    • ETH 2.85 0x028aa90b01d90ffe22f54cf9185ff25990b3529a.CALL( )
    • ETH 2.85 0xa35fd3bb2e2e84c709781ab4e27a96f9a4e2624f.CALL( )
    • ETH 2.85 0xa6a065fc1c7400ef5300c93cf931d1189785e967.CALL( )
    • ETH 2.85 0x1e8957b45d4cffea5c4ac5e45812b3610d9986aa.CALL( )
    • ETH 2.85 0xbdffc9aba1aef68f906dcdb6f414e5166ab633ad.CALL( )
    • ETH 2.85 0xcdc4f75d994233ba38e0ea55e57e77c563385013.CALL( )
    • ETH 2.85 0xb386b1c4447dc5c968fefe8e384964fe25cd8c82.CALL( )
    • ETH 2.85 0xac06ebff482ecda15b1a8f2544657227a038de4c.CALL( )
    • ETH 2.85 0xb8020df71dffd44cd46597800f3bfb8e2b015afc.CALL( )
    • ETH 2.85 0x2c0dd9ab8e15e9e54093f7889d40a5d1a9ca6abf.CALL( )
    • ETH 2.85 0x28080295343594675b7e1c0b4950f2ddcd459487.CALL( )
    • ETH 2.85 0xa956ff2b989355aa2fb341afcfd7c61476aeb1f3.CALL( )
    • ETH 2.85 0x43530ebce7f1de7b44efd43fb431823993fb0af4.CALL( )
    • ETH 2.85 0xfd82c1247bf8441d086b552240c87c89345332fa.CALL( )
    • ETH 2.85 0x17bc152388d87ace8a4b402f14e0257f76c268f3.CALL( )
    • ETH 2.85 0x55c058f649a32ddbf093cb64734e6d0a080f45e2.CALL( )
    • ETH 2.85 0x7be0158b9cb9f60cdeacd8534d11385b05f87d31.CALL( )
    • ETH 2.85 0x407d150f3671ddd9a55fe7be2726b83e147d5692.CALL( )
    • ETH 2.85 0xf7a0430d34b8085066561dcbd888e1c3ecacf3fc.CALL( )
    • ETH 2.85 0xf272229df65e4dbd10c991ea334d685365abeeac.CALL( )
    • ETH 2.85 0x218f8166ac5bcb01e58e559e77f5a754d51b6e56.CALL( )
    • ETH 2.85 0x1bf2fa2e3d74df02500f26b214ee2b25ca19117e.CALL( )
    • ETH 2.85 0xc5338ef6ff5c359aa1b5c43560882036ccb6e401.CALL( )
    • ETH 2.85 0x26a4a996696670199e652f62ba2bed9ca00edc7f.CALL( )
    • ETH 2.85 0x148e3b5852aba44db34c678be0fd7e6c0cc32b81.CALL( )
    • ETH 2.85 0xcec15918c602f24ca59bc0e7bb0a3812db903f2d.CALL( )
    • ETH 2.85 0x5ea17111a6d3c96b1619bbaa2dfbb5b0a327268d.CALL( )
      {"CoinJuheStorageProxy.sol":{"content":"pragma solidity 0.4.24;\nimport \"./EternalStorage.sol\";\nimport \"./OwnedUpgradeabilityProxy.sol\";\n\n\n/**\n * @title EternalStorageProxy\n * @dev This proxy holds the storage of the token contract and delegates every call to the current implementation set.\n * Besides, it allows to upgrade the token\u0027s behaviour towards further implementations, and provides basic\n * authorization control functionalities\n */\ncontract CoinJuheStorageProxy is EternalStorage, OwnedUpgradeabilityProxy {}"},"EternalStorage.sol":{"content":"pragma solidity 0.4.24;\n/**\n * @title EternalStorage\n * @dev This contract holds all the necessary state variables to carry out the storage of any contract.\n */\ncontract EternalStorage {\n\n    mapping(bytes32 =\u003e uint256) internal uintStorage;\n    mapping(bytes32 =\u003e string) internal stringStorage;\n    mapping(bytes32 =\u003e address) internal addressStorage;\n    mapping(bytes32 =\u003e bytes) internal bytesStorage;\n    mapping(bytes32 =\u003e bool) internal boolStorage;\n    mapping(bytes32 =\u003e int256) internal intStorage;\n\n}"},"OwnedUpgradeabilityProxy.sol":{"content":"pragma solidity 0.4.24;\n\nimport \u0027./UpgradeabilityProxy.sol\u0027;\nimport \u0027./UpgradeabilityOwnerStorage.sol\u0027;\n\n/**\n * @title OwnedUpgradeabilityProxy\n * @dev This contract combines an upgradeability proxy with basic authorization control functionalities\n */\ncontract OwnedUpgradeabilityProxy is UpgradeabilityOwnerStorage, UpgradeabilityProxy {\n    /**\n    * @dev Event to show ownership has been transferred\n    * @param previousOwner representing the address of the previous owner\n    * @param newOwner representing the address of the new owner\n    */\n    event ProxyOwnershipTransferred(address previousOwner, address newOwner);\n\n    /**\n    * @dev the constructor sets the original owner of the contract to the sender account.\n    */\n    constructor() public {\n        setUpgradeabilityOwner(msg.sender);\n    }\n\n    /**\n    * @dev Throws if called by any account other than the owner.\n    */\n    modifier onlyProxyOwner() {\n        require(msg.sender == proxyOwner());\n        _;\n    }\n\n    /**\n     * @dev Tells the address of the proxy owner\n     * @return the address of the proxy owner\n     */\n    function proxyOwner() public view returns (address) {\n        return upgradeabilityOwner();\n    }\n\n    /**\n     * @dev Allows the current owner to transfer control of the contract to a newOwner.\n     * @param newOwner The address to transfer ownership to.\n     */\n    function transferProxyOwnership(address newOwner) public onlyProxyOwner {\n        require(newOwner != address(0));\n        setUpgradeabilityOwner(newOwner);\n        emit ProxyOwnershipTransferred(proxyOwner(), newOwner);\n    }\n\n    /**\n     * @dev Allows the upgradeability owner to upgrade the current version of the proxy.\n     * @param version representing the version name of the new implementation to be set.\n     * @param implementation representing the address of the new implementation to be set.\n     */\n    function upgradeTo(string version, address implementation) public onlyProxyOwner {\n        _upgradeTo(version, implementation);\n    }\n\n    /**\n     * @dev Allows the upgradeability owner to upgrade the current version of the proxy and call the new implementation\n     * to initialize whatever is needed through a low level call.\n     * @param version representing the version name of the new implementation to be set.\n     * @param implementation representing the address of the new implementation to be set.\n     * @param data represents the msg.data to bet sent in the low level call. This parameter may include the function\n     * signature of the implementation to be called with the needed payload\n     */\n    function upgradeToAndCall(string version, address implementation, bytes data) payable public onlyProxyOwner {\n        upgradeTo(version, implementation);\n        require(address(this).call.value(msg.value)(data));\n    }\n}"},"Proxy.sol":{"content":"pragma solidity 0.4.24;\n\n\n/**\n * @title Proxy\n * @dev Gives the possibility to delegate any call to a foreign implementation.\n */\ncontract Proxy {\n\n    /**\n    * @dev Tells the address of the implementation where every call will be delegated.\n    * @return address of the implementation to which it will be delegated\n    */\n    function implementation() public view returns (address);\n\n    /**\n    * @dev Fallback function allowing to perform a delegatecall to the given implementation.\n    * This function will return whatever the implementation call returns\n    */\n    function () payable public {\n        address _impl = implementation();\n        require(_impl != address(0));\n\n        assembly {\n            let ptr := mload(0x40)\n            calldatacopy(ptr, 0, calldatasize)\n            let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)\n            let size := returndatasize\n            returndatacopy(ptr, 0, size)\n\n            switch result\n            case 0 { revert(ptr, size) }\n            default { return(ptr, size) }\n        }\n    }\n}\n"},"UpgradeabilityOwnerStorage.sol":{"content":"pragma solidity 0.4.24;\n/**\n * @title UpgradeabilityOwnerStorage\n * @dev This contract keeps track of the upgradeability owner\n */\ncontract UpgradeabilityOwnerStorage {\n    // Owner of the contract\n    address private _upgradeabilityOwner;\n\n    /**\n    * @dev Tells the address of the owner\n    * @return the address of the owner\n    */\n    function upgradeabilityOwner() public view returns (address) {\n        return _upgradeabilityOwner;\n    }\n\n    /**\n    * @dev Sets the address of the owner\n    */\n    function setUpgradeabilityOwner(address newUpgradeabilityOwner) internal {\n        _upgradeabilityOwner = newUpgradeabilityOwner;\n    }\n\n}\n"},"UpgradeabilityProxy.sol":{"content":"pragma solidity 0.4.24;\n\n\nimport \u0027./Proxy.sol\u0027;\nimport \u0027./UpgradeabilityStorage.sol\u0027;\n\n/**\n * @title UpgradeabilityProxy\n * @dev This contract represents a proxy where the implementation address to which it will delegate can be upgraded\n */\ncontract UpgradeabilityProxy is Proxy, UpgradeabilityStorage {\n    /**\n    * @dev This event will be emitted every time the implementation gets upgraded\n    * @param version representing the version name of the upgraded implementation\n    * @param implementation representing the address of the upgraded implementation\n    */\n    event Upgraded(string version, address indexed implementation);\n\n    /**\n    * @dev Upgrades the implementation address\n    * @param version representing the version name of the new implementation to be set\n    * @param implementation representing the address of the new implementation to be set\n    */\n    function _upgradeTo(string version, address implementation) internal {\n        require(_implementation != implementation);\n        _version = version;\n        _implementation = implementation;\n        emit Upgraded(version, implementation);\n    }\n}"},"UpgradeabilityStorage.sol":{"content":"pragma solidity 0.4.24;\n/**\n * @title UpgradeabilityStorage\n * @dev This contract holds all the necessary state variables to support the upgrade functionality\n */\ncontract UpgradeabilityStorage {\n    // Version name of the current implementation\n    string internal _version;\n\n    // Address of the current implementation\n    address internal _implementation;\n\n    /**\n    * @dev Tells the version name of the current implementation\n    * @return string representing the name of the current version\n    */\n    function version() public view returns (string) {\n        return _version;\n    }\n\n    /**\n    * @dev Tells the address of the current implementation\n    * @return address of the current implementation\n    */\n    function implementation() public view returns (address) {\n        return _implementation;\n    }\n}\n"}}