ETH Price: $3,625.16 (+7.80%)

Contract

0x0d6e11E2A3B2B3a245bf839c07D775983aCB787d
 

Overview

ETH Balance

20.116886688522924772 ETH

Eth Value

$72,926.99 (@ $3,625.16/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finalize Withdra...193487492024-03-02 16:43:11270 days ago1709397791IN
0x0d6e11E2...83aCB787d
0 ETH0.008963148.63429521
Prove Withdrawal...193339882024-02-29 15:13:35272 days ago1709219615IN
0x0d6e11E2...83aCB787d
0 ETH0.0188063774.41732597
Finalize Withdra...192417792024-02-16 16:56:23285 days ago1708102583IN
0x0d6e11E2...83aCB787d
0 ETH0.0063517734.46508854
Prove Withdrawal...192336912024-02-15 13:41:23286 days ago1708004483IN
0x0d6e11E2...83aCB787d
0 ETH0.0110782749.09907937
Finalize Withdra...191199492024-01-30 14:33:59302 days ago1706625239IN
0x0d6e11E2...83aCB787d
0 ETH0.0050258127.27035819
Prove Withdrawal...191127882024-01-29 14:30:11303 days ago1706538611IN
0x0d6e11E2...83aCB787d
0 ETH0.004487120.02876393
Finalize Withdra...190842592024-01-25 14:34:59307 days ago1706193299IN
0x0d6e11E2...83aCB787d
0 ETH0.0056735130.78477151
Prove Withdrawal...190769642024-01-24 14:02:47308 days ago1706104967IN
0x0d6e11E2...83aCB787d
0 ETH0.0048253321.4377527
Finalize Withdra...190628642024-01-22 14:28:23310 days ago1705933703IN
0x0d6e11E2...83aCB787d
0 ETH0.0035112719.05234928
Prove Withdrawal...190552652024-01-21 12:34:11311 days ago1705840451IN
0x0d6e11E2...83aCB787d
0 ETH0.003756516.76762013
Finalize Withdra...190261862024-01-17 11:03:11315 days ago1705489391IN
0x0d6e11E2...83aCB787d
0 ETH0.006650436.08547646
Finalize Withdra...190261852024-01-17 11:02:59315 days ago1705489379IN
0x0d6e11E2...83aCB787d
0 ETH0.0069387937.65024745
Prove Withdrawal...190187032024-01-16 9:58:11316 days ago1705399091IN
0x0d6e11E2...83aCB787d
0 ETH0.0080396235.88972497
Prove Withdrawal...190187022024-01-16 9:57:59316 days ago1705399079IN
0x0d6e11E2...83aCB787d
0 ETH0.0081273336.19324781
Finalize Withdra...189704442024-01-09 15:57:35323 days ago1704815855IN
0x0d6e11E2...83aCB787d
0 ETH0.0054564829.60716311
Prove Withdrawal...189622582024-01-08 12:20:11324 days ago1704716411IN
0x0d6e11E2...83aCB787d
0 ETH0.0057016525.45281324
Finalize Withdra...188978412023-12-30 10:47:59333 days ago1703933279IN
0x0d6e11E2...83aCB787d
0 ETH0.0028559915.49675622
Prove Withdrawal...188903592023-12-29 9:31:23334 days ago1703842283IN
0x0d6e11E2...83aCB787d
0 ETH0.0054202624.14049759
Finalize Withdra...188766682023-12-27 11:22:11336 days ago1703676131IN
0x0d6e11E2...83aCB787d
0 ETH0.0050428527.36281617
Prove Withdrawal...188420942023-12-22 14:51:11341 days ago1703256671IN
0x0d6e11E2...83aCB787d
0 ETH0.0093297841.54582771
Finalize Withdra...187424302023-12-08 15:27:35355 days ago1702049255IN
0x0d6e11E2...83aCB787d
0 ETH0.0095650751.91919884
Prove Withdrawal...187352132023-12-07 15:09:35356 days ago1701961775IN
0x0d6e11E2...83aCB787d
0 ETH0.0135656769.38358962
Finalize Withdra...186933782023-12-01 18:33:59362 days ago1701455639IN
0x0d6e11E2...83aCB787d
0 ETH0.0135983673.81191968
Prove Withdrawal...186854092023-11-30 15:48:11363 days ago1701359291IN
0x0d6e11E2...83aCB787d
0 ETH0.0131665667.52602045
Finalize Withdra...186423182023-11-24 15:00:11369 days ago1700838011IN
0x0d6e11E2...83aCB787d
0 ETH0.0061436433.3476769
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
204914352024-08-09 13:46:47110 days ago1723211207
0x0d6e11E2...83aCB787d
0.041 ETH
203956382024-07-27 4:57:11123 days ago1722056231
0x0d6e11E2...83aCB787d
0.001 ETH
203935352024-07-26 21:53:35124 days ago1722030815
0x0d6e11E2...83aCB787d
0.034 ETH
203935282024-07-26 21:52:11124 days ago1722030731
0x0d6e11E2...83aCB787d
0.034 ETH
203639992024-07-22 18:56:35128 days ago1721674595
0x0d6e11E2...83aCB787d
0.052 ETH
203420182024-07-19 17:17:47131 days ago1721409467
0x0d6e11E2...83aCB787d
0.009 ETH
203343632024-07-18 15:40:47132 days ago1721317247
0x0d6e11E2...83aCB787d
0.01 ETH
203237412024-07-17 4:04:59133 days ago1721189099
0x0d6e11E2...83aCB787d
0.017 ETH
202347432024-07-04 17:49:11146 days ago1720115351
0x0d6e11E2...83aCB787d
0.05 ETH
202339332024-07-04 15:05:59146 days ago1720105559
0x0d6e11E2...83aCB787d
0.026 ETH
201705382024-06-25 18:38:23155 days ago1719340703
0x0d6e11E2...83aCB787d
0.034 ETH
201278272024-06-19 19:18:59161 days ago1718824739
0x0d6e11E2...83aCB787d
0.06 ETH
201061022024-06-16 18:20:11164 days ago1718562011
0x0d6e11E2...83aCB787d
0.034 ETH
200983442024-06-15 16:19:47165 days ago1718468387
0x0d6e11E2...83aCB787d
0.017 ETH
200739392024-06-12 6:24:59168 days ago1718173499
0x0d6e11E2...83aCB787d
0.033 ETH
200421792024-06-07 19:56:35173 days ago1717790195
0x0d6e11E2...83aCB787d
0.035 ETH
200363252024-06-07 0:19:47174 days ago1717719587
0x0d6e11E2...83aCB787d
0.035 ETH
200006322024-06-02 0:43:23179 days ago1717289003
0x0d6e11E2...83aCB787d
0.034 ETH
199835982024-05-30 15:37:35181 days ago1717083455
0x0d6e11E2...83aCB787d
0.042 ETH
199716482024-05-28 23:28:59183 days ago1716938939
0x0d6e11E2...83aCB787d
0.034 ETH
199655262024-05-28 2:57:23184 days ago1716865043
0x0d6e11E2...83aCB787d
0.021 ETH
199567882024-05-26 21:38:47185 days ago1716759527
0x0d6e11E2...83aCB787d
0.075 ETH
199540202024-05-26 12:21:35185 days ago1716726095
0x0d6e11E2...83aCB787d
0.02 ETH
199417872024-05-24 19:20:35187 days ago1716578435
0x0d6e11E2...83aCB787d
0.0005 ETH
199309332024-05-23 6:56:35188 days ago1716447395
0x0d6e11E2...83aCB787d
0.034 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xeFDd8B58...A5871e0d7
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Proxy

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion
File 1 of 1 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

/**
 * @title Proxy
 * @notice Proxy is a transparent proxy that passes through the call if the caller is the owner or
 *         if the caller is address(0), meaning that the call originated from an off-chain
 *         simulation.
 */
contract Proxy {
    /**
     * @notice The storage slot that holds the address of the implementation.
     *         bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)
     */
    bytes32 internal constant IMPLEMENTATION_KEY =
        0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @notice The storage slot that holds the address of the owner.
     *         bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1)
     */
    bytes32 internal constant OWNER_KEY =
        0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
     * @notice An event that is emitted each time the implementation is changed. This event is part
     *         of the EIP-1967 specification.
     *
     * @param implementation The address of the implementation contract
     */
    event Upgraded(address indexed implementation);

    /**
     * @notice An event that is emitted each time the owner is upgraded. This event is part of the
     *         EIP-1967 specification.
     *
     * @param previousAdmin The previous owner of the contract
     * @param newAdmin      The new owner of the contract
     */
    event AdminChanged(address previousAdmin, address newAdmin);

    /**
     * @notice A modifier that reverts if not called by the owner or by address(0) to allow
     *         eth_call to interact with this proxy without needing to use low-level storage
     *         inspection. We assume that nobody is able to trigger calls from address(0) during
     *         normal EVM execution.
     */
    modifier proxyCallIfNotAdmin() {
        if (msg.sender == _getAdmin() || msg.sender == address(0)) {
            _;
        } else {
            // This WILL halt the call frame on completion.
            _doProxyCall();
        }
    }

    /**
     * @notice Sets the initial admin during contract deployment. Admin address is stored at the
     *         EIP-1967 admin storage slot so that accidental storage collision with the
     *         implementation is not possible.
     *
     * @param _admin Address of the initial contract admin. Admin as the ability to access the
     *               transparent proxy interface.
     */
    constructor(address _admin) {
        _changeAdmin(_admin);
    }

    // slither-disable-next-line locked-ether
    receive() external payable {
        // Proxy call by default.
        _doProxyCall();
    }

    // slither-disable-next-line locked-ether
    fallback() external payable {
        // Proxy call by default.
        _doProxyCall();
    }

    /**
     * @notice Set the implementation contract address. The code at the given address will execute
     *         when this contract is called.
     *
     * @param _implementation Address of the implementation contract.
     */
    function upgradeTo(address _implementation) public virtual proxyCallIfNotAdmin {
        _setImplementation(_implementation);
    }

    /**
     * @notice Set the implementation and call a function in a single transaction. Useful to ensure
     *         atomic execution of initialization-based upgrades.
     *
     * @param _implementation Address of the implementation contract.
     * @param _data           Calldata to delegatecall the new implementation with.
     */
    function upgradeToAndCall(address _implementation, bytes calldata _data)
        public
        payable
        virtual
        proxyCallIfNotAdmin
        returns (bytes memory)
    {
        _setImplementation(_implementation);
        (bool success, bytes memory returndata) = _implementation.delegatecall(_data);
        require(success, "Proxy: delegatecall to new implementation contract failed");
        return returndata;
    }

    /**
     * @notice Changes the owner of the proxy contract. Only callable by the owner.
     *
     * @param _admin New owner of the proxy contract.
     */
    function changeAdmin(address _admin) public virtual proxyCallIfNotAdmin {
        _changeAdmin(_admin);
    }

    /**
     * @notice Gets the owner of the proxy contract.
     *
     * @return Owner address.
     */
    function admin() public virtual proxyCallIfNotAdmin returns (address) {
        return _getAdmin();
    }

    /**
     * @notice Queries the implementation address.
     *
     * @return Implementation address.
     */
    function implementation() public virtual proxyCallIfNotAdmin returns (address) {
        return _getImplementation();
    }

    /**
     * @notice Sets the implementation address.
     *
     * @param _implementation New implementation address.
     */
    function _setImplementation(address _implementation) internal {
        assembly {
            sstore(IMPLEMENTATION_KEY, _implementation)
        }
        emit Upgraded(_implementation);
    }

    /**
     * @notice Changes the owner of the proxy contract.
     *
     * @param _admin New owner of the proxy contract.
     */
    function _changeAdmin(address _admin) internal {
        address previous = _getAdmin();
        assembly {
            sstore(OWNER_KEY, _admin)
        }
        emit AdminChanged(previous, _admin);
    }

    /**
     * @notice Performs the proxy call via a delegatecall.
     */
    function _doProxyCall() internal {
        address impl = _getImplementation();
        require(impl != address(0), "Proxy: implementation not initialized");

        assembly {
            // Copy calldata into memory at 0x0....calldatasize.
            calldatacopy(0x0, 0x0, calldatasize())

            // Perform the delegatecall, make sure to pass all available gas.
            let success := delegatecall(gas(), impl, 0x0, calldatasize(), 0x0, 0x0)

            // Copy returndata into memory at 0x0....returndatasize. Note that this *will*
            // overwrite the calldata that we just copied into memory but that doesn't really
            // matter because we'll be returning in a second anyway.
            returndatacopy(0x0, 0x0, returndatasize())

            // Success == 0 means a revert. We'll revert too and pass the data up.
            if iszero(success) {
                revert(0x0, returndatasize())
            }

            // Otherwise we'll just return and pass the data up.
            return(0x0, returndatasize())
        }
    }

    /**
     * @notice Queries the implementation address.
     *
     * @return Implementation address.
     */
    function _getImplementation() internal view returns (address) {
        address impl;
        assembly {
            impl := sload(IMPLEMENTATION_KEY)
        }
        return impl;
    }

    /**
     * @notice Queries the owner of the proxy contract.
     *
     * @return Owner address.
     */
    function _getAdmin() internal view returns (address) {
        address owner;
        assembly {
            owner := sload(OWNER_KEY)
        }
        return owner;
    }
}

Settings
{
  "remappings": [
    "@openzeppelin/=node_modules/@openzeppelin/",
    "@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
    "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
    "@rari-capital/=node_modules/@rari-capital/",
    "@rari-capital/solmate/=node_modules/@rari-capital/solmate/",
    "ds-test/=node_modules/ds-test/src/",
    "forge-std/=node_modules/forge-std/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","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":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a

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  ]
[ 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.