ETH Price: $2,623.42 (+1.02%)

Contract

0x37672dDa85f3cB8dA4098bAAc5D84E00960Cb081
 
Transaction Hash
Method
Block
From
To
Exec Transaction199308242024-05-23 6:34:35148 days ago1716446075IN
PathDAO: Treasury
0 ETH0.000675178
Exec Transaction199307882024-05-23 6:27:23148 days ago1716445643IN
PathDAO: Treasury
0 ETH0.001224478.83939437
Exec Transaction198604292024-05-13 10:14:23158 days ago1715595263IN
PathDAO: Treasury
0 ETH0.000515245.94830575
Exec Transaction198604192024-05-13 10:12:23158 days ago1715595143IN
PathDAO: Treasury
0 ETH0.000606257
Exec Transaction188564002023-12-24 15:04:59298 days ago1703430299IN
PathDAO: Treasury
0 ETH0.0020291829.20359972
Exec Transaction188563812023-12-24 15:01:11298 days ago1703430071IN
PathDAO: Treasury
0 ETH0.0019869728.60106334
Exec Transaction188407862023-12-22 10:27:35301 days ago1703240855IN
PathDAO: Treasury
0 ETH0.0026008133.24528736
Exec Transaction188406562023-12-22 10:01:35301 days ago1703239295IN
PathDAO: Treasury
0 ETH0.0124835643.5237364
Exec Transaction181412272023-09-15 11:08:47399 days ago1694776127IN
PathDAO: Treasury
0 ETH0.0008652213.98599804
Exec Transaction181412192023-09-15 11:07:11399 days ago1694776031IN
PathDAO: Treasury
0 ETH0.0037388914.18444918
Exec Transaction168269712023-03-14 15:05:59583 days ago1678806359IN
PathDAO: Treasury
0 ETH0.0034159949.66049567
Exec Transaction161054932022-12-03 16:30:59684 days ago1670085059IN
PathDAO: Treasury
0 ETH0.0008092111.76404622
Exec Transaction158723722022-11-01 2:59:35717 days ago1667271575IN
PathDAO: Treasury
0 ETH0.0007445910.82459615
Exec Transaction156456852022-09-30 10:54:35749 days ago1664535275IN
PathDAO: Treasury
0 ETH0.000617287.18812975
Exec Transaction156314432022-09-28 11:09:11751 days ago1664363351IN
PathDAO: Treasury
0 ETH0.002985812.02572331
Exec Transaction155870722022-09-22 6:24:11757 days ago1663827851IN
PathDAO: Treasury
0 ETH0.000404335.87808333
Exec Transaction155813142022-09-21 10:59:59758 days ago1663757999IN
PathDAO: Treasury
0 ETH0.000171632.49521481
Exec Transaction154819452022-09-06 4:27:09773 days ago1662438429IN
PathDAO: Treasury
0 ETH0.0011411115.68451828
Exec Transaction154819362022-09-06 4:25:29773 days ago1662438329IN
PathDAO: Treasury
0 ETH0.0017157418
Exec Transaction154819232022-09-06 4:21:16773 days ago1662438076IN
PathDAO: Treasury
0 ETH0.0010136218.61392793
Exec Transaction154818962022-09-06 4:16:14773 days ago1662437774IN
PathDAO: Treasury
0 ETH0.0125085639.60200166
Exec Transaction154816622022-09-06 3:23:29773 days ago1662434609IN
PathDAO: Treasury
0 ETH0.0007321210.06304905
Exec Transaction154816272022-09-06 3:14:51773 days ago1662434091IN
PathDAO: Treasury
0 ETH0.00072819.30714624
Exec Transaction154816132022-09-06 3:12:13773 days ago1662433933IN
PathDAO: Treasury
0 ETH0.000483659.80543518
Exec Transaction154816102022-09-06 3:11:21773 days ago1662433881IN
PathDAO: Treasury
0 ETH0.0004945810.02700154
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
154567652022-09-02 3:20:09777 days ago1662088809
PathDAO: Treasury
5.14380627 ETH
151159042022-07-10 16:14:30830 days ago1657469670
PathDAO: Treasury
5.14380627 ETH
142419872022-02-20 8:56:44971 days ago1645347404
PathDAO: Treasury
685.54083934 ETH
142419682022-02-20 8:51:43971 days ago1645347103
PathDAO: Treasury
685.53083934 ETH
142419342022-02-20 8:46:12971 days ago1645346772
PathDAO: Treasury
685.5 ETH
142418752022-02-20 8:35:19971 days ago1645346119
PathDAO: Treasury
685 ETH
142418132022-02-20 8:20:00971 days ago1645345200
PathDAO: Treasury
685.53083934 ETH
142417122022-02-20 7:53:40971 days ago1645343620
PathDAO: Treasury
677.41552801 ETH
141586462022-02-07 11:26:52984 days ago1644233212
PathDAO: Treasury
413.39689524 ETH
141586122022-02-07 11:18:48984 days ago1644232728
PathDAO: Treasury
668 wei
141586122022-02-07 11:18:48984 days ago1644232728
PathDAO: Treasury
413.39689524 ETH
141585712022-02-07 11:09:23984 days ago1644232163
PathDAO: Treasury
413.39689524 ETH
140399842022-01-20 3:18:551002 days ago1642648735
PathDAO: Treasury
320.01325002 ETH
140399572022-01-20 3:13:061002 days ago1642648386
PathDAO: Treasury
320.01325002 ETH
138589982021-12-23 3:20:161030 days ago1640229616
PathDAO: Treasury
4.99 ETH
137252282021-12-02 4:20:191051 days ago1638418819
PathDAO: Treasury
29.11077408 ETH
137126412021-11-30 4:01:561053 days ago1638244916
PathDAO: Treasury
20 ETH
136086202021-11-13 16:03:031069 days ago1636819383
PathDAO: Treasury
2 ETH
136086032021-11-13 15:59:501069 days ago1636819190
PathDAO: Treasury
2.2 ETH
136084882021-11-13 15:31:271069 days ago1636817487
PathDAO: Treasury
20 ETH
135927132021-11-11 4:00:111072 days ago1636603211
PathDAO: Treasury
45 ETH
135924902021-11-11 3:08:381072 days ago1636600118
PathDAO: Treasury
2 ETH
135383672021-11-02 15:39:421080 days ago1635867582
PathDAO: Treasury
10 ETH
135128972021-10-29 15:41:161084 days ago1635522076
PathDAO: Treasury
9.9 ETH
135128422021-10-29 15:29:431084 days ago1635521383
PathDAO: Treasury
0.1 ETH
View All Internal Transactions
Loading...
Loading

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

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

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

Deployed Bytecode Sourcemap

524:1528:0:-:0;;;1376:42;1372:1;1366:8;1362:57;1556:66;1552:1;1539:15;1536:87;1533:2;;;1653:10;1650:1;1643:21;1692:4;1689:1;1682:15;1533:2;1745:14;1742:1;1739;1726:34;1843:1;1840;1824:14;1821:1;1809:10;1802:5;1789:56;1880:16;1877:1;1874;1859:38;1926:1;1917:7;1914:14;1911:2;;;1958:16;1955:1;1948:27;1911:2;2014:16;2011:1;2004: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

Validator Index Block Amount
View All Withdrawals

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