ETH Price: $2,007.65 (-0.15%)

Contract

0xcdB8d92FA641106fdAEe3CCC6B53a029eDb9c458
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction220318522025-03-12 16:02:1115 days ago1741795331IN
0xcdB8d92F...9eDb9c458
0 ETH0.000103190.91262026
Exec Transaction220318222025-03-12 15:56:1115 days ago1741794971IN
0xcdB8d92F...9eDb9c458
0 ETH0.000152011.31186109
Exec Transaction220269292025-03-11 23:32:5915 days ago1741735979IN
0xcdB8d92F...9eDb9c458
0 ETH0.000444430.62894414
Exec Transaction220268902025-03-11 23:24:5915 days ago1741735499IN
0xcdB8d92F...9eDb9c458
0 ETH0.000050320.61290521
Exec Transaction218746912025-02-18 17:16:1137 days ago1739898971IN
0xcdB8d92F...9eDb9c458
0 ETH0.003600715.09561194
Exec Transaction218376492025-02-13 12:46:2342 days ago1739450783IN
0xcdB8d92F...9eDb9c458
0 ETH0.000172491.48858116
Exec Transaction218376142025-02-13 12:39:1142 days ago1739450351IN
0xcdB8d92F...9eDb9c458
0 ETH0.000085790.7587652
Exec Transaction218374722025-02-13 12:10:2342 days ago1739448623IN
0xcdB8d92F...9eDb9c458
0 ETH0.000111181.3867843
Exec Transaction218374032025-02-13 11:56:2342 days ago1739447783IN
0xcdB8d92F...9eDb9c458
0 ETH0.000098771.12137369
Exec Transaction218373872025-02-13 11:53:1142 days ago1739447591IN
0xcdB8d92F...9eDb9c458
0 ETH0.000159481.49995648
Exec Transaction218094642025-02-09 14:10:1146 days ago1739110211IN
0xcdB8d92F...9eDb9c458
0 ETH0.000710231.00511529
Exec Transaction217952652025-02-07 14:35:4748 days ago1738938947IN
0xcdB8d92F...9eDb9c458
0 ETH0.000404554.59264176
Exec Transaction217952252025-02-07 14:27:4748 days ago1738938467IN
0xcdB8d92F...9eDb9c458
0 ETH0.00039583.7224955
Exec Transaction217729812025-02-04 11:57:2351 days ago1738670243IN
0xcdB8d92F...9eDb9c458
0 ETH0.000178892.03081362
Exec Transaction217729592025-02-04 11:52:5951 days ago1738669979IN
0xcdB8d92F...9eDb9c458
0 ETH0.000204332.01666978
Exec Transaction217670232025-02-03 15:58:1152 days ago1738598291IN
0xcdB8d92F...9eDb9c458
0 ETH0.0316266944.75700944
Exec Transaction217449402025-01-31 13:55:1155 days ago1738331711IN
0xcdB8d92F...9eDb9c458
0 ETH0.000480455.4542209
Exec Transaction217449232025-01-31 13:51:4755 days ago1738331507IN
0xcdB8d92F...9eDb9c458
0 ETH0.000570325.36386912
Exec Transaction217331162025-01-29 22:17:2356 days ago1738189043IN
0xcdB8d92F...9eDb9c458
0 ETH0.00030133.42052976
Exec Transaction217331002025-01-29 22:14:1156 days ago1738188851IN
0xcdB8d92F...9eDb9c458
0 ETH0.000482324.53673437
Exec Transaction217291442025-01-29 8:58:4757 days ago1738141127IN
0xcdB8d92F...9eDb9c458
0 ETH0.000161281.83122535
Exec Transaction217291302025-01-29 8:55:5957 days ago1738140959IN
0xcdB8d92F...9eDb9c458
0 ETH0.000190851.79499924
Exec Transaction217190312025-01-27 23:05:2358 days ago1738019123IN
0xcdB8d92F...9eDb9c458
0 ETH0.000461885.24411688
Exec Transaction217189912025-01-27 22:57:1158 days ago1738018631IN
0xcdB8d92F...9eDb9c458
0 ETH0.000509154.78855202
Exec Transaction217180162025-01-27 19:41:4759 days ago1738006907IN
0xcdB8d92F...9eDb9c458
0 ETH0.000766038.69629862
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60806040195148882024-03-25 23:56:35366 days ago1711410995  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

API
[{"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

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.