ETH Price: $3,274.82 (+0.89%)
Gas: 2 Gwei

Contract

0xB8ad3B46d7D12581d8885442b96c24700981F770
 
Transaction Hash
Method
Block
From
To
Exec Transaction202104592024-07-01 8:25:1126 days ago1719822311IN
0xB8ad3B46...00981F770
0 ETH0.000495014.931021
Exec Transaction202104032024-07-01 8:13:5926 days ago1719821639IN
0xB8ad3B46...00981F770
0 ETH0.001583376.94203454
Exec Transaction199882972024-05-31 7:22:4757 days ago1717140167IN
0xB8ad3B46...00981F770
0 ETH0.0010663410.62097348
Exec Transaction197651492024-04-30 2:30:2388 days ago1714444223IN
0xB8ad3B46...00981F770
0 ETH0.000878418.74912282
Exec Transaction195664332024-04-02 6:48:23116 days ago1712040503IN
0xB8ad3B46...00981F770
0 ETH0.0022085322
Exec Transaction195636802024-04-01 21:33:35116 days ago1712007215IN
0xB8ad3B46...00981F770
0 ETH0.0018518723.62082722
Exec Transaction194173252024-03-12 6:51:35137 days ago1710226295IN
0xB8ad3B46...00981F770
0 ETH0.0086915658.3017597
Exec Transaction194172182024-03-12 6:29:47137 days ago1710224987IN
0xB8ad3B46...00981F770
0 ETH0.0145590454.66973108
Exec Transaction194171122024-03-12 6:08:35137 days ago1710223715IN
0xB8ad3B46...00981F770
0 ETH0.0051741651.34833088
Exec Transaction193673242024-03-05 6:58:47144 days ago1709621927IN
0xB8ad3B46...00981F770
0 ETH0.0073398368.30546849
Exec Transaction192662272024-02-20 3:25:59158 days ago1708399559IN
0xB8ad3B46...00981F770
0 ETH0.0015373121.1221884
Exec Transaction191321702024-02-01 7:42:35177 days ago1706773355IN
0xB8ad3B46...00981F770
0 ETH0.0012006316.66094275
Exec Transaction191320192024-02-01 7:12:11177 days ago1706771531IN
0xB8ad3B46...00981F770
0 ETH0.0019538920.47547913
Exec Transaction191254962024-01-31 9:13:11178 days ago1706692391IN
0xB8ad3B46...00981F770
0 ETH0.0020461419.74087619
Exec Transaction189219632024-01-02 20:05:59206 days ago1704225959IN
0xB8ad3B46...00981F770
0 ETH0.002372619
Exec Transaction189051322023-12-31 11:21:35208 days ago1704021695IN
0xB8ad3B46...00981F770
0 ETH0.0022174215.61855176
Exec Transaction188913042023-12-29 12:41:47210 days ago1703853707IN
0xB8ad3B46...00981F770
0 ETH0.0017957918.81870413
Exec Transaction186904502023-12-01 8:43:47239 days ago1701420227IN
0xB8ad3B46...00981F770
0 ETH0.0034039331.81162769
Exec Transaction186897222023-12-01 6:17:11239 days ago1701411431IN
0xB8ad3B46...00981F770
0 ETH0.0035310933
Exec Transaction184772092023-11-01 12:19:47268 days ago1698841187IN
0xB8ad3B46...00981F770
0 ETH0.0024037322.46672949
Exec Transaction183766912023-10-18 10:37:23282 days ago1697625443IN
0xB8ad3B46...00981F770
0 ETH0.00050467
Exec Transaction183761292023-10-18 8:44:11283 days ago1697618651IN
0xB8ad3B46...00981F770
0 ETH0.000664629
Exec Transaction183618512023-10-16 8:50:11285 days ago1697446211IN
0xB8ad3B46...00981F770
0 ETH0.000797297.45111278
Exec Transaction182406612023-09-29 10:05:35302 days ago1695981935IN
0xB8ad3B46...00981F770
0 ETH0.000874538.36080011
Exec Transaction181409912023-09-15 10:20:59315 days ago1694773259IN
0xB8ad3B46...00981F770
0 ETH0.0011504511
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
194173252024-03-12 6:51:35137 days ago1710226295
0xB8ad3B46...00981F770
14 ETH
192662272024-02-20 3:25:59158 days ago1708399559
0xB8ad3B46...00981F770
0.95205 ETH
169397482023-03-30 11:23:59484 days ago1680175439
0xB8ad3B46...00981F770
0.5 ETH
166042772023-02-11 8:18:47532 days ago1676103527
0xB8ad3B46...00981F770
1 ETH
160749322022-11-29 10:04:35606 days ago1669716275
0xB8ad3B46...00981F770
1 ETH
159346052022-11-09 19:39:35625 days ago1668022775
0xB8ad3B46...00981F770
12.54208241 ETH
158305482022-10-26 6:47:11640 days ago1666766831
0xB8ad3B46...00981F770
1 ETH
154730372022-09-04 17:58:09691 days ago1662314289
0xB8ad3B46...00981F770
2 ETH
154527132022-09-01 11:49:12694 days ago1662032952
0xB8ad3B46...00981F770
0.5 ETH
152932692022-08-07 5:31:25720 days ago1659850285
0xB8ad3B46...00981F770
0.4 ETH
152752202022-08-04 9:54:37723 days ago1659606877
0xB8ad3B46...00981F770
0.1 ETH
152752152022-08-04 9:53:31723 days ago1659606811
0xB8ad3B46...00981F770
0.1 ETH
152241312022-07-27 10:55:26730 days ago1658919326
0xB8ad3B46...00981F770
0.3 ETH
151978242022-07-23 8:21:06735 days ago1658564466  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.