ETH Price: $2,534.43 (-0.13%)

Contract

0xF39c20D7866be8956CF8D99650294f150B971740
 
Transaction Hash
Method
Block
From
To
Exec Transaction190592682024-01-22 2:18:59220 days ago1705889939IN
0xF39c20D7...50B971740
0 ETH0.0008141811.80390183
Exec Transaction179803392023-08-23 22:17:35371 days ago1692829055IN
0xF39c20D7...50B971740
0 ETH0.0028101826.26268459
Exec Transaction179488392023-08-19 12:32:35376 days ago1692448355IN
0xF39c20D7...50B971740
0 ETH0.0019917918.61435674
Exec Transaction178526032023-08-06 1:19:47389 days ago1691284787IN
0xF39c20D7...50B971740
0 ETH0.0011770613.09265407
Exec Transaction173689712023-05-30 3:06:35457 days ago1685415995IN
0xF39c20D7...50B971740
0 ETH0.0032600930.47076226
Exec Transaction169773792023-04-04 18:46:47513 days ago1680634007IN
0xF39c20D7...50B971740
0 ETH0.0070719366.09102103
Exec Transaction167696532023-03-06 13:37:23542 days ago1678109843IN
0xF39c20D7...50B971740
0 ETH0.0052110140.72444955
Exec Transaction167428532023-03-02 19:09:59546 days ago1677784199IN
0xF39c20D7...50B971740
0 ETH0.0034795339.10424977
Exec Transaction167428212023-03-02 19:03:35546 days ago1677783815IN
0xF39c20D7...50B971740
0 ETH0.0024024827
Exec Transaction167427202023-03-02 18:43:11546 days ago1677782591IN
0xF39c20D7...50B971740
0 ETH0.001784129
Exec Transaction167424342023-03-02 17:45:23546 days ago1677779123IN
0xF39c20D7...50B971740
0 ETH0.0092130541.83569559
Exec Transaction166490822023-02-17 14:41:11559 days ago1676644871IN
0xF39c20D7...50B971740
0 ETH0.0068055663.49953496
Exec Transaction165479732023-02-03 11:32:11573 days ago1675423931IN
0xF39c20D7...50B971740
0 ETH0.002242420.95881241
Exec Transaction165479702023-02-03 11:31:35573 days ago1675423895IN
0xF39c20D7...50B971740
0 ETH0.0022131720.68566466
Exec Transaction165479672023-02-03 11:30:59573 days ago1675423859IN
0xF39c20D7...50B971740
0 ETH0.0022347420.88724076
Exec Transaction164654392023-01-22 22:51:35584 days ago1674427895IN
0xF39c20D7...50B971740
0 ETH0.0024109822.53446138
Exec Transaction164626442023-01-22 13:28:59585 days ago1674394139IN
0xF39c20D7...50B971740
0 ETH0.0015459914.4814318
Exec Transaction164588552023-01-22 0:47:23585 days ago1674348443IN
0xF39c20D7...50B971740
0 ETH0.0015929814.64582903
Exec Transaction159586022022-11-13 4:05:35655 days ago1668312335IN
0xF39c20D7...50B971740
0 ETH0.0009409711.74971796
Exec Transaction157581252022-10-16 3:54:59683 days ago1665892499IN
0xF39c20D7...50B971740
0 ETH0.0025909213.8196874
Exec Transaction156466812022-09-30 14:14:35699 days ago1664547275IN
0xF39c20D7...50B971740
0 ETH0.0013757817.766697
Exec Transaction155213892022-09-12 14:41:52717 days ago1662993712IN
0xF39c20D7...50B971740
0 ETH0.0024314824.05526147
Exec Transaction155187112022-09-12 3:46:25717 days ago1662954385IN
0xF39c20D7...50B971740
0 ETH0.000802198.60914391
Transfer155052532022-09-09 22:24:44719 days ago1662762284IN
0xF39c20D7...50B971740
32.59750515 ETH0.0004372616
Transfer155051472022-09-09 21:58:37719 days ago1662760717IN
0xF39c20D7...50B971740
0.00290574 ETH0.0006012322

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
190592682024-01-22 2:18:59220 days ago1705889939
0xF39c20D7...50B971740
11 ETH
167424342023-03-02 17:45:23546 days ago1677779123
0xF39c20D7...50B971740
1 ETH
159586022022-11-13 4:05:35655 days ago1668312335
0xF39c20D7...50B971740
0.76 ETH
157581252022-10-16 3:54:59683 days ago1665892499
0xF39c20D7...50B971740
14 ETH
156466812022-09-30 14:14:35699 days ago1664547275
0xF39c20D7...50B971740
0.3 ETH
155958282022-09-23 11:44:11706 days ago1663933451
0xF39c20D7...50B971740
0.0039 ETH
155929782022-09-23 2:11:35706 days ago1663899095
0xF39c20D7...50B971740
0.013 ETH
155893902022-09-22 14:10:59707 days ago1663855859
0xF39c20D7...50B971740
0.0039 ETH
155893902022-09-22 14:10:59707 days ago1663855859
0xF39c20D7...50B971740
0.0039 ETH
155893672022-09-22 14:06:23707 days ago1663855583
0xF39c20D7...50B971740
0.0032 ETH
155836722022-09-21 18:57:11708 days ago1663786631
0xF39c20D7...50B971740
0.0041 ETH
155817402022-09-21 12:26:23708 days ago1663763183
0xF39c20D7...50B971740
0.004 ETH
155817402022-09-21 12:26:23708 days ago1663763183
0xF39c20D7...50B971740
0.004 ETH
155802512022-09-21 7:14:47708 days ago1663744487
0xF39c20D7...50B971740
0.004 ETH
155763152022-09-20 17:56:35709 days ago1663696595
0xF39c20D7...50B971740
0.0159 ETH
155748782022-09-20 13:06:23709 days ago1663679183
0xF39c20D7...50B971740
0.01 ETH
155711262022-09-20 0:29:11709 days ago1663633751
0xF39c20D7...50B971740
0.0038 ETH
155695982022-09-19 19:20:59710 days ago1663615259
0xF39c20D7...50B971740
0.0034 ETH
155695932022-09-19 19:19:59710 days ago1663615199
0xF39c20D7...50B971740
0.0034 ETH
155695932022-09-19 19:19:59710 days ago1663615199
0xF39c20D7...50B971740
0.0034 ETH
155695752022-09-19 19:16:23710 days ago1663614983
0xF39c20D7...50B971740
0.00332 ETH
155695682022-09-19 19:14:59710 days ago1663614899
0xF39c20D7...50B971740
0.00321 ETH
155642312022-09-19 1:16:11710 days ago1663550171
0xF39c20D7...50B971740
0.0041 ETH
155641232022-09-19 0:54:35710 days ago1663548875
0xF39c20D7...50B971740
0.004 ETH
155626742022-09-18 20:00:23711 days ago1663531223
0xF39c20D7...50B971740
0.005 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.