ETH Price: $3,322.83 (+1.50%)
 
Transaction Hash
Method
Block
From
To
Exec Transaction216793172025-01-22 10:05:353 days ago1737540335IN
0xaBd9745f...979FC3C6d
0 ETH0.000614938.86336198
Exec Transaction216789322025-01-22 8:48:353 days ago1737535715IN
0xaBd9745f...979FC3C6d
0 ETH0.000884979.42819538
Exec Transaction216724142025-01-21 10:57:474 days ago1737457067IN
0xaBd9745f...979FC3C6d
0 ETH0.0013464512.94857417
Exec Transaction216723332025-01-21 10:41:354 days ago1737456095IN
0xaBd9745f...979FC3C6d
0 ETH0.0010912111.62093123
Exec Transaction216151572025-01-13 11:07:2312 days ago1736766443IN
0xaBd9745f...979FC3C6d
0 ETH0.00103219.835724
Exec Transaction215945222025-01-10 13:58:1115 days ago1736517491IN
0xaBd9745f...979FC3C6d
0 ETH0.0010662513.9532351
Exec Transaction215865132025-01-09 11:05:4716 days ago1736420747IN
0xaBd9745f...979FC3C6d
0 ETH0.000483286.18298941
Exec Transaction215864852025-01-09 11:00:1116 days ago1736420411IN
0xaBd9745f...979FC3C6d
0 ETH0.000417765.32655302
Exec Transaction215444882025-01-03 14:15:2322 days ago1735913723IN
0xaBd9745f...979FC3C6d
0 ETH0.001488414.92930294
Exec Transaction215398622025-01-02 22:45:5923 days ago1735857959IN
0xaBd9745f...979FC3C6d
0 ETH0.000771169.59490051
Exec Transaction215393922025-01-02 21:11:2323 days ago1735852283IN
0xaBd9745f...979FC3C6d
0 ETH0.0015078111.00164366
Exec Transaction215393332025-01-02 20:59:2323 days ago1735851563IN
0xaBd9745f...979FC3C6d
0 ETH0.000759810.41668202
Exec Transaction215390952025-01-02 20:11:4723 days ago1735848707IN
0xaBd9745f...979FC3C6d
0 ETH0.0007687810.5398879
Exec Transaction214433152024-12-20 11:04:2336 days ago1734692663IN
0xaBd9745f...979FC3C6d
0 ETH0.0030524930.86975217
Exec Transaction214430812024-12-20 10:17:3536 days ago1734689855IN
0xaBd9745f...979FC3C6d
0 ETH0.005285247.11993127
Exec Transaction214222712024-12-17 12:31:1139 days ago1734438671IN
0xaBd9745f...979FC3C6d
0 ETH0.0012945511.55838785
Exec Transaction213217132024-12-03 11:35:1153 days ago1733225711IN
0xaBd9745f...979FC3C6d
0 ETH0.0016918618.00313033
Exec Transaction213215022024-12-03 10:52:3553 days ago1733223155IN
0xaBd9745f...979FC3C6d
0 ETH0.0025813122.25829912
Exec Transaction212871732024-11-28 15:44:4758 days ago1732808687IN
0xaBd9745f...979FC3C6d
0 ETH0.0014835312.78964543
Exec Transaction212712052024-11-26 10:03:5960 days ago1732615439IN
0xaBd9745f...979FC3C6d
0 ETH0.000799866.95258222
Exec Transaction211799992024-11-13 16:35:2373 days ago1731515723IN
0xaBd9745f...979FC3C6d
0 ETH0.01144361103.34884716
Exec Transaction211799762024-11-13 16:30:4773 days ago1731515447IN
0xaBd9745f...979FC3C6d
0 ETH0.0100703890.94702615
Exec Transaction211798622024-11-13 16:07:5973 days ago1731514079IN
0xaBd9745f...979FC3C6d
0 ETH0.0082853988.49268014
Exec Transaction211798182024-11-13 15:58:5973 days ago1731513539IN
0xaBd9745f...979FC3C6d
0 ETH0.0091509182.64322517
Exec Transaction211789402024-11-13 13:02:2373 days ago1731502943IN
0xaBd9745f...979FC3C6d
0 ETH0.0034485836.83760736
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
215398622025-01-02 22:45:5923 days ago1735857959
0xaBd9745f...979FC3C6d
0.025 ETH
211782542024-11-13 10:44:2373 days ago1731494663
0xaBd9745f...979FC3C6d
0.00063436 ETH
211782182024-11-13 10:37:1173 days ago1731494231
0xaBd9745f...979FC3C6d
0.0006333 ETH
211781642024-11-13 10:26:1173 days ago1731493571
0xaBd9745f...979FC3C6d
0.00063255 ETH
211781412024-11-13 10:21:3573 days ago1731493295
0xaBd9745f...979FC3C6d
0.00063314 ETH
149379872022-06-10 10:39:25960 days ago1654857565
0xaBd9745f...979FC3C6d
0.21 ETH
149379052022-06-10 10:20:35960 days ago1654856435
0xaBd9745f...979FC3C6d
0.28261049 ETH
147605352022-05-12 10:24:19989 days ago1652351059
0xaBd9745f...979FC3C6d
0.7892864 ETH
147041872022-05-03 10:45:45998 days ago1651574745
0xaBd9745f...979FC3C6d
0.21454342 ETH
147041572022-05-03 10:39:11998 days ago1651574351
0xaBd9745f...979FC3C6d
0.17654342 ETH
141275342022-02-02 15:53:141088 days ago1643817194  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.