ETH Price: $3,607.44 (+6.11%)

Contract

0x38E03f3232b1668238AA62716e935e61F307e2E2
 
Transaction Hash
Method
Block
From
To
Exec Transaction212740232024-11-26 19:29:5933 hrs ago1732649399IN
0x38E03f32...1F307e2E2
0 ETH0.000937179.70336342
Exec Transaction212662102024-11-25 17:18:112 days ago1732555091IN
0x38E03f32...1F307e2E2
0 ETH0.0017771718.40302054
Exec Transaction212154722024-11-18 15:22:599 days ago1731943379IN
0x38E03f32...1F307e2E2
0 ETH0.0013803114.289885
Exec Transaction210930002024-11-01 13:09:1126 days ago1730466551IN
0x38E03f32...1F307e2E2
0 ETH0.0011364711.7683727
Exec Transaction210649412024-10-28 15:11:2330 days ago1730128283IN
0x38E03f32...1F307e2E2
0 ETH0.0017655318.28014383
Exec Transaction210285632024-10-23 13:23:3535 days ago1729689815IN
0x38E03f32...1F307e2E2
0 ETH0.0010247210.58976067
Exec Transaction208409092024-09-27 8:57:3561 days ago1727427455IN
0x38E03f32...1F307e2E2
0 ETH0.0012312612.74836749
Exec Transaction208405132024-09-27 7:37:4761 days ago1727422667IN
0x38E03f32...1F307e2E2
0 ETH0.000828913.35183108
Exec Transaction207834992024-09-19 8:39:1169 days ago1726735151IN
0x38E03f32...1F307e2E2
0 ETH0.0017028327.35214735
Exec Transaction207626282024-09-16 10:36:4772 days ago1726483007IN
0x38E03f32...1F307e2E2
0 ETH0.0010844513.61661149
Exec Transaction207411672024-09-13 10:42:1175 days ago1726224131IN
0x38E03f32...1F307e2E2
0 ETH0.00021972.27481672
Exec Transaction207407012024-09-13 9:08:2375 days ago1726218503IN
0x38E03f32...1F307e2E2
0 ETH0.000155852.50903618
Exec Transaction207361892024-09-12 18:01:4776 days ago1726164107IN
0x38E03f32...1F307e2E2
0 ETH0.0015192215.70390903
Exec Transaction207358692024-09-12 16:57:3576 days ago1726160255IN
0x38E03f32...1F307e2E2
0 ETH0.001046295.46192871
Exec Transaction207283302024-09-11 15:41:3577 days ago1726069295IN
0x38E03f32...1F307e2E2
0 ETH0.000481216.05526841
Exec Transaction207282322024-09-11 15:21:4777 days ago1726068107IN
0x38E03f32...1F307e2E2
0 ETH0.000487626.1227283
Exec Transaction207189352024-09-10 8:11:1178 days ago1725955871IN
0x38E03f32...1F307e2E2
0 ETH0.000450593.9440151
Exec Transaction206919952024-09-06 13:57:1182 days ago1725631031IN
0x38E03f32...1F307e2E2
0 ETH0.0031498632.55945208
Exec Transaction206918042024-09-06 13:18:5982 days ago1725628739IN
0x38E03f32...1F307e2E2
0 ETH0.0017687528.56973271
Exec Transaction206917192024-09-06 13:01:4782 days ago1725627707IN
0x38E03f32...1F307e2E2
0 ETH0.002948698.24642371
Exec Transaction206917072024-09-06 12:59:2382 days ago1725627563IN
0x38E03f32...1F307e2E2
0 ETH0.002579036.0090958
Exec Transaction206552552024-09-01 10:54:3587 days ago1725188075IN
0x38E03f32...1F307e2E2
0 ETH0.00010921.12871138
Exec Transaction206549242024-09-01 9:47:5987 days ago1725184079IN
0x38E03f32...1F307e2E2
0 ETH0.000103971.07460572
Exec Transaction206429022024-08-30 17:31:3589 days ago1725039095IN
0x38E03f32...1F307e2E2
0 ETH0.000191931.9837934
Exec Transaction206425662024-08-30 16:24:1189 days ago1725035051IN
0x38E03f32...1F307e2E2
0 ETH0.000347193.58888705
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208405132024-09-27 7:37:4761 days ago1727422667
0x38E03f32...1F307e2E2
32.02 ETH
207407012024-09-13 9:08:2375 days ago1726218503
0x38E03f32...1F307e2E2
20.46475892 ETH
207358692024-09-12 16:57:3576 days ago1726160255
0x38E03f32...1F307e2E2
13.69 ETH
207189352024-09-10 8:11:1178 days ago1725955871
0x38E03f32...1F307e2E2
6.67085487 ETH
206918042024-09-06 13:18:5982 days ago1725628739
0x38E03f32...1F307e2E2
4.5 ETH
206917192024-09-06 13:01:4782 days ago1725627707
0x38E03f32...1F307e2E2
3.32914512 ETH
206190012024-08-27 9:23:4792 days ago1724750627
0x38E03f32...1F307e2E2
10 ETH
206189922024-08-27 9:21:5992 days ago1724750519
0x38E03f32...1F307e2E2
10 ETH
205935532024-08-23 20:01:1196 days ago1724443271
0x38E03f32...1F307e2E2
50 ETH
205287872024-08-14 18:53:59105 days ago1723661639
0x38E03f32...1F307e2E2
75 ETH
205186932024-08-13 9:05:23106 days ago1723539923
0x38E03f32...1F307e2E2
65 ETH
205130672024-08-12 14:16:11107 days ago1723472171
0x38E03f32...1F307e2E2
70 ETH
205114352024-08-12 8:46:59107 days ago1723452419
0x38E03f32...1F307e2E2
65 ETH
205075532024-08-11 19:47:11108 days ago1723405631
0x38E03f32...1F307e2E2
20 ETH
205054432024-08-11 12:43:11108 days ago1723380191
0x38E03f32...1F307e2E2
51 ETH
204825902024-08-08 8:11:59111 days ago1723104719
0x38E03f32...1F307e2E2
12.5 ETH
204824212024-08-08 7:38:11111 days ago1723102691
0x38E03f32...1F307e2E2
11 ETH
204620082024-08-05 11:16:47114 days ago1722856607
0x38E03f32...1F307e2E2
85 ETH
204618682024-08-05 10:48:35114 days ago1722854915
0x38E03f32...1F307e2E2
85 ETH
204616952024-08-05 10:13:47114 days ago1722852827
0x38E03f32...1F307e2E2
65 ETH
204616132024-08-05 9:57:11114 days ago1722851831
0x38E03f32...1F307e2E2
20 ETH
204512072024-08-03 23:09:11116 days ago1722726551
0x38E03f32...1F307e2E2
70 ETH
204499782024-08-03 19:02:35116 days ago1722711755
0x38E03f32...1F307e2E2
70 ETH
204488082024-08-03 15:07:35116 days ago1722697655
0x38E03f32...1F307e2E2
70 ETH
204431742024-08-02 20:13:47117 days ago1722629627
0x38E03f32...1F307e2E2
70 ETH
View All Internal Transactions
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

Latest 10 from a total of 10 withdrawals (32.210901155 ETH withdrawn)

Validator Index Block Amount
1469184208307122024-09-25 22:50:1163 days ago172730461132.005657054 ETH
1469184207642382024-09-16 16:02:2372 days ago17265025430.01910285 ETH
1469184206980312024-09-07 10:09:4781 days ago17257037870.018945421 ETH
1469184206322212024-08-29 5:41:3590 days ago17249100950.01886172 ETH
1469184205665422024-08-20 1:26:11100 days ago17241171710.018870679 ETH
1469184205010822024-08-10 22:04:23109 days ago17233274630.018876829 ETH
1469184204358892024-08-01 19:48:59118 days ago17225417390.064210454 ETH
1469184203713872024-07-23 19:41:11127 days ago17217636710.018624411 ETH
1469184203074942024-07-14 21:41:23136 days ago17209932830.01872707 ETH
1469184202435092024-07-05 23:12:11145 days ago17202211310.009024667 ETH

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.