Contract 0xb55394d9860b781B817B634F9c6C5d5dBA35A934

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x0fbf5f49541d59da42ce8faf496e7ea3da33e3686b0264d0010223c805b8d1bcExec Transaction237596532022-01-15 20:14:14316 days 9 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.010135216104
0xc2018d8cbe3a0984fce1f434d503884e596e3e2e4dc645cabda4e076f8507d4bExec Transaction237596142022-01-15 20:12:50316 days 9 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0108125855120.5
0x0119df9958f43cb4d8082a4640ad9ede679be01fe7b843ca9b9615004b6ca616Exec Transaction232727062022-01-02 19:34:57329 days 10 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.004287431545.1
0x1fa9c493e6fbf6a8683d42a45721530ce04db30ee81eb9457a2d599a223b91e0Exec Transaction232726772022-01-02 19:33:49329 days 10 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0034304644
0x53749a41a11daa4f101242bdf1f8a31a932d0330636950b17808c48ecea5411aExec Transaction232726622022-01-02 19:33:19329 days 10 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0041828644
0x4f7c841630e065e2f7526063494c1b7cffb3afc4691dfa3f5d033bfb0c3314c0Exec Transaction221265502021-12-04 13:21:36358 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.00670522282
0x793cb680f6a27b0bf6c7f95705ea64b81827b2fbfe6a6cd688d5d83a6e2ab70aExec Transaction221264262021-12-04 13:17:20358 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0098859100
0xe88f082a75c1bc91fc6c61273efcdba8b31edb4c45b334c21d6e26cb585bdf05Exec Transaction210515282021-11-06 13:09:23386 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0025702830
0xc90ba3394e10238787bd185e1e3a25a6684ad60bff6940b28650b1419573927dExec Transaction210514742021-11-06 13:07:31386 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0068517930
0x4e10198c4b695b866a01ba3cf591aacf018850919ce9aa126aa0b5632ec1ee98Exec Transaction210514462021-11-06 13:06:31386 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0028147530
0x9195da1e9bdc58f19f2ef47c9d3673ce628bce9214d88b54f3020a40b03ba06cExec Transaction210514222021-11-06 13:05:43386 days 16 hrs agoPolyWhirl: Deployer IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0025172130
0x26a6681092a2b49020912791608cf01783b20c4e5c68016c7dc2b0f81322de79Exec Transaction210152162021-11-05 14:43:55387 days 15 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0106512630
0x01303632530e686ac663607b7a7eb4ebdcc1172c89689be6ad7e4fe1863ab6ffExec Transaction208658612021-11-01 17:33:59391 days 12 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0052125630
0x3aec7bf8c8e6de3e61f3e2dbcd6e6a88fd7b11ca2f4443efd0df13d0798f35e7Exec Transaction208623762021-11-01 15:31:11391 days 14 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0038160630
0x9d73ac615d2f599fa617685ba8079dcc720fe8d96cf11afbde2131353f3f73c0Exec Transaction208619942021-11-01 15:18:03391 days 14 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.00341316231
0x7fd0571e4c36d97fe5fffe1ce3ac15f8a70aad3ccae8e6ffa43c165c05ef13a0Exec Transaction202208612021-10-14 20:31:40409 days 9 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0038531535
0xf9a3ff85f8efe002b83682fedb478a8b2fd23cbd1d3d4cdf6f586c4d7622c302Exec Transaction199938852021-10-08 18:51:34415 days 11 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0004089755
0x049bed1779a03b2bf476251bc3a580315f6674be6353f1ab5fc3a36584604f2fExec Transaction199872192021-10-08 14:48:43415 days 15 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.00042893955.5
0x56b03004815002a7a83b495b34248a26080dc9a0719e710179f864b8885247b0Exec Transaction199846012021-10-08 13:14:09415 days 16 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0003899455
0xf264293b33959ec85a5269c729e8771be5066e67e254ed439e085ff1225d4cccExec Transaction195255722021-09-26 6:22:18427 days 23 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.000211150862.22
0xd962401c09d688c542959662a9e0c71670de86dea2c7a4baede4ff3acf24cccfExec Transaction189276902021-09-09 18:34:12444 days 11 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0004755055
0x6932c8bb98031e43b08b728bf6f405d70aa297ef4444519dccf113ceff586eb0Exec Transaction186998032021-09-03 11:30:01450 days 18 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0003804044
0x88adf20cb9a9fb441502bc0f30e23bce8e5e345ce4a0bcf3114eab9568f9f82eExec Transaction186997562021-09-03 11:28:23450 days 18 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0004755055
0x2c3a187e59b338469f66834b229138a8b94603b37af8f2708e0f6cf0549e4873Exec Transaction186996122021-09-03 11:23:27450 days 18 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0004755055
0xdab33d4e82846ca81eacdad0156fcb66c3134fbd0b2ce6f2837827edbb377cdaExec Transaction186177732021-09-01 8:12:59452 days 21 hrs ago0x7d96185da0d770f89c9c9614b8b3aa91027c6905 IN  0xb55394d9860b781b817b634f9c6c5d5dba35a9340 MATIC0.0002343774542.4642
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x63edc11d821699e12f639db45cd0ea334a813661076d435d44a189a062ac2502170293152021-07-19 9:45:18496 days 20 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.