ETH Price: $3,116.45 (+0.59%)
Gas: 4 Gwei

Contract

0x46886C7212F9f3F90a2345ca7Fca10D4F72cC448
 
Transaction Hash
Method
Block
From
To
Value
Exec Transaction194837712024-03-21 14:56:35111 days ago1711032995IN
0x46886C72...4F72cC448
0 ETH0.0026148236
Exec Transaction192147922024-02-12 22:01:47149 days ago1707775307IN
0x46886C72...4F72cC448
0 ETH0.0057973993.6060837
Exec Transaction190354192024-01-18 18:05:11174 days ago1705601111IN
0x46886C72...4F72cC448
0 ETH0.0033892954.74550238
Exec Transaction190354072024-01-18 18:02:47174 days ago1705600967IN
0x46886C72...4F72cC448
0 ETH0.003210151.86121498
Exec Transaction187123632023-12-04 10:19:59219 days ago1701685199IN
0x46886C72...4F72cC448
0 ETH0.0021834235.26769081
Exec Transaction185803802023-11-15 22:50:47238 days ago1700088647IN
0x46886C72...4F72cC448
0 ETH0.002124534.32930383
Exec Transaction184362402023-10-26 18:40:59258 days ago1698345659IN
0x46886C72...4F72cC448
0 ETH0.0014162222.88003635
Exec Transaction184362372023-10-26 18:40:23258 days ago1698345623IN
0x46886C72...4F72cC448
0 ETH0.0014858424
Exec Transaction181790852023-09-20 19:06:47294 days ago1695236807IN
0x46886C72...4F72cC448
0 ETH0.0033795735.51955153
Exec Transaction179152592023-08-14 19:44:59331 days ago1692042299IN
0x46886C72...4F72cC448
0 ETH0.0039942139.96334735
Exec Transaction178902662023-08-11 7:50:59334 days ago1691740259IN
0x46886C72...4F72cC448
0 ETH0.0017893217.90277203
Exec Transaction177370082023-07-20 21:18:23356 days ago1689887903IN
0x46886C72...4F72cC448
0 ETH0.0017062427.56014102
Exec Transaction175805702023-06-28 21:43:11378 days ago1687988591IN
0x46886C72...4F72cC448
0 ETH0.0015416215.42445156
Exec Transaction175399732023-06-23 4:42:11384 days ago1687495331IN
0x46886C72...4F72cC448
0 ETH0.0014708114.71595831
Exec Transaction174183372023-06-06 2:05:35401 days ago1686017135IN
0x46886C72...4F72cC448
0 ETH0.0026047626.0614659
Exec Transaction173761012023-05-31 3:10:47407 days ago1685502647IN
0x46886C72...4F72cC448
0 ETH0.0017953929
Exec Transaction172961172023-05-19 21:12:59418 days ago1684530779IN
0x46886C72...4F72cC448
0 ETH0.003798538.00976722
Exec Transaction172326312023-05-10 21:21:59427 days ago1683753719IN
0x46886C72...4F72cC448
0 ETH0.01229348123
Exec Transaction172257362023-05-09 22:05:11428 days ago1683669911IN
0x46886C72...4F72cC448
0 ETH0.0095735695.78643556
Exec Transaction170916292023-04-21 1:52:11447 days ago1682041931IN
0x46886C72...4F72cC448
0 ETH0.0041190141.21698034
Exec Transaction170477222023-04-14 20:23:59453 days ago1681503839IN
0x46886C72...4F72cC448
0 ETH0.0024986725
Exec Transaction169935752023-04-07 2:08:23461 days ago1680833303IN
0x46886C72...4F72cC448
0 ETH0.0017584921.2258208
Transfer169935372023-04-07 2:00:35461 days ago1680832835IN
0x46886C72...4F72cC448
13.66 ETH0.0005859121.43939777
Transfer169935222023-04-07 1:57:35461 days ago1680832655IN
0x46886C72...4F72cC448
0.5 ETH0.0006374423.32468458
Transfer169934462023-04-07 1:41:47461 days ago1680831707IN
0x46886C72...4F72cC448
0.01 ETH0.0006108222.35075217
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
202766142024-07-10 14:11:2317 hrs ago1720620683
0x46886C72...4F72cC448
0.00171 ETH
202489852024-07-06 17:32:474 days ago1720287167
0x46886C72...4F72cC448
0.00045 ETH
201862712024-06-27 23:20:5913 days ago1719530459
0x46886C72...4F72cC448
0.00045 ETH
201629702024-06-24 17:15:1116 days ago1719249311
0x46886C72...4F72cC448
0.00155 ETH
201629272024-06-24 17:06:3516 days ago1719248795
0x46886C72...4F72cC448
0.000545 ETH
201629032024-06-24 17:01:3516 days ago1719248495
0x46886C72...4F72cC448
0.00162 ETH
201498012024-06-22 21:03:2318 days ago1719090203
0x46886C72...4F72cC448
0.0014 ETH
199613762024-05-27 13:02:1144 days ago1716814931
0x46886C72...4F72cC448
0.00010473 ETH
199613762024-05-27 13:02:1144 days ago1716814931
0x46886C72...4F72cC448
0.00002499 ETH
199242612024-05-22 8:34:1149 days ago1716366851
0x46886C72...4F72cC448
0.0000195 ETH
198522752024-05-12 6:52:1160 days ago1715496731
0x46886C72...4F72cC448
0.00004949 ETH
198522392024-05-12 6:44:5960 days ago1715496299
0x46886C72...4F72cC448
0.00005449 ETH
198522392024-05-12 6:44:5960 days ago1715496299
0x46886C72...4F72cC448
0.00005474 ETH
198255482024-05-08 13:09:3563 days ago1715173775
0x46886C72...4F72cC448
0.0006 ETH
197446002024-04-27 5:30:2375 days ago1714195823
0x46886C72...4F72cC448
0.0006 ETH
197351992024-04-25 21:54:4776 days ago1714082087
0x46886C72...4F72cC448
0.0006 ETH
197351992024-04-25 21:54:4776 days ago1714082087
0x46886C72...4F72cC448
0.0006 ETH
196251282024-04-10 12:08:1191 days ago1712750891
0x46886C72...4F72cC448
0.0000013 ETH
195881682024-04-05 7:51:2396 days ago1712303483
0x46886C72...4F72cC448
0.00006499 ETH
195881652024-04-05 7:50:4796 days ago1712303447
0x46886C72...4F72cC448
0.00005 ETH
195616862024-04-01 14:50:59100 days ago1711983059
0x46886C72...4F72cC448
0.00006499 ETH
193853232024-03-07 19:16:35125 days ago1709838995
0x46886C72...4F72cC448
0.00037594 ETH
192543992024-02-18 11:29:11143 days ago1708255751
0x46886C72...4F72cC448
0.00335 ETH
192540872024-02-18 10:26:23143 days ago1708251983
0x46886C72...4F72cC448
0.00025363 ETH
192147922024-02-12 22:01:47149 days ago1707775307
0x46886C72...4F72cC448
0.40696872 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

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.