ETH Price: $1,968.56 (+0.96%)

Contract

0xF416C2b41Fb6c592c9BA7cB6B2f985ed593A51d7
Transaction Hash
Block
From
To
Exec Transaction4213695542026-01-14 19:27:5128 days ago1768418871IN
Tigris : Treasury
0 ETH0.000002120.020022
Exec Transaction4213476392026-01-14 17:56:4228 days ago1768413402IN
Tigris : Treasury
0 ETH0.000002150.020344
Exec Transaction4203345212026-01-11 19:38:0431 days ago1768160284IN
Tigris : Treasury
0 ETH0.000002130.020126
Exec Transaction4069800312025-12-04 5:19:3870 days ago1764825578IN
Tigris : Treasury
0 ETH0.000511170.01
Exec Transaction4068561092025-12-03 20:43:1070 days ago1764794590IN
Tigris : Treasury
0 ETH0.000000740.01
Exec Transaction3998674622025-11-13 15:42:1390 days ago1763048533IN
Tigris : Treasury
0 ETH0.000003380.030981
Exec Transaction3990920542025-11-11 9:55:1192 days ago1762854911IN
Tigris : Treasury
0 ETH0.00000110.01
Exec Transaction3990307592025-11-11 5:40:0893 days ago1762839608IN
Tigris : Treasury
0 ETH0.0000010.01
Exec Transaction3990138302025-11-11 4:29:4093 days ago1762835380IN
Tigris : Treasury
0 ETH0.000001080.01
Exec Transaction3990123922025-11-11 4:23:4193 days ago1762835021IN
Tigris : Treasury
0 ETH0.000001020.010021
Exec Transaction3857416592025-10-03 19:59:31131 days ago1759521571IN
Tigris : Treasury
0 ETH0.000001120.01
Exec Transaction3781676042025-09-11 22:31:27153 days ago1757629887IN
Tigris : Treasury
0 ETH0.000001090.01
Exec Transaction3780367472025-09-11 13:25:55153 days ago1757597155IN
Tigris : Treasury
0 ETH0.000001760.015794
Exec Transaction3394297542025-05-22 18:26:26265 days ago1747938386IN
Tigris : Treasury
0 ETH0.000002530.01
Exec Transaction3370887652025-05-15 23:01:33272 days ago1747350093IN
Tigris : Treasury
0 ETH0.000001350.011084
Exec Transaction3361955552025-05-13 8:28:43274 days ago1747124923IN
Tigris : Treasury
0 ETH0.00000130.01
Exec Transaction3294200752025-04-23 15:33:16294 days ago1745422396IN
Tigris : Treasury
0 ETH0.000031480.069285
Exec Transaction3267114182025-04-15 18:38:48302 days ago1744742328IN
Tigris : Treasury
0 ETH0.000003160.01
Exec Transaction3234060222025-04-06 4:12:30312 days ago1743912750IN
Tigris : Treasury
0 ETH0.000000930.01
Exec Transaction3144707602025-03-11 5:52:35338 days ago1741672355IN
Tigris : Treasury
0 ETH0.000004810.01
Exec Transaction3144705542025-03-11 5:51:43338 days ago1741672303IN
Tigris : Treasury
0 ETH0.000003730.01
Exec Transaction3067434372025-02-16 18:24:15360 days ago1739730255IN
Tigris : Treasury
0 ETH0.000001440.01
Exec Transaction3067225422025-02-16 16:56:25360 days ago1739724985IN
Tigris : Treasury
0 ETH0.000002290.01
Exec Transaction3067223322025-02-16 16:55:31360 days ago1739724931IN
Tigris : Treasury
0 ETH0.000002560.01
Exec Transaction3067221072025-02-16 16:54:35360 days ago1739724875IN
Tigris : Treasury
0 ETH0.000002460.01
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
4068561092025-12-03 20:43:1070 days ago1764794590
Tigris : Treasury
1.61 ETH
3998674622025-11-13 15:42:1390 days ago1763048533
Tigris : Treasury
0.01 ETH
3990307592025-11-11 5:40:0893 days ago1762839608
Tigris : Treasury
0.01 ETH
3780367472025-09-11 13:25:55153 days ago1757597155
Tigris : Treasury
0.2273 ETH
3144707602025-03-11 5:52:35338 days ago1741672355
Tigris : Treasury
1.95223725 ETH
2571672942024-09-25 10:01:07504 days ago1727258467
Tigris : Treasury
0.1 ETH
2493664412024-09-02 16:28:00527 days ago1725294480
Tigris : Treasury
0.825 ETH
2196108232024-06-08 6:43:37614 days ago1717829017
Tigris : Treasury
0.15 ETH
2180410112024-06-03 17:16:49618 days ago1717435009
Tigris : Treasury
0.3 ETH
2139807252024-05-22 20:27:33630 days ago1716409653
Tigris : Treasury
0.26588 ETH
2128848402024-05-19 14:28:05633 days ago1716128885
Tigris : Treasury
0.35 ETH
2128790832024-05-19 14:03:30633 days ago1716127410
Tigris : Treasury
0.01 ETH
2050989582024-04-26 18:41:03656 days ago1714156863
Tigris : Treasury
0.5 ETH
2037115922024-04-22 16:24:02660 days ago1713803042
Tigris : Treasury
1.5 ETH
2030178862024-04-20 15:43:57662 days ago1713627837
Tigris : Treasury
0.0872328 ETH
2030178862024-04-20 15:43:57662 days ago1713627837
Tigris : Treasury
0.07166712 ETH
2029954982024-04-20 14:10:02662 days ago1713622202
Tigris : Treasury
3.1 ETH
1986533812024-04-07 21:05:58675 days ago1712523958
Tigris : Treasury
2 ETH
1976580192024-04-04 23:42:31678 days ago1712274151
Tigris : Treasury
0.065 ETH
1966282112024-04-01 23:45:45681 days ago1712015145
Tigris : Treasury
1 ETH
1934083822024-03-23 15:20:07690 days ago1711207207
Tigris : Treasury
3 ETH
1926959432024-03-21 13:42:47692 days ago1711028567
Tigris : Treasury
0.00131789 ETH
1926959432024-03-21 13:42:47692 days ago1711028567
Tigris : Treasury
0.28397251 ETH
1908085962024-03-16 1:19:48698 days ago1710551988
Tigris : Treasury
0.5 ETH
1881439342024-03-07 23:06:28706 days ago1709852788
Tigris : Treasury
0.05 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa75c21C5...D3E55a1D4
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

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2022-03-21
*/

/**
 *Submitted for verification at Etherscan.io on 2021-07-09
*/

// 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

API
[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f76696465640000000000000000000000003e5c63644e683549055b9be8653de26e0b4cd36e

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

Deployed Bytecode Sourcemap

595:1528:0:-:0;;;1447:42;1443:1;1437:8;1433:57;1627:66;1623:1;1610:15;1607:87;1604:2;;;1724:10;1721:1;1714:21;1763:4;1760:1;1753:15;1604:2;1816:14;1813:1;1810;1797:34;1914:1;1911;1895:14;1892:1;1880:10;1873:5;1860:56;1951:16;1948:1;1945;1930:38;1997:1;1988:7;1985:14;1982:2;;;2029:16;2026:1;2019:27;1982:2;2085:16;2082:1;2075:27

Swarm Source

ipfs://d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xF416C2b41Fb6c592c9BA7cB6B2f985ed593A51d7
Loading...
Loading
[ 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.