ETH Price: $3,487.12 (+7.42%)
Gas: 6 Gwei

Contract

0x8Fd31f29c691A85f2b65759D81d0Ece9DF1582d7
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction202848282024-07-11 17:42:114 days ago1720719731IN
0x8Fd31f29...9DF1582d7
0 ETH0.0011677110.98732169
Exec Transaction202847652024-07-11 17:29:354 days ago1720718975IN
0x8Fd31f29...9DF1582d7
0 ETH0.000754611
Exec Transaction199748392024-05-29 10:11:1147 days ago1716977471IN
0x8Fd31f29...9DF1582d7
0 ETH0.002805810.63259646
Exec Transaction199452682024-05-25 7:02:1151 days ago1716620531IN
0x8Fd31f29...9DF1582d7
0 ETH0.000769413.99438613
Exec Transaction199265462024-05-22 16:14:5954 days ago1716394499IN
0x8Fd31f29...9DF1582d7
0 ETH0.001957918.42246069
Exec Transaction199199172024-05-21 17:57:4755 days ago1716314267IN
0x8Fd31f29...9DF1582d7
0 ETH0.0048266420.68900112
Exec Transaction198972482024-05-18 13:52:4758 days ago1716040367IN
0x8Fd31f29...9DF1582d7
0 ETH0.00067995.86278948
Exec Transaction198972352024-05-18 13:50:1158 days ago1716040211IN
0x8Fd31f29...9DF1582d7
0 ETH0.000725046.85911164
Exec Transaction198972242024-05-18 13:47:5958 days ago1716040079IN
0x8Fd31f29...9DF1582d7
0 ETH0.000570014.94514703
Exec Transaction198972042024-05-18 13:43:4758 days ago1716039827IN
0x8Fd31f29...9DF1582d7
0 ETH0.000189313.61938783
Exec Transaction198972042024-05-18 13:43:4758 days ago1716039827IN
0x8Fd31f29...9DF1582d7
0 ETH0.000779425.81780819
Exec Transaction198971992024-05-18 13:42:4758 days ago1716039767IN
0x8Fd31f29...9DF1582d7
0 ETH0.000236823.27080208
Exec Transaction198406302024-05-10 15:48:1166 days ago1715356091IN
0x8Fd31f29...9DF1582d7
0 ETH0.000928329.7978013
Exec Transaction196476532024-04-13 15:50:3593 days ago1713023435IN
0x8Fd31f29...9DF1582d7
0 ETH0.0032057514.36308778
Exec Transaction196475882024-04-13 15:37:3593 days ago1713022655IN
0x8Fd31f29...9DF1582d7
0 ETH0.0179073416.91718409
Exec Transaction196475042024-04-13 15:20:4793 days ago1713021647IN
0x8Fd31f29...9DF1582d7
0 ETH0.0184820317.46009668
Exec Transaction193985972024-03-09 16:00:35128 days ago1710000035IN
0x8Fd31f29...9DF1582d7
0 ETH0.0046431872.80909542
Exec Transaction193985582024-03-09 15:52:47128 days ago1709999567IN
0x8Fd31f29...9DF1582d7
0 ETH0.0059205373.09573693
Exec Transaction193984652024-03-09 15:34:11128 days ago1709998451IN
0x8Fd31f29...9DF1582d7
0 ETH0.0096284570.78549278
Exec Transaction193984462024-03-09 15:30:11128 days ago1709998211IN
0x8Fd31f29...9DF1582d7
0 ETH0.010865172.9446642
Exec Transaction193984302024-03-09 15:26:59128 days ago1709998019IN
0x8Fd31f29...9DF1582d7
0 ETH0.0058834372.73826896
Exec Transaction193405942024-03-01 13:22:59136 days ago1709299379IN
0x8Fd31f29...9DF1582d7
0 ETH0.0050535454.83926653
Exec Transaction193389212024-03-01 7:45:59136 days ago1709279159IN
0x8Fd31f29...9DF1582d7
0 ETH0.0037404740.58495522
Exec Transaction192980392024-02-24 14:27:35142 days ago1708784855IN
0x8Fd31f29...9DF1582d7
0 ETH0.0014944628.25074639
Exec Transaction192978502024-02-24 13:49:47142 days ago1708782587IN
0x8Fd31f29...9DF1582d7
0 ETH0.0013781823.78116461
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
181489722023-09-16 13:22:59303 days ago1694870579
0x8Fd31f29...9DF1582d7
8 ETH
167743532023-03-07 5:29:47496 days ago1678166987
0x8Fd31f29...9DF1582d7
22.22 ETH
167504022023-03-03 20:39:11500 days ago1677875951
0x8Fd31f29...9DF1582d7
0.2 ETH
167412542023-03-02 13:44:23501 days ago1677764663
0x8Fd31f29...9DF1582d7
0.112 ETH
167412542023-03-02 13:44:23501 days ago1677764663
0x8Fd31f29...9DF1582d7
0.358 ETH
163187702023-01-02 11:24:23560 days ago1672658663
0x8Fd31f29...9DF1582d7
1.02 ETH
160872722022-12-01 3:28:59592 days ago1669865339
0x8Fd31f29...9DF1582d7
0.6 ETH
160872462022-12-01 3:23:47592 days ago1669865027  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.