ETH Price: $3,488.64 (+3.49%)
Gas: 5 Gwei

Contract

0xC0FFEE0A4761914faaAD7b7bCbc2FcFE24Fcc4CD
 

Overview

ETH Balance

132.685598926779108322 ETH

Eth Value

$462,891.75 (@ $3,488.64/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer193461362024-03-02 7:57:11120 days ago1709366231IN
0xC0FFEE0A...E24Fcc4CD
0.0829508 ETH0.0012285544.95435411
Transfer180920262023-09-08 13:34:35296 days ago1694180075IN
0xC0FFEE0A...E24Fcc4CD
0.20043827 ETH0.000326811.95823815
Transfer178995392023-08-12 15:01:11323 days ago1691852471IN
0xC0FFEE0A...E24Fcc4CD
0.09854117 ETH0.0004761117.42150889
Exec Transaction173505232023-05-27 12:55:35400 days ago1685192135IN
0xC0FFEE0A...E24Fcc4CD
0 ETH0.0059217624
Exec Transaction173504972023-05-27 12:50:23400 days ago1685191823IN
0xC0FFEE0A...E24Fcc4CD
0 ETH0.0029169127

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
189345062024-01-04 14:16:11178 days ago1704377771
0xC0FFEE0A...E24Fcc4CD
0.05 ETH
189345062024-01-04 14:16:11178 days ago1704377771
0xC0FFEE0A...E24Fcc4CD
0.00022444 ETH
186405602023-11-24 9:05:47219 days ago1700816747
0xC0FFEE0A...E24Fcc4CD
0.76548432 ETH
173505232023-05-27 12:55:35400 days ago1685192135
0xC0FFEE0A...E24Fcc4CD
18.47965822 ETH
173278812023-05-24 8:31:47403 days ago1684917107  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
GnosisSafeProxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2021-07-09
*/

// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity >=0.7.0 <0.9.0;

/// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain
/// @author Richard Meissner - <[email protected]>
interface IProxy {
    function masterCopy() external view returns (address);
}

/// @title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
/// @author Stefan George - <[email protected]>
/// @author Richard Meissner - <[email protected]>
contract GnosisSafeProxy {
    // singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
    // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
    address internal singleton;

    /// @dev Constructor function sets address of singleton contract.
    /// @param _singleton Singleton address.
    constructor(address _singleton) {
        require(_singleton != address(0), "Invalid singleton address provided");
        singleton = _singleton;
    }

    /// @dev Fallback function forwards all transactions and returns all received return data.
    fallback() external payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let _singleton := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)
            // 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s
            if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) {
                mstore(0, _singleton)
                return(0, 0x20)
            }
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), _singleton, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) {
                revert(0, returndatasize())
            }
            return(0, returndatasize())
        }
    }
}

/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @author Stefan George - <[email protected]>
contract GnosisSafeProxyFactory {
    event ProxyCreation(GnosisSafeProxy proxy, address singleton);

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param singleton Address of singleton contract.
    /// @param data Payload for message call sent to new proxy contract.
    function createProxy(address singleton, bytes memory data) public returns (GnosisSafeProxy proxy) {
        proxy = new GnosisSafeProxy(singleton);
        if (data.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, singleton);
    }

    /// @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.
    function proxyRuntimeCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).runtimeCode;
    }

    /// @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
    function proxyCreationCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).creationCode;
    }

    /// @dev Allows to create new proxy contact using CREATE2 but it doesn't run the initializer.
    ///      This method is only meant as an utility to be called from other methods
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function deployProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) internal returns (GnosisSafeProxy proxy) {
        // If the initializer changes the proxy address should change too. Hashing the initializer data is cheaper than just concatinating it
        bytes32 salt = keccak256(abi.encodePacked(keccak256(initializer), saltNonce));
        bytes memory deploymentData = abi.encodePacked(type(GnosisSafeProxy).creationCode, uint256(uint160(_singleton)));
        // solhint-disable-next-line no-inline-assembly
        assembly {
            proxy := create2(0x0, add(0x20, deploymentData), mload(deploymentData), salt)
        }
        require(address(proxy) != address(0), "Create2 call failed");
    }

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function createProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) public returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        if (initializer.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(initializer, 0x20), mload(initializer), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, _singleton);
    }

    /// @dev Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    /// @param callback Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.
    function createProxyWithCallback(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce,
        IProxyCreationCallback callback
    ) public returns (GnosisSafeProxy proxy) {
        uint256 saltNonceWithCallback = uint256(keccak256(abi.encodePacked(saltNonce, callback)));
        proxy = createProxyWithNonce(_singleton, initializer, saltNonceWithCallback);
        if (address(callback) != address(0)) callback.proxyCreated(proxy, _singleton, initializer, saltNonce);
    }

    /// @dev Allows to get the address for a new proxy contact created via `createProxyWithNonce`
    ///      This method is only meant for address calculation purpose when you use an initializer that would revert,
    ///      therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function calculateCreateProxyWithNonceAddress(
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        revert(string(abi.encodePacked(proxy)));
    }
}

