Contract 0x02819a43a70e22e43b6e38c6b5868246775ea0f3

 

Contract Overview

Balance:
2.995296598047423955 ETH

ETH Value:
$3,871.75 (@ $1,292.61/ETH)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x81c7f82c472423dc5f173cf5915fc7403a40a506619fede1c3ea3d058cc7b8a2Deposit331124722022-10-27 17:47:5538 days 6 hrs ago0x9caa38d16734ff47d6adb362fadd4f734942a20f IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.008 ETH0.00004396
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718Withdraw With Lo...325963982022-10-26 0:09:4340 days 36 mins ago0xe54116fb2db24ad6dcbaa2ca8da2dd78afab6257 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30 ETH0.00004412
0xb3723f0036592aa71960c5183c5c0715097472e3b1b57b39d6284a52bd55bdcdDeposit325958882022-10-26 0:06:1140 days 40 mins ago0xe54116fb2db24ad6dcbaa2ca8da2dd78afab6257 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.025 ETH0.00005249
0x04c922bd79a24b4777c8d50ed968b2757620d17dcab9f6a58a7c414adfe30aa8Deposit323738372022-10-25 5:17:2640 days 19 hrs ago0x9d7d814b94e8e89753466f2b284bfe64e4d71458 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.000001 ETH0.00003347
0x1dbc804f696fbb7e4cb962564523d9862ae7abbf2ff450fb36f5541404d1385aDeposit317290202022-10-22 12:17:1643 days 12 hrs ago0xdf3737d26f74ac36b73fc7e8ff20afe5009cae7c IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.000023 ETH0.0000432
0x54a41b83cadaae4b21cda50d59db15e22a7f524650d6e447b0f678b19abc076eDeposit317276112022-10-22 12:09:0343 days 12 hrs ago0xbd227c7b8d581b9d3639b7e6e301cdf99c374dd6 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.000023 ETH0.00004284
0x66d3177117764a224d4479393ea608a76e3cc6e13224cc729a4b03b81dc022cfWithdraw No Lock...281801532022-10-03 14:25:2262 days 10 hrs ago0xed9490eb47478b11e0c6352446fa70542a093ef5 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30 ETH0.00005385
0x2d0bed7965fe9edc63184926250f0b57118ebc0b5dd976c996d5998a3c7c585bDeposit261230492022-09-23 7:20:1172 days 17 hrs ago0xc7004b2bc98baace735986f6ab53d12d59716c00 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0047 ETH0.00002192
0x31ac4b39402a3f51a03158285ea6ffc88a83bc2c4c4e3d8686f1bab173a23ee6Swap215161112022-08-27 9:04:4899 days 15 hrs ago0x027edab05ff1bd8645aaeeda115caf671d53611a IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30 ETH0.000192895861 ETH
0xc8241d6d91632b2ac07af94f973d0c0d772e9cbf702f3199ae8f2541c9cc4813Deposit193405222022-08-04 4:16:41122 days 20 hrs ago0x4b21e85d821b9720b3cfbc673a34d61baefd0fc7 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.004 ETH0.000078003804 ETH
0x2a2fdefa71ecffdfb7c77f98b087600e85e867f7b8b65d603224984aff5b2485Withdraw No Lock...192285492022-08-02 21:17:09124 days 3 hrs ago0xed9490eb47478b11e0c6352446fa70542a093ef5 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30 ETH0.000095029201 ETH
0x53672e95b542f9ce5c4633d6b0cd3a82df595315f45ce4d9349278c8f4bf9b52Withdraw No Lock...182306742022-07-21 18:28:07136 days 6 hrs ago0xd861415f6703ab50ce101c7e6f6a80ada1fc2b1c IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30 ETH0.000161811204 ETH
0x3019434ecc0ef9e89464536724b55a8c06f8180edbcac181bec4fccc98ba6e6cDeposit171038282022-07-06 6:56:52151 days 17 hrs ago0x7a08d18cbe547288738e72a5e209b402f7459c0e IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.03 ETH0.000157026933 ETH
0xc66d027d9d75eb98c5e384b5b2e53af8b078110aa5726188451ae736f387c22eDeposit143152332022-06-11 12:57:31176 days 11 hrs ago0xcf770d73ffe6703df20febb540484e23af1b1278 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0023 ETH0.000233026411 ETH
0xe7db5f72a589f594403d6fe280c2a25417e8fb5ba9fe6e9227ceda37669b0316Deposit143116252022-06-11 12:19:06176 days 12 hrs ago0x5527e5eb81323e3a3dfb24bffc6852034d736aaa IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.00273 ETH0.000233938741 ETH
0xca6ce2a0fb675eb2bca72d9c2d0c26f9045eb9b617a576a61323c5599e48ef95Deposit143109582022-06-11 12:09:40176 days 12 hrs ago0xbbdfd18774bca789195e224a98585fa0033fb164 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0024 ETH0.000231931219 ETH
0xd7eeac5fb728538f6065f5b5e72bec8f8ceb04273fa6a3fae8c92fb3e0a1bce0Deposit143075812022-06-11 11:31:04176 days 13 hrs ago0x5c924015c95240c0ad0177bb6abd744f2a1d73ca IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0023 ETH0.000231929236 ETH
0x588acebc54b4028d91ec15f2544ddf15623825e43c86311d9b4f3a788a8818acDeposit143002032022-06-11 9:57:36176 days 14 hrs ago0x9f89c8629877383f9dac8661bf960d88b36c825e IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0024 ETH0.000252640446 ETH
0x24fe901c838eb7d98563d87ac0f380a8b5db1a61ad5e4c5ff180a0b089fe93d9Deposit142992072022-06-11 9:43:44176 days 15 hrs ago0x41ad4fbd3200a4661e6d3c1e81947d3e961ae5a8 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.00234 ETH0.000232416266 ETH
0x97bb793202ce25c561bb22c3a073db0f500546ca53a35961cbf725b2047a914dDeposit142987902022-06-11 9:38:05176 days 15 hrs ago0x41ad4fbd3200a4661e6d3c1e81947d3e961ae5a8 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0025 ETH0.000253243192 ETH
0x0cbeda3955924653319d6b8288e9722aec3a8d0bb357c6a439ce2d70cc7c8f6cDeposit142689562022-06-11 1:36:57176 days 23 hrs ago0x1b90eeb5bd646ffb07ee1e1ca954c6d48cfb8308 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0027 ETH0.000312631397 ETH
0x234f725a38349d9f8b861dbf1f636b746a5e59c7cf660fe4aa82fb3bd1a1b5fcDeposit141924992022-06-10 0:59:23177 days 23 hrs ago0xa004a25c718ab12df29a936715ebede2c6ab010d IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0031 ETH0.000389631339 ETH
0x45d12bd49a32ffcb1357216a0ca0cbd9babbeba38238cea5874e3760b2fc9602Deposit141922092022-06-10 0:50:51177 days 23 hrs ago0x762dbe80f5cd3380a2f805456ad476d16aa80637 IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0027 ETH0.00038962537 ETH
0x4f8ad15a5d64a223f19eac3cd53105f6db2a0220e1883d7913b1ae21391dd97aDeposit141921312022-06-10 0:48:27177 days 23 hrs ago0xc9e45f6098ff44a428b02a6b4e3845eabd09bf6a IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0024 ETH0.000355521336 ETH
0x7c28410103277edbd1541956740c99687686d763a410e710973ae82982ee948fDeposit141912242022-06-10 0:28:31178 days 17 mins ago0x41e6c82e85fffeefefc8f410ecad9646affaf20d IN 0x02819a43a70e22e43b6e38c6b5868246775ea0f30.0024 ETH0.000388722048 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x81c7f82c472423dc5f173cf5915fc7403a40a506619fede1c3ea3d058cc7b8a2331124722022-10-27 17:47:5538 days 6 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x81c7f82c472423dc5f173cf5915fc7403a40a506619fede1c3ea3d058cc7b8a2331124722022-10-27 17:47:5538 days 6 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x81c7f82c472423dc5f173cf5915fc7403a40a506619fede1c3ea3d058cc7b8a2331124722022-10-27 17:47:5538 days 6 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x81c7f82c472423dc5f173cf5915fc7403a40a506619fede1c3ea3d058cc7b8a2331124722022-10-27 17:47:5538 days 6 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718325963982022-10-26 0:09:4340 days 36 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f30xe54116fb2db24ad6dcbaa2ca8da2dd78afab62570.024724919244772639 ETH
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718325963982022-10-26 0:09:4340 days 36 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718325963982022-10-26 0:09:4340 days 36 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718325963982022-10-26 0:09:4340 days 36 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x62504eaa02a967b34940028fad399751ed7624a6edbe122d1a755ab5bc0e6718325963982022-10-26 0:09:4340 days 36 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0xb3723f0036592aa71960c5183c5c0715097472e3b1b57b39d6284a52bd55bdcd325958882022-10-26 0:06:1140 days 40 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0xb3723f0036592aa71960c5183c5c0715097472e3b1b57b39d6284a52bd55bdcd325958882022-10-26 0:06:1140 days 40 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0xb3723f0036592aa71960c5183c5c0715097472e3b1b57b39d6284a52bd55bdcd325958882022-10-26 0:06:1140 days 40 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0xb3723f0036592aa71960c5183c5c0715097472e3b1b57b39d6284a52bd55bdcd325958882022-10-26 0:06:1140 days 40 mins ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x04c922bd79a24b4777c8d50ed968b2757620d17dcab9f6a58a7c414adfe30aa8323738372022-10-25 5:17:2640 days 19 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x04c922bd79a24b4777c8d50ed968b2757620d17dcab9f6a58a7c414adfe30aa8323738372022-10-25 5:17:2640 days 19 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x04c922bd79a24b4777c8d50ed968b2757620d17dcab9f6a58a7c414adfe30aa8323738372022-10-25 5:17:2640 days 19 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x04c922bd79a24b4777c8d50ed968b2757620d17dcab9f6a58a7c414adfe30aa8323738372022-10-25 5:17:2640 days 19 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x1dbc804f696fbb7e4cb962564523d9862ae7abbf2ff450fb36f5541404d1385a317290202022-10-22 12:17:1643 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x1dbc804f696fbb7e4cb962564523d9862ae7abbf2ff450fb36f5541404d1385a317290202022-10-22 12:17:1643 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x1dbc804f696fbb7e4cb962564523d9862ae7abbf2ff450fb36f5541404d1385a317290202022-10-22 12:17:1643 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x1dbc804f696fbb7e4cb962564523d9862ae7abbf2ff450fb36f5541404d1385a317290202022-10-22 12:17:1643 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x54a41b83cadaae4b21cda50d59db15e22a7f524650d6e447b0f678b19abc076e317276112022-10-22 12:09:0343 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x54a41b83cadaae4b21cda50d59db15e22a7f524650d6e447b0f678b19abc076e317276112022-10-22 12:09:0343 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x54a41b83cadaae4b21cda50d59db15e22a7f524650d6e447b0f678b19abc076e317276112022-10-22 12:09:0343 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x54a41b83cadaae4b21cda50d59db15e22a7f524650d6e447b0f678b19abc076e317276112022-10-22 12:09:0343 days 12 hrs ago 0x02819a43a70e22e43b6e38c6b5868246775ea0f3 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xE833cb08f7569168a408A24440e550c8897Ac4D6

