POL Price: $0.417924 (+11.30%)
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction552484862024-03-30 11:02:41167 days ago1711796561IN
0x145239e4...B789a3706
0 POL0.01370158152
Exec Transaction552183252024-03-29 15:19:47168 days ago1711725587IN
0x145239e4...B789a3706
0 POL0.01824926281
Exec Transaction406391772023-03-22 14:09:58541 days ago1679494198IN
0x145239e4...B789a3706
0 POL0.0194179311
Exec Transaction377532122023-01-06 19:14:36616 days ago1673032476IN
0x145239e4...B789a3706
0 POL0.0058046878
Exec Transaction351553972022-11-03 16:14:40680 days ago1667492080IN
0x145239e4...B789a3706
0 POL0.0074638878.45074626
Exec Transaction343839382022-10-15 17:40:42699 days ago1665855642IN
0x145239e4...B789a3706
0 POL0.00834691133.56776687
Exec Transaction343839002022-10-15 17:39:22699 days ago1665855562IN
0x145239e4...B789a3706
0 POL0.00706453113.14659231
Exec Transaction333074852022-09-19 15:38:29725 days ago1663601909IN
0x145239e4...B789a3706
0 POL0.0025721741.16000044
Exec Transaction330897412022-09-14 9:39:47730 days ago1663148387IN
0x145239e4...B789a3706
0 POL0.0027288730.43814927
Exec Transaction330480082022-09-13 9:42:16731 days ago1663062136IN
0x145239e4...B789a3706
0 POL0.0018938331.59715961
Exec Transaction302608642022-07-02 18:47:06804 days ago1656787626IN
0x145239e4...B789a3706
0 POL0.0048968581.7
Transfer298354632022-06-21 16:56:35815 days ago1655830595IN
0x145239e4...B789a3706
5,000 POL0.0009194433.64366701
Exec Transaction298349092022-06-21 16:37:31815 days ago1655829451IN
0x145239e4...B789a3706
0 POL0.0034452638.22000002
Exec Transaction298347122022-06-21 16:30:45815 days ago1655829045IN
0x145239e4...B789a3706
0 POL0.0024764836.25999999
Exec Transaction298346382022-06-21 16:28:13815 days ago1655828893IN
0x145239e4...B789a3706
0 POL0.0037228362.1
Exec Transaction293237952022-06-08 17:31:06828 days ago1654709466IN
0x145239e4...B789a3706
0 POL0.002812833.69960479
Exec Transaction293229192022-06-08 17:00:58828 days ago1654707658IN
0x145239e4...B789a3706
0 POL0.002502239.1
Exec Transaction293228822022-06-08 16:59:44828 days ago1654707584IN
0x145239e4...B789a3706
0 POL0.0019202130.00000001
Exec Transaction293221412022-06-08 16:34:10828 days ago1654706050IN
0x145239e4...B789a3706
0 POL0.0022976235.89646694
Exec Transaction292309762022-06-06 9:43:09830 days ago1654508589IN
0x145239e4...B789a3706
0 POL0.0029747130.00000001
Exec Transaction290906292022-06-02 22:24:04834 days ago1654208644IN
0x145239e4...B789a3706
0 POL0.0085578543.84213694
Exec Transaction290906102022-06-02 22:23:22834 days ago1654208602IN
0x145239e4...B789a3706
0 POL0.0034894737.0971928
Exec Transaction290903202022-06-02 22:13:26834 days ago1654208006IN
0x145239e4...B789a3706
0 POL0.0029542645.09569454
Exec Transaction290903002022-06-02 22:12:42834 days ago1654207962IN
0x145239e4...B789a3706
0 POL0.0028028742.77699999
Exec Transaction290900672022-06-02 22:04:44834 days ago1654207484IN
0x145239e4...B789a3706
0 POL0.0020115630.97382191
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
523862552024-01-16 9:11:34241 days ago1705396294
0x145239e4...B789a3706
19.99 POL
521622302024-01-10 14:06:23247 days ago1704895583
0x145239e4...B789a3706
19.99 POL
521320612024-01-09 18:57:35248 days ago1704826655
0x145239e4...B789a3706
19.99 POL
480976372023-09-28 20:55:01351 days ago1695934501
0x145239e4...B789a3706
19.99 POL
480976252023-09-28 20:54:35351 days ago1695934475
0x145239e4...B789a3706
19.99 POL
467284742023-08-25 7:36:43385 days ago1692949003
0x145239e4...B789a3706
19.99 POL
445977122023-07-02 14:40:03439 days ago1688308803
0x145239e4...B789a3706
19.99 POL
422216342023-05-02 16:04:39500 days ago1683043479
0x145239e4...B789a3706
69 POL
420890412023-04-29 7:35:16503 days ago1682753716
0x145239e4...B789a3706
19.99 POL
419047102023-04-24 14:29:55508 days ago1682346595
0x145239e4...B789a3706
19.99 POL
411967042023-04-06 3:17:46527 days ago1680751066
0x145239e4...B789a3706
19.99 POL
411792192023-04-05 16:40:55527 days ago1680712855
0x145239e4...B789a3706
19.99 POL
411791852023-04-05 16:39:43527 days ago1680712783
0x145239e4...B789a3706
19.99 POL
411791542023-04-05 16:38:37527 days ago1680712717
0x145239e4...B789a3706
19.99 POL
410855502023-04-03 6:34:51530 days ago1680503691
0x145239e4...B789a3706
19.99 POL
409396612023-03-30 13:06:52533 days ago1680181612
0x145239e4...B789a3706
19.99 POL
408778242023-03-28 22:33:07535 days ago1680042787
0x145239e4...B789a3706
19.99 POL
408777632023-03-28 22:30:57535 days ago1680042657
0x145239e4...B789a3706
19.99 POL
408777002023-03-28 22:28:43535 days ago1680042523
0x145239e4...B789a3706
19.99 POL
408768652023-03-28 21:56:27535 days ago1680040587
0x145239e4...B789a3706
19.99 POL
408768512023-03-28 21:55:33535 days ago1680040533
0x145239e4...B789a3706
19.99 POL
408768322023-03-28 21:54:45535 days ago1680040485
0x145239e4...B789a3706
19.99 POL
408768072023-03-28 21:53:51535 days ago1680040431
0x145239e4...B789a3706
19.99 POL
406603912023-03-23 3:38:39541 days ago1679542719
0x145239e4...B789a3706
19.99 POL
406572242023-03-23 1:36:21541 days ago1679535381
0x145239e4...B789a3706
19.99 POL
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xb412684F...aB3ae124D
The constructor portion of the code might be different and could alter the actual behaviour of the contract

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"}]

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

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
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.