interface IProxyCreationCallback {
    function proxyCreated(
        GnosisSafeProxy proxy,
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external;
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

Deployed Bytecode Sourcemap

524:1528:0:-:0;;;1376:42;1372:1;1366:8;1362:57;1556:66;1552:1;1539:15;1536:87;1533:2;;;1653:10;1650:1;1643:21;1692:4;1689:1;1682:15;1533:2;1745:14;1742:1;1739;1726:34;1843:1;1840;1824:14;1821:1;1809:10;1802:5;1789:56;1880:16;1877:1;1874;1859:38;1926:1;1917:7;1914:14;1911:2;;;1958:16;1955:1;1948:27;1911:2;2014:16;2011:1;2004:27

Swarm Source

ipfs://d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552

 Latest 8 blocks produced

Block Transaction Difficulty Gas Used Reward
191285072024-01-31 19:21:11151 days ago17067288711070.00 TH9,033,422 (30.11%)
0.007289011856319748 ETH
190216762024-01-16 19:55:59166 days ago1705434959390.00 TH2,989,021 (9.96%)
0.001730436946436658 ETH
189345062024-01-04 14:16:11178 days ago17043777711850.00 TH15,678,210 (52.26%)
0.030650163348435181 ETH
182557182023-10-01 12:34:35273 days ago1696163675340.00 TH2,094,427 (6.98%)
0.002205782985715673 ETH
180481152023-09-02 10:04:23302 days ago169364906300.00 TH0 (0.00%)
0 ETH
179070412023-08-13 16:10:35322 days ago1691943035160.00 TH1,013,846 (3.38%)
0.001449301320897 ETH
176245842023-07-05 2:02:35361 days ago1688522555860.00 TH9,778,574 (32.60%)
0.107929284852493177 ETH
174155852023-06-05 16:46:23391 days ago1685983583260.00 TH1,997,996 (6.66%)
0.003672495089012673 ETH

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

Latest 25 from a total of 176 withdrawals (149.812691653 ETH withdrawn)

Validator Index Block Amount
34389194286792024-03-13 21:02:23109 days ago171036374332.008598353 ETH
34375194286792024-03-13 21:02:23109 days ago171036374332.008639608 ETH
3000194276682024-03-13 17:36:11109 days ago171035137132.008780895 ETH
2999194276682024-03-13 17:36:11109 days ago171035137132.00892489 ETH
34389193670932024-03-05 6:12:11117 days ago17096191310.017423828 ETH
34375193670932024-03-05 6:12:11117 days ago17096191310.061433173 ETH
3000193660822024-03-05 2:48:47117 days ago17096069270.017263957 ETH
2999193660822024-03-05 2:48:47117 days ago17096069270.01726251 ETH
34389193059752024-02-25 17:05:23126 days ago17088807230.017693369 ETH
34375193059752024-02-25 17:05:23126 days ago17088807230.01773299 ETH
3000193049642024-02-25 13:41:59126 days ago17088685190.017685999 ETH
2999193049642024-02-25 13:41:59126 days ago17088685190.017632349 ETH
34389192459662024-02-17 7:01:35134 days ago17081532950.0181321 ETH
34375192459662024-02-17 7:01:35134 days ago17081532950.018075469 ETH
3000192449572024-02-17 3:37:11134 days ago17081410310.018162725 ETH
2999192449572024-02-17 3:37:11134 days ago17081410310.018131137 ETH
34389191870572024-02-09 0:38:23143 days ago17074391030.017613091 ETH
34375191870572024-02-09 0:38:23143 days ago17074391030.017583938 ETH
3000191860482024-02-08 21:14:47143 days ago17074268870.017565297 ETH
2999191860482024-02-08 21:14:47143 days ago17074268870.017647075 ETH
34389191292902024-01-31 21:58:23151 days ago17067383030.017861296 ETH
34375191292902024-01-31 21:58:23151 days ago17067383030.060322824 ETH
3000191282522024-01-31 18:29:59151 days ago17067257990.017844338 ETH
2999191282522024-01-31 18:29:59151 days ago17067257990.017864274 ETH
34389190723672024-01-23 22:34:35159 days ago17060492750.017597042 ETH
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.