Contract 0x0dD333859cF16942dd333D7570D839b8946Ac221

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5810d941b0db010937731733b557949d7292e65b5834ebd082784b8e1ed3351cExec Transaction218743402021-11-27 21:00:543 hrs 14 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0164353154
0x3ef1aa06a9d7bb0aedd1a29ded589aa506284614d4f6582de5859f2943943981Exec Transaction218742292021-11-27 20:57:043 hrs 18 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.009995216
0xd050b249f6f0245d61d0f0e57ecf160d35d6db1ddfb5ac524009d51436eab3f6Exec Transaction218742142021-11-27 20:56:343 hrs 19 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0044978472
0x088eee4206789d9ca41cc791750bd4ce53a0695e9c7aa5d137ec40af35e91af4Exec Transaction218741902021-11-27 20:55:463 hrs 19 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00681492
0xb715efdec4cc3e006236fc3488cfa8ec21a1bce5753a12ea791246d211ea47dcExec Transaction218741732021-11-27 20:55:083 hrs 20 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.012607602
0x512682ec53ce1d0deace9bf929c64ec111b889474236b4bfcc31542bb59ef744Exec Transaction218741602021-11-27 20:54:423 hrs 20 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.01022238
0x944b68c61fe954110809ec35ba0690e58c1bb75f7dd81bddfdee1f8ed7aa8c84Exec Transaction218741472021-11-27 20:54:163 hrs 21 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.023625056
0x1a5862d20ef45f7514e312a91160242751dc090154b5562756a6127649f461ccExec Transaction218741302021-11-27 20:53:423 hrs 21 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00624701
0x6ee1e367e2fe35fe14db07a7c075a54ca919d604dc6ef0eaaa61a58297d71141Exec Transaction218741092021-11-27 20:52:563 hrs 22 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.014311332
0xce9e75bfe1ccb59f8f141980a0c6ae45bbf822bbe7bda6fe3ff020c364e4cb83Exec Transaction218740902021-11-27 20:52:183 hrs 23 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.092342166
0xa8e6875b51ea2b08f7f4c55c2c01ece0fb87a1dab6f28c77ccf7517dae238cacExec Transaction218740432021-11-27 20:50:393 hrs 24 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0124927
0x6c0af22284f8a2f8ae03f2d5307f4443e86df8907f1ef6087922fb56a9dc71fbExec Transaction218740292021-11-27 20:50:113 hrs 25 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0170373
0xf81f9ec64e2824b922207e1c6401a2c3e7cda0867855aadb4b3f36bef176533cExec Transaction218740122021-11-27 20:49:353 hrs 26 mins ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.015447152
0x0e6f0a22e01cc117de61909bdba34b3d1fff7899618bb489b64766f3823bdac8Exec Transaction218270862021-11-26 15:57:031 day 8 hrs ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00681492
0xb9f4226028bf40770e1e43f4a3402a87455170f1a7fd76fd2ede9438eb04a5d2Exec Transaction218270702021-11-26 15:56:271 day 8 hrs ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00851865
0xb300a440d842f73065172fca4c1bad9b12a8dc686b906c9242efba5b0f1be2f1Exec Transaction218270532021-11-26 15:55:531 day 8 hrs ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00454328
0x8b767460ee8c7b3d9f4284324542b5a1885998e1489edf4d5e4e6e4c39c30bc8Exec Transaction218269822021-11-26 15:53:271 day 8 hrs ago0x47eb9cd755f0bf775544fce93bdb03141421f4ad IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0075645612
0x3e8736e2f9023fe6527ecd3d0936d889c809fa5d8795d2619450b86757c3fd5cExec Transaction217975402021-11-25 20:54:142 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00624701
0xf6d69e8d4a7e7235fe2ae35ac687e9d4eff4c0b219e89f1960569f64380a6540Exec Transaction217975312021-11-25 20:53:562 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.005792682
0xfbfb2d4064ec7166f1d2e89c40307cb19b41b06177677ede5250c7745998dc5bExec Transaction217975012021-11-25 20:52:522 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00624635
0xbf56dfa0f852ea143bada08b35a8faae0735be3b7919c75715ec7413aee7e3ecExec Transaction217974852021-11-25 20:52:202 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00624701
0x55c57ccf3aca7bc24a3c7a1308d0791d0cb9e83e1a50d1f474b125c9c869dac0Exec Transaction217974652021-11-25 20:51:402 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.00624635
0x2077749a1ab304864a560c675eed1a03d6ff8dd1ec3a4028352fc9f8946eca5dExec Transaction217974442021-11-25 20:50:582 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.006382634
0xe177260370a3d5903d78660bc392fe87e830a7fd3fa5d9fd8944eee37aa4cc74Exec Transaction217974302021-11-25 20:50:262 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.0056791
0x63e0056040d844ede31e9acc7e1c6e88b450e86d41adf9d392a3a13be20f52eeExec Transaction217974092021-11-25 20:49:442 days 3 hrs ago0xdecdf7f70a7d1c49d78176a94dc57d48f4c5928f IN  0x0dd333859cf16942dd333d7570d839b8946ac2210 MATIC0.005849473
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x3b15097bbae7ea020c483bce9e6c87bc7c570472316057bb808d4032ae963ecd214576382021-11-17 1:06:1110 days 23 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.