Contract 0xebb9194edbe62494a43d253ab230da96a457fdb1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd3949636ac4767748c1efadaeb5f2b11a9a7549bfd7ccbeb4807f246ed78845dExec Transaction314734272022-08-03 13:06:0015 days 3 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0065409659 104.3
0x4451524cb8aed133053b345d9c67887bcd6b87621cee4409f64121b9f066616aExec Transaction301453202022-06-29 18:04:1249 days 22 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0611517915 603.7
0xede4fe210633e934e9ae349aa0c7f470f4c9100bf6e658e44e08e875504b52cbExec Transaction290302042022-06-01 10:51:5878 days 6 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.003132330001 30.000000017
0xcaef03f2047a941d7eca3ee76c07d8a1560dc28f51ec9d1f7a63937be5254aeeExec Transaction278350172022-05-02 12:38:57108 days 4 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0109447959 50.1
0x427448b058892857c7d70261804847bccbd23aff68eea4d5d4ebc03984206956Exec Transaction278349862022-05-02 12:37:31108 days 4 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0044833 50
0x7e7fa0d27ab21f722076519c29ff2f464119cafd74c208b8a092038a72aec37fExec Transaction277062452022-04-29 6:23:27111 days 10 hrs ago0xd32908f63713f514addbe3962a2de7112fdcd4a7 IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.00535601 55.000000002
0xe39dc8caa41893d248738315685981b64215f5ef927e1ca597046dd7710695edExec Transaction240606802022-01-23 9:24:37207 days 7 hrs ago0xd32908f63713f514addbe3962a2de7112fdcd4a7 IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.004562209546 44.860807563
0x63c414da831c16bd5d971a8677526c122cb36b6bfea296e32729a9844f3f895fExec Transaction238223982022-01-17 10:10:47213 days 6 hrs ago0xd32908f63713f514addbe3962a2de7112fdcd4a7 IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.00300432031430.000003145
0x55e31a087e2de4225e2e69fe8ace5cfe84bfe0be6d1650c174e15447717a42fcExec Transaction197489902021-10-02 6:55:41320 days 10 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002092542
0x50406203dbcf57332da45a9cd25719b3931c4b4cbd252f1816d597ac077d07e3Exec Transaction197088052021-10-01 6:45:06321 days 10 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.00036793753.5
0x08a294724cc6e770e20db69cb5893b9ab46ba340015e511b966e29c03be267bdExec Transaction196185822021-09-28 18:15:03323 days 22 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.000203372
0x61d69b468373ff290760fa28d121e1965227ff5de765d0eb9bc41d183d044f47Exec Transaction195818442021-09-27 18:13:45324 days 22 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002003362
0x96c2694e55130795710910e9a3f42ae5edacabdecf5dac1f20cb98d9a7523ef0Exec Transaction193376362021-09-21 5:32:34331 days 11 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002406762
0xed69f8ae423965c9c0b1e10d7ad944fa8f0c4954570784077d18bb6708275775Exec Transaction193376132021-09-21 5:31:48331 days 11 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002406762
0x7f89ee25397da90012d7709e38cbc7e9e3669bf70146d6201b97dbd375f5add4Exec Transaction193001232021-09-20 5:18:24332 days 11 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002084042
0x969973ad4711c2096e188d7e2eeb6ed7e7c241d0644a6ecb37a6e6fea846dfccExec Transaction193000982021-09-20 5:17:34332 days 11 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb10 MATIC0.0002425562
0xe5bf65b23944afa3c4563114534d668c6f8c88c3c0f40552ded69d09e358f51dTransfer191731422021-09-16 14:09:29336 days 2 hrs ago0x45b1e1e13ade283ecc5e1c586897d12eef69fc9b IN  0xebb9194edbe62494a43d253ab230da96a457fdb11 MATIC0.0003640222813.32
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x9b4592fab4ec81ce62bda1df8abd8446b48f349e48b310a15664b5544ebf9da2191729752021-09-16 14:02:16336 days 3 hrs ago Gnosis 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.