ETH Price: $2,605.24 (+0.50%)

Contract

0xffF0bA20b4EB728662812c4794D53d27AA187878
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction151183712022-07-11 1:26:22828 days ago1657502782IN
0xffF0bA20...7AA187878
0 ETH0.0013326721.52604443
Exec Transaction150490972022-06-30 6:49:15839 days ago1656571755IN
0xffF0bA20...7AA187878
0 ETH0.0022840636.90045972
Exec Transaction149144752022-06-06 10:31:55863 days ago1654511515IN
0xffF0bA20...7AA187878
0 ETH0.0015312924.73907861
Exec Transaction149082212022-06-05 8:57:25864 days ago1654419445IN
0xffF0bA20...7AA187878
0 ETH0.0015731425.4101127
Exec Transaction148777712022-05-31 8:47:05869 days ago1653986825IN
0xffF0bA20...7AA187878
0 ETH0.001424223
Exec Transaction148653762022-05-29 8:09:56871 days ago1653811796IN
0xffF0bA20...7AA187878
0 ETH0.0006953711
Exec Transaction148653042022-05-29 7:53:24871 days ago1653810804IN
0xffF0bA20...7AA187878
0 ETH0.0007185411.60635351
Exec Transaction148546492022-05-27 14:24:04873 days ago1653661444IN
0xffF0bA20...7AA187878
0 ETH0.0015480823.56156668
Exec Transaction148544682022-05-27 13:42:36873 days ago1653658956IN
0xffF0bA20...7AA187878
0 ETH0.0018525829.9238035
Exec Transaction148544312022-05-27 13:34:54873 days ago1653658494IN
0xffF0bA20...7AA187878
0 ETH0.0017760432.60780802
Exec Transaction148543992022-05-27 13:28:41873 days ago1653658121IN
0xffF0bA20...7AA187878
0 ETH0.0026588748.81618525
Exec Transaction148414452022-05-25 10:46:39875 days ago1653475599IN
0xffF0bA20...7AA187878
0 ETH0.0010095511.61607665
Exec Transaction148414102022-05-25 10:39:33875 days ago1653475173IN
0xffF0bA20...7AA187878
0 ETH0.0010741416.34821302
Exec Transaction148413982022-05-25 10:36:38875 days ago1653474998IN
0xffF0bA20...7AA187878
0 ETH0.0010421115.86070065
Exec Transaction148413852022-05-25 10:32:37875 days ago1653474757IN
0xffF0bA20...7AA187878
0 ETH0.0009764714.85897437
Exec Transaction148413732022-05-25 10:30:22875 days ago1653474622IN
0xffF0bA20...7AA187878
0 ETH0.0008120612.35716698
Exec Transaction148413642022-05-25 10:28:48875 days ago1653474528IN
0xffF0bA20...7AA187878
0 ETH0.0008065812.27384952
Exec Transaction148413462022-05-25 10:25:31875 days ago1653474331IN
0xffF0bA20...7AA187878
0 ETH0.0011828818
Exec Transaction148413262022-05-25 10:18:55875 days ago1653473935IN
0xffF0bA20...7AA187878
0 ETH0.0012750719.40288196
Exec Transaction148413222022-05-25 10:17:02875 days ago1653473822IN
0xffF0bA20...7AA187878
0 ETH0.0009339314.2142557
Exec Transaction148413152022-05-25 10:15:38875 days ago1653473738IN
0xffF0bA20...7AA187878
0 ETH0.0010514516
Exec Transaction148411412022-05-25 9:38:55875 days ago1653471535IN
0xffF0bA20...7AA187878
0 ETH0.0010525616.01692077
Exec Transaction148411322022-05-25 9:36:39875 days ago1653471399IN
0xffF0bA20...7AA187878
0 ETH0.0006405313.94612773
Exec Transaction148411192022-05-25 9:34:04875 days ago1653471244IN
0xffF0bA20...7AA187878
0 ETH0.0011721117.83609539
Exec Transaction148411052022-05-25 9:30:12875 days ago1653471012IN
0xffF0bA20...7AA187878
0 ETH0.0011396314.42387992
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
151183712022-07-11 1:26:22828 days ago1657502782
0xffF0bA20...7AA187878
3 ETH
150490972022-06-30 6:49:15839 days ago1656571755
0xffF0bA20...7AA187878
12.758 ETH
149144752022-06-06 10:31:55863 days ago1654511515
0xffF0bA20...7AA187878
0.224 ETH
149082212022-06-05 8:57:25864 days ago1654419445
0xffF0bA20...7AA187878
6 ETH
148777712022-05-31 8:47:05869 days ago1653986825
0xffF0bA20...7AA187878
0.213 ETH
148653762022-05-29 8:09:56871 days ago1653811796
0xffF0bA20...7AA187878
4 ETH
148653042022-05-29 7:53:24871 days ago1653810804
0xffF0bA20...7AA187878
4 ETH
148546492022-05-27 14:24:04873 days ago1653661444
0xffF0bA20...7AA187878
0.735 ETH
148544682022-05-27 13:42:36873 days ago1653658956
0xffF0bA20...7AA187878
1.68 ETH
148414452022-05-25 10:46:39875 days ago1653475599
0xffF0bA20...7AA187878
0.42 ETH
148414102022-05-25 10:39:33875 days ago1653475173
0xffF0bA20...7AA187878
0.14 ETH
148413982022-05-25 10:36:38875 days ago1653474998
0xffF0bA20...7AA187878
0.42 ETH
148413852022-05-25 10:32:37875 days ago1653474757
0xffF0bA20...7AA187878
0.42 ETH
148413732022-05-25 10:30:22875 days ago1653474622
0xffF0bA20...7AA187878
0.14 ETH
148413642022-05-25 10:28:48875 days ago1653474528
0xffF0bA20...7AA187878
0.14 ETH
148413462022-05-25 10:25:31875 days ago1653474331
0xffF0bA20...7AA187878
0.14 ETH
148413262022-05-25 10:18:55875 days ago1653473935
0xffF0bA20...7AA187878
0.14 ETH
148413222022-05-25 10:17:02875 days ago1653473822
0xffF0bA20...7AA187878
0.42 ETH
148413152022-05-25 10:15:38875 days ago1653473738
0xffF0bA20...7AA187878
0.14 ETH
148411412022-05-25 9:38:55875 days ago1653471535
0xffF0bA20...7AA187878
0.14 ETH
148411192022-05-25 9:34:04875 days ago1653471244
0xffF0bA20...7AA187878
0.14 ETH
148411052022-05-25 9:30:12875 days ago1653471012
0xffF0bA20...7AA187878
0.14 ETH
148409882022-05-25 9:04:30875 days ago1653469470
0xffF0bA20...7AA187878
35.4 ETH
143394962022-03-07 11:42:57954 days ago1646653377  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.