Contract 0x2b3d495f68b3696982a39bf17c49d4ec718760e0

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055Swap433451002022-12-03 19:32:5864 days 20 hrs ago0x932f04eb4e12127698b9f117a76e95eae11e0f72 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00008639
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0Deposit317287952022-10-22 12:16:00107 days 3 hrs ago0xdf3737d26f74ac36b73fc7e8ff20afe5009cae7c IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00004837
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917Deposit291278542022-10-08 16:18:28120 days 23 hrs ago0x7d64e59464430bff5ca2d2d4a9643ca59e66bda9 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00003716
0x51ac236ef8892fe1cfb64ce37df097f41852ad8b5e0f56696c5246dc8401db8bSwap282014792022-10-03 17:20:25125 days 22 hrs ago0x707707f87117c78e25806a575d23a1aa81c20bb0 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00009572
0xbb09a60d84e8605d8b10b4a25fb3f89b78edcf3091d1a388d178e585f41a1514Swap278850002022-10-02 2:46:08127 days 13 hrs ago0x51f6f25684397fbcccd96f103777b5371de23ee7 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00007247
0x0ec0a7063c59bdb9364eef3b1df906a34e1db09c1162765c246f60f2e28f0cedWithdraw No Lock...148662562022-06-17 6:23:01234 days 9 hrs ago0xbba06256d6b676eac77ffea3249b31c5c43b64bd IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000193833028 ETH
0x161f8ff29ba8df0a2b8f4b983707f98a0a4e2a878aab9e662f3b867944fa548fDeposit143151182022-06-11 12:57:10240 days 3 hrs ago0xcf770d73ffe6703df20febb540484e23af1b1278 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00022845088 ETH
0x53ad8a2051f806fb71e51e8e77ed149cd7cb45224afccee363653609b54ee915Deposit143132302022-06-11 12:35:41240 days 3 hrs ago0x5527e5eb81323e3a3dfb24bffc6852034d736aaa IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000229543296 ETH
0x74e13b636fa0c7a6ac6eb9816bae0f276418e539c78e90e1c22a0bc670db9c8eDeposit143106992022-06-11 12:06:20240 days 3 hrs ago0x5c924015c95240c0ad0177bb6abd744f2a1d73ca IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000228991931 ETH
0xa48664923a90833b59e798496fd6992d3ae4a2ef9470dee9fc30f1c8bec4a9a3Deposit143002772022-06-11 9:58:42240 days 6 hrs ago0x9f89c8629877383f9dac8661bf960d88b36c825e IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00024884077 ETH
0xa7c58c9464de02730a01cc3c7ca68cf987636d87bddf7b77023c05c4626722b5Deposit142988462022-06-11 9:39:07240 days 6 hrs ago0x41ad4fbd3200a4661e6d3c1e81947d3e961ae5a8 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000248850276 ETH
0x12306b448fb7e7c09a515a2c8588a52a101ae879dc27563495bbdaa94c037956Deposit142689442022-06-11 1:35:28240 days 14 hrs ago0x1b90eeb5bd646ffb07ee1e1ca954c6d48cfb8308 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000307945911 ETH
0x163e0d26c1efd29a9d44835f7d5a1aca505688c8cb2b72273390147c286a88c1Deposit140286242022-06-08 2:40:18243 days 13 hrs ago0xc9e45f6098ff44a428b02a6b4e3845eabd09bf6a IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.00043144918 ETH
0x380c9ca5396468373b31bfe22a9d363d89ff1aad2aed545a5081ece91d4071b5Deposit138435022022-06-06 6:46:13245 days 9 hrs ago0x08d48894e165f255ecb0071cfbad7b5a10704861 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000307227079 ETH
0xf081897dae588801c7b3ba21e34af73adb853ab058f6c63fcfeed1ff9d0ac8a9Deposit138104982022-06-05 20:15:05245 days 19 hrs ago0xdf9d1bca4c94e8a551031e17f487a0da96404f6e IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000366414879 ETH
0x3fa30f88719b9a60eb3cf85c25be8f2e2faa7f9ca78e65a7c6ba0c10fc00cbe5Withdraw No Lock...121994252022-05-16 8:15:01266 days 7 hrs ago0x665ddd5ce3a16e96ae10f0d842d4ba4b55175585 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000127835151 ETH
0xd22cf689827efc8611e14621f61497f85a9f5a438f973b2a4a66186a16b35619Deposit115717712022-05-09 6:55:14273 days 9 hrs ago0xef1a7782b7dd5f78b813bec1a4e96e7feac3f0aa IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000154947305 ETH
0xf953bac7ff0d9fe1f9a6789a69d3949ef82c8ba48d7701e0c00fada2950ecc9bSwap115414182022-05-08 23:31:20273 days 16 hrs ago0xc2f377f42ccdee84b5d2a8989ea1035b2b95cc73 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000362386104 ETH
0x27e297c382a10e7c7046ca1817ff01b8d8f1e1a3a2c0290d479b6f2131713974Deposit111320232022-05-03 22:50:37278 days 17 hrs ago0xbba06256d6b676eac77ffea3249b31c5c43b64bd IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000323593588 ETH
0x41122ed03dcc631decdc69a1455cbcb9e1d82e8dd4f1124e6fe0cd2ecedaa32eWithdraw No Lock...104214572022-04-23 20:59:43288 days 19 hrs ago0x9fa10388d2bb8b7d8a2c8586772876d6302d4cb3 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000234070251 ETH
0xfb3089a30652aa987e390d19c5692ea332ab6bf56ce060d111e0ec712786cc2dWithdraw No Lock...47976742022-01-19 18:12:39382 days 21 hrs ago0xcf50ad0b6e9af353934dcf18b488d8aa0f4b157b IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000850550166 ETH
0xccf25ba643486e838eaa464f6b7980c4199559f1ff89e23d88645d2a241d63bbDeposit46658942022-01-15 12:05:13387 days 3 hrs ago0xcf50ad0b6e9af353934dcf18b488d8aa0f4b157b IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.001348907914 ETH
0xf54f113d56213e34ab32c1aa554c7868f2318b91a178467d039d03565b8d646bDeposit40623802021-12-24 14:03:24409 days 1 hr ago0x9fa10388d2bb8b7d8a2c8586772876d6302d4cb3 IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000698336882 ETH
0x38cb26deec649c57ba779980d8fab9d8ebf144b28fce0420f0413660833e0a64Withdraw No Lock...34400392021-11-29 18:14:14433 days 21 hrs ago0x82f9ea8d814a6eb335cfe17500cdcbb69c7ebbfe IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.000820466219 ETH
0x713fac54180725026b656f1ecd730f5c49e0dcf824fedc5046e21b250d905db2Withdraw No Lock...31524962021-11-19 17:52:10443 days 22 hrs ago0x5e79eec4cc6e2e8be8e7e5cac5419899ab02a32e IN 0x2b3d495f68b3696982a39bf17c49d4ec718760e00 ETH0.001181110886 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xcaab2adb0f69c70e01cdc603a459e77344f70d7b0 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xcaab2adb0f69c70e01cdc603a459e77344f70d7b0 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff1f1bb20e9ab1662167e571bf77a179fcd8269a0 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xe833cb08f7569168a408a24440e550c8897ac4d60 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xe833cb08f7569168a408a24440e550c8897ac4d60 ETH
0x2c2cd11601b48e7c13159549f1652a296de99aee9649ea26c478dbf3c200b055433451002022-12-03 19:32:5864 days 20 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e00x474467f6a3a8d1d2092686114cb7d77ca35a37280 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xe833cb08f7569168a408a24440e550c8897ac4d60 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 ETH
0x6aa79e9c8f28f99e159980b20d2c050d23ab6d9794d84a537fa7c8802ad638f0317287952022-10-22 12:16:00107 days 3 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x8869e326a563478a9f7aae4b8a78b518fb24c32f0 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e00x474467f6a3a8d1d2092686114cb7d77ca35a37280 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xe833cb08f7569168a408a24440e550c8897ac4d60 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x1607c25ab2a07a49414f78c80b2b8641153a91e80 ETH
0x87c6b260c0fb8638fe750b1edef7a481dc4a911667b281aa0a3dda58c3a7f917291278542022-10-08 16:18:28120 days 23 hrs ago 0x2b3d495f68b3696982a39bf17c49d4ec718760e0 0x58bca4676e37e50c0dfb1f419718ed89a09ad9810 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.