ETH Price: $3,285.41 (-2.29%)
 
Transaction Hash
Method
Block
From
To
Exec Transaction190024832024-01-14 3:36:35360 days ago1705203395IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0376303420.01255425
Exec Transaction190024772024-01-14 3:35:23360 days ago1705203323IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0020691221.28772912
Exec Transaction185883132023-11-17 1:26:35418 days ago1700184395IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0016715727
Exec Transaction182939362023-10-06 20:46:47460 days ago1696625207IN
ENS Nameberlin.brightmoments.eth
0 ETH0.000538638.70199668
Exec Transaction180925082023-09-08 15:12:11488 days ago1694185931IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0016042417.97893704
Exec Transaction180787412023-09-06 16:58:11490 days ago1694019491IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0017057325.54759815
Exec Transaction180694642023-09-05 9:44:47491 days ago1693907087IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0007828911.0535742
Exec Transaction180689982023-09-05 8:10:35491 days ago1693901435IN
ENS Nameberlin.brightmoments.eth
0 ETH0.000807513.1282951
Exec Transaction180645282023-09-04 17:12:35492 days ago1693847555IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0016940922.94430678
Exec Transaction180434812023-09-01 18:26:23495 days ago1693592783IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0023036125.6267991
Transfer179897672023-08-25 5:57:11502 days ago1692943031IN
ENS Nameberlin.brightmoments.eth
0.035 ETH0.0008448630.91451921
Exec Transaction179764592023-08-23 9:17:47504 days ago1692782267IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0019656317.73698263
Exec Transaction179764542023-08-23 9:16:47504 days ago1692782207IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0020998218.94791594
Exec Transaction179149482023-08-14 18:42:11513 days ago1692038531IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0047631929.86532272
Exec Transaction178715492023-08-08 16:59:35519 days ago1691513975IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0029014332.27296153
Exec Transaction176928162023-07-14 16:14:35544 days ago1689351275IN
ENS Nameberlin.brightmoments.eth
0 ETH0.010211160.61405602
Exec Transaction176927922023-07-14 16:09:47544 days ago1689350987IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0036859650.0144129
Exec Transaction175787392023-06-28 15:33:59560 days ago1687966439IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0039655844.11553568
Exec Transaction175787352023-06-28 15:33:11560 days ago1687966391IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0029532740.07263909
Exec Transaction173927172023-06-02 11:19:59586 days ago1685704799IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0021495229.53863514
Exec Transaction173927002023-06-02 11:16:35586 days ago1685704595IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0021880830.0684722
Exec Transaction171778362023-05-03 4:29:11616 days ago1683088151IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0050849169.86505037
Exec Transaction171774832023-05-03 3:17:59616 days ago1683083879IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0062719286.17417276
Exec Transaction171454722023-04-28 15:19:47621 days ago1682695187IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0036974239.45135912
Exec Transaction170094522023-04-09 8:04:59640 days ago1681027499IN
ENS Nameberlin.brightmoments.eth
0 ETH0.0038171121.34937764
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
190024772024-01-14 3:35:23360 days ago1705203323
ENS Nameberlin.brightmoments.eth
3.69 ETH
186937862023-12-01 19:56:11404 days ago1701460571
ENS Nameberlin.brightmoments.eth
2 ETH
185883132023-11-17 1:26:35418 days ago1700184395
ENS Nameberlin.brightmoments.eth
2 ETH
185738602023-11-15 0:56:35420 days ago1700009795
ENS Nameberlin.brightmoments.eth
2 ETH
182939362023-10-06 20:46:47460 days ago1696625207
ENS Nameberlin.brightmoments.eth
5 ETH
182930062023-10-06 17:39:47460 days ago1696613987
ENS Nameberlin.brightmoments.eth
2 ETH
180715562023-09-05 16:46:11491 days ago1693932371
ENS Nameberlin.brightmoments.eth
3 ETH
178802472023-08-09 22:13:11517 days ago1691619191
ENS Nameberlin.brightmoments.eth
0.8654 ETH
176928162023-07-14 16:14:35544 days ago1689351275
ENS Nameberlin.brightmoments.eth
2 ETH
176927922023-07-14 16:09:47544 days ago1689350987
ENS Nameberlin.brightmoments.eth
2 ETH
175787352023-06-28 15:33:11560 days ago1687966391
ENS Nameberlin.brightmoments.eth
2 ETH
173927172023-06-02 11:19:59586 days ago1685704799
ENS Nameberlin.brightmoments.eth
1 ETH
173927002023-06-02 11:16:35586 days ago1685704595
ENS Nameberlin.brightmoments.eth
1 ETH
173821942023-05-31 23:45:47587 days ago1685576747
ENS Nameberlin.brightmoments.eth
2 ETH
171778362023-05-03 4:29:11616 days ago1683088151
ENS Nameberlin.brightmoments.eth
1 ETH
171774832023-05-03 3:17:59616 days ago1683083879
ENS Nameberlin.brightmoments.eth
1 ETH
171566772023-04-30 5:07:11619 days ago1682831231
ENS Nameberlin.brightmoments.eth
2 ETH
170094522023-04-09 8:04:59640 days ago1681027499
ENS Nameberlin.brightmoments.eth
5.5 ETH
170077962023-04-09 2:26:47640 days ago1681007207
ENS Nameberlin.brightmoments.eth
1.36 ETH
170077932023-04-09 2:26:11640 days ago1681007171
ENS Nameberlin.brightmoments.eth
6.5056 ETH
169829002023-04-05 13:33:23644 days ago1680701603
ENS Nameberlin.brightmoments.eth
1 ETH
169828892023-04-05 13:31:11644 days ago1680701471
ENS Nameberlin.brightmoments.eth
1 ETH
169499102023-03-31 21:40:11649 days ago1680298811
ENS Nameberlin.brightmoments.eth
2 ETH
168911242023-03-23 15:28:11657 days ago1679585291
ENS Nameberlin.brightmoments.eth
2.1 ETH
168890642023-03-23 8:30:11657 days ago1679560211
ENS Nameberlin.brightmoments.eth
2 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.