Contract 0xa6a6b2cBE9Ce5B8fF94729F1eC402efc5042AbBF

Contract Overview

Balance:
0 ETH
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe1c8f2372fca016410f7cfc672a9c09446c91cb61d6a0250d621205ab42eddc9Report Result23359462022-12-06 14:48:121 hr 25 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001562
0xdccfac3b7af8d3057bcd52dae42ba7b46647f1eb182db4b3c0f10930390c8d68Report Result23311342022-12-06 12:42:113 hrs 31 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xc6fe1ba72deb539c40fe04f48c18e1daed9efc823ff97e6fe7096619b1359d26Report Result23261562022-12-06 10:34:415 hrs 38 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xefe598f7a789c6a50bdfd273ff82d9331ed57df016d2f8f907a38ecb17144a52Report Result23129372022-12-06 4:20:2611 hrs 52 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xe7ef44da0018983eedb7a9e3e78d7d875828f6adfeb08234721b8d25103f1379Report Result23064762022-12-06 1:00:5515 hrs 12 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x225a704576eff76965ae166e78221957d2dbebd0b8379d7720988ab8a0334ac3Report Result23002872022-12-05 21:50:2518 hrs 22 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x15062d75381bab2a11cc94f53dd5be1687e3313a74b92256c210e8a18c95cec4Report Result22959222022-12-05 19:39:1020 hrs 34 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xb8bf67ca0c91e52aa8dbd47157c36345016ce37212c58fb4d4578c1dbb293c23Report Result22951772022-12-05 19:19:4020 hrs 53 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x982caad8047bfb7704cb486da3660186069b68bb109d415ad055a8e1eba137e6Report Result22916442022-12-05 17:42:5422 hrs 30 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x94372fce4c8af0292cc968de74f2f3d05b029d93493b52c96a101a195b7e0c13Report Result22901342022-12-05 17:07:4023 hrs 5 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x1faeb403ccf3876fb8b8b8c93b1d0e16b52ebfeea10a030575dc69d2d97be8b0Report Result22865162022-12-05 15:36:541 day 36 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xf45f92e562b6d637e79b16de4d56564de427cbf21d12d3e495111f0d9539be59Report Result22857172022-12-05 15:16:391 day 56 mins ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xa8720b9824afe2147cb3bce6d6761771ea643bb35cd6bd2a21ea2ff045525c2aReport Result22852712022-12-05 15:06:091 day 1 hr ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xfdac9f6151ccaecf18144f08325c4485667459bcdd89dfb88eff6b64906b2330Report Result22838842022-12-05 14:33:541 day 1 hr ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xf6d0dd0bdf1b76c1c55f98ad39272da37b4c07cc0a7e865d9780ffb018d2de05Report Result22788632022-12-05 12:27:541 day 3 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x6d78f96f51c536393c6ce1a0339212a312d6f2acfdc9005d822bc2a1ff2f7d7cReport Result22723632022-12-05 9:27:531 day 6 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001355
0xd2a1e0e65dacd330c6ae87f9b460df360085aa6e58b013c104888a4baad6ac67Report Result22700442022-12-05 8:31:381 day 7 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x107f5d660375a4c62f48eb99b838b18784cbdae1d2e412bfee16f0be4f24fe51Report Result22667312022-12-05 7:15:531 day 8 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x87ae809ffba4c39c6e47db6c59ba3b16eff52baadc9ddc049dc5d9926453c36fReport Result22619522022-12-05 5:02:231 day 11 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x15407e797998ec2113c00b35de9d25fb95227c5ee30666197d0c1a51ee681c0eReport Result22614972022-12-05 4:49:381 day 11 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x686264fdfb48a569eb323db6c9269744804ed14836d1df922eecf9b449f521b9Report Result22604432022-12-05 4:19:381 day 11 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x93f78f16ad2101d27459a4a8f00e2a9b428f2a6794030df43fc004ce66a7993bReport Result22590332022-12-05 3:32:231 day 12 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0x83540653c901d2bc44bc8af3904e80d2663642239fe704494feefaa7c218cf96Report Result22538492022-12-05 0:39:071 day 15 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xa169ea82cfb2daf35b70816f694cfe232ad1656c9f6a8ff5562db2ca32e1b000Report Result22440242022-12-04 19:09:521 day 21 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
0xa66b31e63dc20d22b3ad340542565845fa63f3d307e61a94a9f671edfccce63aReport Result22419722022-12-04 18:04:371 day 22 hrs ago0x8c49cafc4542d9ea9107d4e48412aced2a68aa77 IN  0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH0.00001356
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe1c8f2372fca016410f7cfc672a9c09446c91cb61d6a0250d621205ab42eddc923359462022-12-06 14:48:121 hr 25 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0x8c49cafc4542d9ea9107d4e48412aced2a68aa770.0000133 ETH
0xe1c8f2372fca016410f7cfc672a9c09446c91cb61d6a0250d621205ab42eddc923359462022-12-06 14:48:121 hr 25 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0x00000000000000000000000000000000000000020 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba490 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0.0000133 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x9ef886df202100ffc1b38388b3591e0031e530450 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x7d0a71d7d797b7b2637f682e4cb47f66602e59f30 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0x9ea471f6901701bf2fb4a26233b04039f28af589b3b47f90115674054ed7f69c23356572022-12-06 14:43:391 hr 29 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH
0xdccfac3b7af8d3057bcd52dae42ba7b46647f1eb182db4b3c0f10930390c8d6823311342022-12-06 12:42:113 hrs 31 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0x8c49cafc4542d9ea9107d4e48412aced2a68aa770.0000133 ETH
0xdccfac3b7af8d3057bcd52dae42ba7b46647f1eb182db4b3c0f10930390c8d6823311342022-12-06 12:42:113 hrs 31 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0x00000000000000000000000000000000000000020 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba490 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0.0000133 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0x41f1eaf1ddab5dc78c0a45ee77ecc5f082d0ba49 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf0 ETH
0xfcfa7f72aa6572b02e2449e21663be683468d05f749f050fab028bf4a28adab223309952022-12-06 12:38:223 hrs 34 mins ago 0xa6a6b2cbe9ce5b8ff94729f1ec402efc5042abbf 0x17c7b4e454689ef181de1ffa6ec59b3d146344bd0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WitnetProxy

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Arbiscan on 2022-11-09
*/

