ETH Price: $2,718.37 (+4.04%)
 
Transaction Hash
Method
Block
From
To
Exec Transaction217679252025-02-03 18:59:1115 hrs ago1738609151IN
0x3914066B...0EC082045
0 ETH0.000947279.79181703
Exec Transaction217679032025-02-03 18:54:4715 hrs ago1738608887IN
0x3914066B...0EC082045
0 ETH0.0009326411.28221311
Exec Transaction217665592025-02-03 14:24:5919 hrs ago1738592699IN
0x3914066B...0EC082045
0 ETH0.0017801522.08544231
Exec Transaction217665562025-02-03 14:24:2319 hrs ago1738592663IN
0x3914066B...0EC082045
0 ETH0.0022381522.91059458
Exec Transaction217371502025-01-30 11:47:594 days ago1738237679IN
0x3914066B...0EC082045
0 ETH0.000217662.70127835
Exec Transaction217293372025-01-29 9:37:356 days ago1738143455IN
0x3914066B...0EC082045
0 ETH0.000157031.9485234
Exec Transaction217231452025-01-28 12:52:356 days ago1738068755IN
0x3914066B...0EC082045
0 ETH0.000351174.35812757
Exec Transaction217230612025-01-28 12:35:356 days ago1738067735IN
0x3914066B...0EC082045
0 ETH0.000288763.58306305
Exec Transaction217230572025-01-28 12:34:476 days ago1738067687IN
0x3914066B...0EC082045
0 ETH0.000245743.0493107
Exec Transaction217230522025-01-28 12:33:476 days ago1738067627IN
0x3914066B...0EC082045
0 ETH0.000345983.54160197
Exec Transaction217229782025-01-28 12:18:596 days ago1738066739IN
0x3914066B...0EC082045
0 ETH0.000235962.92788901
Exec Transaction216875502025-01-23 13:40:4711 days ago1737639647IN
0x3914066B...0EC082045
0 ETH0.0016825917.22369154
Exec Transaction216801302025-01-22 12:48:3512 days ago1737550115IN
0x3914066B...0EC082045
0 ETH0.000766669.51163344
Exec Transaction216600072025-01-19 17:24:3515 days ago1737307475IN
0x3914066B...0EC082045
0 ETH0.0029935230.65029158
Exec Transaction216600012025-01-19 17:23:2315 days ago1737307403IN
0x3914066B...0EC082045
0 ETH0.0023394929.02922395
Exec Transaction216598392025-01-19 16:50:3515 days ago1737305435IN
0x3914066B...0EC082045
0 ETH0.0027859333.70147082
Exec Transaction215881452025-01-09 16:35:1125 days ago1736440511IN
0x3914066B...0EC082045
0 ETH0.0008998814.50078222
Exec Transaction215158722024-12-30 14:25:1135 days ago1735568711IN
0x3914066B...0EC082045
0 ETH0.0010413510.65969316
Exec Transaction215158262024-12-30 14:15:5935 days ago1735568159IN
0x3914066B...0EC082045
0 ETH0.0011019613.67349196
Exec Transaction214470332024-12-20 23:31:3545 days ago1734737495IN
0x3914066B...0EC082045
0 ETH0.0009387711.6752329
Exec Transaction214470302024-12-20 23:30:5945 days ago1734737459IN
0x3914066B...0EC082045
0 ETH0.0008410210.45648351
Exec Transaction214459392024-12-20 19:52:1145 days ago1734724331IN
0x3914066B...0EC082045
0 ETH0.0014683518.25604387
Exec Transaction214361292024-12-19 11:00:2346 days ago1734606023IN
0x3914066B...0EC082045
0 ETH0.0013987817.39367129
Exec Transaction214360912024-12-19 10:52:4746 days ago1734605567IN
0x3914066B...0EC082045
0 ETH0.0018384915.5600691
Exec Transaction214230242024-12-17 15:02:3548 days ago1734447755IN
0x3914066B...0EC082045
0 ETH0.0037219138.47741108
View all transactions

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
215881452025-01-09 16:35:1125 days ago1736440511
0x3914066B...0EC082045
0.031 ETH
205683082024-08-20 7:20:59168 days ago1724138459
0x3914066B...0EC082045
0.038 ETH
204331862024-08-01 10:45:23186 days ago1722509123
0x3914066B...0EC082045
0.3 ETH
204331732024-08-01 10:42:47186 days ago1722508967
0x3914066B...0EC082045
0.99953195 ETH
201618742024-06-24 13:35:23224 days ago1719236123
0x3914066B...0EC082045
0.1 ETH
201616622024-06-24 12:52:59224 days ago1719233579
0x3914066B...0EC082045
0.30028324 ETH
156331212022-09-28 16:46:23859 days ago1664383583  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.