ETH Price: $3,164.40 (+1.42%)
Gas: 1 Gwei

Contract

0x84405e4681C796344a30720E2DA24A7f9aFc9CF2
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction202113942024-07-01 11:32:5912 days ago1719833579IN
0x84405e46...f9aFc9CF2
0 ETH0.001143348
Exec Transaction200700162024-06-11 17:15:5932 days ago1718126159IN
0x84405e46...f9aFc9CF2
0 ETH0.0020655621.39193889
Exec Transaction200459712024-06-08 8:39:1135 days ago1717835951IN
0x84405e46...f9aFc9CF2
0 ETH0.000579496
Exec Transaction200102482024-06-03 8:57:2340 days ago1717405043IN
0x84405e46...f9aFc9CF2
0 ETH0.0021041618
Exec Transaction200101872024-06-03 8:44:5940 days ago1717404299IN
0x84405e46...f9aFc9CF2
0 ETH0.001366389.56145616
Exec Transaction197750702024-05-01 11:46:2373 days ago1714563983IN
0x84405e46...f9aFc9CF2
0 ETH0.001049867.58638369
Exec Transaction197750612024-05-01 11:44:3573 days ago1714563875IN
0x84405e46...f9aFc9CF2
0 ETH0.0010035210
Exec Transaction197750492024-05-01 11:42:1173 days ago1714563731IN
0x84405e46...f9aFc9CF2
0 ETH0.001143448
Exec Transaction195673952024-04-02 10:02:23102 days ago1712052143IN
0x84405e46...f9aFc9CF2
0 ETH0.0047530433.25712219
Exec Transaction195673812024-04-02 9:59:35102 days ago1712051975IN
0x84405e46...f9aFc9CF2
0 ETH0.0028837928.72990116
Exec Transaction195673772024-04-02 9:58:47102 days ago1712051927IN
0x84405e46...f9aFc9CF2
0 ETH0.0041446229
Exec Transaction193399392024-03-01 11:10:23134 days ago1709291423IN
0x84405e46...f9aFc9CF2
0 ETH0.0042994544.52167118
Exec Transaction193399272024-03-01 11:07:59134 days ago1709291279IN
0x84405e46...f9aFc9CF2
0 ETH0.0066084846.23578948
Exec Transaction191403472024-02-02 11:14:59162 days ago1706872499IN
0x84405e46...f9aFc9CF2
0 ETH0.0030135621.08422922
Exec Transaction189317792024-01-04 5:06:59191 days ago1704344819IN
0x84405e46...f9aFc9CF2
0 ETH0.0013985814
Exec Transaction189263982024-01-03 11:00:11192 days ago1704279611IN
0x84405e46...f9aFc9CF2
0 ETH0.0026980718.87692475
Exec Transaction184915892023-11-03 12:39:23253 days ago1699015163IN
0x84405e46...f9aFc9CF2
0 ETH0.0022750722.76279388
Exec Transaction184915852023-11-03 12:38:35253 days ago1699015115IN
0x84405e46...f9aFc9CF2
0 ETH0.0034156223.89718099
Exec Transaction182628212023-10-02 12:23:11285 days ago1696249391IN
0x84405e46...f9aFc9CF2
0 ETH0.0007390612.44258077
Exec Transaction182627332023-10-02 12:05:35285 days ago1696248335IN
0x84405e46...f9aFc9CF2
0 ETH0.0019465413.6188592
Exec Transaction182618012023-10-02 8:58:11285 days ago1696237091IN
0x84405e46...f9aFc9CF2
0 ETH0.0010477710.48331414
Exec Transaction180426522023-09-01 15:39:35316 days ago1693582775IN
0x84405e46...f9aFc9CF2
0 ETH0.0059934538.38021374
Exec Transaction180426422023-09-01 15:37:35316 days ago1693582655IN
0x84405e46...f9aFc9CF2
0 ETH0.0022906737
Exec Transaction180412302023-09-01 10:53:11316 days ago1693565591IN
0x84405e46...f9aFc9CF2
0 ETH0.0031913812.11801603
Exec Transaction180412152023-09-01 10:50:11316 days ago1693565411IN
0x84405e46...f9aFc9CF2
0 ETH0.0012914512.92448118
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
182628212023-10-02 12:23:11285 days ago1696249391
0x84405e46...f9aFc9CF2
0.05 ETH
180426422023-09-01 15:37:35316 days ago1693582655
0x84405e46...f9aFc9CF2
0.132 ETH
171719092023-05-02 8:28:59438 days ago1683016139
0x84405e46...f9aFc9CF2
0.055893 ETH
167397112023-03-02 8:31:35499 days ago1677745895
0x84405e46...f9aFc9CF2
0.297 ETH
167345582023-03-01 15:08:11500 days ago1677683291
0x84405e46...f9aFc9CF2
0.29176879 ETH
163189652023-01-02 12:03:23558 days ago1672661003
0x84405e46...f9aFc9CF2
0.278303 ETH
163189582023-01-02 12:01:59558 days ago1672660919
0x84405e46...f9aFc9CF2
0.278303 ETH
160898002022-12-01 11:56:59590 days ago1669895819
0x84405e46...f9aFc9CF2
0.0803 ETH
160897672022-12-01 11:50:23590 days ago1669895423
0x84405e46...f9aFc9CF2
0.0803 ETH
158815672022-11-02 9:53:23619 days ago1667382803
0x84405e46...f9aFc9CF2
0.0921 ETH
158815572022-11-02 9:51:23619 days ago1667382683
0x84405e46...f9aFc9CF2
0.0921 ETH
156671472022-10-03 10:52:11649 days ago1664794331
0x84405e46...f9aFc9CF2
0.1639 ETH
156671422022-10-03 10:50:59649 days ago1664794259
0x84405e46...f9aFc9CF2
0.1639 ETH
156671242022-10-03 10:47:23649 days ago1664794043
0x84405e46...f9aFc9CF2
0.1639 ETH
154582362022-09-02 9:01:02680 days ago1662109262
0x84405e46...f9aFc9CF2
0.203066 ETH
154531592022-09-01 13:33:02681 days ago1662039182
0x84405e46...f9aFc9CF2
0.203066 ETH
154531552022-09-01 13:32:31681 days ago1662039151
0x84405e46...f9aFc9CF2
0.203066 ETH
152668172022-08-03 2:20:30710 days ago1659493230
0x84405e46...f9aFc9CF2
0.097319 ETH
150766552022-07-04 14:46:29740 days ago1656945989
0x84405e46...f9aFc9CF2
0.00918318 ETH
150766552022-07-04 14:46:29740 days ago1656945989
0x84405e46...f9aFc9CF2
0.10101506 ETH
150764682022-07-04 14:04:42740 days ago1656943482  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.