ETH Price: $2,863.79 (-10.58%)
Gas: 14 Gwei

Contract

0x6F09B12bD59a64C0c10416A0D75212c213Aef6DA
 

Overview

ETH Balance

5.980899496319310317 ETH

Eth Value

$17,128.05 (@ $2,863.79/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer202062192024-06-30 18:13:354 days ago1719771215IN
0x6F09B12b...213Aef6DA
0.01254389 ETH0.000073742.69832342
Transfer201620872024-06-24 14:17:5910 days ago1719238679IN
0x6F09B12b...213Aef6DA
0.0239031 ETH0.000251979.21989139
Transfer201366842024-06-21 1:02:2314 days ago1718931743IN
0x6F09B12b...213Aef6DA
0.02033003 ETH0.000063292.31589583
Transfer198344122024-05-09 18:55:2356 days ago1715280923IN
0x6F09B12b...213Aef6DA
0.40819084 ETH0.00010113.69955261
Transfer195494052024-03-30 21:22:3596 days ago1711833755IN
0x6F09B12b...213Aef6DA
0.03469975 ETH0.0005362319.62128502
Transfer194626382024-03-18 15:42:59108 days ago1710776579IN
0x6F09B12b...213Aef6DA
0.79835891 ETH0.0012012143.95370709
Transfer191698612024-02-06 14:43:35149 days ago1707230615IN
0x6F09B12b...213Aef6DA
0.04265263 ETH0.0011309941.38440744
Transfer190596262024-01-22 3:31:35165 days ago1705894295IN
0x6F09B12b...213Aef6DA
0.66410556 ETH0.0003413312.4898586
Transfer190295302024-01-17 22:19:23169 days ago1705529963IN
0x6F09B12b...213Aef6DA
0.02463629 ETH0.0009986736.54274029
Transfer189538642024-01-07 7:54:11179 days ago1704614051IN
0x6F09B12b...213Aef6DA
0.03954344 ETH0.0008508631.13423148
Transfer188182982023-12-19 6:44:11198 days ago1702968251IN
0x6F09B12b...213Aef6DA
0.02087208 ETH0.001175743.02038901
Transfer186522502023-11-26 0:22:11222 days ago1700958131IN
0x6F09B12b...213Aef6DA
0.05156083 ETH0.0004892317.90150184
Transfer184743472023-11-01 2:41:59247 days ago1698806519IN
0x6F09B12b...213Aef6DA
0.04329179 ETH0.0003839114.04800173
Transfer184343792023-10-26 12:25:11252 days ago1698323111IN
0x6F09B12b...213Aef6DA
0.03212646 ETH0.0004792617.5368979
Transfer181110142023-09-11 5:25:47298 days ago1694409947IN
0x6F09B12b...213Aef6DA
0.01923796 ETH0.00024378.91729891
Exec Transaction178972032023-08-12 7:09:59327 days ago1691824199IN
0x6F09B12b...213Aef6DA
0 ETH0.001369615.91606659
Transfer178971312023-08-12 6:55:23327 days ago1691823323IN
0x6F09B12b...213Aef6DA
0.02 ETH0.0003768413.78908324

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
178972032023-08-12 7:09:59327 days ago1691824199
0x6F09B12b...213Aef6DA
0.01 ETH
178969722023-08-12 6:23:35328 days ago1691821415  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

 Latest 1 block produced

Block Transaction Difficulty Gas Used Reward
198034052024-05-05 10:50:2360 days ago17149062231120.00 TH8,914,226 (29.71%)
0.0052949240428193 ETH

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Latest 25 from a total of 182 withdrawals (3.729550936 ETH withdrawn)

Validator Index Block Amount
880648202121372024-07-01 14:02:473 days ago17198425670.018832633 ETH
880647202121372024-07-01 14:02:473 days ago17198425670.018894848 ETH
880646202121372024-07-01 14:02:473 days ago17198425670.018875941 ETH
879950202121032024-07-01 13:55:353 days ago17198421350.018814897 ETH
1390991201750972024-06-26 9:54:358 days ago17193956750.063848228 ETH
1390979201750972024-06-26 9:54:358 days ago17193956750.018631577 ETH
1390978201750972024-06-26 9:54:358 days ago17193956750.018671567 ETH
1390977201750972024-06-26 9:54:358 days ago17193956750.018671291 ETH
1390976201750972024-06-26 9:54:358 days ago17193956750.063928608 ETH
880648201479372024-06-22 14:47:3512 days ago17190676550.018750785 ETH
880647201479372024-06-22 14:47:3512 days ago17190676550.018766972 ETH
880646201479372024-06-22 14:47:3512 days ago17190676550.018805717 ETH
879950201479032024-06-22 14:40:3512 days ago17190672350.018800607 ETH
1390991201117382024-06-17 13:14:5917 days ago17186300990.018611958 ETH
1390979201117382024-06-17 13:14:5917 days ago17186300990.018635169 ETH
1390978201117382024-06-17 13:14:5917 days ago17186300990.018635243 ETH
1390977201117382024-06-17 13:14:5917 days ago17186300990.018623981 ETH
1390976201117372024-06-17 13:14:4717 days ago17186300870.018630868 ETH
880648200842332024-06-13 16:56:3521 days ago17182977950.018725272 ETH
880647200842332024-06-13 16:56:3521 days ago17182977950.018645945 ETH
880646200842332024-06-13 16:56:3521 days ago17182977950.018698251 ETH
879950200841992024-06-13 16:49:3521 days ago17182973750.018719383 ETH
1390991200487812024-06-08 18:04:4726 days ago17178698870.018549046 ETH
1390979200487802024-06-08 18:04:3526 days ago17178698750.018490818 ETH
1390978200487802024-06-08 18:04:3526 days ago17178698750.018525903 ETH
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.