ETH Price: $2,435.25 (+3.29%)

Contract

0x1A5b6702C704bDFf0f030771191a6b3A18aA81f3
 
Transaction Hash
Method
Block
From
To
Exec Transaction203279962024-07-17 18:19:5958 days ago1721240399IN
0x1A5b6702...A18aA81f3
0 ETH0.0007332614
Exec Transaction202074162024-06-30 22:13:1175 days ago1719785591IN
0x1A5b6702...A18aA81f3
0 ETH0.000503895.94714965
Exec Transaction199150112024-05-21 1:30:35115 days ago1716255035IN
0x1A5b6702...A18aA81f3
0 ETH0.0022259420
Exec Transaction189368832024-01-04 22:19:23253 days ago1704406763IN
0x1A5b6702...A18aA81f3
0 ETH0.0017219222.62920076
Exec Transaction171683342023-05-01 20:25:35501 days ago1682972735IN
0x1A5b6702...A18aA81f3
0 ETH0.0080414388.87820121
Exec Transaction171682972023-05-01 20:18:11501 days ago1682972291IN
0x1A5b6702...A18aA81f3
0 ETH0.0210069679
Exec Transaction168009372023-03-10 23:17:47553 days ago1678490267IN
0x1A5b6702...A18aA81f3
0 ETH0.0029401941.41531712
Exec Transaction167854512023-03-08 18:56:23555 days ago1678301783IN
0x1A5b6702...A18aA81f3
0 ETH0.0033058743.62409148
Exec Transaction167854412023-03-08 18:54:23555 days ago1678301663IN
0x1A5b6702...A18aA81f3
0 ETH0.0039938843
Exec Transaction166785732023-02-21 18:10:59570 days ago1677003059IN
0x1A5b6702...A18aA81f3
0 ETH0.0030317240
Exec Transaction166785662023-02-21 18:09:35570 days ago1677002975IN
0x1A5b6702...A18aA81f3
0 ETH0.003901542
Exec Transaction166708302023-02-20 16:05:11571 days ago1676909111IN
0x1A5b6702...A18aA81f3
0 ETH0.0048537752.25802584
Exec Transaction166708232023-02-20 16:03:47571 days ago1676909027IN
0x1A5b6702...A18aA81f3
0 ETH0.0056405360.72860699
Exec Transaction165709182023-02-06 16:23:47585 days ago1675700627IN
0x1A5b6702...A18aA81f3
0 ETH0.0036055938.81446011
Exec Transaction165516362023-02-03 23:47:11588 days ago1675468031IN
0x1A5b6702...A18aA81f3
0 ETH0.0023345925.13538702
Exec Transaction164994422023-01-27 16:48:11595 days ago1674838091IN
0x1A5b6702...A18aA81f3
0 ETH0.0034233636.85749104
Exec Transaction164994342023-01-27 16:46:35595 days ago1674837995IN
0x1A5b6702...A18aA81f3
0 ETH0.0032508335
Exec Transaction164935332023-01-26 20:59:11596 days ago1674766751IN
0x1A5b6702...A18aA81f3
0 ETH0.0018216824.03501768
Exec Transaction164935102023-01-26 20:54:35596 days ago1674766475IN
0x1A5b6702...A18aA81f3
0 ETH0.0020592427.16936584
Exec Transaction164934852023-01-26 20:49:35596 days ago1674766175IN
0x1A5b6702...A18aA81f3
0 ETH0.0020199821.74807919
Exec Transaction163869962023-01-11 23:59:23611 days ago1673481563IN
0x1A5b6702...A18aA81f3
0 ETH0.0018948225
Exec Transaction163869892023-01-11 23:57:59611 days ago1673481479IN
0x1A5b6702...A18aA81f3
0 ETH0.0019905826.2634967
Exec Transaction163800682023-01-11 0:44:59611 days ago1673397899IN
0x1A5b6702...A18aA81f3
0 ETH0.0018107319.49520627
Exec Transaction163800592023-01-11 0:43:11611 days ago1673397791IN
0x1A5b6702...A18aA81f3
0 ETH0.0018798720.23964716
Exec Transaction163436212023-01-05 22:38:47617 days ago1672958327IN
0x1A5b6702...A18aA81f3
0 ETH0.0015734630.05557369
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
203279962024-07-17 18:19:5958 days ago1721240399
0x1A5b6702...A18aA81f3
50.17143367 ETH
189368852024-01-04 22:19:47253 days ago1704406787
0x1A5b6702...A18aA81f3
11.70056102 ETH
171682972023-05-01 20:18:11501 days ago1682972291
0x1A5b6702...A18aA81f3
30 ETH
163436212023-01-05 22:38:47617 days ago1672958327
0x1A5b6702...A18aA81f3
190 ETH
159437632022-11-11 2:21:47672 days ago1668133307
0x1A5b6702...A18aA81f3
69.44254462 ETH
153986332022-08-23 20:02:20752 days ago1661284940
0x1A5b6702...A18aA81f3
2 ETH
153615192022-08-17 23:16:04758 days ago1660778164
0x1A5b6702...A18aA81f3
1 ETH
153053232022-08-09 2:24:45766 days ago1660011885
0x1A5b6702...A18aA81f3
56.44254462 ETH
153026622022-08-08 16:39:28767 days ago1659976768
0x1A5b6702...A18aA81f3
8.05180128 ETH
149608192022-06-14 8:34:26822 days ago1655195666
0x1A5b6702...A18aA81f3
150.02583938 ETH
148958732022-06-03 7:38:06833 days ago1654241886
0x1A5b6702...A18aA81f3
1 ETH
148133072022-05-20 21:06:54847 days ago1653080814
0x1A5b6702...A18aA81f3
159.02583938 ETH
148131452022-05-20 20:28:40847 days ago1653078520  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.