ETH Price: $3,289.77 (-1.51%)

Contract

0xe0497014089EA1C20C1F2Ad07c7F56D76DdC97D6
 
Transaction Hash
Method
Block
From
To
Exec Transaction214567532024-12-22 8:09:5922 hrs ago1734854999IN
0xe0497014...76DdC97D6
0 ETH0.000461895.99877995
Exec Transaction214567252024-12-22 8:04:2322 hrs ago1734854663IN
0xe0497014...76DdC97D6
0 ETH0.001363715.71079234
Exec Transaction214434102024-12-20 11:23:232 days ago1734693803IN
0xe0497014...76DdC97D6
0 ETH0.0155746723.6098037
Exec Transaction214303252024-12-18 15:31:234 days ago1734535883IN
0xe0497014...76DdC97D6
0 ETH0.0022126527.80981198
Exec Transaction214303102024-12-18 15:28:234 days ago1734535703IN
0xe0497014...76DdC97D6
0 ETH0.0027384526.99903219
Exec Transaction214302752024-12-18 15:21:114 days ago1734535271IN
0xe0497014...76DdC97D6
0 ETH0.0038460220.8
Exec Transaction212691982024-11-26 3:20:2327 days ago1732591223IN
0xe0497014...76DdC97D6
0 ETH0.001463256.50490057
Exec Transaction212691872024-11-26 3:18:1127 days ago1732591091IN
0xe0497014...76DdC97D6
0 ETH0.000591366.61937085
Exec Transaction212691572024-11-26 3:11:5927 days ago1732590719IN
0xe0497014...76DdC97D6
0 ETH0.000786496.83672997
Transfer212691282024-11-26 3:06:1127 days ago1732590371IN
0xe0497014...76DdC97D6
369.9985 ETH0.000248099.07794995
Transfer212690652024-11-26 2:53:2327 days ago1732589603IN
0xe0497014...76DdC97D6
0.0185 ETH0.0002916610.67221049
Exec Transaction212690202024-11-26 2:44:2327 days ago1732589063IN
0xe0497014...76DdC97D6
0 ETH0.000736988.21748942
Exec Transaction212356482024-11-21 10:56:2331 days ago1732186583IN
0xe0497014...76DdC97D6
0 ETH0.0008675911.26775268
Exec Transaction212356342024-11-21 10:53:3531 days ago1732186415IN
0xe0497014...76DdC97D6
0 ETH0.004894779.84601065
Exec Transaction212354862024-11-21 10:23:4731 days ago1732184627IN
0xe0497014...76DdC97D6
0 ETH0.0008913811.57493368
Exec Transaction212354752024-11-21 10:21:3531 days ago1732184495IN
0xe0497014...76DdC97D6
0 ETH0.0010846410.97394323
Exec Transaction212354582024-11-21 10:18:1131 days ago1732184291IN
0xe0497014...76DdC97D6
0 ETH0.0017612210.67236854
Exec Transaction212275672024-11-20 7:49:5932 days ago1732088999IN
0xe0497014...76DdC97D6
0 ETH0.001388726.63139959
Exec Transaction212271172024-11-20 6:19:3532 days ago1732083575IN
0xe0497014...76DdC97D6
0 ETH0.000772198.56483314
Exec Transaction212270902024-11-20 6:14:1132 days ago1732083251IN
0xe0497014...76DdC97D6
0 ETH0.000832589.87287694
Exec Transaction211354632024-11-07 11:25:3545 days ago1730978735IN
0xe0497014...76DdC97D6
0 ETH0.0011809713.12810356
Exec Transaction211354462024-11-07 11:22:1145 days ago1730978531IN
0xe0497014...76DdC97D6
0 ETH0.0008651710.38773282
Exec Transaction211354342024-11-07 11:19:4745 days ago1730978387IN
0xe0497014...76DdC97D6
0 ETH0.0012042611.99756432
Exec Transaction211353982024-11-07 11:12:3545 days ago1730977955IN
0xe0497014...76DdC97D6
0 ETH0.0045447413.84541462
Exec Transaction211353882024-11-07 11:10:2345 days ago1730977823IN
0xe0497014...76DdC97D6
0 ETH0.0116562713.13033489
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
212691572024-11-26 3:11:5927 days ago1732590719
0xe0497014...76DdC97D6
370.01657143 ETH
203879882024-07-26 3:19:35150 days ago1721963975
0xe0497014...76DdC97D6
413.81013157 ETH
200082582024-06-03 2:17:23203 days ago1717381043
0xe0497014...76DdC97D6
412.00567509 ETH
199674232024-05-28 9:18:47208 days ago1716887927
0xe0497014...76DdC97D6
120.18498 ETH
198616272024-05-13 14:15:23223 days ago1715609723
0xe0497014...76DdC97D6
119.26056631 ETH
198615952024-05-13 14:08:59223 days ago1715609339
0xe0497014...76DdC97D6
0.01 ETH
198591022024-05-13 5:47:47224 days ago1715579267
0xe0497014...76DdC97D6
119.2696749 ETH
197978472024-05-04 16:11:11232 days ago1714839071
0xe0497014...76DdC97D6
119.99910859 ETH
197978362024-05-04 16:08:59232 days ago1714838939
0xe0497014...76DdC97D6
120 ETH
197970612024-05-04 13:32:23232 days ago1714829543
0xe0497014...76DdC97D6
0.01 ETH
197970312024-05-04 13:26:23232 days ago1714829183  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.