ETH Price: $3,467.93 (+2.18%)
Gas: 14 Gwei

Contract

0xb9A9d0f43D6094CD1645F25A3eBF9a4BA447264B
 

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Value
Exec Transaction201890742024-06-28 8:45:233 days ago1719564323IN
0xb9A9d0f4...BA447264B
0 ETH0.001032733.88965648
Exec Transaction201174102024-06-18 8:18:3513 days ago1718698715IN
0xb9A9d0f4...BA447264B
0 ETH0.000521316
Exec Transaction200672982024-06-11 8:08:5920 days ago1718093339IN
0xb9A9d0f4...BA447264B
0 ETH0.000401785.79675701
Exec Transaction200174532024-06-04 9:06:2327 days ago1717491983IN
0xb9A9d0f4...BA447264B
0 ETH0.0008689710
Exec Transaction200165892024-06-04 6:12:3527 days ago1717481555IN
0xb9A9d0f4...BA447264B
0 ETH0.000624765.81481601
Exec Transaction199828502024-05-30 13:06:3532 days ago1717074395IN
0xb9A9d0f4...BA447264B
0 ETH0.0054685622
Exec Transaction199797232024-05-30 2:36:1132 days ago1717036571IN
0xb9A9d0f4...BA447264B
0 ETH0.0012347311.4944196
Exec Transaction199797132024-05-30 2:34:1132 days ago1717036451IN
0xb9A9d0f4...BA447264B
0 ETH0.000930411.63651201
Exec Transaction199668272024-05-28 7:18:4734 days ago1716880727IN
0xb9A9d0f4...BA447264B
0 ETH0.0032487123.60485519
Exec Transaction199653302024-05-28 2:18:1134 days ago1716862691IN
0xb9A9d0f4...BA447264B
0 ETH0.0008732412
Exec Transaction199652542024-05-28 2:02:4734 days ago1716861767IN
0xb9A9d0f4...BA447264B
0 ETH0.0011246912.85907517
Exec Transaction199384642024-05-24 8:11:1138 days ago1716538271IN
0xb9A9d0f4...BA447264B
0 ETH0.0015484914.93966967
Exec Transaction199384592024-05-24 8:10:1138 days ago1716538211IN
0xb9A9d0f4...BA447264B
0 ETH0.0013495313
Exec Transaction198748502024-05-15 10:41:4747 days ago1715769707IN
0xb9A9d0f4...BA447264B
0 ETH0.001851787.18933479
Exec Transaction198674622024-05-14 9:49:2348 days ago1715680163IN
0xb9A9d0f4...BA447264B
0 ETH0.000841436.98255403
Exec Transaction198177392024-05-07 10:57:4755 days ago1715079467IN
0xb9A9d0f4...BA447264B
0 ETH0.000956149.81508029
Exec Transaction198177342024-05-07 10:56:4755 days ago1715079407IN
0xb9A9d0f4...BA447264B
0 ETH0.000780038.9778229
Exec Transaction198094982024-05-06 7:16:5956 days ago1714979819IN
0xb9A9d0f4...BA447264B
0 ETH0.000373044
Exec Transaction197674292024-04-30 10:07:4762 days ago1714471667IN
0xb9A9d0f4...BA447264B
0 ETH0.0017246716
Exec Transaction197674242024-04-30 10:06:4762 days ago1714471607IN
0xb9A9d0f4...BA447264B
0 ETH0.0036736315.52624187
Exec Transaction197239012024-04-24 7:58:5968 days ago1713945539IN
0xb9A9d0f4...BA447264B
0 ETH0.0007442810.22461471
Exec Transaction197186732024-04-23 14:25:2369 days ago1713882323IN
0xb9A9d0f4...BA447264B
0 ETH0.0026711724.7753302
Exec Transaction197186692024-04-23 14:24:3569 days ago1713882275IN
0xb9A9d0f4...BA447264B
0 ETH0.0029576624.54147672
Exec Transaction196881412024-04-19 7:57:1173 days ago1713513431IN
0xb9A9d0f4...BA447264B
0 ETH0.0013340312.82765008
Exec Transaction196672502024-04-16 9:47:4776 days ago1713260867IN
0xb9A9d0f4...BA447264B
0 ETH0.000893789.85519102
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
200672982024-06-11 8:08:5920 days ago1718093339
0xb9A9d0f4...BA447264B
0.06 ETH
199653302024-05-28 2:18:1134 days ago1716862691
0xb9A9d0f4...BA447264B
0.08 ETH
197239012024-04-24 7:58:5968 days ago1713945539
0xb9A9d0f4...BA447264B
0.5 ETH
190728732024-01-24 0:17:23159 days ago1706055443
0xb9A9d0f4...BA447264B
0.2 ETH
190241562024-01-17 4:15:47166 days ago1705464947
0xb9A9d0f4...BA447264B
0.19 ETH
187761102023-12-13 8:38:11201 days ago1702456691
0xb9A9d0f4...BA447264B
0.09 ETH
186912722023-12-01 11:29:35213 days ago1701430175
0xb9A9d0f4...BA447264B
0.17 ETH
186896242023-12-01 5:57:35213 days ago1701410255
0xb9A9d0f4...BA447264B
0.05 ETH
186317242023-11-23 3:22:59221 days ago1700709779
0xb9A9d0f4...BA447264B
0.03 ETH
183756762023-10-18 7:12:35257 days ago1697613155
0xb9A9d0f4...BA447264B
0.0083 ETH
181329532023-09-14 7:12:47291 days ago1694675567
0xb9A9d0f4...BA447264B
0.19 ETH
179822082023-08-24 4:33:59312 days ago1692851639
0xb9A9d0f4...BA447264B
0.12 ETH
175967432023-07-01 4:08:47366 days ago1688184527
0xb9A9d0f4...BA447264B
0.05 ETH
174357552023-06-08 13:01:47389 days ago1686229307
0xb9A9d0f4...BA447264B
0.11 ETH
171920552023-05-05 4:27:35423 days ago1683260855
0xb9A9d0f4...BA447264B
0.05 ETH
170583702023-04-16 8:46:23442 days ago1681634783
0xb9A9d0f4...BA447264B
0.1 ETH
170374982023-04-13 8:34:11445 days ago1681374851
0xb9A9d0f4...BA447264B
0.03 ETH
169758952023-04-04 13:44:35454 days ago1680615875
0xb9A9d0f4...BA447264B
818.27677 ETH
168372822023-03-16 1:55:47473 days ago1678931747
0xb9A9d0f4...BA447264B
0.3 ETH
167912222023-03-09 14:24:35480 days ago1678371875
0xb9A9d0f4...BA447264B
0.2 ETH
166955662023-02-24 3:32:35493 days ago1677209555
0xb9A9d0f4...BA447264B
0.12 ETH
150805972022-07-05 5:20:47727 days ago1656998447  Contract Creation0 ETH
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.