ETH Price: $2,507.88 (+0.24%)

Contract

0x04eb8bCb8633Accb38Afb7A16e2945472C651779
 
Transaction Hash
Method
Block
From
To
Exec Transaction187932942023-12-15 18:27:11322 days ago1702664831IN
0x04eb8bCb...72C651779
0 ETH0.0031827353.23894629
Exec Transaction187932892023-12-15 18:26:11322 days ago1702664771IN
0x04eb8bCb...72C651779
0 ETH0.00394553.25755934
Exec Transaction175793132023-06-28 17:29:47492 days ago1687973387IN
0x04eb8bCb...72C651779
0 ETH0.0011970520.65569869
Exec Transaction175792882023-06-28 17:24:47492 days ago1687973087IN
0x04eb8bCb...72C651779
0 ETH0.0017929522.05569093
Exec Transaction175224512023-06-20 17:39:47500 days ago1687282787IN
0x04eb8bCb...72C651779
0 ETH0.0013842223.08350323
Transfer151199172022-07-11 7:08:46845 days ago1657523326IN
0x04eb8bCb...72C651779
0.2725 ETH0.0006615724.20792999
Transfer149660702022-06-15 6:28:43871 days ago1655274523IN
0x04eb8bCb...72C651779
1.1477969 ETH0.0011127640.71731346
Exec Transaction149221602022-06-07 17:52:54878 days ago1654624374IN
0x04eb8bCb...72C651779
0 ETH0.01333508153.45678242
Transfer148982682022-06-03 17:01:45882 days ago1654275705IN
0x04eb8bCb...72C651779
0.820999 ETH0.0015144555.41559591
Transfer148449812022-05-26 0:41:52891 days ago1653525712IN
0x04eb8bCb...72C651779
0.5502 ETH0.0023288185.21396033
Transfer148191302022-05-21 19:39:43895 days ago1653161983IN
0x04eb8bCb...72C651779
0.5145999 ETH0.0006566624.02797591
Transfer147744612022-05-14 15:46:31902 days ago1652543191IN
0x04eb8bCb...72C651779
0.7659 ETH0.0009112333.34306928
Exec Transaction147496122022-05-10 16:29:46906 days ago1652200186IN
0x04eb8bCb...72C651779
0 ETH0.0024891940.1911082
Transfer147287612022-05-07 8:42:35909 days ago1651912955IN
0x04eb8bCb...72C651779
0.7548149 ETH0.0008796532.18761687
Transfer146973842022-05-02 8:58:00914 days ago1651481880IN
0x04eb8bCb...72C651779
2.37463844 ETH0.0014525953.15215946
Exec Transaction146690262022-04-27 21:57:52919 days ago1651096672IN
0x04eb8bCb...72C651779
0 ETH0.0017192925.72261509
Transfer146539292022-04-25 12:59:15921 days ago1650891555IN
0x04eb8bCb...72C651779
1.04827 ETH0.0013909450.89637541
Exec Transaction146311152022-04-21 23:05:50925 days ago1650582350IN
0x04eb8bCb...72C651779
0 ETH0.0030737749.6395193
Transfer146179782022-04-19 21:25:02927 days ago1650403502IN
0x04eb8bCb...72C651779
0.63709 ETH0.0016133859.03580216
Transfer145771882022-04-13 12:46:48933 days ago1649854008IN
0x04eb8bCb...72C651779
0.3661 ETH0.0011182240.91709341
Transfer145476502022-04-08 21:57:14938 days ago1649455034IN
0x04eb8bCb...72C651779
0.04 ETH0.0019401770.99332197
Transfer145461372022-04-08 16:09:52938 days ago1649434192IN
0x04eb8bCb...72C651779
0.846075 ETH0.0021304677.95619004
Transfer145189592022-04-04 10:24:34942 days ago1649067874IN
0x04eb8bCb...72C651779
0.4372701 ETH0.0012844647
Exec Transaction144965182022-03-31 22:04:38946 days ago1648764278IN
0x04eb8bCb...72C651779
0 ETH0.0032402852.30828419
Exec Transaction144964962022-03-31 21:59:19946 days ago1648763959IN
0x04eb8bCb...72C651779
0 ETH0.0087370444.83642232
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
187932942023-12-15 18:27:11322 days ago1702664831
0x04eb8bCb...72C651779
10.47743767 ETH
185864812023-11-16 19:16:35351 days ago1700162195
0x04eb8bCb...72C651779
0.00022499 ETH
184586072023-10-29 21:46:35369 days ago1698615995
0x04eb8bCb...72C651779
0.000005 ETH
184407582023-10-27 9:50:11371 days ago1698400211
0x04eb8bCb...72C651779
0.0000168 ETH
183898782023-10-20 6:53:47379 days ago1697784827
0x04eb8bCb...72C651779
0.002699 ETH
181848872023-09-21 14:36:35407 days ago1695306995
0x04eb8bCb...72C651779
0.00282 ETH
181324222023-09-14 5:25:47415 days ago1694669147
0x04eb8bCb...72C651779
0.0000895 ETH
181089632023-09-10 22:31:23418 days ago1694385083
0x04eb8bCb...72C651779
0.00007499 ETH
180499752023-09-02 16:19:11426 days ago1693671551
0x04eb8bCb...72C651779
0.00011999 ETH
179503742023-08-19 17:41:47440 days ago1692466907
0x04eb8bCb...72C651779
0.000125 ETH
178837722023-08-10 10:04:35449 days ago1691661875
0x04eb8bCb...72C651779
0.0033 ETH
178674722023-08-08 3:17:47452 days ago1691464667
0x04eb8bCb...72C651779
0.00016474 ETH
178076282023-07-30 18:27:47460 days ago1690741667
0x04eb8bCb...72C651779
0.00014999 ETH
178074602023-07-30 17:53:59460 days ago1690739639
0x04eb8bCb...72C651779
0.005 ETH
176798942023-07-12 20:37:11478 days ago1689194231
0x04eb8bCb...72C651779
0.005 ETH
176793512023-07-12 18:47:59478 days ago1689187679
0x04eb8bCb...72C651779
0.000185 ETH
175903472023-06-30 6:34:47491 days ago1688106887
0x04eb8bCb...72C651779
0.0041 ETH
175758252023-06-28 5:45:47493 days ago1687931147
0x04eb8bCb...72C651779
0.0002745 ETH
175642762023-06-26 14:45:11494 days ago1687790711
0x04eb8bCb...72C651779
0.000275 ETH
175486872023-06-24 10:07:35496 days ago1687601255
0x04eb8bCb...72C651779
0.0002745 ETH
175008752023-06-17 16:59:47503 days ago1687021187
0x04eb8bCb...72C651779
0.00649 ETH
173993322023-06-03 9:41:11517 days ago1685785271
0x04eb8bCb...72C651779
0.00026 ETH
173346202023-05-25 7:15:23527 days ago1684998923
0x04eb8bCb...72C651779
0.000325 ETH
173096302023-05-21 18:51:23530 days ago1684695083
0x04eb8bCb...72C651779
0.00598 ETH
172668922023-05-15 18:15:23536 days ago1684174523
0x04eb8bCb...72C651779
0.0002995 ETH
View All Internal Transactions
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.