ETH Price: $2,091.88 (+6.22%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer193461362024-03-02 7:57:11732 days ago1709366231IN
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.0829508 ETH0.0012285544.95435411
Transfer180920262023-09-08 13:34:35908 days ago1694180075IN
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.20043827 ETH0.000326811.95823815
Transfer178995392023-08-12 15:01:11935 days ago1691852471IN
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.09854117 ETH0.0004761117.42150889
Exec Transaction173505232023-05-27 12:55:351012 days ago1685192135IN
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0 ETH0.0059217624
Exec Transaction173504972023-05-27 12:50:231012 days ago1685191823IN
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0 ETH0.0029169127

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer189345062024-01-04 14:16:11790 days ago1704377771
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.05 ETH
Transfer189345062024-01-04 14:16:11790 days ago1704377771
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.00022444 ETH
Transfer186405602023-11-24 9:05:47831 days ago1700816747
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
0.76548432 ETH
Submit173505232023-05-27 12:55:351012 days ago1685192135
Smart Account by Safe 0xC0FFEE0A...E24Fcc4CD
18.47965822 ETH
0x60806040173278812023-05-24 8:31:471015 days ago1684917107  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

 Latest 8 blocks produced

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

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

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

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

Contract Source Code (Solidity)

/**
 *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 - <richard@gnosis.io>
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 - <stefan@gnosis.io>
/// @author Richard Meissner - <richard@gnosis.io>
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 - <stefan@gnosis.pm>
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

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

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000fb1bffc9d739b8d520daf37df666da4c687191ea

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

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.