ETH Price: $2,604.08 (-0.26%)

Contract

0x5A09a9240AD41aa093c07F12937051EB68B55Ac9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction197167232024-04-23 7:52:23177 days ago1713858743IN
0x5A09a924...B68B55Ac9
0 ETH0.0009744611.57471551
Exec Transaction197166982024-04-23 7:47:11177 days ago1713858431IN
0x5A09a924...B68B55Ac9
0 ETH0.0019972214.43209198
Exec Transaction179045272023-08-13 7:43:59431 days ago1691912639IN
0x5A09a924...B68B55Ac9
0 ETH0.0007918712.78828349
Exec Transaction179045112023-08-13 7:40:47431 days ago1691912447IN
0x5A09a924...B68B55Ac9
0 ETH0.0029803413
Exec Transaction179044542023-08-13 7:29:23431 days ago1691911763IN
0x5A09a924...B68B55Ac9
0 ETH0.0035242913.38170631
Exec Transaction177906562023-07-28 9:27:11447 days ago1690536431IN
0x5A09a924...B68B55Ac9
0 ETH0.0016521720.16985417
Exec Transaction177906422023-07-28 9:24:23447 days ago1690536263IN
0x5A09a924...B68B55Ac9
0 ETH0.0015814119.30886015
Exec Transaction165060002023-01-28 14:46:11628 days ago1674917171IN
0x5A09a924...B68B55Ac9
0 ETH0.0011304114
Exec Transaction160215792022-11-21 23:10:11696 days ago1669072211IN
0x5A09a924...B68B55Ac9
0 ETH0.0017514911.39904413
Exec Transaction160215762022-11-21 23:09:35696 days ago1669072175IN
0x5A09a924...B68B55Ac9
0 ETH0.0005991311
Exec Transaction160215672022-11-21 23:07:47696 days ago1669072067IN
0x5A09a924...B68B55Ac9
0 ETH0.0009673511.97512613
Exec Transaction156316812022-09-28 11:56:59750 days ago1664366219IN
0x5A09a924...B68B55Ac9
0 ETH0.00241329.58060068
Exec Transaction156316762022-09-28 11:55:59750 days ago1664366159IN
0x5A09a924...B68B55Ac9
0 ETH0.0005991311
Exec Transaction152950012022-08-07 11:52:35802 days ago1659873155IN
0x5A09a924...B68B55Ac9
0 ETH0.000550116.71684051
Exec Transaction152949972022-08-07 11:50:09802 days ago1659873009IN
0x5A09a924...B68B55Ac9
0 ETH0.00034786.38567999
Exec Transaction151532532022-07-16 10:37:59824 days ago1657967879IN
0x5A09a924...B68B55Ac9
0 ETH0.000417497.66678126
Exec Transaction151532482022-07-16 10:37:04824 days ago1657967824IN
0x5A09a924...B68B55Ac9
0 ETH0.000416267.6425966
Exec Transaction151531862022-07-16 10:23:46824 days ago1657967026IN
0x5A09a924...B68B55Ac9
0 ETH0.000709478.66135947
Exec Transaction151531822022-07-16 10:23:14824 days ago1657966994IN
0x5A09a924...B68B55Ac9
0 ETH0.000734738.96975318
Exec Transaction151531542022-07-16 10:16:44824 days ago1657966604IN
0x5A09a924...B68B55Ac9
0 ETH0.000639427.80617077
Exec Transaction151531472022-07-16 10:15:26824 days ago1657966526IN
0x5A09a924...B68B55Ac9
0 ETH0.00065538
Exec Transaction151531432022-07-16 10:15:08824 days ago1657966508IN
0x5A09a924...B68B55Ac9
0 ETH0.000573397
Exec Transaction151531242022-07-16 10:10:22824 days ago1657966222IN
0x5A09a924...B68B55Ac9
0 ETH0.00065538
Exec Transaction151531202022-07-16 10:09:55824 days ago1657966195IN
0x5A09a924...B68B55Ac9
0 ETH0.000654457.98960152
Exec Transaction151531162022-07-16 10:08:31824 days ago1657966111IN
0x5A09a924...B68B55Ac9
0 ETH0.000737219
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
179045272023-08-13 7:43:59431 days ago1691912639
0x5A09a924...B68B55Ac9
0.03530787 ETH
179045112023-08-13 7:40:47431 days ago1691912447
0x5A09a924...B68B55Ac9
0.01053034 ETH
160215792022-11-21 23:10:11696 days ago1669072211
0x5A09a924...B68B55Ac9
0.0108838 ETH
151082912022-07-09 12:17:32831 days ago1657369052
0x5A09a924...B68B55Ac9
0.01 ETH
151082712022-07-09 12:14:20831 days ago1657368860
0x5A09a924...B68B55Ac9
0.01 ETH
151082612022-07-09 12:11:55831 days ago1657368715
0x5A09a924...B68B55Ac9
0.01 ETH
150951702022-07-07 11:21:30833 days ago1657192890
0x5A09a924...B68B55Ac9
0.02 ETH
150951532022-07-07 11:16:31833 days ago1657192591
0x5A09a924...B68B55Ac9
0.015 ETH
150951332022-07-07 11:11:00833 days ago1657192260
0x5A09a924...B68B55Ac9
0.01 ETH
150926882022-07-07 2:13:11833 days ago1657159991
0x5A09a924...B68B55Ac9
0.01 ETH
150923862022-07-07 1:03:24833 days ago1657155804
0x5A09a924...B68B55Ac9
0.00068226 ETH
150923862022-07-07 1:03:24833 days ago1657155804
0x5A09a924...B68B55Ac9
0.00341131 ETH
150891532022-07-06 13:19:09834 days ago1657113549
0x5A09a924...B68B55Ac9
0.00013725 ETH
150891532022-07-06 13:19:09834 days ago1657113549
0x5A09a924...B68B55Ac9
0.00068628 ETH
150887472022-07-06 11:47:32834 days ago1657108052
0x5A09a924...B68B55Ac9
0.00024308 ETH
150887472022-07-06 11:47:32834 days ago1657108052
0x5A09a924...B68B55Ac9
0.00121541 ETH
150884612022-07-06 10:43:42834 days ago1657104222
0x5A09a924...B68B55Ac9
0.0001979 ETH
150884612022-07-06 10:43:42834 days ago1657104222
0x5A09a924...B68B55Ac9
0.00098952 ETH
150822292022-07-05 11:29:09835 days ago1657020549  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.