POL Price: $0.329201 (+4.13%)
Gas: 30.5 GWei
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0.1 POL

POL Value

$0.03 (@ $0.33/POL)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction515831212023-12-26 15:28:13418 days ago1703604493IN
0xAF51E83c...9100C31D8
0 POL0.01696499166.16383362
Exec Transaction474915202023-09-13 12:09:30522 days ago1694606970IN
0xAF51E83c...9100C31D8
0 POL0.01084229145.92199714
Exec Transaction474913842023-09-13 12:04:40522 days ago1694606680IN
0xAF51E83c...9100C31D8
0 POL0.006614186.71051292
Exec Transaction433702452023-05-31 14:01:49627 days ago1685541709IN
0xAF51E83c...9100C31D8
0 POL0.02191765194.34508199
Exec Transaction432876542023-05-29 12:09:57629 days ago1685362197IN
0xAF51E83c...9100C31D8
0 POL0.01885315193.6
Exec Transaction427730982023-05-16 11:30:45642 days ago1684236645IN
0xAF51E83c...9100C31D8
0 POL0.01683265157.5
Exec Transaction384747752023-01-24 15:58:49754 days ago1674575929IN
0xAF51E83c...9100C31D8
0 POL0.0074132763
Exec Transaction369818602022-12-18 14:25:23791 days ago1671373523IN
0xAF51E83c...9100C31D8
0 POL0.005983380.5528516
Exec Transaction325566072022-09-01 13:00:00899 days ago1662037200IN
0xAF51E83c...9100C31D8
0 POL0.0041267839.00000001
Exec Transaction325565842022-09-01 12:59:14899 days ago1662037154IN
0xAF51E83c...9100C31D8
0 POL0.002445839.00000001
Exec Transaction325542472022-09-01 11:38:53899 days ago1662032333IN
0xAF51E83c...9100C31D8
0 POL0.0032378539.00000003
Exec Transaction316877422022-08-09 7:49:22922 days ago1660031362IN
0xAF51E83c...9100C31D8
0 POL0.00332650
Exec Transaction316877132022-08-09 7:48:24922 days ago1660031304IN
0xAF51E83c...9100C31D8
0 POL0.0028220845.00000003
Exec Transaction316877002022-08-09 7:47:58922 days ago1660031278IN
0xAF51E83c...9100C31D8
0 POL0.0023354337.24000004
Exec Transaction316876702022-08-09 7:46:54922 days ago1660031214IN
0xAF51E83c...9100C31D8
0 POL0.0138825732.22533985
Exec Transaction316876502022-08-09 7:46:14922 days ago1660031174IN
0xAF51E83c...9100C31D8
0 POL0.0031350449.99999997
Exec Transaction316876222022-08-09 7:45:18922 days ago1660031118IN
0xAF51E83c...9100C31D8
0 POL0.0123737439.8
Exec Transaction316876062022-08-09 7:44:24922 days ago1660031064IN
0xAF51E83c...9100C31D8
0 POL0.0024192738.57690012
Exec Transaction316875882022-08-09 7:43:12922 days ago1660030992IN
0xAF51E83c...9100C31D8
0 POL0.0029030743.65000011
Exec Transaction316875712022-08-09 7:42:04922 days ago1660030924IN
0xAF51E83c...9100C31D8
0 POL0.0134657544.2
Exec Transaction314329072022-08-02 12:27:03929 days ago1659443223IN
0xAF51E83c...9100C31D8
0 POL0.0094818294.05642576
Exec Transaction311961442022-07-27 12:12:14935 days ago1658923934IN
0xAF51E83c...9100C31D8
0 POL0.0039320539.00000005
Exec Transaction306052922022-07-11 14:03:35951 days ago1657548215IN
0xAF51E83c...9100C31D8
0 POL0.0079484139.08640072
Exec Transaction297853172022-06-20 8:45:10972 days ago1655714710IN
0xAF51E83c...9100C31D8
0 POL0.0031993239.00000553
Exec Transaction295565082022-06-14 12:08:24978 days ago1655208504IN
0xAF51E83c...9100C31D8
0 POL0.0088058480
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
282301952022-05-12 13:03:461011 days ago1652360626  Contract Creation0 POL
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.