Contract Name:
ACOProxy

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: ACOProxy.sol
// SPDX-License-Identifier: None
pragma solidity 0.8.4;

import "./Address.sol";

contract ACOProxy {
    
    event ProxyAdminUpdated(address previousAdmin, address newAdmin);
    event SetImplementation(address previousImplementation, address newImplementation);

    bytes32 private constant adminPosition = keccak256("acoproxy.admin");
    bytes32 private constant implementationPosition = keccak256("acoproxy.implementation");

    modifier onlyAdmin() {
        require(msg.sender == admin(), "ACOProxy::onlyAdmin");
        _;
    }
    
    constructor(address _admin, address _implementation, bytes memory _initdata) {
        _setAdmin(_admin);
        _setImplementation(_implementation, _initdata);
    }

    fallback() external payable {
        address addr = implementation();
        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), addr, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    function proxyType() public pure returns(uint256) {
        return 2; 
    }

    function admin() public view returns (address adm) {
        bytes32 position = adminPosition;
        assembly {
            adm := sload(position)
        }
    }

    function implementation() public view returns (address impl) {
        bytes32 position = implementationPosition;
        assembly {
            impl := sload(position)
        }
    }

    function transferProxyAdmin(address newAdmin) external onlyAdmin {
        _setAdmin(newAdmin);
    }

    function setImplementation(address newImplementation, bytes calldata initData) external onlyAdmin {
        _setImplementation(newImplementation, initData);
    }

    function _setAdmin(address newAdmin) internal {
        require(newAdmin != address(0), "ACOProxy::_setAdmin: Invalid admin");
        
        emit ProxyAdminUpdated(admin(), newAdmin);
        
        bytes32 position = adminPosition;
        assembly {
            sstore(position, newAdmin)
        }
    }

    function _setImplementation(address newImplementation, bytes memory initData) internal {
        require(Address.isContract(newImplementation), "ACOProxy::_setImplementation: Invalid implementation");
        
        emit SetImplementation(implementation(), newImplementation);
        
        bytes32 position = implementationPosition;
        assembly {
            sstore(position, newImplementation)
        }
        if (initData.length > 0) {
            (bool success,) = newImplementation.delegatecall(initData);
            assert(success);
        }
    }
}

