ETH Price: $3,348.90 (-1.34%)

Contract

0x0f926Df0DDB33A1dB95088964E09Fa8Fb47E490E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Approval For...212348672024-11-21 8:19:1144 hrs ago1732177151IN
0x0f926Df0...Fb47E490E
0 ETH0.000456258.54833866
Set Approval For...212200462024-11-19 6:40:473 days ago1731998447IN
0x0f926Df0...Fb47E490E
0 ETH0.0005402710.10653203
Set Approval For...212178842024-11-18 23:26:594 days ago1731972419IN
0x0f926Df0...Fb47E490E
0 ETH0.000710813.31734685
Set Approval For...211975532024-11-16 3:25:237 days ago1731727523IN
0x0f926Df0...Fb47E490E
0 ETH0.0007652814.3381808
Set Approval For...211882022024-11-14 20:04:478 days ago1731614687IN
0x0f926Df0...Fb47E490E
0 ETH0.0014666627.43576899
Set Approval For...211864182024-11-14 14:05:478 days ago1731593147IN
0x0f926Df0...Fb47E490E
0 ETH0.0018841335.30068987
Set Approval For...211849622024-11-14 9:12:358 days ago1731575555IN
0x0f926Df0...Fb47E490E
0 ETH0.0015755229.51849467
Transfer From211595522024-11-10 20:06:2312 days ago1731269183IN
0x0f926Df0...Fb47E490E
0 ETH0.000956229.39012187
Set Approval For...211577882024-11-10 14:12:3512 days ago1731247955IN
0x0f926Df0...Fb47E490E
0 ETH0.0009458417.72098981
Set Approval For...211560172024-11-10 8:17:4712 days ago1731226667IN
0x0f926Df0...Fb47E490E
0 ETH0.0006425412.03849975
Set Approval For...211476352024-11-09 4:13:5914 days ago1731125639IN
0x0f926Df0...Fb47E490E
0 ETH0.000204656.5
Set Approval For...211476342024-11-09 4:13:4714 days ago1731125627IN
0x0f926Df0...Fb47E490E
0 ETH0.000207646.6
Set Approval For...211416932024-11-08 8:21:3514 days ago1731054095IN
0x0f926Df0...Fb47E490E
0 ETH0.0005447210.1898163
Set Approval For...211416252024-11-08 8:07:5914 days ago1731053279IN
0x0f926Df0...Fb47E490E
0 ETH0.0005408210.11677533
Set Approval For...211415832024-11-08 7:59:3514 days ago1731052775IN
0x0f926Df0...Fb47E490E
0 ETH0.0005394810.0916888
Set Approval For...211414872024-11-08 7:40:1114 days ago1731051611IN
0x0f926Df0...Fb47E490E
0 ETH0.000504069.44398711
Set Approval For...211389812024-11-07 23:14:2315 days ago1731021263IN
0x0f926Df0...Fb47E490E
0 ETH0.0005467616.2932689
Set Approval For...211389802024-11-07 23:14:1115 days ago1731021251IN
0x0f926Df0...Fb47E490E
0 ETH0.0008110215.17126573
Set Approval For...211153682024-11-04 16:05:4718 days ago1730736347IN
0x0f926Df0...Fb47E490E
0 ETH0.0005618410.49745975
Set Approval For...211105372024-11-03 23:55:3519 days ago1730678135IN
0x0f926Df0...Fb47E490E
0 ETH0.000222344.16583334
Set Approval For...211076302024-11-03 14:11:4719 days ago1730643107IN
0x0f926Df0...Fb47E490E
0 ETH0.0008065115.08692086
Set Approval For...211048602024-11-03 4:55:4719 days ago1730609747IN
0x0f926Df0...Fb47E490E
0 ETH0.000123023.9
Set Approval For...211048592024-11-03 4:55:3519 days ago1730609735IN
0x0f926Df0...Fb47E490E
0 ETH0.000122793.9
Set Approval For...211015682024-11-02 17:52:4720 days ago1730569967IN
0x0f926Df0...Fb47E490E
0 ETH0.0005895911.02912481
Set Approval For...211012262024-11-02 16:44:2320 days ago1730565863IN
0x0f926Df0...Fb47E490E
0 ETH0.0007565914.15303663
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TransparentUpgradeableProxy

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-19
*/

