Contract 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 1

 
Txn Hash Method
Block
From
To
Value
0x84b8d4c9545dd82fa0e5f1a0eba9080dbd91d32432c6f60477bf4782ad381f05Report Result9039412022-12-05 2:29:494 hrs 40 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001845721
0xb3cf8aea5075e3cb5b5deed030f727b821e5b0a7b0f706129a67d63dbd8aca2fReport Result9038632022-12-05 0:19:106 hrs 51 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001867871
0x777862262aa3f4d3542b741236fb92c48170bffd7f9bd181a0e0344c22e415070x81a398b59038622022-12-05 0:18:246 hrs 52 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0003915711
0x5e6bbea7a54133bb5e3b6b1c132cd5d237985ee4bf79cd7174ccbf2dd9dfd6e9Report Result9033322022-12-04 11:15:3619 hrs 54 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001920661
0x9ed1127efd62a029c63aa00032881298df69a856c0424a3a00e5cf2b7c8c543eReport Result9032652022-12-04 9:53:3921 hrs 16 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001808461
0xe74f3732c99e54263e98e23a14181450761adc7d7aab36ff3efd285a0bdef971Report Result9032642022-12-04 9:52:5321 hrs 17 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.000180821
0x5761d1d4986e3f42646a20409c0d380d43f4bfad7c9a820302ecdff7477cf3d5Report Result9032632022-12-04 9:51:2221 hrs 19 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001729121
0x2cc2b9cd5b29695d063f59dbdb5d3a4558d9eddaf8efe3bbb1401ead03a55f9f0x81a398b59032542022-12-04 9:22:3521 hrs 48 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0002007961
0x5e9c6fca5208da0a366bfec22c3dff2ff86dbc04b1941b8012e20bbdddc91471Report Result9032072022-12-04 7:25:2423 hrs 45 mins ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001819961
0xf5b3075f715da0b902c57689c30a85a53a4cbe099e496c72bc95f2e88eb27856Report Result9031002022-12-04 3:44:021 day 3 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001840621
0x870fd305c9818ca304d0de3e394812ed46041423b20ad702736bde41e1223c67Report Result9030792022-12-04 2:54:261 day 4 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.000180731
0xdd8ecfd62d9b2718abb3d75599427c97a214a4021dbdfc70209d22594a87f0ddReport Result9030712022-12-04 2:34:541 day 4 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001770391
0x1bb2223a0fef34fbe9999f6cbc8337c05d74ed861f03557d7d3b50ea575bdbfaReport Result9029752022-12-03 23:29:371 day 7 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001875571
0x7e438e6d37f585d9ae181e1ab9a8ec987d0020012695242050c6ffa284915619Report Result9029702022-12-03 23:22:051 day 7 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001951951
0xf1af91d3cf8164a97ffe529e85af90c231bfcd62b236f1a872188e3bbb619f5bReport Result9029622022-12-03 22:54:591 day 8 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001951951
0x5a755bfd10f3d9667aaa182d6021c86e663e6f1c7b919caf267b5df78f5d95a6Report Result9029422022-12-03 22:35:281 day 8 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0002102211
0xad865ac7955484f2f61e816051f4816f8d21361707e706aaf17ccdaa4f393946Report Result9029352022-12-03 22:32:231 day 8 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001832851
0x5832f0840f1e598704f538c323bee9f461f546c4881e08b981bf5b36ffddf1e6Report Result9029222022-12-03 22:30:101 day 8 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.000177791
0xd3eea8779fb8f8780358881c68ccd325f0891046b91f2881f7ddf69d7d24bc12Report Result9029172022-12-03 22:13:391 day 8 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001911
0x9318bb0e0ecc4f1f4e3502776491b4f20a880a2d0475862100396860ae9d0b3fReport Result9029142022-12-03 22:09:511 day 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0002073711
0x9041acf49bffbeeb3b0dae6056c8456100ca135a9077a4ff767d22c853c1bf73Report Result9029112022-12-03 22:03:041 day 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001981041
0x0966c0ab5dd8f63731e2df1d1dc011dcdef4bedffe309e2f8e2404755fd3bea9Report Result9029092022-12-03 21:59:141 day 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0002073711
0xd8c9d97e5191245f558aa9efdedc8d9a6fe2f02e3cbca9e0ac97c9863be496dfReport Result9029062022-12-03 21:50:501 day 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0002070561
0xd5696bbd865c15e54e9a4ef1f3182fdca3b1e84cf0d75b63a0c62f06eb08addfReport Result9029042022-12-03 21:46:231 day 9 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.000225361
0x295c6b7b651369cf9c93017cf10fbd9b820bdd55885c5daadf443cc7048a44f5Report Result9027792022-12-03 16:32:061 day 14 hrs ago0x102cb4da51a9936ba2297be8c930b4ca658586da IN  0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether0.0001819921
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x84b8d4c9545dd82fa0e5f1a0eba9080dbd91d32432c6f60477bf4782ad381f059039412022-12-05 2:29:494 hrs 40 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920x102cb4da51a9936ba2297be8c930b4ca658586da0.000245 Ether
0x84b8d4c9545dd82fa0e5f1a0eba9080dbd91d32432c6f60477bf4782ad381f059039412022-12-05 2:29:494 hrs 40 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0x8fae2b29c03ebb060a04a78706511d411d5cf9340 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0x8fae2b29c03ebb060a04a78706511d411d5cf934 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920.000245 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0x8fae2b29c03ebb060a04a78706511d411d5cf934 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0x8fae2b29c03ebb060a04a78706511d411d5cf934 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0x4e6d068f43ae28ce4a7bc97d9dc5fdfb8a55f0080 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0x6473063ebeabc0606a4159b7d9f79bb306ed0d2a0 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0x8fae2b29c03ebb060a04a78706511d411d5cf934 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x27978cd67dd5e65bda6910e9cc17ddae5191458b841c96499f6d79b13696b35e9039372022-12-05 2:25:414 hrs 44 mins ago 0x8fae2b29c03ebb060a04a78706511d411d5cf934 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether
0xb3cf8aea5075e3cb5b5deed030f727b821e5b0a7b0f706129a67d63dbd8aca2f9038632022-12-05 0:19:106 hrs 51 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920x102cb4da51a9936ba2297be8c930b4ca658586da0.000245 Ether
0xb3cf8aea5075e3cb5b5deed030f727b821e5b0a7b0f706129a67d63dbd8aca2f9038632022-12-05 0:19:106 hrs 51 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x777862262aa3f4d3542b741236fb92c48170bffd7f9bd181a0e0344c22e415079038622022-12-05 0:18:246 hrs 52 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920x102cb4da51a9936ba2297be8c930b4ca658586da0.000735 Ether
0x777862262aa3f4d3542b741236fb92c48170bffd7f9bd181a0e0344c22e415079038622022-12-05 0:18:246 hrs 52 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0x96d017f938b5425713ab4d8ce460e1dd04b962ca0 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0x96d017f938b5425713ab4d8ce460e1dd04b962ca 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920.000245 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0x96d017f938b5425713ab4d8ce460e1dd04b962ca 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e2920 Ether
0x6974b1b2f5decf43790bc0f3a373ee86e4e4030298a95998f2b8dcbc1d2dd9519038242022-12-04 23:21:397 hrs 48 mins ago 0xd3ad9a4b26527e3ba5fc60b75eb002d47d98e292 0xbf5ad4c8524a618c853008f8eeabe13dc31af7980 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WitnetProxy

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at bobascan.com on 2022-09-08
*/