// 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 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"}]

608060405234801561001057600080fd5b50610963806100206000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100bb5780636fbc15e9146100ed5761008a565b3661008a5760405162461bcd60e51b815260206004820152602260248201527f5769746e657450726f78793a206e6f207472616e736665727320616363657074604482015261195960f21b60648201526084015b60405180910390fd5b600061009461011d565b905060405136600082376000803683855af43d806000843e8180156100b7578184f35b8184fd5b3480156100c757600080fd5b506100d061011d565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100f957600080fd5b5061010d6101083660046107a8565b61014b565b60405190151581526020016100e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60006001600160a01b0383166101a35760405162461bcd60e51b815260206004820181905260248201527f5769746e657450726f78793a206e756c6c20696d706c656d656e746174696f6e6044820152606401610081565b60006101ad61011d565b90506001600160a01b0381161561058957806001600160a01b0316846001600160a01b03160361021f5760405162461bcd60e51b815260206004820152601f60248201527f5769746e657450726f78793a206e6f7468696e6720746f2075706772616465006044820152606401610081565b806001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610279575060408051601f3d908101601f1916820190925261027691810190610878565b60015b6102d85760405162461bcd60e51b815260206004820152602a60248201527f5769746e657450726f78793a20756e61626c6520746f20636865636b207570676044820152697261646162696c69747960b01b6064820152608401610081565b806103255760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f742075706772616461626c6500000000006044820152606401610081565b5060405133602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180516001600160e01b03166335ac4b0560e11b1790525161037791906108c5565b600060405180830381855af49150503d80600081146103b2576040519150601f19603f3d011682016040523d82523d6000602084013e6103b7565b606091505b5091509150816104095760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b8080602001905181019061041d9190610878565b6104695760405162461bcd60e51b815260206004820152601b60248201527f5769746e657450726f78793a206e6f7420617574686f72697a656400000000006044820152606401610081565b856001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cb91906108e1565b836001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d91906108e1565b146105865760405162461bcd60e51b8152602060048201526024808201527f5769746e657450726f78793a2070726f786961626c655555494473206d69736d6044820152630c2e8c6d60e31b6064820152608401610081565b50505b6000846001600160a01b0316846040516024016105a691906108fa565b60408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b179052516105db91906108c5565b600060405180830381855af49150503d8060008114610616576040519150601f19603f3d011682016040523d82523d6000602084013e61061b565b606091505b50509050806106765760405162461bcd60e51b815260206004820152602160248201527f5769746e657450726f78793a20756e61626c6520746f20696e697469616c697a6044820152606560f81b6064820152608401610081565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0387169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2846001600160a01b0316635479d9406040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610736575060408051601f3d908101601f1916820190925261073391810190610878565b60015b6107825760405162461bcd60e51b815260206004820152601a60248201527f5769746e657450726f78793a206e6f7420636f6d706c69616e740000000000006044820152606401610081565b925061078c915050565b92915050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107bb57600080fd5b82356001600160a01b03811681146107d257600080fd5b9150602083013567ffffffffffffffff808211156107ef57600080fd5b818501915085601f83011261080357600080fd5b81358181111561081557610815610792565b604051601f8201601f19908116603f0116810190838211818310171561083d5761083d610792565b8160405282815288602084870101111561085657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561088a57600080fd5b8151801515811461089a57600080fd5b9392505050565b60005b838110156108bc5781810151838201526020016108a4565b50506000910152565b600082516108d78184602087016108a1565b9190910192915050565b6000602082840312156108f357600080fd5b5051919050565b60208152600082518060208401526109198160408501602087016108a1565b601f01601f1916919091016040019291505056fea26469706673582212201076ea2ba4eb624f3fdee92363f9faa18120f192ac246899aa368190357d1cb964736f6c63430008110033

