ETH Price: $3,146.16 (-5.12%)
 
Transaction Hash
Method
Block
From
To
Exec Transaction201755842024-06-26 11:32:11220 days ago1719401531IN
0x49ac7E3E...7dda443fb
0 ETH0.000280613.27164578
Exec Transaction199128352024-05-20 18:12:23257 days ago1716228743IN
0x49ac7E3E...7dda443fb
0 ETH0.0018603216.09253052
Exec Transaction193915472024-03-08 16:09:47330 days ago1709914187IN
0x49ac7E3E...7dda443fb
0 ETH0.01298784132.84081403
Exec Transaction193859352024-03-07 21:19:35331 days ago1709846375IN
0x49ac7E3E...7dda443fb
0 ETH0.0082074982.71016317
Exec Transaction191561542024-02-04 16:32:23363 days ago1707064343IN
0x49ac7E3E...7dda443fb
0 ETH0.0017978423.08449645
Exec Transaction191561102024-02-04 16:23:35363 days ago1707063815IN
0x49ac7E3E...7dda443fb
0 ETH0.0023628822.35249671
Exec Transaction189197722024-01-02 12:43:23396 days ago1704199403IN
0x49ac7E3E...7dda443fb
0 ETH0.0015092720.73689405
Exec Transaction187088872023-12-03 22:38:59426 days ago1701643139IN
0x49ac7E3E...7dda443fb
0 ETH0.004682342.37458128
Exec Transaction184802342023-11-01 22:27:47458 days ago1698877667IN
0x49ac7E3E...7dda443fb
0 ETH0.0057750335.31612781
Exec Transaction183645052023-10-16 17:43:23474 days ago1697478203IN
0x49ac7E3E...7dda443fb
0 ETH0.0019384915.48092692
Exec Transaction183577292023-10-15 19:01:11475 days ago1697396471IN
0x49ac7E3E...7dda443fb
0 ETH0.000998437.97446561
Exec Transaction182982742023-10-07 11:21:23483 days ago1696677683IN
0x49ac7E3E...7dda443fb
0 ETH0.000467355.25305652
Exec Transaction173075512023-05-21 11:49:23622 days ago1684669763IN
0x49ac7E3E...7dda443fb
0 ETH0.0022537932.68078041
Exec Transaction173075282023-05-21 11:44:35622 days ago1684669475IN
0x49ac7E3E...7dda443fb
0 ETH0.002786826.80836356
Exec Transaction173075162023-05-21 11:42:11622 days ago1684669331IN
0x49ac7E3E...7dda443fb
0 ETH0.0034363228
Exec Transaction172663282023-05-15 16:21:35628 days ago1684167695IN
0x49ac7E3E...7dda443fb
0 ETH0.01598057101.45303485
Exec Transaction172661742023-05-15 15:50:23628 days ago1684165823IN
0x49ac7E3E...7dda443fb
0 ETH0.0139658390.67723567
Exec Transaction171665112023-05-01 14:16:23642 days ago1682950583IN
0x49ac7E3E...7dda443fb
0 ETH0.0088939995.82906809
Exec Transaction171664282023-05-01 13:59:23642 days ago1682949563IN
0x49ac7E3E...7dda443fb
0 ETH0.0071645777.19531568
Exec Transaction171450862023-04-28 14:01:47645 days ago1682690507IN
0x49ac7E3E...7dda443fb
0 ETH0.0053959259.03827151
Exec Transaction171450112023-04-28 13:46:35645 days ago1682689595IN
0x49ac7E3E...7dda443fb
0 ETH0.0107232741.75161862
Exec Transaction170809392023-04-19 13:27:35654 days ago1681910855IN
0x49ac7E3E...7dda443fb
0 ETH0.0082357465.9724804
Exec Transaction170809172023-04-19 13:23:11654 days ago1681910591IN
0x49ac7E3E...7dda443fb
0 ETH0.0219116371.65865065
Exec Transaction170809002023-04-19 13:19:47654 days ago1681910387IN
0x49ac7E3E...7dda443fb
0 ETH0.0060908666.5820675
Exec Transaction170532042023-04-15 15:11:35658 days ago1681571495IN
0x49ac7E3E...7dda443fb
0 ETH0.0018983527.13367931
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
204408112024-08-02 12:18:35183 days ago1722601115
0x49ac7E3E...7dda443fb
0.00038 ETH
193915472024-03-08 16:09:47330 days ago1709914187
0x49ac7E3E...7dda443fb
0.0042544 ETH
189405542024-01-05 10:43:23393 days ago1704451403
0x49ac7E3E...7dda443fb
0.00038 ETH
189197722024-01-02 12:43:23396 days ago1704199403
0x49ac7E3E...7dda443fb
0.04429376 ETH
173075512023-05-21 11:49:23622 days ago1684669763
0x49ac7E3E...7dda443fb
0.1 ETH
169553962023-04-01 16:10:47672 days ago1680365447
0x49ac7E3E...7dda443fb
0.05 ETH
167757222023-03-07 10:05:59697 days ago1678183559
0x49ac7E3E...7dda443fb
0.0545 ETH
167757092023-03-07 10:03:23697 days ago1678183403
0x49ac7E3E...7dda443fb
0.0545 ETH
167533172023-03-04 6:30:23700 days ago1677911423
0x49ac7E3E...7dda443fb
0.00027618 ETH
167430932023-03-02 19:59:23702 days ago1677787163
0x49ac7E3E...7dda443fb
3.258 ETH
167353452023-03-01 17:47:11703 days ago1677692831
0x49ac7E3E...7dda443fb
0.5388 ETH
167074102023-02-25 19:37:11707 days ago1677353831
0x49ac7E3E...7dda443fb
0.485 ETH
166833772023-02-22 10:24:59710 days ago1677061499
0x49ac7E3E...7dda443fb
0.00024711 ETH
166233432023-02-14 0:13:47719 days ago1676333627
0x49ac7E3E...7dda443fb
0.00052761 ETH
166113762023-02-12 8:06:35720 days ago1676189195
0x49ac7E3E...7dda443fb
0.00024711 ETH
165644892023-02-05 18:51:35727 days ago1675623095
0x49ac7E3E...7dda443fb
0.00024711 ETH
165215882023-01-30 18:59:47733 days ago1675105187
0x49ac7E3E...7dda443fb
0.00024711 ETH
164988622023-01-27 14:51:23736 days ago1674831083
0x49ac7E3E...7dda443fb
0.23097 ETH
163489032023-01-06 16:21:47757 days ago1673022107
0x49ac7E3E...7dda443fb
2.25 ETH
163488862023-01-06 16:18:23757 days ago1673021903
0x49ac7E3E...7dda443fb
0.181 ETH
163488742023-01-06 16:15:59757 days ago1673021759
0x49ac7E3E...7dda443fb
3.7 ETH
162211512022-12-19 20:31:59775 days ago1671481919
0x49ac7E3E...7dda443fb
0.089 ETH
161627422022-12-11 16:44:23783 days ago1670777063
0x49ac7E3E...7dda443fb
0.002 ETH
158914482022-11-03 19:02:47821 days ago1667502167
0x49ac7E3E...7dda443fb
0.3 ETH
158913102022-11-03 18:34:47821 days ago1667500487
0x49ac7E3E...7dda443fb
0.01 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.