ETH Price: $3,258.15 (+0.66%)

Contract

0x890Ef76cb4286Ce20F2AAEc98Fb55009434c487D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction181444882023-09-15 22:12:11483 days ago1694815931IN
0x890Ef76c...9434c487D
0 ETH0.0009527316.03345433
Exec Transaction181444792023-09-15 22:10:23483 days ago1694815823IN
0x890Ef76c...9434c487D
0 ETH0.0007625314
Exec Transaction169855702023-04-05 22:41:11646 days ago1680734471IN
0x890Ef76c...9434c487D
0 ETH0.0017135327.67788016
Exec Transaction169855432023-04-05 22:35:47646 days ago1680734147IN
0x890Ef76c...9434c487D
0 ETH0.0027272727.29045003
Transfer169350692023-03-29 19:39:47653 days ago1680118787IN
0x890Ef76c...9434c487D
8.30564784 ETH0.0009344234.19176335
Exec Transaction169210632023-03-27 20:22:35655 days ago1679948555IN
0x890Ef76c...9434c487D
0 ETH0.0062004771.35345103
Exec Transaction166297592023-02-14 21:46:35696 days ago1676411195IN
0x890Ef76c...9434c487D
0 ETH0.0064323577.65258566
Exec Transaction166296892023-02-14 21:32:35696 days ago1676410355IN
0x890Ef76c...9434c487D
0 ETH0.006580879.43324425
Exec Transaction166296692023-02-14 21:28:35696 days ago1676410115IN
0x890Ef76c...9434c487D
0 ETH0.0078948679
Exec Transaction166296312023-02-14 21:20:59696 days ago1676409659IN
0x890Ef76c...9434c487D
0 ETH0.0050267892
Exec Transaction166296202023-02-14 21:18:47696 days ago1676409527IN
0x890Ef76c...9434c487D
0 ETH0.0039481987.10086508
Exec Transaction166296142023-02-14 21:17:35696 days ago1676409455IN
0x890Ef76c...9434c487D
0 ETH0.0045400283.35361487
Exec Transaction166295662023-02-14 21:07:59696 days ago1676408879IN
0x890Ef76c...9434c487D
0 ETH0.0075379891
Exec Transaction165577422023-02-04 20:15:47706 days ago1675541747IN
0x890Ef76c...9434c487D
0 ETH0.0028356128.37119535
Exec Transaction165312052023-02-01 3:12:23709 days ago1675221143IN
0x890Ef76c...9434c487D
0 ETH0.0017923217.93277457
Exec Transaction165018212023-01-28 0:47:11714 days ago1674866831IN
0x890Ef76c...9434c487D
0 ETH0.0019191615.6335028
Exec Transaction165018062023-01-28 0:44:11714 days ago1674866651IN
0x890Ef76c...9434c487D
0 ETH0.001242715
Exec Transaction165018002023-01-28 0:42:47714 days ago1674866567IN
0x890Ef76c...9434c487D
0 ETH0.000782614.36834959
Exec Transaction164501672023-01-20 19:40:47721 days ago1674243647IN
0x890Ef76c...9434c487D
0 ETH0.0017864121.56282294
Exec Transaction163507672023-01-06 22:36:11735 days ago1673044571IN
0x890Ef76c...9434c487D
0 ETH0.0019144319.15449999
Exec Transaction163507572023-01-06 22:34:11735 days ago1673044451IN
0x890Ef76c...9434c487D
0 ETH0.0018998319.01294793
Exec Transaction163507492023-01-06 22:32:35735 days ago1673044355IN
0x890Ef76c...9434c487D
0 ETH0.0019453419.4660579
Exec Transaction161213122022-12-05 21:36:47767 days ago1670276207IN
0x890Ef76c...9434c487D
0 ETH0.0012865612.87706383
Exec Transaction159999642022-11-18 22:44:35784 days ago1668811475IN
0x890Ef76c...9434c487D
0 ETH0.0010766913
Exec Transaction159999582022-11-18 22:43:23784 days ago1668811403IN
0x890Ef76c...9434c487D
0 ETH0.0009111811
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
181444882023-09-15 22:12:11483 days ago1694815931
0x890Ef76c...9434c487D
6.13197319 ETH
169855702023-04-05 22:41:11646 days ago1680734471
0x890Ef76c...9434c487D
2.63 ETH
169210632023-03-27 20:22:35655 days ago1679948555
0x890Ef76c...9434c487D
0.01 ETH
159347292022-11-09 20:04:23793 days ago1668024263
0x890Ef76c...9434c487D
3.5 ETH
155351662022-09-14 21:30:28849 days ago1663191028
0x890Ef76c...9434c487D
49 ETH
155351222022-09-14 21:22:33849 days ago1663190553
0x890Ef76c...9434c487D
1 ETH
151824952022-07-20 23:37:36905 days ago1658360256
0x890Ef76c...9434c487D
1.1 ETH
151680852022-07-18 17:49:18907 days ago1658166558
0x890Ef76c...9434c487D
34 ETH
151029432022-07-08 16:19:00917 days ago1657297140
0x890Ef76c...9434c487D
41 ETH
151029152022-07-08 16:13:40917 days ago1657296820
0x890Ef76c...9434c487D
40 ETH
149875672022-06-18 23:04:45937 days ago1655593485
0x890Ef76c...9434c487D
1 ETH
149698352022-06-15 22:04:05940 days ago1655330645
0x890Ef76c...9434c487D
43 ETH
149585332022-06-13 22:56:08942 days ago1655160968
0x890Ef76c...9434c487D
75 ETH
149278272022-06-08 16:58:39947 days ago1654707519
0x890Ef76c...9434c487D
10 ETH
149278022022-06-08 16:53:21947 days ago1654707201
0x890Ef76c...9434c487D
5.66 ETH
149249432022-06-08 5:19:43947 days ago1654665583
0x890Ef76c...9434c487D
20 ETH
148996642022-06-03 22:20:56952 days ago1654294856
0x890Ef76c...9434c487D
1.136 ETH
148996432022-06-03 22:16:36952 days ago1654294596
0x890Ef76c...9434c487D
4.6 ETH
148678762022-05-29 17:56:37957 days ago1653846997
0x890Ef76c...9434c487D
5 ETH
148580302022-05-28 3:52:27958 days ago1653709947
0x890Ef76c...9434c487D
2.9 ETH
148310442022-05-23 18:10:02963 days ago1653329402
0x890Ef76c...9434c487D
1 ETH
148120372022-05-20 16:05:43966 days ago1653062743
0x890Ef76c...9434c487D
149.85014985 ETH
148066602022-05-19 19:11:59967 days ago1652987519
0x890Ef76c...9434c487D
148.957 ETH
141168522022-02-01 0:19:001075 days ago1643674740
0x890Ef76c...9434c487D
7 ETH
140852142022-01-27 3:19:271079 days ago1643253567
0x890Ef76c...9434c487D
2.5 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.