ETH Price: $2,001.79 (+0.18%)

Contract

0x58D96e9e5FdfD2A7fA5D6b349d86beBe3473Eac9
 

Overview

ETH Balance

7.556528984772021 ETH

Eth Value

$15,126.58 (@ $2,001.79/ETH)

More Info

Private Name Tags

ContractCreator

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction169559102023-04-01 17:53:591092 days ago1680371639IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0013879320.87493705
Exec Transaction169559022023-04-01 17:52:231092 days ago1680371543IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0014807421.46009424
Exec Transaction169558762023-04-01 17:47:111092 days ago1680371231IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.001501621.76999292
Exec Transaction169558672023-04-01 17:45:231092 days ago1680371123IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0013105419
Exec Transaction169558382023-04-01 17:39:351092 days ago1680370775IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0014997421.73539659
Exec Transaction169557362023-04-01 17:19:111092 days ago1680369551IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0018765327.20567066
Exec Transaction169081132023-03-26 0:43:231099 days ago1679791403IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0013946220.21892232
Exec Transaction169081042023-03-26 0:41:351099 days ago1679791295IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0012010817.41004613
Exec Transaction169079802023-03-26 0:16:351099 days ago1679789795IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0011500518.69373669
Exec Transaction145657532022-04-11 17:35:511447 days ago1649698551IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.002542636.8493427
Exec Transaction143035852022-03-01 21:36:291488 days ago1646170589IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0028723541.64285746
Exec Transaction141317542022-02-03 7:47:061515 days ago1643874426IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0 ETH0.0072946184.74624321
Transfer140255502022-01-17 21:46:021531 days ago1642455962IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
1 ETH0.00461648168.92246692
Transfer139738242022-01-09 21:42:401539 days ago1641764560IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.00344584126.08738475
Transfer139737982022-01-09 21:37:341539 days ago1641764254IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.00467336171.003826
Transfer139675272022-01-08 22:34:481540 days ago1641681288IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
6.40332849 ETH0.00285768104.56594801
Transfer139631012022-01-08 6:13:541541 days ago1641622434IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.0019522671.43569851
Transfer139587822022-01-07 14:10:551541 days ago1641564655IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.0073351268.4
Transfer139442882022-01-05 8:12:501544 days ago1641370370IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
7.8275 ETH0.00411201150.46335201
Transfer139382032022-01-04 9:25:241545 days ago1641288324IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
2.5 ETH0.0018854168.98946385
Transfer139339192022-01-03 17:49:171545 days ago1641232157IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.00379395138.82519796
Transfer139310702022-01-03 7:04:301546 days ago1641193470IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
7 ETH0.0026145895.67083214
Transfer139289282022-01-02 23:08:171546 days ago1641164897IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH0.0026289796.19734673
Transfer139289032022-01-02 23:03:031546 days ago1641164583IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
3.11 ETH0.0026240696.01770155
Transfer139288762022-01-02 22:58:051546 days ago1641164285IN
Smart Account by Safe 0x58D96e9e...e3473Eac9
10 ETH0.00348435127.49652871
View all transactions

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer169559102023-04-01 17:53:591092 days ago1680371639
Smart Account by Safe 0x58D96e9e...e3473Eac9
4.05267821 ETH
Transfer169559022023-04-01 17:52:231092 days ago1680371543
Smart Account by Safe 0x58D96e9e...e3473Eac9
7.30125419 ETH
Transfer169558762023-04-01 17:47:111092 days ago1680371231
Smart Account by Safe 0x58D96e9e...e3473Eac9
5.62450667 ETH
Transfer169558672023-04-01 17:45:231092 days ago1680371123
Smart Account by Safe 0x58D96e9e...e3473Eac9
2.00698551 ETH
Transfer169558382023-04-01 17:39:351092 days ago1680370775
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.39919833 ETH
Transfer169557362023-04-01 17:19:111092 days ago1680369551
Smart Account by Safe 0x58D96e9e...e3473Eac9
1.2 ETH
Transfer169081132023-03-26 0:43:231099 days ago1679791403
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.5 ETH
Transfer169081042023-03-26 0:41:351099 days ago1679791295
Smart Account by Safe 0x58D96e9e...e3473Eac9
7.8275 ETH
-145657532022-04-11 17:35:511447 days ago1649698551
Smart Account by Safe 0x58D96e9e...e3473Eac9
0.19675542 ETH
-143035852022-03-01 21:36:291488 days ago1646170589
Smart Account by Safe 0x58D96e9e...e3473Eac9
3.5 ETH
-141317542022-02-03 7:47:061515 days ago1643874426
Smart Account by Safe 0x58D96e9e...e3473Eac9
1.67542113 ETH
-139159262021-12-31 23:05:121548 days ago1640991912  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code (Solidity)

/**
 *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 - <richard@gnosis.io>
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 - <stefan@gnosis.io>
/// @author Richard Meissner - <richard@gnosis.io>
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 - <stefan@gnosis.pm>
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"}]

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552

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 Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.