ETH Price: $3,299.43 (+1.52%)

Contract

0x43B5c5bF5d398Ed6A96812c5F9324a1cCC4d57e1
 
Transaction Hash
Method
Block
From
To
Exec Transaction216766332025-01-22 1:06:237 hrs ago1737507983IN
0x43B5c5bF...cCC4d57e1
0 ETH0.000906479.36999423
Exec Transaction216754522025-01-21 21:08:2311 hrs ago1737493703IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0012315512.60666731
Exec Transaction216754462025-01-21 21:07:1111 hrs ago1737493631IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0011675411.95142118
Exec Transaction216754372025-01-21 21:05:2311 hrs ago1737493523IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0013053213.49116485
Exec Transaction216754232025-01-21 21:02:3511 hrs ago1737493355IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0013089113.52831366
Exec Transaction216754002025-01-21 20:57:5912 hrs ago1737493079IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0012348812.64068401
Exec Transaction216751502025-01-21 20:07:5912 hrs ago1737490079IN
0x43B5c5bF...cCC4d57e1
0 ETH0.001318315.94529132
Exec Transaction215601222025-01-05 18:39:1116 days ago1736102351IN
0x43B5c5bF...cCC4d57e1
0 ETH0.00077417.92304949
Exec Transaction215215342024-12-31 9:22:3521 days ago1735636955IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0012818213.119651
Exec Transaction215212712024-12-31 8:29:4722 days ago1735633787IN
0x43B5c5bF...cCC4d57e1
0 ETH0.00162516.63820443
Exec Transaction214674812024-12-23 20:10:5929 days ago1734984659IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0010825111.18836202
Exec Transaction214674732024-12-23 20:09:2329 days ago1734984563IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0010654811.01234551
Exec Transaction214674532024-12-23 20:05:2329 days ago1734984323IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0010195910.43442534
Exec Transaction214674052024-12-23 19:55:3529 days ago1734983735IN
0x43B5c5bF...cCC4d57e1
0 ETH0.00096269.85238167
Exec Transaction214673942024-12-23 19:53:2329 days ago1734983603IN
0x43B5c5bF...cCC4d57e1
0 ETH0.000781219.69498167
Exec Transaction214673672024-12-23 19:47:4729 days ago1734983267IN
0x43B5c5bF...cCC4d57e1
0 ETH0.000965479.88168335
Exec Transaction214673602024-12-23 19:46:2329 days ago1734983183IN
0x43B5c5bF...cCC4d57e1
0 ETH0.001005510.29268584
Exec Transaction214672832024-12-23 19:30:5929 days ago1734982259IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0012509412.80355
Exec Transaction214672612024-12-23 19:26:3529 days ago1734981995IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0013162113.49871147
Exec Transaction214399412024-12-19 23:46:2333 days ago1734651983IN
0x43B5c5bF...cCC4d57e1
0 ETH0.001107812.59894832
Exec Transaction214341342024-12-19 4:18:4734 days ago1734581927IN
0x43B5c5bF...cCC4d57e1
0 ETH0.000518319.48621844
Exec Transaction213745562024-12-10 20:41:2342 days ago1733863283IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0022638223.16758379
Exec Transaction213163182024-12-02 17:29:1150 days ago1733160551IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0036320337.17884468
Exec Transaction212725752024-11-26 14:39:3556 days ago1732631975IN
0x43B5c5bF...cCC4d57e1
0 ETH0.0018809919.25221879
Exec Transaction212629302024-11-25 6:17:5958 days ago1732515479IN
0x43B5c5bF...cCC4d57e1
0 ETH0.000652456.67790113
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
212120702024-11-18 3:59:5965 days ago1731902399
0x43B5c5bF...cCC4d57e1
32.07951737 ETH
194236622024-03-13 4:07:11315 days ago1710302831
0x43B5c5bF...cCC4d57e1
127 ETH
188246002023-12-20 3:59:35399 days ago1703044775
0x43B5c5bF...cCC4d57e1
0.093 ETH
177064242023-07-16 14:24:59555 days ago1689517499
0x43B5c5bF...cCC4d57e1
0.5 ETH
169392822023-03-30 9:50:11663 days ago1680169811
0x43B5c5bF...cCC4d57e1
2 ETH
169392752023-03-30 9:48:47663 days ago1680169727
0x43B5c5bF...cCC4d57e1
40 ETH
169389832023-03-30 8:50:11664 days ago1680166211
0x43B5c5bF...cCC4d57e1
0.1 ETH
168411632023-03-16 15:01:23677 days ago1678978883
0x43B5c5bF...cCC4d57e1
0.5 ETH
168396432023-03-16 9:53:11677 days ago1678960391
0x43B5c5bF...cCC4d57e1
0.5 ETH
168330832023-03-15 11:45:11678 days ago1678880711
0x43B5c5bF...cCC4d57e1
23 ETH
168328012023-03-15 10:47:35678 days ago1678877255
0x43B5c5bF...cCC4d57e1
29 ETH
168326972023-03-15 10:26:23678 days ago1678875983
0x43B5c5bF...cCC4d57e1
0.1 ETH
168326792023-03-15 10:22:35678 days ago1678875755
0x43B5c5bF...cCC4d57e1
52 ETH
167815582023-03-08 5:47:47686 days ago1678254467
0x43B5c5bF...cCC4d57e1
2 ETH
167815522023-03-08 5:46:35686 days ago1678254395
0x43B5c5bF...cCC4d57e1
5 ETH
166278902023-02-14 15:29:47707 days ago1676388587  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.