ETH Price: $2,323.06 (-0.12%)

Contract

0xfe7C286480C7ff638319f8Aa1A97D224d82A55C6
 
Transaction Hash
Method
Block
From
To
Exec Transaction206873322024-09-05 22:19:356 days ago1725574775IN
0xfe7C2864...4d82A55C6
0 ETH0.00026792.76926501
Exec Transaction206807622024-09-05 0:19:597 days ago1725495599IN
0xfe7C2864...4d82A55C6
0 ETH0.000277922.84428639
Exec Transaction205653112024-08-19 21:18:5923 days ago1724102339IN
0xfe7C2864...4d82A55C6
0 ETH0.000100321.25964477
Exec Transaction205651342024-08-19 20:43:3523 days ago1724100215IN
0xfe7C2864...4d82A55C6
0 ETH0.000150961.5603189
Exec Transaction205299022024-08-14 22:38:1128 days ago1723675091IN
0xfe7C2864...4d82A55C6
0 ETH0.000144941.5005572
Exec Transaction205270362024-08-14 13:01:3529 days ago1723640495IN
0xfe7C2864...4d82A55C6
0 ETH0.000292923.02751778
Exec Transaction205228942024-08-13 23:09:2329 days ago1723590563IN
0xfe7C2864...4d82A55C6
0 ETH0.000116841.20752419
Exec Transaction205228162024-08-13 22:53:4729 days ago1723589627IN
0xfe7C2864...4d82A55C6
0 ETH0.000114881.1876698
Exec Transaction205151722024-08-12 21:18:2330 days ago1723497503IN
0xfe7C2864...4d82A55C6
0 ETH0.000454456.89504883
Exec Transaction205150862024-08-12 21:01:1130 days ago1723496471IN
0xfe7C2864...4d82A55C6
0 ETH0.00032595
Exec Transaction205150692024-08-12 20:57:4730 days ago1723496267IN
0xfe7C2864...4d82A55C6
0 ETH0.0009427710.64921835
Exec Transaction204783462024-08-07 17:59:4735 days ago1723053587IN
0xfe7C2864...4d82A55C6
0 ETH0.000647629.93407896
Exec Transaction203920672024-07-26 16:58:5947 days ago1722013139IN
0xfe7C2864...4d82A55C6
0 ETH0.000518195.86470452
Exec Transaction203920642024-07-26 16:58:2347 days ago1722013103IN
0xfe7C2864...4d82A55C6
0 ETH0.000569015.89152245
Exec Transaction203770642024-07-24 14:41:2350 days ago1721832083IN
0xfe7C2864...4d82A55C6
0 ETH0.0012717116
Exec Transaction203770092024-07-24 14:30:2350 days ago1721831423IN
0xfe7C2864...4d82A55C6
0 ETH0.0016225616.80191056
Exec Transaction203728512024-07-24 0:35:1150 days ago1721781311IN
0xfe7C2864...4d82A55C6
0 ETH0.000229772.89089596
Exec Transaction203728182024-07-24 0:28:3550 days ago1721780915IN
0xfe7C2864...4d82A55C6
0 ETH0.000191791.98608827
Exec Transaction203409452024-07-19 13:41:4755 days ago1721396507IN
0xfe7C2864...4d82A55C6
0 ETH0.00061857
Exec Transaction202865032024-07-11 23:19:2362 days ago1720739963IN
0xfe7C2864...4d82A55C6
0 ETH0.000289813
Exec Transaction201265642024-06-19 15:05:1185 days ago1718809511IN
0xfe7C2864...4d82A55C6
0 ETH0.0011390511.79217245
Exec Transaction201199122024-06-18 16:44:4785 days ago1718729087IN
0xfe7C2864...4d82A55C6
0 ETH0.0013899614.39337411
Exec Transaction200704862024-06-11 18:49:5992 days ago1718131799IN
0xfe7C2864...4d82A55C6
0 ETH0.0016036216.59964236
Exec Transaction200355412024-06-06 21:42:3597 days ago1717710155IN
0xfe7C2864...4d82A55C6
0 ETH0.0011407618
Exec Transaction200335082024-06-06 14:53:4798 days ago1717685627IN
0xfe7C2864...4d82A55C6
0 ETH0.002371524.55435956
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
205151722024-08-12 21:18:2330 days ago1723497503
0xfe7C2864...4d82A55C6
0.1 ETH
200355412024-06-06 21:42:3597 days ago1717710155
0xfe7C2864...4d82A55C6
1 ETH
198902952024-05-17 14:29:47118 days ago1715956187
0xfe7C2864...4d82A55C6
0.25 ETH
192219072024-02-13 21:59:11211 days ago1707861551
0xfe7C2864...4d82A55C6
1 ETH
191711052024-02-06 18:54:23218 days ago1707245663
0xfe7C2864...4d82A55C6
0.1 ETH
174293872023-06-07 15:29:23463 days ago1686151763
0xfe7C2864...4d82A55C6
0.52 ETH
174265642023-06-07 5:55:47463 days ago1686117347
0xfe7C2864...4d82A55C6
0.05 ETH
167997752023-03-10 19:23:47551 days ago1678476227
0xfe7C2864...4d82A55C6
0.75 ETH
167997652023-03-10 19:21:35551 days ago1678476095
0xfe7C2864...4d82A55C6
0.25 ETH
155271082022-09-13 13:12:36730 days ago1663074756
0xfe7C2864...4d82A55C6
0.025 ETH
155094392022-09-10 15:06:54733 days ago1662822414
0xfe7C2864...4d82A55C6
0.025 ETH
154909892022-09-07 15:05:55736 days ago1662563155
0xfe7C2864...4d82A55C6
0.025 ETH
154439852022-08-31 2:21:08743 days ago1661912468  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.