ETH Price: $2,436.89 (+1.45%)

Contract

0x12382144173AC9Bd823201C7a61127bFeDda3040
 
Transaction Hash
Method
Block
From
To
Exec Transaction208741982024-10-02 0:22:359 days ago1727828555IN
0x12382144...FeDda3040
0 ETH0.000631846.66496736
Exec Transaction207931292024-09-20 16:55:1120 days ago1726851311IN
0x12382144...FeDda3040
0 ETH0.003028917.2
Exec Transaction207872442024-09-19 21:11:2321 days ago1726780283IN
0x12382144...FeDda3040
0 ETH0.004896399.3
Exec Transaction207872372024-09-19 21:09:5921 days ago1726780199IN
0x12382144...FeDda3040
0 ETH0.000724769.01472752
Exec Transaction207872182024-09-19 21:06:1121 days ago1726779971IN
0x12382144...FeDda3040
0 ETH0.00076549.27979915
Exec Transaction207872082024-09-19 21:04:1121 days ago1726779851IN
0x12382144...FeDda3040
0 ETH0.000856289.71230436
Exec Transaction206924682024-09-06 15:32:3535 days ago1725636755IN
0x12382144...FeDda3040
0 ETH0.0032624220.2119377
Exec Transaction206924582024-09-06 15:30:3535 days ago1725636635IN
0x12382144...FeDda3040
0 ETH0.0018575321.76246731
Exec Transaction205863672024-08-22 19:54:4749 days ago1724356487IN
0x12382144...FeDda3040
0 ETH0.000550431.0182288
Transfer205860362024-08-22 18:48:2349 days ago1724352503IN
0x12382144...FeDda3040
303 ETH0.000046051.68516416
Transfer205852182024-08-22 16:03:4749 days ago1724342627IN
0x12382144...FeDda3040
303.25 ETH0.000100454.78371398
Exec Transaction205795672024-08-21 21:06:2350 days ago1724274383IN
0x12382144...FeDda3040
0 ETH0.001323843.76186182
Transfer205795312024-08-21 20:59:1150 days ago1724273951IN
0x12382144...FeDda3040
3 ETH0.000090093.29669779
Exec Transaction204358872024-08-01 19:48:3570 days ago1722541715IN
0x12382144...FeDda3040
0 ETH0.000966210.38496444
Exec Transaction204232592024-07-31 1:30:1172 days ago1722389411IN
0x12382144...FeDda3040
0 ETH0.000375116.0567485
Exec Transaction201279902024-06-19 19:51:35113 days ago1718826695IN
0x12382144...FeDda3040
0 ETH0.0013022114
Exec Transaction200904982024-06-14 13:59:11119 days ago1718373551IN
0x12382144...FeDda3040
0 ETH0.0008456210.24933418
Exec Transaction200904872024-06-14 13:56:59119 days ago1718373419IN
0x12382144...FeDda3040
0 ETH0.001279714.86263058
Exec Transaction200904682024-06-14 13:53:11119 days ago1718373191IN
0x12382144...FeDda3040
0 ETH0.0011550714
Exec Transaction200904552024-06-14 13:50:35119 days ago1718373035IN
0x12382144...FeDda3040
0 ETH0.0011828814
Exec Transaction200904312024-06-14 13:45:47119 days ago1718372747IN
0x12382144...FeDda3040
0 ETH0.0011191713
Exec Transaction200690362024-06-11 13:58:59122 days ago1718114339IN
0x12382144...FeDda3040
0 ETH0.0246567733.42127422
Exec Transaction200690172024-06-11 13:55:11122 days ago1718114111IN
0x12382144...FeDda3040
0 ETH0.0417224542.43592653
Exec Transaction200690022024-06-11 13:52:11122 days ago1718113931IN
0x12382144...FeDda3040
0 ETH0.0030552930.67319351
Exec Transaction200689932024-06-11 13:50:23122 days ago1718113823IN
0x12382144...FeDda3040
0 ETH0.0264819332.3594474
View all transactions

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
205863672024-08-22 19:54:4749 days ago1724356487
0x12382144...FeDda3040
305 ETH
205795672024-08-21 21:06:2350 days ago1724274383
0x12382144...FeDda3040
1 ETH
204232592024-07-31 1:30:1172 days ago1722389411
0x12382144...FeDda3040
0.41772199 ETH
200904872024-06-14 13:56:59119 days ago1718373419
0x12382144...FeDda3040
300 ETH
200904312024-06-14 13:45:47119 days ago1718372747
0x12382144...FeDda3040
159 ETH
200690362024-06-11 13:58:59122 days ago1718114339
0x12382144...FeDda3040
32 ETH
200635002024-06-10 19:24:47122 days ago1718047487
0x12382144...FeDda3040
0.00375929 ETH
200635002024-06-10 19:24:47122 days ago1718047487
0x12382144...FeDda3040
33.46675729 ETH
200633902024-06-10 19:02:47122 days ago1718046167
0x12382144...FeDda3040
31.99125312 ETH
200334632024-06-06 14:44:35127 days ago1717685075
0x12382144...FeDda3040
556.87197312 ETH
199899382024-05-31 12:53:35133 days ago1717160015
0x12382144...FeDda3040
0.001 ETH
199868032024-05-31 2:22:35133 days ago1717122155  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.