ETH Price: $3,183.84 (-7.99%)
Gas: 3 Gwei

Contract

0xD268c7de52acFE44A15287218C1a3a93eC8481e4
 
Transaction Hash
Method
Block
From
To
Exec Transaction162689722022-12-26 12:37:23576 days ago1672058243IN
0xD268c7de...3eC8481e4
0 ETH0.0030621312
Exec Transaction152588262022-08-01 20:31:36723 days ago1659385896IN
0xD268c7de...3eC8481e4
0 ETH0.0019825828.67118562
Exec Transaction152061992022-07-24 15:46:55731 days ago1658677615IN
0xD268c7de...3eC8481e4
0 ETH0.0007659210.36186003
Transfer151873972022-07-21 17:56:24734 days ago1658426184IN
0xD268c7de...3eC8481e4
180 ETH0.0003936914.40582574
Transfer151807812022-07-20 17:14:26735 days ago1658337266IN
0xD268c7de...3eC8481e4
29.52251853 ETH0.0016448960.18856488
Transfer151803392022-07-20 15:37:29735 days ago1658331449IN
0xD268c7de...3eC8481e4
74 ETH0.0014020151.30121048
Exec Transaction150700512022-07-03 14:08:27752 days ago1656857307IN
0xD268c7de...3eC8481e4
0 ETH0.0022581330.93754186
Exec Transaction150700362022-07-03 14:03:26752 days ago1656857006IN
0xD268c7de...3eC8481e4
0 ETH0.0019638526.51450998
Exec Transaction150699862022-07-03 13:53:09752 days ago1656856389IN
0xD268c7de...3eC8481e4
0 ETH0.0018680820
Exec Transaction150699772022-07-03 13:51:09752 days ago1656856269IN
0xD268c7de...3eC8481e4
0 ETH0.0019607221
Exec Transaction150699392022-07-03 13:43:08752 days ago1656855788IN
0xD268c7de...3eC8481e4
0 ETH0.0025736524.0082454
Exec Transaction150699272022-07-03 13:40:41752 days ago1656855641IN
0xD268c7de...3eC8481e4
0 ETH0.0025727724
Exec Transaction150699032022-07-03 13:34:05752 days ago1656855245IN
0xD268c7de...3eC8481e4
0 ETH0.0019414320.22901615
Exec Transaction150698952022-07-03 13:32:26752 days ago1656855146IN
0xD268c7de...3eC8481e4
0 ETH0.0016105616.78357476
Transfer150511342022-06-30 15:43:07755 days ago1656603787IN
0xD268c7de...3eC8481e4
69.5 ETH0.0013278248.58677253
Exec Transaction150510562022-06-30 15:24:44755 days ago1656602684IN
0xD268c7de...3eC8481e4
0 ETH0.0067605364.6328844
Exec Transaction150510162022-06-30 15:15:03755 days ago1656602103IN
0xD268c7de...3eC8481e4
0 ETH0.0055889353.43200803
Transfer150504392022-06-30 12:51:20755 days ago1656593480IN
0xD268c7de...3eC8481e4
67 ETH0.0008076129.55152406
Transfer150427622022-06-29 2:20:37757 days ago1656469237IN
0xD268c7de...3eC8481e4
38 ETH0.0010629338.89412171
Transfer149679772022-06-15 14:32:30770 days ago1655303550IN
0xD268c7de...3eC8481e4
89 ETH0.0026819698.13635865
Transfer149563092022-06-13 13:50:32772 days ago1655128232IN
0xD268c7de...3eC8481e4
67 ETH0.0017375463.57885292
Exec Transaction148875012022-06-01 22:53:24784 days ago1654124004IN
0xD268c7de...3eC8481e4
0 ETH0.0027449135.97909192
Transfer148682452022-05-29 19:24:41787 days ago1653852281IN
0xD268c7de...3eC8481e4
33 ETH0.0011970843.8026679
Transfer147487382022-05-10 13:07:35806 days ago1652188055IN
0xD268c7de...3eC8481e4
50 ETH0.0016574360.64752094
Exec Transaction147465122022-05-10 4:23:21807 days ago1652156601IN
0xD268c7de...3eC8481e4
0 ETH0.0034197349.56789961
View all transactions

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
152588262022-08-01 20:31:36723 days ago1659385896
0xD268c7de...3eC8481e4
6.255374 ETH
152185412022-07-26 14:08:38729 days ago1658844518
0xD268c7de...3eC8481e4
6.25531585 ETH
152062472022-07-24 15:56:11731 days ago1658678171
0xD268c7de...3eC8481e4
189.0177 ETH
152061992022-07-24 15:46:55731 days ago1658677615
0xD268c7de...3eC8481e4
94.50887934 ETH
150700512022-07-03 14:08:27752 days ago1656857307
0xD268c7de...3eC8481e4
745.56 ETH
150700362022-07-03 14:03:26752 days ago1656857006
0xD268c7de...3eC8481e4
372.78 ETH
150509992022-06-30 15:10:38755 days ago1656601838
0xD268c7de...3eC8481e4
6.16047807 ETH
149438752022-06-11 10:52:43774 days ago1654944763
0xD268c7de...3eC8481e4
17.62784132 ETH
147493482022-05-10 15:23:33806 days ago1652196213
0xD268c7de...3eC8481e4
51.25793988 ETH
147465122022-05-10 4:23:21807 days ago1652156601
0xD268c7de...3eC8481e4
50 ETH
147464162022-05-10 4:01:58807 days ago1652155318
0xD268c7de...3eC8481e4
50 ETH
147454982022-05-10 0:31:00807 days ago1652142660
0xD268c7de...3eC8481e4
50 ETH
147454592022-05-10 0:23:36807 days ago1652142216
0xD268c7de...3eC8481e4
50 ETH
147442002022-05-09 19:31:44807 days ago1652124704
0xD268c7de...3eC8481e4
50 ETH
137309172021-12-03 2:18:17965 days ago1638497897
0xD268c7de...3eC8481e4
0.1 ETH
137304572021-12-03 0:30:22965 days ago1638491422
0xD268c7de...3eC8481e4
0.1 ETH
137167792021-11-30 19:56:53967 days ago1638302213  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

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.