Contract 0xAefB75FcA15BDF0292C34ef42a4378fbb226f0ee

 
Txn Hash
Method
Block
From
To
Value
0x42190463e448ebcfc8e949f31d4ce90d7e03b90f0c2f09d02c30b1e772e0abadExec Transaction152951472022-08-07 12:24:5752 days 19 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00048201 5
0x9fbb3b759d97591045d705281a41fee2fc11990553edae5ba92d448bc2c03bd6Exec Transaction152951382022-08-07 12:22:5652 days 19 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00049795 5
0x04c3311c4f92bd4aca0e4ece6609e363fef8d288591de9dc83aa1e464dd3aa4bExec Transaction152786242022-08-04 22:54:0055 days 8 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00170638 18
0x61d1bdec1b28a124be65fbeab96d207293502161c82702bff6df188bc0e0ea49Exec Transaction152786162022-08-04 22:51:1955 days 8 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00160718 13.29716744
0x697961febe8ed3b78941642008fee130704930e7f4745b2be853613f8829ae06Exec Transaction152785062022-08-04 22:24:4755 days 9 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00064484 7.8734151
0x90c4b5f24fb581dd8f59b4cdde52771287fbf7b18ca4dc1ca6dab0d007b7e7f9Exec Transaction152784922022-08-04 22:22:2855 days 9 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.000599 11
0x544d64c7ff0bb4fa78b098b97c0297128f777440f7a1007da68b6d357e744da6Exec Transaction152784722022-08-04 22:18:2855 days 9 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00122833 15
0xc59d2c526d99e49315604d4002839d5970eef794f8f9564ec7116c0ee3e83d82Exec Transaction148537272022-05-27 10:47:54124 days 20 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00133284 15.33506769
0xe22f80e7935337d9a8eb185ff94209fe1a3f04628b6dd5161ddf1ed842f48d6aExec Transaction148379252022-05-24 20:59:50127 days 10 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00170058 17.93885799
0xc999b6c3e8ecbf8402006435ecd1493ea493f0095d5510874c4d48f4584b3071Exec Transaction148378042022-05-24 20:31:55127 days 11 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00187334 19
0xd15efce213a6da74743e4ece39d74f69388b6247cda6a69f0f1127457196ea85Exec Transaction148318622022-05-23 21:17:42128 days 10 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00130301 17.38275245
0x631b148bf7faf73dee577dc2146491a3b428286ffff074c0ab55a3c54710be11Exec Transaction148309332022-05-23 17:42:36128 days 13 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00161158 17
0xcc857bea8e6058a65c4c00a5dddec6420fb766c0855f3a0b123b09baaab71cb2Exec Transaction148308802022-05-23 17:29:35128 days 14 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00164912 22
0x6f97f2e40ac3ed3ea22cbdb53b52a987bee7b1b8a45ec9f708401ac876584f28Exec Transaction148308742022-05-23 17:27:38128 days 14 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00177355 18
0x54217bef81bac175db656f6271ef757ad661f8dfb7a1034a9f8e769e44809ad4Exec Transaction148303842022-05-23 15:33:25128 days 16 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00160389 16.96008981
0x7ccbed4aacc5f845ccd13acdecd8f67edfcb39a2d28687df24c293c68b52b990Exec Transaction144069542022-03-17 23:29:44195 days 8 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00291016 34
0xfdd02b59b3bac1b02fde51172a25a79832e172cbe1736d879c7cdb3aeb655639Exec Transaction144069382022-03-17 23:26:19195 days 8 hrs agoENS Name imp0ster.eth IN  0xaefb75fca15bdf0292c34ef42a4378fbb226f0ee0 Ether0.00303066 30.80568415
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xdabdc180675a1ea7539a7b2432ffab7996b4014e363e6b06f3c8c0feca92dc2c144069142022-03-17 23:21:55195 days 8 hrs ago 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.