ETH Price: $2,334.90 (-1.44%)

Contract

0x59625d1FE0Eeb8114a4d13c863978F39b3471781
 

Overview

ETH Balance

675.13915545955128188 ETH

Eth Value

$1,576,385.01 (@ $2,334.90/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Finalize Withdra...207270102024-09-11 11:16:117 hrs ago1726053371IN
0x59625d1F...9b3471781
0 ETH0.000506342.363233
Finalize Withdra...207256332024-09-11 6:38:2312 hrs ago1726036703IN
0x59625d1F...9b3471781
0 ETH0.000274681.5
Prove Withdrawal...207252802024-09-11 5:27:4713 hrs ago1726032467IN
0x59625d1F...9b3471781
0 ETH0.000317621.54805587
Finalize Withdra...207250452024-09-11 4:40:3514 hrs ago1726029635IN
0x59625d1F...9b3471781
0 ETH0.000360731.65040234
Finalize Withdra...207248432024-09-11 3:59:5914 hrs ago1726027199IN
0x59625d1F...9b3471781
0 ETH0.000118021.798161
Finalize Withdra...207248432024-09-11 3:59:5914 hrs ago1726027199IN
0x59625d1F...9b3471781
0 ETH0.000329221.798161
Finalize Withdra...207221092024-09-10 18:50:3524 hrs ago1725994235IN
0x59625d1F...9b3471781
0 ETH0.001118926.11016674
Finalize Withdra...207188872024-09-10 8:01:3534 hrs ago1725955295IN
0x59625d1F...9b3471781
0 ETH0.000744083.4728604
Prove Withdrawal...207174302024-09-10 3:07:4739 hrs ago1725937667IN
0x59625d1F...9b3471781
0 ETH0.000566512.14304981
Finalize Withdra...207172692024-09-10 2:35:3540 hrs ago1725935735IN
0x59625d1F...9b3471781
0 ETH0.001109936.09988071
Prove Withdrawal...207172562024-09-10 2:32:5940 hrs ago1725935579IN
0x59625d1F...9b3471781
0 ETH0.001414466.87051722
Finalize Withdra...207172432024-09-10 2:30:1140 hrs ago1725935411IN
0x59625d1F...9b3471781
0 ETH0.001169096.13152518
Finalize Withdra...207171962024-09-10 2:20:4740 hrs ago1725934847IN
0x59625d1F...9b3471781
0 ETH0.000732633.63633999
Prove Withdrawal...207128172024-09-09 11:40:232 days ago1725882023IN
0x59625d1F...9b3471781
0 ETH0.000662432.82130415
Prove Withdrawal...207122752024-09-09 9:51:352 days ago1725875495IN
0x59625d1F...9b3471781
0 ETH0.00090013.82062866
Prove Withdrawal...207105922024-09-09 4:13:232 days ago1725855203IN
0x59625d1F...9b3471781
0 ETH0.000372571.41061332
Prove Withdrawal...207101282024-09-09 2:40:232 days ago1725849623IN
0x59625d1F...9b3471781
0 ETH0.00087913.00549088
Finalize Withdra...207083812024-09-08 20:49:232 days ago1725828563IN
0x59625d1F...9b3471781
0 ETH0.000151860.82930673
Finalize Withdra...207052222024-09-08 10:13:113 days ago1725790391IN
0x59625d1F...9b3471781
0 ETH0.000195040.96806081
Finalize Withdra...207031432024-09-08 3:15:473 days ago1725765347IN
0x59625d1F...9b3471781
0 ETH0.000209940.96049308
Prove Withdrawal...207030482024-09-08 2:56:473 days ago1725764207IN
0x59625d1F...9b3471781
0 ETH0.000222070.94569141
Finalize Withdra...207030422024-09-08 2:55:353 days ago1725764135IN
0x59625d1F...9b3471781
0 ETH0.000450752.47724178
Prove Withdrawal...207029662024-09-08 2:40:233 days ago1725763223IN
0x59625d1F...9b3471781
0 ETH0.000571142.43666266
Finalize Withdra...207006512024-09-07 18:54:593 days ago1725735299IN
0x59625d1F...9b3471781
0 ETH0.00030611.4286902
Finalize Withdra...207000422024-09-07 16:52:594 days ago1725727979IN
0x59625d1F...9b3471781
0 ETH0.000337511.67529534
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
207292812024-09-11 18:52:5931 secs ago1726080779
0x59625d1F...9b3471781
0.002 ETH
207267952024-09-11 10:32:598 hrs ago1726050779
0x59625d1F...9b3471781
0.006 ETH
207266382024-09-11 10:00:598 hrs ago1726048859
0x59625d1F...9b3471781
0.002 ETH
207256912024-09-11 6:49:5912 hrs ago1726037399
0x59625d1F...9b3471781
0.001 ETH
207256332024-09-11 6:38:2312 hrs ago1726036703
0x59625d1F...9b3471781
4 ETH
207248432024-09-11 3:59:5914 hrs ago1726027199
0x59625d1F...9b3471781
0.02 ETH
207221092024-09-10 18:50:3524 hrs ago1725994235
0x59625d1F...9b3471781
0.0145 ETH
207192852024-09-10 9:21:1133 hrs ago1725960071
0x59625d1F...9b3471781
0.0002 ETH
207174532024-09-10 3:12:2339 hrs ago1725937943
0x59625d1F...9b3471781
0.001 ETH
207172692024-09-10 2:35:3540 hrs ago1725935735
0x59625d1F...9b3471781
1 ETH
207172432024-09-10 2:30:1140 hrs ago1725935411
0x59625d1F...9b3471781
10.00000342 ETH
207155512024-09-09 20:50:3546 hrs ago1725915035
0x59625d1F...9b3471781
0.01 ETH
207149962024-09-09 18:58:5947 hrs ago1725908339
0x59625d1F...9b3471781
0.001 ETH
207141512024-09-09 16:08:472 days ago1725898127
0x59625d1F...9b3471781
0.0017 ETH
207127802024-09-09 11:32:592 days ago1725881579
0x59625d1F...9b3471781
0.0002 ETH
207115332024-09-09 7:22:112 days ago1725866531
0x59625d1F...9b3471781
0.001 ETH
207115242024-09-09 7:20:232 days ago1725866423
0x59625d1F...9b3471781
0.001 ETH
207083812024-09-08 20:49:232 days ago1725828563
0x59625d1F...9b3471781
0.001 ETH
207073062024-09-08 17:12:113 days ago1725815531
0x59625d1F...9b3471781
0.01 ETH
207061682024-09-08 13:24:113 days ago1725801851
0x59625d1F...9b3471781
0.00025 ETH
207061592024-09-08 13:22:233 days ago1725801743
0x59625d1F...9b3471781
0.00024 ETH
207061342024-09-08 13:17:233 days ago1725801443
0x59625d1F...9b3471781
0.00024 ETH
207046352024-09-08 8:15:353 days ago1725783335
0x59625d1F...9b3471781
0.0002 ETH
207044452024-09-08 7:37:353 days ago1725781055
0x59625d1F...9b3471781
0.0101 ETH
207030422024-09-08 2:55:353 days ago1725764135
0x59625d1F...9b3471781
1 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.