ETH Price: $3,323.37 (+0.41%)
 
Transaction Hash
Method
Block
From
To
Transfer155407582022-09-15 18:05:11863 days ago1663265111IN
Multi-Chain Capital: Royalty Vault
500 ETH0.0006832225
Exec Transaction150790832022-07-04 23:46:27935 days ago1656978387IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0027947944.14041214
Exec Transaction150790672022-07-04 23:43:11935 days ago1656978191IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0023605338.12856815
Exec Transaction150421132022-06-28 23:15:48942 days ago1656458148IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0044313126.94478371
Transfer150158972022-06-24 1:43:57946 days ago1656035037IN
Multi-Chain Capital: Royalty Vault
0.081 ETH0.0006243622.84641367
Transfer149621552022-06-14 14:13:19956 days ago1655215999IN
Multi-Chain Capital: Royalty Vault
0.580821 ETH0.0013119948.00745598
Exec Transaction149519992022-06-12 19:54:10958 days ago1655063650IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0027135929.89854709
Exec Transaction149176262022-06-06 23:31:17964 days ago1654558277IN
Multi-Chain Capital: Royalty Vault
0 ETH0.003703959.83880813
Transfer148974372022-06-03 13:42:46967 days ago1654263766IN
Multi-Chain Capital: Royalty Vault
0.0978 ETH0.0013817150.5584425
Exec Transaction148909902022-06-02 12:30:41968 days ago1654173041IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0031009150.08740194
Transfer148373742022-05-24 19:04:44977 days ago1653419084IN
Multi-Chain Capital: Royalty Vault
0.12324 ETH0.0006745124.68121652
Exec Transaction148068732022-05-19 19:59:02982 days ago1652990342IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0039299525.4249309
Exec Transaction148068612022-05-19 19:55:42982 days ago1652990142IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0020474825.43147238
Transfer147923492022-05-17 11:46:10984 days ago1652787970IN
Multi-Chain Capital: Royalty Vault
0.072327 ETH0.0007299826.71083968
Transfer147276282022-05-07 4:06:44994 days ago1651896404IN
Multi-Chain Capital: Royalty Vault
0.0303 ETH0.0009549534.94285662
Transfer146959332022-05-02 3:23:40999 days ago1651461820IN
Multi-Chain Capital: Royalty Vault
0.04305 ETH0.0015009854.92268883
Exec Transaction146800142022-04-29 15:32:141002 days ago1651246334IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0024624339.77439611
Transfer146481112022-04-24 15:01:021007 days ago1650812462IN
Multi-Chain Capital: Royalty Vault
0.07917 ETH0.0013396649.01980909
Transfer146121172022-04-18 23:34:511013 days ago1650324891IN
Multi-Chain Capital: Royalty Vault
0.03117 ETH0.0007525727.53749215
Transfer145764432022-04-13 9:52:561018 days ago1649843576IN
Multi-Chain Capital: Royalty Vault
0.02094 ETH0.0010837639.65617556
Exec Transaction145736842022-04-12 23:11:421019 days ago1649805102IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0026620530.90387015
Exec Transaction145655752022-04-11 16:55:101020 days ago1649696110IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0040400665.25710649
Transfer145442032022-04-08 9:03:141023 days ago1649408594IN
Multi-Chain Capital: Royalty Vault
0.02739 ETH0.0012715946.5293265
Transfer145175962022-04-04 5:20:211027 days ago1649049621IN
Multi-Chain Capital: Royalty Vault
0.07347 ETH0.0012281744.94019966
Exec Transaction145150112022-04-03 19:27:021028 days ago1649014022IN
Multi-Chain Capital: Royalty Vault
0 ETH0.0030063348.56920184
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214683792024-12-23 23:12:1133 days ago1734995531
Multi-Chain Capital: Royalty Vault
0.00440519 ETH
198371452024-05-10 4:07:11260 days ago1715314031
Multi-Chain Capital: Royalty Vault
0.00204727 ETH
198371452024-05-10 4:07:11260 days ago1715314031
Multi-Chain Capital: Royalty Vault
0.0008996 ETH
191162632024-01-30 2:11:35361 days ago1706580695
Multi-Chain Capital: Royalty Vault
0.000003 ETH
169576302023-04-01 23:42:35665 days ago1680392555
Multi-Chain Capital: Royalty Vault
0.00375 ETH
169322772023-03-29 10:11:59668 days ago1680084719
Multi-Chain Capital: Royalty Vault
0.0009 ETH
168755082023-03-21 10:46:11676 days ago1679395571
Multi-Chain Capital: Royalty Vault
0.0012 ETH
168388422023-03-16 7:10:11681 days ago1678950611
Multi-Chain Capital: Royalty Vault
0.003201 ETH
168388422023-03-16 7:10:11681 days ago1678950611
Multi-Chain Capital: Royalty Vault
0.00106234 ETH
168252612023-03-14 9:21:47683 days ago1678785707
Multi-Chain Capital: Royalty Vault
0.0012 ETH
167967402023-03-10 9:05:59687 days ago1678439159
Multi-Chain Capital: Royalty Vault
0.006 ETH
167896242023-03-09 9:01:23688 days ago1678352483
Multi-Chain Capital: Royalty Vault
0.006 ETH
167812782023-03-08 4:51:35689 days ago1678251095
Multi-Chain Capital: Royalty Vault
0.006 ETH
167667132023-03-06 3:42:11691 days ago1678074131
Multi-Chain Capital: Royalty Vault
0.0024 ETH
167645582023-03-05 20:26:11692 days ago1678047971
Multi-Chain Capital: Royalty Vault
0.00426713 ETH
167645582023-03-05 20:26:11692 days ago1678047971
Multi-Chain Capital: Royalty Vault
0.00002236 ETH
167645582023-03-05 20:26:11692 days ago1678047971
Multi-Chain Capital: Royalty Vault
0.0008435 ETH
167645582023-03-05 20:26:11692 days ago1678047971
Multi-Chain Capital: Royalty Vault
0.00534804 ETH
167220482023-02-27 20:56:11698 days ago1677531371
Multi-Chain Capital: Royalty Vault
0.006 ETH
167031512023-02-25 5:12:11700 days ago1677301931
Multi-Chain Capital: Royalty Vault
0.00280744 ETH
166802852023-02-21 23:56:59703 days ago1677023819
Multi-Chain Capital: Royalty Vault
0.00456 ETH
166802822023-02-21 23:56:23703 days ago1677023783
Multi-Chain Capital: Royalty Vault
0.001 ETH
165105112023-01-29 5:52:23727 days ago1674971543
Multi-Chain Capital: Royalty Vault
0.00567 ETH
165102332023-01-29 4:56:35727 days ago1674968195
Multi-Chain Capital: Royalty Vault
0.0015 ETH
163789912023-01-10 21:06:59746 days ago1673384819
Multi-Chain Capital: Royalty Vault
0.00315 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.