File 2 of 2: Address.sol
// Contract on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts
// SPDX-License-Identifier: MIT
pragma solidity 0.8.4;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) private pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_initdata","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"ProxyAdminUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":false,"internalType":"address","name":"newImplementation","type":"address"}],"name":"SetImplementation","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"adm","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"impl","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"initData","type":"bytes"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"transferProxyAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162000a5f38038062000a5f8339810160408190526200003491620002f3565b6200003f8362000054565b6200004b82826200014b565b50505062000432565b6001600160a01b038116620000bb5760405162461bcd60e51b815260206004820152602260248201527f41434f50726f78793a3a5f73657441646d696e3a20496e76616c69642061646d60448201526134b760f11b60648201526084015b60405180910390fd5b7fd2baf0ee61889f3230e02006e6c955d691579ad5ee5e11e133a8146ef2efc6a3620001057f0ec11ce038cbd356cb7ba1c7e4753b2d5db299be4707c1000a4a879adaa97f735490565b604080516001600160a01b03928316815291841660208301520160405180910390a17f0ec11ce038cbd356cb7ba1c7e4753b2d5db299be4707c1000a4a879adaa97f7355565b6200016182620002d060201b620002651760201c565b620001d55760405162461bcd60e51b815260206004820152603460248201527f41434f50726f78793a3a5f736574496d706c656d656e746174696f6e3a20496e60448201527f76616c696420696d706c656d656e746174696f6e0000000000000000000000006064820152608401620000b2565b7f273696cd8b7028587777b784decf945aca2e42036459d9d5fd81e493b11268286200020e60008051602062000a3f8339815191525490565b604080516001600160a01b03928316815291851660208301520160405180910390a160008051602062000a3f833981519152828155815115620002cb576000836001600160a01b031683604051620002679190620003cf565b600060405180830381855af49150503d8060008114620002a4576040519150601f19603f3d011682016040523d82523d6000602084013e620002a9565b606091505b5050905080620002c957634e487b7160e01b600052600160045260246000fd5b505b505050565b3b151590565b80516001600160a01b0381168114620002ee57600080fd5b919050565b60008060006060848603121562000308578283fd5b6200031384620002d6565b92506200032360208501620002d6565b60408501519092506001600160401b038082111562000340578283fd5b818601915086601f83011262000354578283fd5b8151818111156200036957620003696200041c565b604051601f8201601f19908116603f011681019083821181831017156200039457620003946200041c565b81604052828152896020848701011115620003ad578586fd5b620003c0836020830160208801620003ed565b80955050505050509250925092565b60008251620003e3818460208701620003ed565b9190910192915050565b60005b838110156200040a578181015183820152602001620003f0565b83811115620002c95750506000910152565b634e487b7160e01b600052604160045260246000fd5b6105fd80620004426000396000f3fe60806040526004361061004a5760003560e01c80634555d5c9146100885780635c60da1b146100a95780638356ca4f146100df578063c6d93f4a14610101578063f851a44014610121575b60006100626000805160206105a88339815191525490565b90503660008037600080366000845af43d6000803e808015610083573d6000f35b3d6000fd5b34801561009457600080fd5b50604051600281526020015b60405180910390f35b3480156100b557600080fd5b506000805160206105a8833981519152545b6040516001600160a01b0390911681526020016100a0565b3480156100eb57600080fd5b506100ff6100fa3660046104af565b610143565b005b34801561010d57600080fd5b506100ff61011c3660046104d0565b6101ba565b34801561012d57600080fd5b50600080516020610588833981519152546100c7565b600080516020610588833981519152546001600160a01b0316336001600160a01b0316146101ae5760405162461bcd60e51b815260206004820152601360248201527220a1a7a83937bc3c9d1d37b7363ca0b236b4b760691b60448201526064015b60405180910390fd5b6101b78161026b565b50565b600080516020610588833981519152546001600160a01b0316336001600160a01b0316146102205760405162461bcd60e51b815260206004820152601360248201527220a1a7a83937bc3c9d1d37b7363ca0b236b4b760691b60448201526064016101a5565b6102608383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061033792505050565b505050565b3b151590565b6001600160a01b0381166102cc5760405162461bcd60e51b815260206004820152602260248201527f41434f50726f78793a3a5f73657441646d696e3a20496e76616c69642061646d60448201526134b760f11b60648201526084016101a5565b7fd2baf0ee61889f3230e02006e6c955d691579ad5ee5e11e133a8146ef2efc6a36103036000805160206105888339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a160008051602061058883398151915255565b813b6103a25760405162461bcd60e51b815260206004820152603460248201527f41434f50726f78793a3a5f736574496d706c656d656e746174696f6e3a20496e6044820152733b30b634b21034b6b83632b6b2b73a30ba34b7b760611b60648201526084016101a5565b7f273696cd8b7028587777b784decf945aca2e42036459d9d5fd81e493b11268286103d96000805160206105a88339815191525490565b604080516001600160a01b03928316815291851660208301520160405180910390a16000805160206105a8833981519152828155815115610260576000836001600160a01b03168360405161042e919061054e565b600060405180830381855af49150503d8060008114610469576040519150601f19603f3d011682016040523d82523d6000602084013e61046e565b606091505b505090508061048d57634e487b7160e01b600052600160045260246000fd5b50505050565b80356001600160a01b03811681146104aa57600080fd5b919050565b6000602082840312156104c0578081fd5b6104c982610493565b9392505050565b6000806000604084860312156104e4578182fd5b6104ed84610493565b9250602084013567ffffffffffffffff80821115610509578384fd5b818601915086601f83011261051c578384fd5b81358181111561052a578485fd5b87602082850101111561053b578485fd5b6020830194508093505050509250925092565b60008251815b8181101561056e5760208186018101518583015201610554565b8181111561057c5782828501525b50919091019291505056fe0ec11ce038cbd356cb7ba1c7e4753b2d5db299be4707c1000a4a879adaa97f738cb7dd363b21eff08854567a300f824d5e71d9dda7ac5c2c659f67260a784880a2646970667358221220ae75f0f81e8ac5fc6b5c127c1885da4177fa68016300b3433e7d490954ed31da64736f6c634300080400338cb7dd363b21eff08854567a300f824d5e71d9dda7ac5c2c659f67260a784880000000000000000000000000c25a67941ae0897933fc9abd6862dc7c34d49155000000000000000000000000af7da27761a62d0ee4a55a8577d565adae957acb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000844b180da9000000000000000000000000c25a67941ae0897933fc9abd6862dc7c34d49155000000000000000000000000af7da27761a62d0ee4a55a8577d565adae957acb000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000c25a67941ae0897933fc9abd6862dc7c34d4915500000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

