ETH Price: $2,159.25 (+1.54%)

Contract

0x8cafADBe9B5cd7Cf17a1945cBBB059EF1BB18dB3
 

Overview

ETH Balance

0.014997684437199622 ETH

Eth Value

$32.38 (@ $2,159.25/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction205067362024-08-11 17:03:23590 days ago1723395803IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000383044
Transfer205066642024-08-11 16:48:47590 days ago1723394927IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000081152.96967502
Transfer205064662024-08-11 16:08:59591 days ago1723392539IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000085063.11247331
Exec Transaction205064472024-08-11 16:05:11591 days ago1723392311IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000230643.94722446
Transfer205063682024-08-11 15:49:11591 days ago1723391351IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000117964.31644177
Transfer205063312024-08-11 15:41:35591 days ago1723390895IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000086433.16278508
Transfer205063082024-08-11 15:36:59591 days ago1723390619IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000084793.1027728
Transfer204361232024-08-01 20:36:11600 days ago1722544571IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.000270339.89204212
Transfer204291122024-07-31 21:07:23601 days ago1722460043IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0002900710.61423839
Transfer204288972024-07-31 20:23:47601 days ago1722457427IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0003617913.2384024
Exec Transaction180228812023-08-29 21:13:47938 days ago1693343627IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0042008845.29594216
Exec Transaction180157532023-08-28 21:15:11939 days ago1693257311IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.002826934.26340089
Exec Transaction179676212023-08-22 3:38:47946 days ago1692675527IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0011086117.91375338
Transfer179676052023-08-22 3:35:35946 days ago1692675335IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0.01503768 ETH0.0005316519.4539277
Exec Transaction176948102023-07-14 22:58:35984 days ago1689375515IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0013937215
Exec Transaction176947242023-07-14 22:41:23984 days ago1689374483IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0012405115
Exec Transaction176946972023-07-14 22:35:47984 days ago1689374147IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0015812213
Exec Transaction176809082023-07-13 0:02:11986 days ago1689206531IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0025756927.72093078
Exec Transaction176808822023-07-12 23:56:59986 days ago1689206219IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.001957623.67090465
Exec Transaction176372322023-07-06 20:39:35992 days ago1688675975IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0020441322
Exec Transaction176371432023-07-06 20:21:35992 days ago1688674895IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0021434125.91767816
Exec Transaction176370452023-07-06 20:01:59992 days ago1688673719IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0020394932.85171169
Exec Transaction176369792023-07-06 19:48:47992 days ago1688672927IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0035551830.53544497
Exec Transaction176352932023-07-06 14:07:47993 days ago1688652467IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0036518839.31369073
Exec Transaction176349272023-07-06 12:52:35993 days ago1688647955IN
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0 ETH0.0029758425.58220194
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer179676212023-08-22 3:38:47946 days ago1692675527
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0.00004 ETH
Deposit176946972023-07-14 22:35:47984 days ago1689374147
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0.42634059 ETH
Transfer176370452023-07-06 20:01:59992 days ago1688673719
Smart Account by Safe 0x8cafADBe...F1BB18dB3
2 ETH
Transfer176369852023-07-06 19:49:59992 days ago1688672999
Smart Account by Safe 0x8cafADBe...F1BB18dB3
2.42634059 ETH
Deposit175953362023-06-30 23:25:11998 days ago1688167511
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0.68878346 ETH
Transfer173396812023-05-26 0:21:591034 days ago1685060519
Smart Account by Safe 0x8cafADBe...F1BB18dB3
0.0024 ETH
0x60806040173384552023-05-25 20:12:591034 days ago1685045579  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
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"}]

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552

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  ]

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.