Contract 0xAF6D775c566564a97861E93211265718532f5d77

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x118f255de010d015f610e55564b22dcaff8b5abaf2825604533c7acd400c9558Exec Transaction326243682022-09-03 4:22:5521 days 14 hrs ago0x6d387216e10f346f02440fd26ad7bbc9df0b54c5 IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0131542992 44.4
0xeb55707876616c834664fbe658ec192d2d885803d3b7b25b559a333af8da1bccExec Transaction326243532022-09-03 4:22:2521 days 14 hrs ago0x6d387216e10f346f02440fd26ad7bbc9df0b54c5 IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.009183936 31
0x114b07cb706adf599ebbea56a7fadfba7dab2e88541c18f5637fdbd2b8aa2292Exec Transaction326243422022-09-03 4:22:0321 days 14 hrs ago0x6d387216e10f346f02440fd26ad7bbc9df0b54c5 IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.010961471999 36.999999999
0x9defc2a67c25cac84e1ce89ba97ebf42b97691b790a8b61ae05d2c1d3c1e3236Exec Transaction326243232022-09-03 4:21:2521 days 14 hrs ago0x6d387216e10f346f02440fd26ad7bbc9df0b54c5 IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0142493364 48.1
0x3a1a8b73ad68260af4a455a82dc87f5b4c7e7ea3e09ed8701eadc49b76a8cd2bExec Transaction326144772022-09-02 22:40:4821 days 20 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.01540855822 52.690000001
0xd48f3c1a6f1109e3db884db1de9207ed9056033b317bac3fec91efd8afc7a954Exec Transaction325461082022-09-01 6:54:4123 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0146523462 50.1
0x15f646ddfaf088caf22796558ebc182fc37a98380ce545c903fc6e8b5fe18766Exec Transaction325460852022-09-01 6:53:5523 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.011349399603 38.808000012
0x629d7de7654a98d7822e08741c44fc744c2a5fd3722085ea2330a3cffcee8633Exec Transaction325460382022-09-01 6:52:1723 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0175769662 60.1
0x51b78a2ea9c04ced95dafd00ccc86c81cf732dede4825ffec2d7dd422c584292Exec Transaction325459882022-09-01 6:50:3723 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.015208024 52.000000001
0x33efc32f5fe929f49add743a89a96fed29549a06e96df43147f8b30ecdebef79Exec Transaction325459582022-09-01 6:49:3323 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0146231 50
0xd05fc83886c86d311c577c67e6882c0282c63cd72fea12e12927d2415c5112a5Exec Transaction325459242022-09-01 6:48:2523 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0146523462 50.1
0xc4d774b94412f621cbdd5e87f3a14e6bc26bd2b11d9c5658cbd1fffec1e72773Exec Transaction325459092022-09-01 6:47:5123 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0146511438 50.1
0x542566ccce63e070b87da982076683ed8ac09d115db892a7fc5e74728a451e30Exec Transaction325458802022-09-01 6:46:5323 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.01226475 45
0x1f76b427f88e6a6fa062756310377154fb1da555f3ca95bb9145994d01d5f3a2Exec Transaction325458392022-09-01 6:45:2723 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0096804922 33.1
0x4c37218520c358e41f52690238304dce4ff9dd84c496ef08d365def05a6ab718Exec Transaction325456422022-09-01 6:38:4123 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.015011629204 45.958
0xc0ecc58273d78f1a34b1ac83ae3d4d288a5fffc2e57c4aac5324ee7ac33a910aExec Transaction325454532022-09-01 6:32:1123 days 12 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0047572455 50.1
0x87f5231d1a145f928e49cb03a915d6384b98376e46f0b539e5b0ed12a9cce01bExec Transaction324731442022-08-30 6:55:1825 days 12 hrs ago0x6d387216e10f346f02440fd26ad7bbc9df0b54c5 IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0041173748 40.7
0xb131e40052c2482a5cc3067b0612aa2b5545540fd41c42da9f46245b6f3e0040Exec Transaction287958722022-05-26 14:44:12121 days 4 hrs ago0x869871ba7ec8bcb59530a04e1e28a42a208a697b IN  0xaf6d775c566564a97861e93211265718532f5d770 MATIC0.0052607398 57.7
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x1587c39c20d965ea18c604b8c143728847ee809916fe59ec010df90ba63ae646287862402022-05-26 8:53:00121 days 10 hrs ago Safe: Proxy Factory 1.3.0  Contract Creation0 MATIC
[ Download CSV Export 
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

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.