ETH Price: $2,918.63 (-3.64%)
Gas: 1 Gwei

Contract

0x463091f2878063132EbeE6179B840111DAB492A3
 
Transaction Hash
Method
Block
From
To
Value
Exec Transaction201849282024-06-27 18:50:5910 days ago1719514259IN
0x463091f2...1DAB492A3
0 ETH0.000756029.8
Exec Transaction200351852024-06-06 20:31:1131 days ago1717705871IN
0x463091f2...1DAB492A3
0 ETH0.0022786723.55123631
Exec Transaction199848502024-05-30 19:51:1138 days ago1717098671IN
0x463091f2...1DAB492A3
0 ETH0.0015453116
Exec Transaction199848212024-05-30 19:44:5938 days ago1717098299IN
0x463091f2...1DAB492A3
0 ETH0.0010288112.94395555
Exec Transaction198908062024-05-17 16:12:5951 days ago1715962379IN
0x463091f2...1DAB492A3
0 ETH0.0014511315
Exec Transaction198422962024-05-10 21:22:4758 days ago1715376167IN
0x463091f2...1DAB492A3
0 ETH0.000698216.16396454
Exec Transaction197850032024-05-02 21:05:3566 days ago1714683935IN
0x463091f2...1DAB492A3
0 ETH0.000542026.88045813
Exec Transaction197401972024-04-26 14:43:4772 days ago1714142627IN
0x463091f2...1DAB492A3
0 ETH0.0015587413.75934582
Exec Transaction196907422024-04-19 16:42:4779 days ago1713544967IN
0x463091f2...1DAB492A3
0 ETH0.0012726115.97677769
Exec Transaction196411982024-04-12 18:06:2386 days ago1712945183IN
0x463091f2...1DAB492A3
0 ETH0.0040721851.12347465
Exec Transaction196338522024-04-11 17:25:3587 days ago1712856335IN
0x463091f2...1DAB492A3
0 ETH0.0018573523.57704791
Exec Transaction196259982024-04-10 15:03:3588 days ago1712761415IN
0x463091f2...1DAB492A3
0 ETH0.0040636642
Exec Transaction195267782024-03-27 16:19:35102 days ago1711556375IN
0x463091f2...1DAB492A3
0 ETH0.0064395780.85645786
Exec Transaction194913722024-03-22 16:31:47107 days ago1711125107IN
0x463091f2...1DAB492A3
0 ETH0.0020138625.28269479
Exec Transaction194913622024-03-22 16:29:47107 days ago1711124987IN
0x463091f2...1DAB492A3
0 ETH0.0024434625.25749977
Exec Transaction194130122024-03-11 16:21:59118 days ago1710174119IN
0x463091f2...1DAB492A3
0 ETH0.00982651101.57443328
Exec Transaction193896012024-03-08 9:38:11121 days ago1709890691IN
0x463091f2...1DAB492A3
0 ETH0.0046358658.84722704
Exec Transaction193633502024-03-04 17:40:11125 days ago1709574011IN
0x463091f2...1DAB492A3
0 ETH0.01373736142
Exec Transaction193414142024-03-01 16:07:23128 days ago1709309243IN
0x463091f2...1DAB492A3
0 ETH0.0075355878.3439331
Exec Transaction192916092024-02-23 16:54:11135 days ago1708707251IN
0x463091f2...1DAB492A3
0 ETH0.0051038240.74228707
Exec Transaction191847762024-02-08 16:57:11150 days ago1707411431IN
0x463091f2...1DAB492A3
0 ETH0.0085868109
Exec Transaction190355332024-01-18 18:28:11171 days ago1705602491IN
0x463091f2...1DAB492A3
0 ETH0.0057516773
Exec Transaction189633612024-01-08 16:04:59181 days ago1704729899IN
0x463091f2...1DAB492A3
0 ETH0.0029107436
Exec Transaction189627092024-01-08 13:52:59181 days ago1704721979IN
0x463091f2...1DAB492A3
0 ETH0.0015740919
Exec Transaction188356112023-12-21 17:04:11199 days ago1703178251IN
0x463091f2...1DAB492A3
0 ETH0.0218704100
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
201849282024-06-27 18:50:5910 days ago1719514259
0x463091f2...1DAB492A3
0.8378 ETH
201849282024-06-27 18:50:5910 days ago1719514259
0x463091f2...1DAB492A3
1.2062 ETH
201841852024-06-27 16:21:4710 days ago1719505307
0x463091f2...1DAB492A3
0.8378 ETH
188355972023-12-21 17:01:23199 days ago1703178083
0x463091f2...1DAB492A3
2.94 ETH
188355972023-12-21 17:01:23199 days ago1703178083
0x463091f2...1DAB492A3
1.73 ETH
188308202023-12-21 0:57:47200 days ago1703120267
0x463091f2...1DAB492A3
4.67 ETH
188308152023-12-21 0:56:47200 days ago1703120207
0x463091f2...1DAB492A3
1.73 ETH
181734282023-09-20 0:07:23292 days ago1695168443
0x463091f2...1DAB492A3
2.7 ETH
181721812023-09-19 19:56:23292 days ago1695153383
0x463091f2...1DAB492A3
2.7 ETH
172732862023-05-16 15:56:23418 days ago1684252583
0x463091f2...1DAB492A3
1 ETH
172729012023-05-16 14:38:23418 days ago1684247903
0x463091f2...1DAB492A3
1 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
1.5 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
1.5 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
1 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
0.5 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
0.75 ETH
144736832022-03-28 8:40:56832 days ago1648456856
0x463091f2...1DAB492A3
2 ETH
144578842022-03-25 21:40:20835 days ago1648244420
0x463091f2...1DAB492A3
1 ETH
141665392022-02-08 16:37:11880 days ago1644338231  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.