ETH Price: $3,706.25 (+1.44%)

Contract

0xf19Bad6fc176fC34Cf1EF7718336D8d3Cd750F8C
 
Transaction Hash
Method
Block
From
To
Exec Transaction188352832023-12-21 15:58:23345 days ago1703174303IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0039669142.67335183
Exec Transaction188322292023-12-21 5:41:59345 days ago1703137319IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0037775438.6409613
Exec Transaction181739742023-09-20 1:57:23438 days ago1695175043IN
0xf19Bad6f...3Cd750F8C
0 ETH0.000821258.83568166
Exec Transaction180402022023-09-01 7:26:47456 days ago1693553207IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0081217410.96400307
Exec Transaction180249142023-08-30 4:03:11459 days ago1693368191IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0014930915.27310382
Exec Transaction179972002023-08-26 6:56:59462 days ago1693033019IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0010694110.93916967
Exec Transaction179791972023-08-23 18:27:59465 days ago1692815279IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0023932134.70233589
Exec Transaction179791862023-08-23 18:25:47465 days ago1692815147IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0043017337.96594492
Exec Transaction179756892023-08-23 6:42:23465 days ago1692772943IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0033795412.92748688
Exec Transaction179756762023-08-23 6:39:47465 days ago1692772787IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0013658712.80398057
Exec Transaction179374212023-08-17 22:09:47471 days ago1692310187IN
0xf19Bad6f...3Cd750F8C
0 ETH0.01357485138.89311264
Exec Transaction179252862023-08-16 5:23:59472 days ago1692163439IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0020060520.52020251
Exec Transaction179043002023-08-13 6:58:35475 days ago1691909915IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0011259811.51783979
Exec Transaction178683612023-08-08 6:17:35480 days ago1691475455IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0016130716.50438994
Exec Transaction178530282023-08-06 2:46:11483 days ago1691289971IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0011775312.04514945
Exec Transaction176324102023-07-06 4:23:11513 days ago1688617391IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0055394856.67111903
Exec Transaction174474682023-06-10 4:41:23539 days ago1686372083IN
0xf19Bad6f...3Cd750F8C
0 ETH0.01071108109.57857393
Exec Transaction174115752023-06-05 3:09:11545 days ago1685934551IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0016271620.17317037
Exec Transaction173977842023-06-03 4:28:47546 days ago1685766527IN
0xf19Bad6f...3Cd750F8C
0 ETH0.002137726.50658703
Exec Transaction173943212023-06-02 16:45:59547 days ago1685724359IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0026212432.49741149
Exec Transaction173907802023-06-02 4:45:47547 days ago1685681147IN
0xf19Bad6f...3Cd750F8C
0 ETH0.002039425.28397568
Exec Transaction173906912023-06-02 4:27:47547 days ago1685680067IN
0xf19Bad6f...3Cd750F8C
0 ETH0.0025814629.18751172
Exec Transaction171991212023-05-06 4:16:47574 days ago1683346607IN
0xf19Bad6f...3Cd750F8C
0 ETH0.00786671114.05008073
Exec Transaction171990982023-05-06 4:12:11574 days ago1683346331IN
0xf19Bad6f...3Cd750F8C
0 ETH0.00526752119.82821848
Exec Transaction171990642023-05-06 4:05:11575 days ago1683345911IN
0xf19Bad6f...3Cd750F8C
0 ETH0.01112717124.21080165
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
180402022023-09-01 7:26:47456 days ago1693553207
0xf19Bad6f...3Cd750F8C
0.1129023 ETH
179791972023-08-23 18:27:59465 days ago1692815279
0xf19Bad6f...3Cd750F8C
100 ETH
179791862023-08-23 18:25:47465 days ago1692815147
0xf19Bad6f...3Cd750F8C
100 ETH
171991212023-05-06 4:16:47574 days ago1683346607
0xf19Bad6f...3Cd750F8C
30 ETH
171990692023-05-06 4:06:23575 days ago1683345983
0xf19Bad6f...3Cd750F8C
29.9479299 ETH
171560562023-04-30 3:00:35581 days ago1682823635
0xf19Bad6f...3Cd750F8C
15 ETH
170712632023-04-18 4:38:35592 days ago1681792715
0xf19Bad6f...3Cd750F8C
5 ETH
170393242023-04-13 15:20:47597 days ago1681399247
0xf19Bad6f...3Cd750F8C
30 ETH
168851142023-03-22 19:09:35619 days ago1679512175
0xf19Bad6f...3Cd750F8C
1 ETH
168664612023-03-20 4:19:23621 days ago1679285963
0xf19Bad6f...3Cd750F8C
2.67 ETH
168527672023-03-18 6:09:35623 days ago1679119775
0xf19Bad6f...3Cd750F8C
0.1 ETH
166813902023-02-22 3:42:35648 days ago1677037355
0xf19Bad6f...3Cd750F8C
100 ETH
165349082023-02-01 15:38:11668 days ago1675265891
0xf19Bad6f...3Cd750F8C
15.04882263 ETH
165290252023-01-31 19:53:47669 days ago1675194827
0xf19Bad6f...3Cd750F8C
15 ETH
165216702023-01-30 19:16:11670 days ago1675106171
0xf19Bad6f...3Cd750F8C
15.16300063 ETH
164963742023-01-27 6:29:59673 days ago1674800999
0xf19Bad6f...3Cd750F8C
15 ETH
164807262023-01-25 2:02:59676 days ago1674612179
0xf19Bad6f...3Cd750F8C
0xf19Bad6f...3Cd750F8C
0.1 ETH
164807212023-01-25 2:01:59676 days ago1674612119
0xf19Bad6f...3Cd750F8C
0xf19Bad6f...3Cd750F8C
0.1 ETH
164680122023-01-23 7:28:59677 days ago1674458939
0xf19Bad6f...3Cd750F8C
100 ETH
163657832023-01-09 0:54:23692 days ago1673225663
0xf19Bad6f...3Cd750F8C
2.58620874 ETH
163603392023-01-08 6:39:59692 days ago1673159999
0xf19Bad6f...3Cd750F8C
79.92272678 ETH
163584092023-01-08 0:12:35693 days ago1673136755
0xf19Bad6f...3Cd750F8C
2 ETH
163533332023-01-07 7:11:47693 days ago1673075507
0xf19Bad6f...3Cd750F8C
5 ETH
163528382023-01-07 5:32:23693 days ago1673069543
0xf19Bad6f...3Cd750F8C
6 ETH
163172202023-01-02 6:12:47698 days ago1672639967
0xf19Bad6f...3Cd750F8C
40 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.