Contract 0x55d621fF4CBB38A2065be6481B4681Cc10d31dE8

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x67842460b7a3729561b862586d3b42c807f826b1c1672eb9a6837a7284a34b7fExec Transaction229147522021-12-24 17:52:0524 days 19 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0024400840
0x872b7567ce05e67223cdf5ed820e30e9247d9ef4ba35fe68bf9852447e6e6f55Exec Transaction229147112021-12-24 17:50:3924 days 19 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.00322750836
0xeb074a5c2cdf66fb15d150c0c1375f069873936266bc18ca1809c7bff5de5cc9Exec Transaction229139312021-12-24 17:23:1624 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0058361100
0x446fc7c81a8bd614d9bb2ba01f321c783ff52335bf4b413266d230caec339af5Exec Transaction229138642021-12-24 17:20:5824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0044826550
0xbea789078f5b628b7ebd3584d1694049295baba6785d513926e52aa898ee6eb3Exec Transaction229138442021-12-24 17:19:5224 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0053791860
0xabc8abdb7a64c069aa69ec915889121144c91f4dc4aee37823a1c5601966dbcbExec Transaction229138352021-12-24 17:19:1624 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0053791860
0xac60c64f64843b190b734dfb26fb68e625b6e3ad6a8f05155dd7e28d8ab1ebdaExec Transaction229138272021-12-24 17:18:4424 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0044826550
0x8cbb1a6186a8ccc2d8dd8a0c954b10211d2e8edaaaf78107b307efb2c49a01beExec Transaction229138082021-12-24 17:17:2824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.00295854933
0x22d43b283ad1ff1f912f087a57965862999d5feb52711d8c9bc3b35356c9878cExec Transaction229138032021-12-24 17:17:0824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.009323912104
0x31cf9987c702217b4dfab039acc27e14fa19f8894e6e905ad64f02f91e1ac204Exec Transaction229137962021-12-24 17:16:4024 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.00672307575
0xa247efd4ea9d8ac52e30771fb798c0c95ead349297026625df4fad650b6c7c79Exec Transaction229137772021-12-24 17:15:4824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0053784660
0x1f723827d6e6f313ba6f03deb0499f14d7688baf94e313ce971c06539875ca45Exec Transaction229137582021-12-24 17:15:1024 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.003550258839.6
0x7fd7d201ef73a6e4d015d4294922831f9451fc10070ced3a5cff6e0778e69ce7Exec Transaction229137482021-12-24 17:14:5024 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0053791860
0x3bb6f4b78292b939d593bb18ca8b89b0149055bd07e29a9ad6dc8acd81159449Exec Transaction229137332021-12-24 17:14:2024 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0089653100
0x4d29a83b968cc90feaf1090e31db13373558438ba3d37bc487bf839e5ead1960Exec Transaction229137232021-12-24 17:13:5624 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.004966776255.4
0xf82e418439fd97baaf71ee97d5a20caf745288e04aa9dc9e9bce7ad388b5e474Exec Transaction229137102021-12-24 17:13:3024 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0044826550
0xa07b2fec3e70fea7741b0ba426e4461142d63fc21938135576552b691cd95cb9Exec Transaction229136742021-12-24 17:12:1824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0053791860
0x1c0a130175db65a64f42261d61a700778ae347c3a541bc20369a328beefc59e9Exec Transaction229136642021-12-24 17:11:5824 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.00493091555
0x26c7906c4102d7481d7ff708590cd384d4c03336ef93f18e686b6512bbd0b5a7Exec Transaction229136502021-12-24 17:11:2624 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0044820550
0x3fc6334b65410c8192c381d76e67ab43b6a7ea2363323f463aca66f655f201efExec Transaction229136082021-12-24 17:10:0224 days 20 hrs ago0x4a30e80e9111cdace350fa72d011967ba9514b6b IN  0x55d621ff4cbb38a2065be6481b4681cc10d31de80 MATIC0.0064051860
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x11be4316594ab06f5eb5785c23c51010c3715bb63b9916e3145a21e9fdfe081b224112702021-12-11 21:34:3237 days 15 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.