ETH Price: $1,593.10 (+0.53%)
 

Overview

ETH Balance

2,969.187332993185475033 ETH

Eth Value

$4,730,216.07 (@ $1,593.10/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finalize Withdra...222981472025-04-18 20:03:2318 secs ago1745006603IN
0x8AdeE124...E32E65a3E
0 ETH0.000187560.89972184
Finalize Withdra...222981392025-04-18 20:01:471 min ago1745006507IN
0x8AdeE124...E32E65a3E
0 ETH0.000191580.91901662
Finalize Withdra...222981312025-04-18 20:00:113 mins ago1745006411IN
0x8AdeE124...E32E65a3E
0 ETH0.000185340.88908321
Finalize Withdra...222981232025-04-18 19:58:355 mins ago1745006315IN
0x8AdeE124...E32E65a3E
0 ETH0.000186930.89671381
Finalize Withdra...222981152025-04-18 19:56:596 mins ago1745006219IN
0x8AdeE124...E32E65a3E
0 ETH0.000188710.90524811
Finalize Withdra...222981032025-04-18 19:54:359 mins ago1745006075IN
0x8AdeE124...E32E65a3E
0 ETH0.000172270.82635568
Finalize Withdra...222980952025-04-18 19:52:5910 mins ago1745005979IN
0x8AdeE124...E32E65a3E
0 ETH0.000198840.95381483
Finalize Withdra...222980872025-04-18 19:51:2312 mins ago1745005883IN
0x8AdeE124...E32E65a3E
0 ETH0.000179810.86253468
Finalize Withdra...222980792025-04-18 19:49:4713 mins ago1745005787IN
0x8AdeE124...E32E65a3E
0 ETH0.000189970.91128398
Finalize Withdra...222980682025-04-18 19:47:3516 mins ago1745005655IN
0x8AdeE124...E32E65a3E
0 ETH0.000184560.88531778
Prove Withdrawal...222979062025-04-18 19:14:4748 mins ago1745003687IN
0x8AdeE124...E32E65a3E
0 ETH0.000508371.87276167
Deposit Transact...222975752025-04-18 18:08:351 hr ago1744999715IN
0x8AdeE124...E32E65a3E
0.002 ETH0.00004930.89395165
Deposit Transact...222965612025-04-18 14:44:235 hrs ago1744987463IN
0x8AdeE124...E32E65a3E
0.02 ETH0.000028890.52385502
Deposit Transact...222965222025-04-18 14:36:355 hrs ago1744986995IN
0x8AdeE124...E32E65a3E
0.003 ETH0.000055271.00827838
Finalize Withdra...222962492025-04-18 13:41:476 hrs ago1744983707IN
0x8AdeE124...E32E65a3E
0 ETH0.000211450.97256001
Prove Withdrawal...222961642025-04-18 13:24:356 hrs ago1744982675IN
0x8AdeE124...E32E65a3E
0 ETH0.000264460.98406079
Prove Withdrawal...222958552025-04-18 12:22:477 hrs ago1744978967IN
0x8AdeE124...E32E65a3E
0 ETH0.000245180.9
Finalize Withdra...222957992025-04-18 12:11:357 hrs ago1744978295IN
0x8AdeE124...E32E65a3E
0 ETH0.000118340.56769643
Finalize Withdra...222957832025-04-18 12:08:237 hrs ago1744978103IN
0x8AdeE124...E32E65a3E
0 ETH0.000087050.96218012
Finalize Withdra...222957732025-04-18 12:06:237 hrs ago1744977983IN
0x8AdeE124...E32E65a3E
0 ETH0.000080750.89241272
Finalize Withdra...222957602025-04-18 12:03:477 hrs ago1744977827IN
0x8AdeE124...E32E65a3E
0 ETH0.000084290.93169219
Finalize Withdra...222957302025-04-18 11:57:478 hrs ago1744977467IN
0x8AdeE124...E32E65a3E
0 ETH0.000084640.9353542
Finalize Withdra...222957042025-04-18 11:52:358 hrs ago1744977155IN
0x8AdeE124...E32E65a3E
0 ETH0.000084850.93783929
Finalize Withdra...222956872025-04-18 11:49:118 hrs ago1744976951IN
0x8AdeE124...E32E65a3E
0 ETH0.000088190.97463976
Finalize Withdra...222956762025-04-18 11:46:598 hrs ago1744976819IN
0x8AdeE124...E32E65a3E
0 ETH0.00008340.92169199
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit Transact...222958322025-04-18 12:18:117 hrs ago1744978691
0x8AdeE124...E32E65a3E
0.01 ETH
Transfer222957832025-04-18 12:08:237 hrs ago1744978103
0x8AdeE124...E32E65a3E
0.0144 ETH
Transfer222957732025-04-18 12:06:237 hrs ago1744977983
0x8AdeE124...E32E65a3E
0.01355 ETH
Transfer222957602025-04-18 12:03:477 hrs ago1744977827
0x8AdeE124...E32E65a3E
0.016 ETH
Transfer222957302025-04-18 11:57:478 hrs ago1744977467
0x8AdeE124...E32E65a3E
0.01266 ETH
Transfer222957042025-04-18 11:52:358 hrs ago1744977155
0x8AdeE124...E32E65a3E
0.0176 ETH
Deposit Transact...222957042025-04-18 11:52:358 hrs ago1744977155
0x8AdeE124...E32E65a3E
0.0002 ETH
Transfer222956872025-04-18 11:49:118 hrs ago1744976951
0x8AdeE124...E32E65a3E
0.0137 ETH
Transfer222956762025-04-18 11:46:598 hrs ago1744976819
0x8AdeE124...E32E65a3E
0.01423 ETH
Transfer222956552025-04-18 11:42:478 hrs ago1744976567
0x8AdeE124...E32E65a3E
0.0202 ETH
Transfer222956522025-04-18 11:42:118 hrs ago1744976531
0x8AdeE124...E32E65a3E
0.1094 ETH
Transfer222956322025-04-18 11:38:118 hrs ago1744976291
0x8AdeE124...E32E65a3E
0.1364 ETH
Transfer222956292025-04-18 11:37:358 hrs ago1744976255
0x8AdeE124...E32E65a3E
0.019 ETH
Transfer222956122025-04-18 11:33:598 hrs ago1744976039
0x8AdeE124...E32E65a3E
0.1286 ETH
Transfer222955152025-04-18 11:14:358 hrs ago1744974875
0x8AdeE124...E32E65a3E
0.0163 ETH
Transfer222955122025-04-18 11:13:598 hrs ago1744974839
0x8AdeE124...E32E65a3E
0.1423 ETH
Transfer222954982025-04-18 11:11:118 hrs ago1744974671
0x8AdeE124...E32E65a3E
0.2 ETH
Transfer222954932025-04-18 11:10:118 hrs ago1744974611
0x8AdeE124...E32E65a3E
0.05 ETH
Transfer222954882025-04-18 11:09:118 hrs ago1744974551
0x8AdeE124...E32E65a3E
0.0706 ETH
Transfer222954852025-04-18 11:08:358 hrs ago1744974515
0x8AdeE124...E32E65a3E
0.2 ETH
Transfer222954852025-04-18 11:08:358 hrs ago1744974515
0x8AdeE124...E32E65a3E
0.01747 ETH
Transfer222954822025-04-18 11:07:478 hrs ago1744974467
0x8AdeE124...E32E65a3E
0.1394 ETH
Transfer222954812025-04-18 11:07:358 hrs ago1744974455
0x8AdeE124...E32E65a3E
0.042 ETH
Transfer222954812025-04-18 11:07:358 hrs ago1744974455
0x8AdeE124...E32E65a3E
0.09 ETH
Transfer222954712025-04-18 11:05:358 hrs ago1744974335
0x8AdeE124...E32E65a3E
0.07 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

API
[{"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.