87:2739:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;784:12;799:16;-1:-1:-1;;;;;;;;;;;1591:15:0;;1568:49;799:16;784:31;;869:14;866:1;863;850:34;960:1;957;941:14;938:1;932:4;925:5;912:50;997:16;994:1;991;976:38;1035:6;1055:38;;;;1127:16;1124:1;1117:27;1055:38;1074:16;1071:1;1064:27;1172:78;;;;;;;;;;-1:-1:-1;1172:78:0;;1240:1;3383:25:2;;3371:2;3356:18;1172:78:0;;;;;;;;1435:189;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;1591:15:0;1435:189;;;-1:-1:-1;;;;;1712:32:2;;;1694:51;;1682:2;1667:18;1435:189:0;1649:102:2;1632:103:0;;;;;;;;;;-1:-1:-1;1632:103:0;;;;;:::i;:::-;;:::i;:::-;;1743:164;;;;;;;;;;-1:-1:-1;1743:164:0;;;;;:::i;:::-;;:::i;1258:169::-;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;1394:15:0;1258:169;1372:48;1632:103;-1:-1:-1;;;;;;;;;;;1394:15:0;-1:-1:-1;;;;;490:21:0;:10;-1:-1:-1;;;;;490:21:0;;482:53;;;;-1:-1:-1;;;482:53:0;;2688:2:2;482:53:0;;;2670:21:2;2727:2;2707:18;;;2700:30;-1:-1:-1;;;2746:18:2;;;2739:49;2805:18;;482:53:0;;;;;;;;;1708:19:::1;1718:8;1708:9;:19::i;:::-;1632:103:::0;:::o;1743:164::-;-1:-1:-1;;;;;;;;;;;1394:15:0;-1:-1:-1;;;;;490:21:0;:10;-1:-1:-1;;;;;490:21:0;;482:53;;;;-1:-1:-1;;;482:53:0;;2688:2:2;482:53:0;;;2670:21:2;2727:2;2707:18;;;2700:30;-1:-1:-1;;;2746:18:2;;;2739:49;2805:18;;482:53:0;2660:169:2;482:53:0;1852:47:::1;1871:17;1890:8;;1852:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1852:18:0::1;::::0;-1:-1:-1;;;1852:47:0:i:1;:::-;1743:164:::0;;;:::o;833:387:1:-;1156:20;1204:8;;;833:387::o;1915:320:0:-;-1:-1:-1;;;;;1980:22:0;;1972:69;;;;-1:-1:-1;;;1972:69:0;;3036:2:2;1972:69:0;;;3018:21:2;3075:2;3055:18;;;3048:30;3114:34;3094:18;;;3087:62;-1:-1:-1;;;3165:18:2;;;3158:32;3207:19;;1972:69:0;3008:224:2;1972:69:0;2067:36;2085:7;-1:-1:-1;;;;;;;;;;;1394:15:0;;1372:48;2085:7;2067:36;;;-1:-1:-1;;;;;1986:15:2;;;1968:34;;2038:15;;;2033:2;2018:18;;2011:43;1903:18;2067:36:0;;;;;;;-1:-1:-1;;;;;;;;;;;2191:26:0;2176:52::o;2243:580::-;1156:20:1;;2341:102:0;;;;-1:-1:-1;;;2341:102:0;;2267:2:2;2341:102:0;;;2249:21:2;2306:2;2286:18;;;2279:30;2345:34;2325:18;;;2318:62;-1:-1:-1;;;2396:18:2;;;2389:50;2456:19;;2341:102:0;2239:242:2;2341:102:0;2469:54;2487:16;-1:-1:-1;;;;;;;;;;;1591:15:0;;1568:49;2487:16;2469:54;;;-1:-1:-1;;;;;1986:15:2;;;1968:34;;2038:15;;;2033:2;2018:18;;2011:43;1903:18;2469:54:0;;;;;;;-1:-1:-1;;;;;;;;;;;2620:35:0;;;2680:15;;:19;2676:140;;2717:12;2734:17;-1:-1:-1;;;;;2734:30:0;2765:8;2734:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2716:58;;;2796:7;2789:15;;-1:-1:-1;;;2789:15:0;;;;;;;;;2676:140;2243:580;;;:::o;14:173:2:-;82:20;;-1:-1:-1;;;;;131:31:2;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:196::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;:::-;343:39;262:126;-1:-1:-1;;;262:126:2:o;393:715::-;472:6;480;488;541:2;529:9;520:7;516:23;512:32;509:2;;;562:6;554;547:22;509:2;590:29;609:9;590:29;:::i;:::-;580:39;;670:2;659:9;655:18;642:32;693:18;734:2;726:6;723:14;720:2;;;755:6;747;740:22;720:2;798:6;787:9;783:22;773:32;;843:7;836:4;832:2;828:13;824:27;814:2;;870:6;862;855:22;814:2;915;902:16;941:2;933:6;930:14;927:2;;;962:6;954;947:22;927:2;1012:7;1007:2;998:6;994:2;990:15;986:24;983:37;980:2;;;1038:6;1030;1023:22;980:2;1074;1070;1066:11;1056:21;;1096:6;1086:16;;;;;499:609;;;;;:::o;1113:430::-;1242:3;1280:6;1274:13;1305:3;1317:129;1331:6;1328:1;1325:13;1317:129;;;1429:4;1413:14;;;1409:25;;1403:32;1390:11;;;1383:53;1346:12;1317:129;;;1464:6;1461:1;1458:13;1455:2;;;1499:3;1490:6;1485:3;1481:16;1474:29;1455:2;-1:-1:-1;1521:16:2;;;;;1250:293;-1:-1:-1;;1250:293:2:o

Metadata Hash

ae75f0f81e8ac5fc6b5c127c1885da4177fa68016300b3433e7d490954ed31da
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.