Contract 0xAd41BD1cf3Fd753017Ef5c0da8dF31A3074EA1Ea 1

 
 
Txn Hash
Method
Block
From
To
Value
0x535d4d0e8d7e30d266ea017c7979c5aadd68cc5a688368651e95aa601257d7700x416c6c6f148153252022-05-21 4:52:3082 days 13 hrs agoENS Name herddao.eth IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00050905 13.‍95774235
0x7414cfc5af5b840f84e8b1539c59674e0fc620c6a46c0cd5bd3a2f87f3f6626f0x74686973148137602022-05-20 22:48:0382 days 19 hrs agoENS Name herddao.eth IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00079218 24.‍8459579
0x9785a42f733e976e2f29e9ebd9e4d1ec7374e1ffb3587cdc2deda94005210aa4Exec Transaction147334422022-05-08 2:19:1995 days 16 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00103015 22.‍33164009
0x5e8b3aa797a115f0c14b81d7f24e0f75ed74f50c6fb6c7fc7b7234c36e149a73Exec Transaction147334422022-05-08 2:19:1995 days 16 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00199859 21
0x041fdf35f05cab4dabb4309dfc53e0a92359919d2057215470a3901d197263f6Exec Transaction147334012022-05-08 2:12:2395 days 16 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00162998 21.‍54491828
0x36929791a8d0cd2d509f62380a77e4a5c9be6fb5e599b7a1ea7b6cedbf762cf7Exec Transaction147114552022-05-04 14:20:0499 days 4 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00199006 43.‍16273308
0x63ec92b09644d407c3d3e746ce7f202fcdccb1418412d614bc21113d85a95217Exec Transaction147114502022-05-04 14:19:1599 days 4 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00396349 47.‍84117257
0x4e1aed3843c4a75cbd4fcc97ffe78f5fd67c60c8cc418255bece9e0f1c1fbe86Exec Transaction147050882022-05-03 14:12:36100 days 4 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00808361 80.‍88868833
0x752147f38ce98ca39dd1d40f4033805dc2bef24f5112222ae2f0a9a2d99ddc4cExec Transaction146978542022-05-02 10:44:23101 days 7 hrs ago0x316aa9eaea0a074b86a0c7d2f5c831e216095536 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00288366 34.‍80206721
0xcbeb7336c7b44e8e00bb0ad311e3d9fb249ec3d57ba15039f074888fc0f3e718Exec Transaction146719552022-04-28 8:58:49105 days 9 hrs ago0xb20f4638249fd1e6cc27e3c3854935daed522714 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00301497 36.‍38683745
0x13e705787b82f45b57ad40fecfeff38988e4e6ef5b0b5e94aeca5791c344d0acExec Transaction146718172022-04-28 8:30:20105 days 10 hrs ago0xb20f4638249fd1e6cc27e3c3854935daed522714 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍0026379 31.‍84523782
0x998a504f282d653fafc53644614b69d89317a4765f49a475401818d562dc504eExec Transaction146566822022-04-25 23:23:09107 days 19 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00330634 41.‍10172221
0xaa9409fed7d632f6e12f51f8a765e3802ef74eda0f53a732231d74e78509bed5Exec Transaction146525452022-04-25 7:47:59108 days 10 hrs ago0xb20f4638249fd1e6cc27e3c3854935daed522714 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00119221 25.‍86482407
0x8979addee4331d2747d1af5b218039373d66cb07eb19915a356827857d9683ffExec Transaction146525452022-04-25 7:47:59108 days 10 hrs ago0xb20f4638249fd1e6cc27e3c3854935daed522714 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00251209 25.‍76010166
0x03a50d74c65d63075f97553a7ae508178d4500c69fa99305c2efe0003349c1b5Exec Transaction145648202022-04-11 14:03:44122 days 4 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00407408 50.‍64560824
0xfb11d71c442df1190e47526184a29094d66b4e32ea6c128db689e43e8ba44adbExec Transaction145639432022-04-11 10:42:14122 days 8 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00201047 25
0xe38a1c1e333ac4ba5803fd7aaba90f32fc0d8892378eb982c1d81248565cfc05Transfer145600762022-04-10 20:25:11122 days 22 hrs agoENS Name fourpool.eth IN  Luna Foundation Guard Reserve Wallet0.‍0005 Ether0.‍0016397460
0x82873b0adf64b3ebca2e038b54b9ee7dd5d3fc7a8c42367ef618ae4bced503f0Transfer145600762022-04-10 20:25:11122 days 22 hrs agoENS Name fourpool.eth IN  Luna Foundation Guard Reserve Wallet0.‍0004444 Ether0.‍0016397460
0xd8c94e2dece1c8c344c8dc20b508843f3808f311c37193ba2005953fb60b6a0bTransfer145600722022-04-10 20:24:39122 days 22 hrs ago0x22b3a66847f6d2b7d6e74324f831f10b3895e1d1 IN  Luna Foundation Guard Reserve Wallet0.‍0005 Ether0.‍0015030955
0x7a2ccae2a32e2faf198541bf62333d2eb602bd6ffe4061a150eb695f3974b7f9Transfer145600402022-04-10 20:16:55122 days 22 hrs agoENS Name fourpool.eth IN  Luna Foundation Guard Reserve Wallet0.‍01 Ether0.‍0017486363.‍98467428
0xbf56165e0b4a6f2ab459ebf9e7864d805c8c01c1be945ab0930280c0dc73bd45Exec Transaction145567862022-04-10 8:07:38123 days 10 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00228777 23.‍45691811
0xa87124795af13af88bb26a7cd4533dfea9873405c480b13c88c66766e2b7f37bExec Transaction145551732022-04-10 1:59:35123 days 16 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00280317 28.‍74840692
0x3f6d4a6a689ed179af862da10241e801717b73f8fae9d1f9c5258ba43ce80909Exec Transaction145550102022-04-10 1:27:28123 days 17 hrs ago0x803c172c3202ab7d32159839306e335db745b025 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00238343 24.‍44975554
0x11097ba038d3c920af6a7d4cf6364fbbd3423540f9e981080a4895d2f1f7e08cTransfer145508192022-04-09 9:52:34124 days 8 hrs agoCoinbase 5 IN  Luna Foundation Guard Reserve Wallet0.‍00623555 Ether0.‍00079889 29.‍23249669
0x8b561990e0356bd6641a1574811bf540037287bf91c63db7f61b18e68aba4ac0Exec Transaction145307332022-04-06 6:23:18127 days 12 hrs ago0xb20f4638249fd1e6cc27e3c3854935daed522714 IN  Luna Foundation Guard Reserve Wallet0 Ether0.‍00177092 38.‍40992631
[ Download CSV Export 
Latest 2 internal transactions
Parent Txn Hash Block From To Value
0x7a9a5867cac4629fa1419726f7951aafaf6529214876d6265d167a7420290c2a139899732022-01-12 9:40:42211 days 9 hrs ago Luna Foundation Guard Reserve Wallet0x803c172c3202ab7d32159839306e335db745b0250.‍5 Ether
0xe65a57928d9514c68fcaa875947000c0bb540346ebd8b536dd1cef4cb796099b139898372022-01-12 9:13:06211 days 9 hrs ago Gnosis Safe: Proxy Factory 1.3.0  Contract Creation0 Ether
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0xdab5dc22350f9a6aff03cf3d9341aad0ba42d2a6

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"}]

608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552

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
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.