// SPDX-License-Identifier: MIT


pragma solidity >=0.6.0 <0.9.0;

pragma experimental ABIEncoderV2;

// File: contracts\patterns\Initializable.sol
interface Initializable {
    /// @dev Initialize contract's storage context.
    function initialize(bytes calldata) external;
}
// File: contracts\patterns\Proxiable.sol
interface Proxiable {
    /// @dev Complying with EIP-1822: Universal Upgradable Proxy Standard (UUPS)
    /// @dev See https://eips.ethereum.org/EIPS/eip-1822.
    function proxiableUUID() external pure returns (bytes32);
}
// File: contracts\patterns\Upgradable.sol
/* solhint-disable var-name-mixedcase */




abstract contract Upgradable is Initializable, Proxiable {

    address internal immutable _BASE;
    bytes32 internal immutable _CODEHASH;
    bool internal immutable _UPGRADABLE;

    /// Emitted every time the contract gets upgraded.
    /// @param from The address who ordered the upgrading. Namely, the WRB operator in "trustable" implementations.
    /// @param baseAddr The address of the new implementation contract.
    /// @param baseCodehash The EVM-codehash of the new implementation contract.
    /// @param versionTag Ascii-encoded version literal with which the implementation deployer decided to tag it.
    event Upgraded(
        address indexed from,
        address indexed baseAddr,
        bytes32 indexed baseCodehash,
        bytes32 versionTag
    );

    constructor (bool _isUpgradable) {
        address _base = address(this);
        bytes32 _codehash;        
        assembly {
            _codehash := extcodehash(_base)
        }
        _BASE = _base;
        _CODEHASH = _codehash;        
        _UPGRADABLE = _isUpgradable;
    }

    /// @dev Tells whether provided address could eventually upgrade the contract.
    function isUpgradableFrom(address from) virtual external view returns (bool);


    /// TODO: the following methods should be all declared as pure 
    ///       whenever this Solidity's PR gets merged and released: 
    ///       https://github.com/ethereum/solidity/pull/10240

    /// @dev Retrieves base contract. Differs from address(this) when via delegate-proxy pattern.
    function base() public view returns (address) {
        return _BASE;
    }

    /// @dev Retrieves the immutable codehash of this contract, even if invoked as delegatecall.
    /// @return _codehash This contracts immutable codehash.
    function codehash() public view returns (bytes32 _codehash) {
        return _CODEHASH;
    }
    
    /// @dev Determines whether current instance allows being upgraded.
    /// @dev Returned value should be invariant from whoever is calling.
    function isUpgradable() public view returns (bool) {        
        return _UPGRADABLE;
    }

    /// @dev Retrieves human-redable named version of current implementation.
    function version() virtual public view returns (bytes32); 
}
// File: contracts\impls\WitnetProxy.sol
/// @title WitnetProxy: upgradable delegate-proxy contract that routes Witnet data requests coming from a 
/// `UsingWitnet`-inheriting contract to a currently active `WitnetRequestBoard` implementation. 
/// @author The Witnet Foundation.
contract WitnetProxy {

    struct WitnetProxySlot {
        address implementation;
    }

    /// Event emitted every time the implementation gets updated.
    event Upgraded(address indexed implementation);  

    /// Constructor with no params as to ease eventual support of Singleton pattern (i.e. ERC-2470).
    constructor () {}

    /// WitnetProxies will never accept direct transfer of ETHs.
    receive() external payable {
        revert("WitnetProxy: no transfers accepted");
    }

    /// Payable fallback accepts delegating calls to payable functions.  
    fallback() external payable { /* solhint-disable no-complex-fallback */
        address _implementation = implementation();

        assembly { /* solhint-disable avoid-low-level-calls */
            // Gas optimized delegate call to 'implementation' contract.
            // Note: `msg.data`, `msg.sender` and `msg.value` will be passed over 
            //       to actual implementation of `msg.sig` within `implementation` contract.
            let ptr := mload(0x40)
            calldatacopy(ptr, 0, calldatasize())
            let result := delegatecall(gas(), _implementation, ptr, calldatasize(), 0, 0)
            let size := returndatasize()
            returndatacopy(ptr, 0, size)
            switch result
                case 0  { 
                    // pass back revert message:
                    revert(ptr, size) 
                }
                default {
                  // pass back same data as returned by 'implementation' contract:
                  return(ptr, size) 
                }
        }
    }

    /// Returns proxy's current implementation address.
    function implementation() public view returns (address) {
        return _proxySlot().implementation;
    }

    /// Upgrades the `implementation` address.
    /// @param _newImplementation New implementation address.
    /// @param _initData Raw data with which new implementation will be initialized.
    /// @return Returns whether new implementation would be further upgradable, or not.
    function upgradeTo(address _newImplementation, bytes memory _initData)
        public returns (bool)
    {
        // New implementation cannot be null:
        require(_newImplementation != address(0), "WitnetProxy: null implementation");

        address _oldImplementation = implementation();
        if (_oldImplementation != address(0)) {
            // New implementation address must differ from current one:
            require(_newImplementation != _oldImplementation, "WitnetProxy: nothing to upgrade");

            // Assert whether current implementation is intrinsically upgradable:
            try Upgradable(_oldImplementation).isUpgradable() returns (bool _isUpgradable) {
                require(_isUpgradable, "WitnetProxy: not upgradable");
            } catch {
                revert("WitnetProxy: unable to check upgradability");
            }

            // Assert whether current implementation allows `msg.sender` to upgrade the proxy:
            (bool _wasCalled, bytes memory _result) = _oldImplementation.delegatecall(
                abi.encodeWithSignature(
                    "isUpgradableFrom(address)",
                    msg.sender
                )
            );
            require(_wasCalled, "WitnetProxy: not compliant");
            require(abi.decode(_result, (bool)), "WitnetProxy: not authorized");
            require(
                Upgradable(_oldImplementation).proxiableUUID() == Upgradable(_newImplementation).proxiableUUID(),
                "WitnetProxy: proxiableUUIDs mismatch"
            );
        }

        // Initialize new implementation within proxy-context storage:
        (bool _wasInitialized,) = _newImplementation.delegatecall(
            abi.encodeWithSignature(
                "initialize(bytes)",
                _initData
            )
        );
        require(_wasInitialized, "WitnetProxy: unable to initialize");

        // If all checks and initialization pass, update implementation address:
        _proxySlot().implementation = _newImplementation;
        emit Upgraded(_newImplementation);

        // Asserts new implementation complies w/ minimal implementation of Upgradable interface:
        try Upgradable(_newImplementation).isUpgradable() returns (bool _isUpgradable) {
            return _isUpgradable;
        }
        catch {
            revert ("WitnetProxy: not compliant");
        }
    }

    /// @dev Complying with EIP-1967, retrieves storage struct containing proxy's current implementation address.
    function _proxySlot() private pure returns (WitnetProxySlot storage _slot) {
        assembly {
            // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
            _slot.slot := 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"},{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"upgradeTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506109ac806100206000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100bb5780636fbc15e9146100ed5761008a565b3661008a5760405162461bcd60e51b815260206004820152602260248201527f5769746e657450726f78793a206e6f207472616e736665727320616363657074604482015261195960f21b60648201526084015b60405180910390fd5b600061009461011d565b905060405136600082376000803683855af43d806000843e8180156100b7578184f35b8184fd5b3480156100c757600080fd5b506100d061011d565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f957600080fd5b5061010d6101083660046107e5565b61014b565b60405190151581526020016100e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60006001600160a01b0383166101a35760405162461bcd60e51b815260206004820181905260248201527f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e6044820152606401610081565b60006101ad61011d565b90506001600160a01b038116156105b757806001600160a01b0316846001600160a01b031614156102205760405162461bcd60e51b815260206004820152601f60248201527f5769746e657450726f78793a206e6f7468696e6720746f2075706772616465006044820152606401610081565b806001600160a01b0316635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b15801561025957600080fd5b505afa925050508015610289575060408051601f3d908101601f19168201909252610286918101906108b5565b60015b6102e85760405162461bcd60e51b815260206004820152602a60248201527f5769746e657450726f78793a20756e61626c6520746f20636865636b207570676044820152697261646162696c69747960b01b6064820152608401610081565b806103355760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f742075706772616461626c6500000000006044820152606401610081565b5060405133602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180516001600160e01b03166335ac4b0560e11b17905251610387919061090e565b600060405180830381855af49150503d80600081146103c2576040519150601f19603f3d011682016040523d82523d6000602084013e6103c7565b606091505b5091509150816104195760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b8080602001905181019061042d91906108b5565b6104795760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f7420617574686f72697a656400000000006044820152606401610081565b856001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b257600080fd5b505afa1580156104c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ea919061092a565b836001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052357600080fd5b505afa158015610537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055b919061092a565b146105b45760405162461bcd60e51b8152602060048201526024808201527f5769746e657450726f78793a2070726f786961626c655555494473206d69736d6044820152630c2e8c6d60e31b6064820152608401610081565b50505b6000846001600160a01b0316846040516024016105d49190610943565b60408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b17905251610609919061090e565b600060405180830381855af49150503d8060008114610644576040519150601f19603f3d011682016040523d82523d6000602084013e610649565b606091505b50509050806106a45760405162461bcd60e51b815260206004820152602160248201527f5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a6044820152606560f81b6064820152608401610081565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0387169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2846001600160a01b0316635479d9406040518163ffffffff1660e01b815260040160206040518083038186803b15801561074357600080fd5b505afa925050508015610773575060408051601f3d908101601f19168201909252610770918101906108b5565b60015b6107bf5760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b92506107c9915050565b92915050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107f857600080fd5b82356001600160a01b038116811461080f57600080fd5b9150602083013567ffffffffffffffff8082111561082c57600080fd5b818501915085601f83011261084057600080fd5b813581811115610852576108526107cf565b604051601f8201601f19908116603f0116810190838211818310171561087a5761087a6107cf565b8160405282815288602084870101111561089357600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156108c757600080fd5b815180151581146108d757600080fd5b9392505050565b60005b838110156108f95781810151838201526020016108e1565b83811115610908576000848401525b50505050565b600082516109208184602087016108de565b9190910192915050565b60006020828403121561093c57600080fd5b5051919050565b60208152600082518060208401526109628160408501602087016108de565b601f01601f1916919091016040019291505056fea264697066735822122028bcaff67cc6cd0765fa4dca85f54e622ee87115d959015d3b7ee53e99a287ce64736f6c63430008090033

Deployed ByteCode Sourcemap

3263:4977:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3720:44;;-1:-1:-1;;;3720:44:0;;216:2:1;3720:44:0;;;198:21:1;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:1;;;338:32;387:19;;3720:44:0;;;;;;;;3263:4977;3936:23;3962:16;:14;:16::i;:::-;3936:42;;4328:4;4322:11;4368:14;4365:1;4360:3;4347:36;4472:1;4469;4453:14;4448:3;4431:15;4424:5;4411:63;4500:16;4553:4;4550:1;4545:3;4530:28;4579:6;4603:119;;;;4865:4;4860:3;4853:17;4603:119;4697:4;4692:3;4685:17;4973:109;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;581:32:1;;;563:51;;551:2;536:18;4973:109:0;;;;;;;;5376:2448;;;;;;;;;;-1:-1:-1;5376:2448:0;;;;;:::i;:::-;;:::i;:::-;;;2022:14:1;;2015:22;1997:41;;1985:2;1970:18;5376:2448:0;1857:187:1;4973:109:0;8151:66;5047:27;-1:-1:-1;;;;;5047:27:0;;4973:109::o;5376:2448::-;5472:4;-1:-1:-1;;;;;5549:32:0;;5541:77;;;;-1:-1:-1;;;5541:77:0;;2251:2:1;5541:77:0;;;2233:21:1;;;2270:18;;;2263:30;2329:34;2309:18;;;2302:62;2381:18;;5541:77:0;2049:356:1;5541:77:0;5631:26;5660:16;:14;:16::i;:::-;5631:45;-1:-1:-1;;;;;;5691:32:0;;;5687:1282;;5843:18;-1:-1:-1;;;;;5821:40:0;:18;-1:-1:-1;;;;;5821:40:0;;;5813:84;;;;-1:-1:-1;;;5813:84:0;;2612:2:1;5813:84:0;;;2594:21:1;2651:2;2631:18;;;2624:30;2690:33;2670:18;;;2663:61;2741:18;;5813:84:0;2410:355:1;5813:84:0;6012:18;-1:-1:-1;;;;;6001:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6001:45:0;;;;;;;;-1:-1:-1;;6001:45:0;;;;;;;;;;;;:::i;:::-;;;5997:261;;6190:52;;-1:-1:-1;;;6190:52:0;;3254:2:1;6190:52:0;;;3236:21:1;3293:2;3273:18;;;3266:30;3332:34;3312:18;;;3305:62;-1:-1:-1;;;3383:18:1;;;3376:40;3433:19;;6190:52:0;3052:406:1;5997:261:0;6103:13;6095:53;;;;-1:-1:-1;;;6095:53:0;;3665:2:1;6095:53:0;;;3647:21:1;3704:2;3684:18;;;3677:30;3743:29;3723:18;;;3716:57;3790:18;;6095:53:0;3463:351:1;6095:53:0;-1:-1:-1;6462:125:0;;6558:10;6462:125;;;563:51:1;6371:15:0;;;;-1:-1:-1;;;;;6412:31:0;;;536:18:1;;6462:125:0;;;-1:-1:-1;;6462:125:0;;;;;;;;;;;;;;-1:-1:-1;;;;;6462:125:0;-1:-1:-1;;;6462:125:0;;;6412:190;;;6462:125;6412:190;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6370:232;;;;6625:10;6617:49;;;;-1:-1:-1;;;6617:49:0;;4563:2:1;6617:49:0;;;4545:21:1;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;6617:49:0;4361:350:1;6617:49:0;6700:7;6689:27;;;;;;;;;;;;:::i;:::-;6681:67;;;;-1:-1:-1;;;6681:67:0;;4918:2:1;6681:67:0;;;4900:21:1;4957:2;4937:18;;;4930:30;4996:29;4976:18;;;4969:57;5043:18;;6681:67:0;4716:351:1;6681:67:0;6850:18;-1:-1:-1;;;;;6839:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6800:18;-1:-1:-1;;;;;6789:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:96;6763:194;;;;-1:-1:-1;;;6763:194:0;;5463:2:1;6763:194:0;;;5445:21:1;5502:2;5482:18;;;5475:30;5541:34;5521:18;;;5514:62;-1:-1:-1;;;5592:18:1;;;5585:34;5636:19;;6763:194:0;5261:400:1;6763:194:0;5725:1244;;5687:1282;7054:20;7079:18;-1:-1:-1;;;;;7079:31:0;7205:9;7125:104;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7125:104:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7125:104:0;-1:-1:-1;;;7125:104:0;;;7079:161;;;7125:104;7079:161;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7053:187;;;7259:15;7251:61;;;;-1:-1:-1;;;7251:61:0;;6254:2:1;7251:61:0;;;6236:21:1;6293:2;6273:18;;;6266:30;6332:34;6312:18;;;6305:62;-1:-1:-1;;;6383:18:1;;;6376:31;6424:19;;7251:61:0;6052:397:1;7251:61:0;8151:66;7407:48;;-1:-1:-1;;;;;;7407:48:0;-1:-1:-1;;;;;7407:48:0;;;;;;;;7471:28;;;;-1:-1:-1;;7471:28:0;7626:18;-1:-1:-1;;;;;7615:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7615:45:0;;;;;;;;-1:-1:-1;;7615:45:0;;;;;;;;;;;;:::i;:::-;;;7611:206;;7768:37;;-1:-1:-1;;;7768:37:0;;4563:2:1;7768:37:0;;;4545:21:1;4602:2;4582:18;;;4575:30;4641:28;4621:18;;;4614:56;4687:18;;7768:37:0;4361:350:1;7611:206:0;7712:13;-1:-1:-1;7705:20:0;;-1:-1:-1;;7705:20:0;5376:2448;;;;;:::o;625:127:1:-;686:10;681:3;677:20;674:1;667:31;717:4;714:1;707:15;741:4;738:1;731:15;757:1095;834:6;842;895:2;883:9;874:7;870:23;866:32;863:52;;;911:1;908;901:12;863:52;937:23;;-1:-1:-1;;;;;989:31:1;;979:42;;969:70;;1035:1;1032;1025:12;969:70;1058:5;-1:-1:-1;1114:2:1;1099:18;;1086:32;1137:18;1167:14;;;1164:34;;;1194:1;1191;1184:12;1164:34;1232:6;1221:9;1217:22;1207:32;;1277:7;1270:4;1266:2;1262:13;1258:27;1248:55;;1299:1;1296;1289:12;1248:55;1335:2;1322:16;1357:2;1353;1350:10;1347:36;;;1363:18;;:::i;:::-;1438:2;1432:9;1406:2;1492:13;;-1:-1:-1;;1488:22:1;;;1512:2;1484:31;1480:40;1468:53;;;1536:18;;;1556:22;;;1533:46;1530:72;;;1582:18;;:::i;:::-;1622:10;1618:2;1611:22;1657:2;1649:6;1642:18;1697:7;1692:2;1687;1683;1679:11;1675:20;1672:33;1669:53;;;1718:1;1715;1708:12;1669:53;1774:2;1769;1765;1761:11;1756:2;1748:6;1744:15;1731:46;1819:1;1814:2;1809;1801:6;1797:15;1793:24;1786:35;1840:6;1830:16;;;;;;;757:1095;;;;;:::o;2770:277::-;2837:6;2890:2;2878:9;2869:7;2865:23;2861:32;2858:52;;;2906:1;2903;2896:12;2858:52;2938:9;2932:16;2991:5;2984:13;2977:21;2970:5;2967:32;2957:60;;3013:1;3010;3003:12;2957:60;3036:5;2770:277;-1:-1:-1;;;2770:277:1:o;3819:258::-;3891:1;3901:113;3915:6;3912:1;3909:13;3901:113;;;3991:11;;;3985:18;3972:11;;;3965:39;3937:2;3930:10;3901:113;;;4032:6;4029:1;4026:13;4023:48;;;4067:1;4058:6;4053:3;4049:16;4042:27;4023:48;;3819:258;;;:::o;4082:274::-;4211:3;4249:6;4243:13;4265:53;4311:6;4306:3;4299:4;4291:6;4287:17;4265:53;:::i;:::-;4334:16;;;;;4082:274;-1:-1:-1;;4082:274:1:o;5072:184::-;5142:6;5195:2;5183:9;5174:7;5170:23;5166:32;5163:52;;;5211:1;5208;5201:12;5163:52;-1:-1:-1;5234:16:1;;5072:184;-1:-1:-1;5072:184:1:o;5666:381::-;5813:2;5802:9;5795:21;5776:4;5845:6;5839:13;5888:6;5883:2;5872:9;5868:18;5861:34;5904:66;5963:6;5958:2;5947:9;5943:18;5938:2;5930:6;5926:15;5904:66;:::i;:::-;6031:2;6010:15;-1:-1:-1;;6006:29:1;5991:45;;;;6038:2;5987:54;;5666:381;-1:-1:-1;;5666:381:1:o

Swarm Source

ipfs://28bcaff67cc6cd0765fa4dca85f54e622ee87115d959015d3b7ee53e99a287ce
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.