ETH Price: $3,594.75 (+0.87%)
Gas: 4 Gwei

Contract

0xD8EAb52BcCF6307a4579Ab868B42eEE0eB5492Ed
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Exec Transaction194560912024-03-17 17:36:4790 days ago1710697007IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0022783233
Exec Transaction194504502024-03-16 22:34:3591 days ago1710628475IN
0xD8EAb52B...0eB5492Ed
0 ETH0.002546829.57406636
Transfer193225632024-02-28 0:48:59109 days ago1709081339IN
0xD8EAb52B...0eB5492Ed
2 ETH0.0010260837.54579339
Exec Transaction186219412023-11-21 18:31:47207 days ago1700591507IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0045550965.98911846
Exec Transaction186219112023-11-21 18:25:47207 days ago1700591147IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0045946666.56239333
Exec Transaction184230672023-10-24 22:22:59235 days ago1698186179IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0019189522.28342922
Exec Transaction184230602023-10-24 22:21:35235 days ago1698186095IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0015225722.05348857
Exec Transaction183839342023-10-19 10:59:11241 days ago1697713151IN
0xD8EAb52B...0eB5492Ed
0 ETH0.000654087.59333583
Exec Transaction182154832023-09-25 21:28:11264 days ago1695677291IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0016914224.49914837
Exec Transaction181215932023-09-12 16:59:35277 days ago1694537975IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0019054823
Exec Transaction180916212023-09-08 12:12:59282 days ago1694175179IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0008244411.94152828
Exec Transaction180158952023-08-28 21:43:35292 days ago1693259015IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0021681744.12867263
Exec Transaction180158232023-08-28 21:29:11292 days ago1693258151IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0099829472.28988879
Exec Transaction179089382023-08-13 22:32:23307 days ago1691965943IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0009802111.37933706
Exec Transaction178926772023-08-11 15:55:59310 days ago1691769359IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0014803923.91666221
Exec Transaction178704812023-08-08 13:23:59313 days ago1691501039IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0022339426.97254167
Exec Transaction178704742023-08-08 13:22:35313 days ago1691500955IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0015405424.88370097
Exec Transaction177707512023-07-25 14:37:11327 days ago1690295831IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0030628844.36388743
Exec Transaction174234192023-06-06 19:17:23375 days ago1686079043IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0030992544.89849626
Transfer171730322023-05-02 12:16:35411 days ago1683029795IN
0xD8EAb52B...0eB5492Ed
0.0000001 ETH0.0021898680.12975113
Exec Transaction171251582023-04-25 18:49:23417 days ago1682448563IN
0xD8EAb52B...0eB5492Ed
0 ETH0.003750837.53242845
Exec Transaction171251422023-04-25 18:46:11417 days ago1682448371IN
0xD8EAb52B...0eB5492Ed
0 ETH0.003095938.74865691
Exec Transaction162289042022-12-20 22:30:35543 days ago1671575435IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0007424812
Exec Transaction161855932022-12-14 21:22:23549 days ago1671052943IN
0xD8EAb52B...0eB5492Ed
0 ETH0.0015009619
Transfer161854102022-12-14 20:45:47549 days ago1671050747IN
0xD8EAb52B...0eB5492Ed
0.005 ETH0.000382614

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
180158232023-08-28 21:29:11292 days ago1693258151
0xD8EAb52B...0eB5492Ed
0.00007299 ETH
180158232023-08-28 21:29:11292 days ago1693258151
0xD8EAb52B...0eB5492Ed
0.0122241 ETH
178926772023-08-11 15:55:59310 days ago1691769359
0xD8EAb52B...0eB5492Ed
0.0306 ETH
178704742023-08-08 13:22:35313 days ago1691500955
0xD8EAb52B...0eB5492Ed
0.097 ETH
172262492023-05-09 23:48:23403 days ago1683676103
0xD8EAb52B...0eB5492Ed
0.013 ETH
172260342023-05-09 23:05:11403 days ago1683673511
0xD8EAb52B...0eB5492Ed
0.015 ETH
172250932023-05-09 19:54:59403 days ago1683662099
0xD8EAb52B...0eB5492Ed
0.05 ETH
172243292023-05-09 17:19:35403 days ago1683652775
0xD8EAb52B...0eB5492Ed
0.001 ETH
172233922023-05-09 14:09:23404 days ago1683641363
0xD8EAb52B...0eB5492Ed
0.003 ETH
172230902023-05-09 13:08:35404 days ago1683637715
0xD8EAb52B...0eB5492Ed
0.01 ETH
172221792023-05-09 10:03:59404 days ago1683626639
0xD8EAb52B...0eB5492Ed
0.002 ETH
172206452023-05-09 4:54:11404 days ago1683608051
0xD8EAb52B...0eB5492Ed
0.002 ETH
172194262023-05-09 0:47:11404 days ago1683593231
0xD8EAb52B...0eB5492Ed
0.005 ETH
172192642023-05-09 0:14:11404 days ago1683591251
0xD8EAb52B...0eB5492Ed
0.02 ETH
172183892023-05-08 21:17:47404 days ago1683580667
0xD8EAb52B...0eB5492Ed
0.001 ETH
172074592023-05-07 8:24:11406 days ago1683447851
0xD8EAb52B...0eB5492Ed
0.001 ETH
171532142023-04-29 17:26:11413 days ago1682789171
0xD8EAb52B...0eB5492Ed
0.0052 ETH
171481222023-04-29 0:14:35414 days ago1682727275
0xD8EAb52B...0eB5492Ed
0.002 ETH
171414032023-04-28 1:36:11415 days ago1682645771
0xD8EAb52B...0eB5492Ed
0.002 ETH
171318772023-04-26 17:25:47416 days ago1682529947
0xD8EAb52B...0eB5492Ed
0.003 ETH
171312692023-04-26 15:22:59417 days ago1682522579
0xD8EAb52B...0eB5492Ed
0.005 ETH
162289042022-12-20 22:30:35543 days ago1671575435
0xD8EAb52B...0eB5492Ed
0.002 ETH
161855932022-12-14 21:22:23549 days ago1671052943
0xD8EAb52B...0eB5492Ed
0.001 ETH
161853942022-12-14 20:42:35549 days ago1671050555  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.