Contract 0x60de9e4e08fc8e8b4baad354da73c53cce897b02

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc2c3c7cfa2b03c2d4b2052b165bd49fe1fb08235e56aa7ca509ca71ef8ffc3eaExec Transaction284650382022-05-18 10:27:341 day 21 hrs ago0xb9dba9c033839da698df2681df71e561e8bcd416 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b020 MATIC0.0022492048 30.4
0xd4733bf92c0c100dae4fceb455c12bdb20f24f11929ec6a1b1059f31ca0f9a7bExec Transaction284646282022-05-18 10:13:261 day 21 hrs ago0xb9dba9c033839da698df2681df71e561e8bcd416 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b020 MATIC0.004551746 46
0x266bd3680649c39279bcb6e0bf591731a882c30277029d77e634a325e552c803Exec Transaction284643232022-05-18 10:03:001 day 21 hrs ago0xb9dba9c033839da698df2681df71e561e8bcd416 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b020 MATIC0.005444624 54.1
0x455d805d60a45f964e087734a9e80e75a370c351e649006a874cd5d05f0e298cExec Transaction284362132022-05-17 16:53:502 days 14 hrs ago0xb9dba9c033839da698df2681df71e561e8bcd416 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b020 MATIC0.0040772756 41.2
0xc915786edc8ddd3bd4c7a9074522c2ff268a5d108eb07bef232ccd9244922a13Transfer284022172022-05-16 20:32:433 days 11 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b02549,673 MATIC0.000906359752 33.164760961
0xd30198d2194cdcb461a93ac92c748a9174e9b5f84dcc262e1f9477415cd4d63cTransfer284021482022-05-16 20:30:213 days 11 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b021 MATIC0.000897060059 32.824474343
0x994a6e87920650be9e9db3282839f1b8bce6934b20e6c1d0b7a334d83272cebaTransfer281785912022-05-11 5:01:539 days 2 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b02726,372 MATIC0.008868808636 324.520056968
0x85f9d320619528a6613d5f5425cd0576f855a8852d4dd12ee3878e9fc6c4f8d0Transfer279270002022-05-04 20:41:5615 days 11 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b02439,388 MATIC0.001075424764 39.351047038
0x3d8a54e04626733ed59f398cf158554bb9cb85f990310c81b01d27941e8f4e74Transfer275733582022-04-25 21:59:5224 days 9 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b02589,465 MATIC0.0009373847 34.3
0x8a20331c58df7bab6409e38dfdde3070a30f22534043c29e53a86ccb1aa311a1Transfer275638162022-04-25 15:58:5924 days 15 hrs ago0x0000d81bce118fe274062e52c6c7101b04d6f12e IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b02157,675 MATIC0.000965933094 35.344619081
0xa9d5dd105a9060ce718f0c79548a9861d1eb52a24b2e501074ba50e1a799c2c9Exec Transaction274004892022-04-21 11:55:2428 days 19 hrs ago0xb9dba9c033839da698df2681df71e561e8bcd416 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b020 MATIC0.018303663 201
0x996f7edacb53b84edd31f36c4472518c4c4bfd9c723ea59ede67ab7725a27260Transfer274002102022-04-21 11:45:4728 days 20 hrs ago0x10080bb62dafe52753af9d6bdd0bd14ac313bf43 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b021 MATIC0.001729808802 63.29572258
0xaf651339dbd2633e7448a756d8693f14c39c1e6eec58d05a291dbaae21622caaTransfer274001912022-04-21 11:45:0528 days 20 hrs ago0x10080bb62dafe52753af9d6bdd0bd14ac313bf43 IN  0x60de9e4e08fc8e8b4baad354da73c53cce897b021 MATIC0.001649269462 60.348694144
[ Download CSV Export 
Latest 5 internal transactions
Parent Txn Hash Block From To Value
0xc2c3c7cfa2b03c2d4b2052b165bd49fe1fb08235e56aa7ca509ca71ef8ffc3ea284650382022-05-18 10:27:341 day 21 hrs ago 0x60de9e4e08fc8e8b4baad354da73c53cce897b020xa7cc2108e74e59aa948c84293c5055a3c3b0c6d42,462,555 MATIC
0xd4733bf92c0c100dae4fceb455c12bdb20f24f11929ec6a1b1059f31ca0f9a7b284646282022-05-18 10:13:261 day 21 hrs ago 0x60de9e4e08fc8e8b4baad354da73c53cce897b020xa7cc2108e74e59aa948c84293c5055a3c3b0c6d410 MATIC
0x455d805d60a45f964e087734a9e80e75a370c351e649006a874cd5d05f0e298c284362132022-05-17 16:53:502 days 14 hrs ago 0x60de9e4e08fc8e8b4baad354da73c53cce897b020x3e29ad72194d4f184eb9246e8b48f278deb626c810 MATIC
0xa9d5dd105a9060ce718f0c79548a9861d1eb52a24b2e501074ba50e1a799c2c9274004892022-04-21 11:55:2428 days 19 hrs ago 0x60de9e4e08fc8e8b4baad354da73c53cce897b020xe3997809cb54767e423faadd478a69e1b0c04b3f1 MATIC
0x4321ceb23e68ab932244d4c3329743ec8a59234e27e83b64c1e57e194fbdd080274000662022-04-21 11:40:5128 days 20 hrs ago Gnosis Safe: Proxy Factory 1.3.0  Contract Creation0 MATIC
[ Download CSV Export 
Loading

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

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 polygonscan.com on 2021-07-05
*/

/**
 *Submitted for verification at polygonscan.com on 2021-06-16
*/

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

608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f76696465640000000000000000000000003e5c63644e683549055b9be8653de26e0b4cd36e

Deployed ByteCode Sourcemap

598:1528:0:-:0;;;1450:42;1446:1;1440:8;1436:57;1630:66;1626:1;1613:15;1610:87;1607:2;;;1727:10;1724:1;1717:21;1766:4;1763:1;1756:15;1607:2;1819:14;1816:1;1813;1800:34;1917:1;1914;1898:14;1895:1;1883:10;1876:5;1863:56;1954:16;1951:1;1948;1933:38;2000:1;1991:7;1988:14;1985:2;;;2032:16;2029:1;2022:27;1985:2;2088:16;2085:1;2078:27

Swarm Source

ipfs://d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.