ETH Price: $2,600.19 (-1.46%)

Contract

0xd14E55212b568cF50F14AB8eBDe0a11f2544D090
 

Overview

ETH Balance

0.0214811896600588 ETH

Eth Value

$55.86 (@ $2,600.19/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction162397192022-12-22 10:42:47780 days ago1671705767IN
0xd14E5521...f2544D090
0 ETH0.000758611
Exec Transaction162396922022-12-22 10:37:23780 days ago1671705443IN
0xd14E5521...f2544D090
0 ETH0.0008078211.71173097
Exec Transaction162396702022-12-22 10:32:59780 days ago1671705179IN
0xd14E5521...f2544D090
0 ETH0.000882312.79147425
Exec Transaction162396552022-12-22 10:29:59780 days ago1671704999IN
0xd14E5521...f2544D090
0 ETH0.0008558312.40778423
Exec Transaction162396452022-12-22 10:27:59780 days ago1671704879IN
0xd14E5521...f2544D090
0 ETH0.0007997611.59490191
Exec Transaction162396372022-12-22 10:26:23780 days ago1671704783IN
0xd14E5521...f2544D090
0 ETH0.0008965313
Exec Transaction162396292022-12-22 10:24:47780 days ago1671704687IN
0xd14E5521...f2544D090
0 ETH0.0008238411.94191891
Exec Transaction162396232022-12-22 10:23:35780 days ago1671704615IN
0xd14E5521...f2544D090
0 ETH0.0008226911.93147276
Exec Transaction162396162022-12-22 10:22:11780 days ago1671704531IN
0xd14E5521...f2544D090
0 ETH0.0008613512.49208843
Exec Transaction162396072022-12-22 10:20:23780 days ago1671704423IN
0xd14E5521...f2544D090
0 ETH0.000829212.01955905
Exec Transaction162396022022-12-22 10:19:23780 days ago1671704363IN
0xd14E5521...f2544D090
0 ETH0.0007588611
Exec Transaction162395912022-12-22 10:17:11780 days ago1671704231IN
0xd14E5521...f2544D090
0 ETH0.0008497312.31921914
Exec Transaction162395682022-12-22 10:12:35780 days ago1671703955IN
0xd14E5521...f2544D090
0 ETH0.0008211811.90740838
Exec Transaction162395632022-12-22 10:11:35780 days ago1671703895IN
0xd14E5521...f2544D090
0 ETH0.0013329112
Transfer162178792022-12-19 9:34:59783 days ago1671442499IN
0xd14E5521...f2544D090
0.09709832 ETH0.0003526512.90406959

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
162397192022-12-22 10:42:47780 days ago1671705767
0xd14E5521...f2544D090
0.03 ETH
162396982022-12-22 10:38:35780 days ago1671705515
0xd14E5521...f2544D090
0.00328561 ETH
162396982022-12-22 10:38:35780 days ago1671705515
0xd14E5521...f2544D090
0.00328512 ETH
162396922022-12-22 10:37:23780 days ago1671705443
0xd14E5521...f2544D090
0.00324901 ETH
162396702022-12-22 10:32:59780 days ago1671705179
0xd14E5521...f2544D090
0.00248158 ETH
162396552022-12-22 10:29:59780 days ago1671704999
0xd14E5521...f2544D090
0.00312582 ETH
162396452022-12-22 10:27:59780 days ago1671704879
0xd14E5521...f2544D090
0.00291587 ETH
162396372022-12-22 10:26:23780 days ago1671704783
0xd14E5521...f2544D090
0.00329657 ETH
162396292022-12-22 10:24:47780 days ago1671704687
0xd14E5521...f2544D090
0.00291259 ETH
162396232022-12-22 10:23:35780 days ago1671704615
0xd14E5521...f2544D090
0.00281275 ETH
162396162022-12-22 10:22:11780 days ago1671704531
0xd14E5521...f2544D090
0.00293591 ETH
162396072022-12-22 10:20:23780 days ago1671704423
0xd14E5521...f2544D090
0.00325715 ETH
162396022022-12-22 10:19:23780 days ago1671704363
0xd14E5521...f2544D090
0.00285197 ETH
162395912022-12-22 10:17:11780 days ago1671704231
0xd14E5521...f2544D090
0.00312941 ETH
162395682022-12-22 10:12:35780 days ago1671703955
0xd14E5521...f2544D090
0.00312487 ETH
162395632022-12-22 10:11:35780 days ago1671703895
0xd14E5521...f2544D090
0.00295283 ETH
162174362022-12-19 8:05:59783 days ago1671437159  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.