Deployed ByteCode Sourcemap

3259:4977:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3716:44;;-1:-1:-1;;;3716:44:0;;216:2:1;3716: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;;3716:44:0;;;;;;;;3259:4977;3932:23;3958:16;:14;:16::i;:::-;3932:42;;4324:4;4318:11;4364:14;4361:1;4356:3;4343:36;4468:1;4465;4449:14;4444:3;4427:15;4420:5;4407:63;4496:16;4549:4;4546:1;4541:3;4526:28;4575:6;4599:119;;;;4861:4;4856:3;4849:17;4599:119;4693:4;4688:3;4681:17;4969:109;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;581:32:1;;;563:51;;551:2;536:18;4969:109:0;;;;;;;;5372:2448;;;;;;;;;;-1:-1:-1;5372:2448:0;;;;;:::i;:::-;;:::i;:::-;;;2022:14:1;;2015:22;1997:41;;1985:2;1970:18;5372:2448:0;1857:187:1;4969:109:0;8147:66;5043:27;-1:-1:-1;;;;;5043:27:0;;4969:109::o;5372:2448::-;5468:4;-1:-1:-1;;;;;5545:32:0;;5537:77;;;;-1:-1:-1;;;5537:77:0;;2251:2:1;5537:77:0;;;2233:21:1;;;2270:18;;;2263:30;2329:34;2309:18;;;2302:62;2381:18;;5537:77:0;2049:356:1;5537:77:0;5627:26;5656:16;:14;:16::i;:::-;5627:45;-1:-1:-1;;;;;;5687:32:0;;;5683:1282;;5839:18;-1:-1:-1;;;;;5817:40:0;:18;-1:-1:-1;;;;;5817:40:0;;5809:84;;;;-1:-1:-1;;;5809:84:0;;2612:2:1;5809:84:0;;;2594:21:1;2651:2;2631:18;;;2624:30;2690:33;2670:18;;;2663:61;2741:18;;5809:84:0;2410:355:1;5809:84:0;6008:18;-1:-1:-1;;;;;5997:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5997:45:0;;;;;;;;-1:-1:-1;;5997:45:0;;;;;;;;;;;;:::i;:::-;;;5993:261;;6186:52;;-1:-1:-1;;;6186:52:0;;3254:2:1;6186: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;;6186:52:0;3052:406:1;5993:261:0;6099:13;6091:53;;;;-1:-1:-1;;;6091:53:0;;3665:2:1;6091:53:0;;;3647:21:1;3704:2;3684:18;;;3677:30;3743:29;3723:18;;;3716:57;3790:18;;6091:53:0;3463:351:1;6091:53:0;-1:-1:-1;6458:125:0;;6554:10;6458:125;;;563:51:1;6367:15:0;;;;-1:-1:-1;;;;;6408:31:0;;;536:18:1;;6458:125:0;;;-1:-1:-1;;6458:125:0;;;;;;;;;;;;;;-1:-1:-1;;;;;6458:125:0;-1:-1:-1;;;6458:125:0;;;6408:190;;;6458:125;6408:190;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6366:232;;;;6621:10;6613:49;;;;-1:-1:-1;;;6613:49:0;;4568:2:1;6613:49:0;;;4550:21:1;4607:2;4587:18;;;4580:30;4646:28;4626:18;;;4619:56;4692:18;;6613:49:0;4366:350:1;6613:49:0;6696:7;6685:27;;;;;;;;;;;;:::i;:::-;6677:67;;;;-1:-1:-1;;;6677:67:0;;4923:2:1;6677:67:0;;;4905:21:1;4962:2;4942:18;;;4935:30;5001:29;4981:18;;;4974:57;5048:18;;6677:67:0;4721:351:1;6677:67:0;6846:18;-1:-1:-1;;;;;6835:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6796:18;-1:-1:-1;;;;;6785:44:0;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:96;6759:194;;;;-1:-1:-1;;;6759:194:0;;5468:2:1;6759:194:0;;;5450:21:1;5507:2;5487:18;;;5480:30;5546:34;5526:18;;;5519:62;-1:-1:-1;;;5597:18:1;;;5590:34;5641:19;;6759:194:0;5266:400:1;6759:194:0;5721:1244;;5683:1282;7050:20;7075:18;-1:-1:-1;;;;;7075:31:0;7201:9;7121:104;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7121:104:0;;;;;;;;;;;;;;-1:-1:-1;;;;;7121:104:0;-1:-1:-1;;;7121:104:0;;;7075:161;;;7121:104;7075:161;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7049:187;;;7255:15;7247:61;;;;-1:-1:-1;;;7247:61:0;;6272:2:1;7247:61:0;;;6254:21:1;6311:2;6291:18;;;6284:30;6350:34;6330:18;;;6323:62;-1:-1:-1;;;6401:18:1;;;6394:31;6442:19;;7247:61:0;6070:397:1;7247:61:0;8147:66;7403:48;;-1:-1:-1;;;;;;7403:48:0;-1:-1:-1;;;;;7403:48:0;;;;;;;;7467:28;;;;-1:-1:-1;;7467:28:0;7622:18;-1:-1:-1;;;;;7611:43:0;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7611:45:0;;;;;;;;-1:-1:-1;;7611:45:0;;;;;;;;;;;;:::i;:::-;;;7607:206;;7764:37;;-1:-1:-1;;;7764:37:0;;4568:2:1;7764:37:0;;;4550:21:1;4607:2;4587:18;;;4580:30;4646:28;4626:18;;;4619:56;4692:18;;7764:37:0;4366:350:1;7607:206:0;7708:13;-1:-1:-1;7701:20:0;;-1:-1:-1;;7701:20:0;5372: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:250::-;3904:1;3914:113;3928:6;3925:1;3922:13;3914:113;;;4004:11;;;3998:18;3985:11;;;3978:39;3950:2;3943:10;3914:113;;;-1:-1:-1;;4061:1:1;4043:16;;4036:27;3819:250::o;4074:287::-;4203:3;4241:6;4235:13;4257:66;4316:6;4311:3;4304:4;4296:6;4292:17;4257:66;:::i;:::-;4339:16;;;;;4074:287;-1:-1:-1;;4074:287:1:o;5077:184::-;5147:6;5200:2;5188:9;5179:7;5175:23;5171:32;5168:52;;;5216:1;5213;5206:12;5168:52;-1:-1:-1;5239:16:1;;5077:184;-1:-1:-1;5077:184:1:o;5671:394::-;5818:2;5807:9;5800:21;5781:4;5850:6;5844:13;5893:6;5888:2;5877:9;5873:18;5866:34;5909:79;5981:6;5976:2;5965:9;5961:18;5956:2;5948:6;5944:15;5909:79;:::i;:::-;6049:2;6028:15;-1:-1:-1;;6024:29:1;6009:45;;;;6056:2;6005:54;;5671:394;-1:-1:-1;;5671:394:1:o

Metadata Hash

1076ea2ba4eb624f3fdee92363f9faa18120f192ac246899aa368190357d1cb9
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading