Contract 0x5a3ca642fded17296adddb53a496ce4f26901596 2

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x813ebb8901b97d5a95ff8f68162c8721f9dbf22a9774d0ae7e06019c3461b35aExec Transaction409421402023-03-30 14:35:4823 hrs 19 mins ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.0647125 500
0xc319b78430e33b7139295f2e2bfddf0c230ae6aea1d710204fe4379885078266Approve Hash409421232023-03-30 14:35:1223 hrs 19 mins ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.026392 500
0x3f7249868539e4cd77c5d59b6a9c468c189a45fbce9baa654c1383e8a37e7940Approve Hash409400122023-03-30 13:19:501 day 35 mins ago0x6e4ca20721f98498bf5fce793c40ab21bad440e0 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.007086092089134.246970483
0x57de1f16fea9e3f729414f87d3568a194c05e97b3de3bff1fbf82d64964228f1Approve Hash409366622023-03-30 11:17:101 day 2 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.006066864608 114.93756836
0x9e83a26fb7b02ae1766047fbe2cd054cc834553ce2188de722f05f1ee92697a1Exec Transaction406151012023-03-21 22:21:469 days 15 hrs ago0x66e0af79ded1d71f31f8c82513cc24b4285e8ea7 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.028179707884 92.979014785
0x1d8bad7313df1e5a4f762fe761393141cbf425b7e5c05734246bd48dc8e6801aApprove Hash406150282023-03-21 22:19:129 days 15 hrs ago0x66e0af79ded1d71f31f8c82513cc24b4285e8ea7 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.004659847577 88.281440917
0xac32c64a07b24ac7baa0bd861a0643fb50f9c8ba8ea303952feab9578a0a8416Approve Hash406033632023-03-21 14:37:059 days 23 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.01022219521 193.660867121
0x19037a3db90a96c1ae8972af00143b72aa246d5e05f10417cb853f1114ea9929Approve Hash405961072023-03-21 9:24:5710 days 4 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.015123067572 286.508555109
0x64111ec2dd4e623ffd69f782b2adb22dc8d0bfc4c2320b7833f249f0a7bca05aExec Transaction405792332023-03-20 21:33:3310 days 16 hrs ago0x66e0af79ded1d71f31f8c82513cc24b4285e8ea7 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.144689938865 100.411346553
0xc8c1ddb2f14eeaaac22cb77a7d34038c59b87dac37e310c6cd4f423cf72f80f3Approve Hash405790942023-03-20 21:28:0110 days 16 hrs ago0x66e0af79ded1d71f31f8c82513cc24b4285e8ea7 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.006052516705 114.665745399
0x5de632c2c82e87ed067a04eff7de7d925732e6dace4651029c8e2080033346a2Approve Hash405725942023-03-20 16:57:1010 days 20 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.013859289151 262.56610244
0x1c45a620e92a0f36fe964db210cabdf5a721cc4051b885e352e7d2c14ac1e317Approve Hash405725552023-03-20 16:55:4610 days 20 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.010588192516 200.594735467
0x581a92645f2441094e98aefc5ad437823831ffc678bd04a169cb26c93d6e929bExec Transaction405719082023-03-20 16:31:1610 days 21 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.025257545641 280.870333842
0x732acd77849aba93df3d5d5bbccf418bd250d3281ba38a083ed38701ba82b3b2Approve Hash405718782023-03-20 16:29:5410 days 21 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.013407567255 254.008170192
0xc7e568682637fc0997f35f36883ce5bcc24829cdaef8e24a7a53d1da34378089Approve Hash404491812023-03-17 11:38:0714 days 2 hrs ago0x6e4ca20721f98498bf5fce793c40ab21bad440e0 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.012267465407232.40878689
0xac6a395729af3edc05f170ed9447b34aaeb55293fcc4c533c589dfdd5731d576Exec Transaction404133302023-03-16 13:33:0015 days 21 mins ago0x6e4ca20721f98498bf5fce793c40ab21bad440e0 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.015796943255 193.915559891
0xc6aefddeb7bb2a23e681480d6307ecad37b08a4035b5edd5130ae177fdef81a6Approve Hash404132392023-03-16 13:29:4615 days 25 mins ago0x6e4ca20721f98498bf5fce793c40ab21bad440e0 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.008592802622 162.791804763
0x3e736c7b672559ce132d73da7127048110f928f6638317a7d2990b7503dc68a3Approve Hash404101352023-03-16 11:39:4415 days 2 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.005644690203 106.939417318
0x70cddc335553cfcb4f0f86b413b272c8b85d47966034ab696817b2a78681356aApprove Hash404100692023-03-16 11:37:2415 days 2 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.005330149395 100.98039928
0xa18cfa24aecfa3aff8effb97f98414e045267fdd8190a33f41ea94aa5d9c2921Approve Hash404082202023-03-16 10:30:4215 days 3 hrs ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.003191715046 60.467472084
0x354b2f033975873f9f59e0b367e323ae8134b001fd5a5fe9ed0a05c627b42787Approve Hash403808142023-03-15 17:06:4715 days 20 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.031562977817 597.964872256
0x21a5622237872b8c0e33873d131d26a3d6adc9fd67460ca25b39777c1a7327eaApprove Hash403787582023-03-15 15:47:2315 days 22 hrs ago0x326377a6b92ec69acbbfe2de1eb1d7c9008e4c89 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.015566869581 294.916444025
0x2eb14bfb42533c00284bd7d095d8242a9305eeca8e7a9a54a79d607a72e56370Exec Transaction403378542023-03-14 13:53:1517 days 1 min ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.037593449399 271.59364678
0xcd140d9d2410949ba1140c2c05783a4166fca6cb33c1f4fbdc5670d2179967b2Approve Hash403377642023-03-14 13:50:0517 days 4 mins ago0x41eadbc688797a02bfabe48472995833489ce69d IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.014600469912 276.607871935
0xb002e9f086eaae4cfa3b554f533e58eeb343ed771c84c7cba6a7abcc321037fbApprove Hash403377612023-03-14 13:49:5917 days 4 mins ago0x6e4ca20721f98498bf5fce793c40ab21bad440e0 IN  0x5a3ca642fded17296adddb53a496ce4f269015960 MATIC0.028701460766 543.753045747
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xbf5020aafab131ca67c3424f49d11eaafb3a80bee9bba1c0a6c3020fb4570e0d166406742021-07-08 12:55:18631 days 59 mins ago 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.