Sepolia Testnet

Contract

0x01D4dfC994878682811b2980653D03E589f093cB

Overview

ETH Balance

464.356885696855451043 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Finalize Withdra...72722122024-12-13 18:48:4815 hrs ago1734115728IN
0x01D4dfC9...589f093cB
0 ETH0.0042909153.11260179
Finalize Withdra...72625192024-12-12 7:51:482 days ago1733989908IN
0x01D4dfC9...589f093cB
0 ETH0.0011284513.97417701
Finalize Withdra...72605452024-12-12 0:52:122 days ago1733964732IN
0x01D4dfC9...589f093cB
0 ETH0.000000160.00199444
Finalize Withdra...72563182024-12-11 9:53:003 days ago1733910780IN
0x01D4dfC9...589f093cB
0 ETH0.00009931.22923772
Finalize Withdra...72559852024-12-11 8:43:003 days ago1733906580IN
0x01D4dfC9...589f093cB
0 ETH0.0025157331.15342382
Finalize Withdra...72438172024-12-09 13:33:244 days ago1733751204IN
0x01D4dfC9...589f093cB
0 ETH0.011430853.37458847
Finalize Withdra...72365922024-12-08 11:59:365 days ago1733659176IN
0x01D4dfC9...589f093cB
0 ETH0.000051470.63745758
Finalize Withdra...72208852024-12-06 4:30:128 days ago1733459412IN
0x01D4dfC9...589f093cB
0 ETH0.000038840.48109028
Finalize Withdra...72178202024-12-05 17:37:368 days ago1733420256IN
0x01D4dfC9...589f093cB
0 ETH0.000397224.91902775
Finalize Withdra...72178202024-12-05 17:37:368 days ago1733420256IN
0x01D4dfC9...589f093cB
0 ETH0.000397224.91902775
Finalize Withdra...72019132024-12-03 9:13:3611 days ago1733217216IN
0x01D4dfC9...589f093cB
0 ETH0.0011310314.0040337
Finalize Withdra...72019132024-12-03 9:13:3611 days ago1733217216IN
0x01D4dfC9...589f093cB
0 ETH0.0011310314.0040337
Finalize Withdra...71972612024-12-02 16:47:1211 days ago1733158032IN
0x01D4dfC9...589f093cB
0 ETH0.000533166.59943558
Finalize Withdra...71962492024-12-02 13:12:4811 days ago1733145168IN
0x01D4dfC9...589f093cB
0 ETH0.0030446414.21573675
Finalize Withdra...71872142024-12-01 3:17:2413 days ago1733023044IN
0x01D4dfC9...589f093cB
0 ETH0.000134651.66680974
Finalize Withdra...71838232024-11-30 14:34:2413 days ago1732977264IN
0x01D4dfC9...589f093cB
0 ETH0.000474435.87508908
Finalize Withdra...71829672024-11-30 11:21:1213 days ago1732965672IN
0x01D4dfC9...589f093cB
0 ETH0.000267423.31167207
Finalize Withdra...71785062024-11-29 18:36:1214 days ago1732905372IN
0x01D4dfC9...589f093cB
0 ETH0.000300543.72017868
Finalize Withdra...71775282024-11-29 15:08:3614 days ago1732892916IN
0x01D4dfC9...589f093cB
0 ETH0.000655098.10873223
Finalize Withdra...71672412024-11-28 2:54:1216 days ago1732762452IN
0x01D4dfC9...589f093cB
0 ETH0.000093541.15835786
Finalize Withdra...71672362024-11-28 2:52:3616 days ago1732762356IN
0x01D4dfC9...589f093cB
0 ETH0.000087461.08310721
Finalize Withdra...71650182024-11-27 19:03:3616 days ago1732734216IN
0x01D4dfC9...589f093cB
0 ETH0.000203952.52563869
Finalize Withdra...71643152024-11-27 16:36:1216 days ago1732725372IN
0x01D4dfC9...589f093cB
0 ETH0.0012877715.94705178
Finalize Withdra...71614282024-11-27 6:07:0017 days ago1732687620IN
0x01D4dfC9...589f093cB
0 ETH0.000393514.8730884
Finalize Withdra...71613932024-11-27 5:58:4817 days ago1732687128IN
0x01D4dfC9...589f093cB
0 ETH0.00101614.74457319
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
72764592024-12-14 9:49:2444 mins ago1734169764
0x01D4dfC9...589f093cB
0.00250424 ETH
72763362024-12-14 9:23:241 hr ago1734168204
0x01D4dfC9...589f093cB
0.0746717 ETH
72762912024-12-14 9:14:001 hr ago1734167640
0x01D4dfC9...589f093cB
0.1 ETH
72762482024-12-14 9:05:241 hr ago1734167124
0x01D4dfC9...589f093cB
0.00075718 ETH
72762452024-12-14 9:04:481 hr ago1734167088
0x01D4dfC9...589f093cB
0.0007 ETH
72762322024-12-14 9:02:001 hr ago1734166920
0x01D4dfC9...589f093cB
0.0008 ETH
72762132024-12-14 8:57:361 hr ago1734166656
0x01D4dfC9...589f093cB
0.1 ETH
72757012024-12-14 7:08:123 hrs ago1734160092
0x01D4dfC9...589f093cB
0.1 ETH
72756502024-12-14 6:57:363 hrs ago1734159456
0x01D4dfC9...589f093cB
0.1 ETH
72755772024-12-14 6:42:483 hrs ago1734158568
0x01D4dfC9...589f093cB
0.1 ETH
72754592024-12-14 6:17:364 hrs ago1734157056
0x01D4dfC9...589f093cB
0.00862482 ETH
72754502024-12-14 6:15:364 hrs ago1734156936
0x01D4dfC9...589f093cB
0.00218 ETH
72753852024-12-14 6:02:244 hrs ago1734156144
0x01D4dfC9...589f093cB
0.09044687 ETH
72752972024-12-14 5:44:364 hrs ago1734155076
0x01D4dfC9...589f093cB
0.00834145 ETH
72752772024-12-14 5:40:004 hrs ago1734154800
0x01D4dfC9...589f093cB
0.0001 ETH
72752742024-12-14 5:39:244 hrs ago1734154764
0x01D4dfC9...589f093cB
0.002 ETH
72751552024-12-14 5:14:245 hrs ago1734153264
0x01D4dfC9...589f093cB
0.00415361 ETH
72747302024-12-14 3:43:366 hrs ago1734147816
0x01D4dfC9...589f093cB
0.00734296 ETH
72746812024-12-14 3:33:367 hrs ago1734147216
0x01D4dfC9...589f093cB
0.0063429 ETH
72742842024-12-14 2:09:128 hrs ago1734142152
0x01D4dfC9...589f093cB
0.01996418 ETH
72742132024-12-14 1:54:128 hrs ago1734141252
0x01D4dfC9...589f093cB
0.0090693 ETH
72741072024-12-14 1:32:009 hrs ago1734139920
0x01D4dfC9...589f093cB
0.0004 ETH
72740892024-12-14 1:27:489 hrs ago1734139668
0x01D4dfC9...589f093cB
0.00908477 ETH
72740742024-12-14 1:24:369 hrs ago1734139476
0x01D4dfC9...589f093cB
0.00908459 ETH
72740362024-12-14 1:17:009 hrs ago1734139020
0x01D4dfC9...589f093cB
0.09090434 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa27bAF0c...029F81b91
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 10000 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) external 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)
        external
        payable
        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) external proxyCallIfNotAdmin {
        _changeAdmin(_admin);
    }

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

    /**
     * @notice Queries the implementation address.
     *
     * @return Implementation address.
     */
    function implementation() external 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": 10000
  },
  "metadata": {
    "bytecodeHash": "none"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.