/**
 *Submitted for verification at Etherscan.io on 2022-09-07
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

abstract contract Proxy {
    function _delegate(address implementation) internal virtual {
        assembly {
            calldatacopy(0, 0, calldatasize())

            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result

            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    function _implementation() internal view virtual returns (address);

    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    fallback() external payable virtual {
        _fallback();
    }

    receive() external payable virtual {
        _fallback();
    }

    function _beforeFallback() internal virtual {}
}

interface IBeacon {
    function implementation() external view returns (address);
}
interface IERC1822Proxiable {
    function proxiableUUID() external view returns (bytes32);
}
library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }

    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");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    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");
    }

    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");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        if (returndata.length > 0) {
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}
library StorageSlot {
    struct AddressSlot {
        address value;
    }

    struct BooleanSlot {
        bool value;
    }

    struct Bytes32Slot {
        bytes32 value;
    }

    struct Uint256Slot {
        uint256 value;
    }

    function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {
        assembly {
            r.slot := slot
        }
    }

    function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {
        assembly {
            r.slot := slot
        }
    }

    function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {
        assembly {
            r.slot := slot
        }
    }

    function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {
        assembly {
            r.slot := slot
        }
    }
}

abstract contract ERC1967Upgrade {
    bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143;

    bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    event Upgraded(address indexed implementation);

    function _getImplementation() internal view returns (address) {
        return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;
    }

    function _setImplementation(address newImplementation) private {
        require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");
        StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
    }

    function _upgradeTo(address newImplementation) internal {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    function _upgradeToAndCall(
        address newImplementation,
        bytes memory data,
        bool forceCall
    ) internal {
        _upgradeTo(newImplementation);
        if (data.length > 0 || forceCall) {
            Address.functionDelegateCall(newImplementation, data);
        }
    }

    function _upgradeToAndCallUUPS(
        address newImplementation,
        bytes memory data,
        bool forceCall
    ) internal {
        if (StorageSlot.getBooleanSlot(_ROLLBACK_SLOT).value) {
            _setImplementation(newImplementation);
        } else {
            try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {
                require(slot == _IMPLEMENTATION_SLOT, "ERC1967Upgrade: unsupported proxiableUUID");
            } catch {
                revert("ERC1967Upgrade: new implementation is not UUPS");
            }
            _upgradeToAndCall(newImplementation, data, forceCall);
        }
    }

    bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    event AdminChanged(address previousAdmin, address newAdmin);

    function _getAdmin() internal view returns (address) {
        return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;
    }

    function _setAdmin(address newAdmin) private {
        require(newAdmin != address(0), "ERC1967: new admin is the zero address");
        StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;
    }

    function _changeAdmin(address newAdmin) internal {
        emit AdminChanged(_getAdmin(), newAdmin);
        _setAdmin(newAdmin);
    }

    bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;

    event BeaconUpgraded(address indexed beacon);

    function _getBeacon() internal view returns (address) {
        return StorageSlot.getAddressSlot(_BEACON_SLOT).value;
    }

    function _setBeacon(address newBeacon) private {
        require(Address.isContract(newBeacon), "ERC1967: new beacon is not a contract");
        require(
            Address.isContract(IBeacon(newBeacon).implementation()),
            "ERC1967: beacon implementation is not a contract"
        );
        StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon;
    }

    function _upgradeBeaconToAndCall(
        address newBeacon,
        bytes memory data,
        bool forceCall
    ) internal {
        _setBeacon(newBeacon);
        emit BeaconUpgraded(newBeacon);
        if (data.length > 0 || forceCall) {
            Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);
        }
    }
}

contract ERC1967Proxy is Proxy, ERC1967Upgrade {
    constructor(address _logic, bytes memory _data) payable {
        _upgradeToAndCall(_logic, _data, false);
    }
    function _implementation() internal view virtual override returns (address impl) {
        return ERC1967Upgrade._getImplementation();
    }
}

contract TransparentUpgradeableProxy is ERC1967Proxy {
    constructor(
        address _logic,
        address admin_,
        bytes memory _data
    ) payable ERC1967Proxy(_logic, _data) {
        _changeAdmin(admin_);
    }

    modifier ifAdmin() {
        if (msg.sender == _getAdmin()) {
            _;
        } else {
            _fallback();
        }
    }

    function admin() external ifAdmin returns (address admin_) {
        admin_ = _getAdmin();
    }

    function implementation() external ifAdmin returns (address implementation_) {
        implementation_ = _implementation();
    }

    function changeAdmin(address newAdmin) external virtual ifAdmin {
        _changeAdmin(newAdmin);
    }

    function upgradeTo(address newImplementation) external ifAdmin {
        _upgradeToAndCall(newImplementation, bytes(""), false);
    }

    function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin {
        _upgradeToAndCall(newImplementation, data, true);
    }

    function _admin() internal view virtual returns (address) {
        return _getAdmin();
    }

    function _beforeFallback() internal virtual override {
        require(msg.sender != _getAdmin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target");
        super._beforeFallback();
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"admin_","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"admin_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260405162000e5138038062000e51833981016040819052620000269162000497565b828162000036828260006200004d565b50620000449050826200008a565b505050620005ca565b6200005883620000e5565b600082511180620000665750805b1562000085576200008383836200012760201b6200022e1760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000b562000156565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e2816200018f565b50565b620000f08162000244565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200014f838360405180606001604052806027815260200162000e2a60279139620002f8565b9392505050565b60006200018060008051602062000e0a83398151915260001b6200037760201b620001ea1760201c565b546001600160a01b0316919050565b6001600160a01b038116620001fa5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022360008051602062000e0a83398151915260001b6200037760201b620001ea1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200025a816200037a60201b6200025a1760201c565b620002be5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f1565b80620002237f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037760201b620001ea1760201c565b6060600080856001600160a01b03168560405162000317919062000577565b600060405180830381855af49150503d806000811462000354576040519150601f19603f3d011682016040523d82523d6000602084013e62000359565b606091505b5090925090506200036d8683838762000389565b9695505050505050565b90565b6001600160a01b03163b151590565b60608315620003fd578251600003620003f5576001600160a01b0385163b620003f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f1565b508162000409565b62000409838362000411565b949350505050565b815115620004225781518083602001fd5b8060405162461bcd60e51b8152600401620001f1919062000595565b80516001600160a01b03811681146200045657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200048e57818101518382015260200162000474565b50506000910152565b600080600060608486031215620004ad57600080fd5b620004b8846200043e565b9250620004c8602085016200043e565b60408501519092506001600160401b0380821115620004e657600080fd5b818601915086601f830112620004fb57600080fd5b8151818111156200051057620005106200045b565b604051601f8201601f19908116603f011681019083821181831017156200053b576200053b6200045b565b816040528281528960208487010111156200055557600080fd5b6200056883602083016020880162000471565b80955050505050509250925092565b600082516200058b81846020870162000471565b9190910192915050565b6020815260008251806020840152620005b681604085016020870162000471565b601f01601f19169190910160400192915050565b61083080620005da6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d8e381b1105bc705aa1314694ea403839814bf63cbc76f24a412872b983834f464736f6c63430008100033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000001e6a394e6ce8fa0252bf44ad40accdc6bde49071000000000000000000000000823eea492938e86231c99e915f370a6d04350f5400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d8e381b1105bc705aa1314694ea403839814bf63cbc76f24a412872b983834f464736f6c63430008100033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001e6A394e6CE8Fa0252bf44Ad40AcCdc6Bde49071000000000000000000000000823eea492938e86231c99e915f370a6d04350f5400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _logic (address): 0x1e6A394e6CE8Fa0252bf44Ad40AcCdc6Bde49071
Arg [1] : admin_ (address): 0x823eEa492938E86231C99e915f370A6d04350F54
Arg [2] : _data (bytes): 0x

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000001e6A394e6CE8Fa0252bf44Ad40AcCdc6Bde49071
Arg [1] : 000000000000000000000000823eea492938e86231c99e915f370a6d04350f54
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

9969:1381:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:11;:9;:11::i;:::-;9969:1381;;900:11;:9;:11::i;10716:136::-;;;;;;;;;;-1:-1:-1;10716:136:0;;;;;:::i;:::-;;:::i;10860:166::-;;;;;;:::i;:::-;;:::i;10464:131::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1217:32:1;;;1199:51;;1187:2;1172:18;10464:131:0;;;;;;;10603:105;;;;;;;;;;-1:-1:-1;10603:105:0;;;;;:::i;:::-;;:::i;10358:98::-;;;;;;;;;;;;;:::i;732:113::-;781:17;:15;:17::i;:::-;809:28;819:17;:15;:17::i;:::-;809:9;:28::i;:::-;732:113::o;10716:136::-;10258:11;:9;:11::i;:::-;-1:-1:-1;;;;;10244:25:0;:10;:25;10240:103;;10790:54:::1;10808:17;10827:9;;;;;;;;;;;::::0;10838:5:::1;10790:17;:54::i;:::-;10716:136:::0;:::o;10240:103::-;10320:11;:9;:11::i;10860:166::-;10258:11;:9;:11::i;:::-;-1:-1:-1;;;;;10244:25:0;:10;:25;10240:103;;10970:48:::1;10988:17;11007:4;;10970:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11013:4:0::1;::::0;-1:-1:-1;10970:17:0::1;::::0;-1:-1:-1;;10970:48:0:i:1;:::-;10860:166:::0;;;:::o;10240:103::-;10320:11;:9;:11::i;10464:131::-;10516:23;10258:11;:9;:11::i;:::-;-1:-1:-1;;;;;10244:25:0;:10;:25;10240:103;;10570:17:::1;:15;:17::i;:::-;10552:35;;10464:131:::0;:::o;10240:103::-;10320:11;:9;:11::i;:::-;10464:131;:::o;10603:105::-;10258:11;:9;:11::i;:::-;-1:-1:-1;;;;;10244:25:0;:10;:25;10240:103;;10678:22:::1;10691:8;10678:12;:22::i;10358:98::-:0;10401:14;10258:11;:9;:11::i;:::-;-1:-1:-1;;;;;10244:25:0;:10;:25;10240:103;;10437:11:::1;:9;:11::i;3420:200::-:0;3503:12;3535:77;3556:6;3564:4;3535:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;3528:84;3420:200;-1:-1:-1;;;3420:200:0:o;1261:115::-;-1:-1:-1;;;;;1345:19:0;;:23;;;1261:115::o;11137:210::-;11223:11;:9;:11::i;:::-;-1:-1:-1;;;;;11209:25:0;:10;:25;11201:104;;;;-1:-1:-1;;;11201:104:0;;1463:2:1;11201:104:0;;;1445:21:1;1502:2;1482:18;;;1475:30;1541:34;1521:18;;;1514:62;1612:34;1592:18;;;1585:62;-1:-1:-1;;;1663:19:1;;;1656:33;1706:19;;11201:104:0;;;;;;;;9820:142;9887:12;9919:35;:33;:35::i;162:487::-;276:14;273:1;270;257:34;379:1;376;360:14;357:1;341:14;334:5;321:60;418:16;415:1;412;397:38;458:6;480:68;;;;599:16;596:1;589:27;480:68;516:16;513:1;506:27;8107:124;8151:7;7964:66;8178:39;:45;-1:-1:-1;;;;;8178:45:0;;8107:124;-1:-1:-1;8107:124:0:o;6937:304::-;7080:29;7091:17;7080:10;:29::i;:::-;7138:1;7124:4;:11;:15;:28;;;;7143:9;7124:28;7120:114;;;7169:53;7198:17;7217:4;7169:28;:53::i;:::-;;6937:304;;;:::o;8451:138::-;8516:35;8529:11;:9;:11::i;:::-;8516:35;;;-1:-1:-1;;;;;1966:15:1;;;1948:34;;2018:15;;;2013:2;1998:18;;1991:43;1883:18;8516:35:0;;;;;;;8562:19;8572:8;8562:9;:19::i;3628:332::-;3773:12;3799;3813:23;3840:6;-1:-1:-1;;;;;3840:19:0;3860:4;3840:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3798:67;;;;3883:69;3910:6;3918:7;3927:10;3939:12;3883:26;:69::i;:::-;3876:76;3628:332;-1:-1:-1;;;;;;3628:332:0:o;6354:142::-;6407:7;6224:66;6434:48;5383:151;6774:155;6841:37;6860:17;6841:18;:37::i;:::-;6894:27;;-1:-1:-1;;;;;6894:27:0;;;;;;;;6774:155;:::o;8239:204::-;-1:-1:-1;;;;;8303:22:0;;8295:73;;;;-1:-1:-1;;;8295:73:0;;2794:2:1;8295:73:0;;;2776:21:1;2833:2;2813:18;;;2806:30;2872:34;2852:18;;;2845:62;-1:-1:-1;;;2923:18:1;;;2916:36;2969:19;;8295:73:0;2592:402:1;8295:73:0;8427:8;7964:66;8379:39;:56;;-1:-1:-1;;;;;;8379:56:0;-1:-1:-1;;;;;8379:56:0;;;;;;;;;;-1:-1:-1;8239:204:0:o;3968:477::-;4153:12;4182:7;4178:260;;;4210:10;:17;4231:1;4210:22;4206:123;;-1:-1:-1;;;;;1345:19:0;;;4253:60;;;;-1:-1:-1;;;4253:60:0;;3201:2:1;4253:60:0;;;3183:21:1;3240:2;3220:18;;;3213:30;3279:31;3259:18;;;3252:59;3328:18;;4253:60:0;2999:353:1;4253:60:0;-1:-1:-1;4350:10:0;4343:17;;4178:260;4393:33;4401:10;4413:12;4393:7;:33::i;:::-;3968:477;;;;;;:::o;6504:262::-;-1:-1:-1;;;;;1345:19:0;;;6578:95;;;;-1:-1:-1;;;6578:95:0;;3559:2:1;6578:95:0;;;3541:21:1;3598:2;3578:18;;;3571:30;3637:34;3617:18;;;3610:62;-1:-1:-1;;;3688:18:1;;;3681:43;3741:19;;6578:95:0;3357:409:1;6578:95:0;6741:17;6224:66;6684:48;5383:151;4766:352;4864:17;;:21;4860:251;;4959:10;4953:17;5016:15;5003:10;4999:2;4995:19;4988:44;4860:251;5086:12;5079:20;;-1:-1:-1;;;5079:20:0;;;;;;;;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:665::-;462:6;470;478;531:2;519:9;510:7;506:23;502:32;499:52;;;547:1;544;537:12;499:52;570:29;589:9;570:29;:::i;:::-;560:39;;650:2;639:9;635:18;622:32;673:18;714:2;706:6;703:14;700:34;;;730:1;727;720:12;700:34;768:6;757:9;753:22;743:32;;813:7;806:4;802:2;798:13;794:27;784:55;;835:1;832;825:12;784:55;875:2;862:16;901:2;893:6;890:14;887:34;;;917:1;914;907:12;887:34;962:7;957:2;948:6;944:2;940:15;936:24;933:37;930:57;;;983:1;980;973:12;930:57;1014:2;1010;1006:11;996:21;;1036:6;1026:16;;;;;383:665;;;;;:::o;2045:250::-;2130:1;2140:113;2154:6;2151:1;2148:13;2140:113;;;2230:11;;;2224:18;2211:11;;;2204:39;2176:2;2169:10;2140:113;;;-1:-1:-1;;2287:1:1;2269:16;;2262:27;2045:250::o;2300:287::-;2429:3;2467:6;2461:13;2483:66;2542:6;2537:3;2530:4;2522:6;2518:17;2483:66;:::i;:::-;2565:16;;;;;2300:287;-1:-1:-1;;2300:287:1:o;3771:396::-;3920:2;3909:9;3902:21;3883:4;3952:6;3946:13;3995:6;3990:2;3979:9;3975:18;3968:34;4011:79;4083:6;4078:2;4067:9;4063:18;4058:2;4050:6;4046:15;4011:79;:::i;:::-;4151:2;4130:15;-1:-1:-1;;4126:29:1;4111:45;;;;4158:2;4107:54;;3771:396;-1:-1:-1;;3771:396:1:o

Swarm Source

ipfs://d8e381b1105bc705aa1314694ea403839814bf63cbc76f24a412872b983834f4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.