ETH Price: $2,740.37 (-3.19%)

Contract

0xa77D05335D7C1a913C7708FB4f22340bE3ABEd55
 
Transaction Hash
Method
Block
From
To
Exec Transaction217928062025-02-07 6:20:473 hrs ago1738909247IN
0xa77D0533...bE3ABEd55
0 ETH0.002445211.3
Exec Transaction217926952025-02-07 5:58:354 hrs ago1738907915IN
0xa77D0533...bE3ABEd55
0 ETH0.00156841.37692438
Exec Transaction217926652025-02-07 5:52:354 hrs ago1738907555IN
0xa77D0533...bE3ABEd55
0 ETH0.00136461.3
Exec Transaction217926592025-02-07 5:51:234 hrs ago1738907483IN
0xa77D0533...bE3ABEd55
0 ETH0.0001151.36454792
Exec Transaction217926442025-02-07 5:48:234 hrs ago1738907303IN
0xa77D0533...bE3ABEd55
0 ETH0.000852421.34811485
Exec Transaction217926212025-02-07 5:43:474 hrs ago1738907027IN
0xa77D0533...bE3ABEd55
0 ETH0.000798381.3441625
Exec Transaction217926052025-02-07 5:40:354 hrs ago1738906835IN
0xa77D0533...bE3ABEd55
0 ETH0.000101131.2
Exec Transaction217925932025-02-07 5:38:114 hrs ago1738906691IN
0xa77D0533...bE3ABEd55
0 ETH0.000853761.2
Exec Transaction217878682025-02-06 13:49:5920 hrs ago1738849799IN
0xa77D0533...bE3ABEd55
0 ETH0.000211412.75988926
Exec Transaction217878632025-02-06 13:48:5920 hrs ago1738849739IN
0xa77D0533...bE3ABEd55
0 ETH0.000196662.68573697
Exec Transaction217878532025-02-06 13:46:5920 hrs ago1738849619IN
0xa77D0533...bE3ABEd55
0 ETH0.001077192.73313454
Exec Transaction217878252025-02-06 13:41:2320 hrs ago1738849283IN
0xa77D0533...bE3ABEd55
0 ETH0.000197332.34143753
Exec Transaction217877972025-02-06 13:35:4720 hrs ago1738848947IN
0xa77D0533...bE3ABEd55
0 ETH0.000235882.63507111
Exec Transaction217877842025-02-06 13:33:1120 hrs ago1738848791IN
0xa77D0533...bE3ABEd55
0 ETH0.003013022.2
Exec Transaction217877562025-02-06 13:27:3520 hrs ago1738848455IN
0xa77D0533...bE3ABEd55
0 ETH0.002917332.20990337
Exec Transaction217877482025-02-06 13:25:5920 hrs ago1738848359IN
0xa77D0533...bE3ABEd55
0 ETH0.000188222.20359853
Exec Transaction217876632025-02-06 13:08:5921 hrs ago1738847339IN
0xa77D0533...bE3ABEd55
0 ETH0.001103841.98250725
Exec Transaction217876272025-02-06 13:01:4721 hrs ago1738846907IN
0xa77D0533...bE3ABEd55
0 ETH0.00170892
Exec Transaction217876182025-02-06 12:59:5921 hrs ago1738846799IN
0xa77D0533...bE3ABEd55
0 ETH0.000162311.9
Exec Transaction217875762025-02-06 12:51:3521 hrs ago1738846295IN
0xa77D0533...bE3ABEd55
0 ETH0.000274091.91242569
Exec Transaction217875662025-02-06 12:49:3521 hrs ago1738846175IN
0xa77D0533...bE3ABEd55
0 ETH0.000099541.16514113
Exec Transaction217875572025-02-06 12:47:3521 hrs ago1738846055IN
0xa77D0533...bE3ABEd55
0 ETH0.000239671.1512949
Exec Transaction217875462025-02-06 12:45:2321 hrs ago1738845923IN
0xa77D0533...bE3ABEd55
0 ETH0.000924831.21776192
Exec Transaction217846432025-02-06 3:01:4731 hrs ago1738810907IN
0xa77D0533...bE3ABEd55
0 ETH0.000577041.09840528
Exec Transaction217846372025-02-06 3:00:3531 hrs ago1738810835IN
0xa77D0533...bE3ABEd55
0 ETH0.000934691.4
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
217808552025-02-05 14:21:3543 hrs ago1738765295
0xa77D0533...bE3ABEd55
1,082 ETH
217686382025-02-03 21:22:353 days ago1738617755
0xa77D0533...bE3ABEd55
1,592 ETH
213313122024-12-04 19:45:4764 days ago1733341547
0xa77D0533...bE3ABEd55
461.3249848 ETH
213313022024-12-04 19:43:4764 days ago1733341427
0xa77D0533...bE3ABEd55
461.3249848 ETH
213265142024-12-04 3:41:1165 days ago1733283671
0xa77D0533...bE3ABEd55
1,091.35613541 ETH
213264992024-12-04 3:38:1165 days ago1733283491
0xa77D0533...bE3ABEd55
1,091.35613541 ETH
212389142024-11-21 21:52:1177 days ago1732225931
0xa77D0533...bE3ABEd55
984 ETH
212375342024-11-21 17:15:4777 days ago1732209347
0xa77D0533...bE3ABEd55
130.38173712 ETH
212375252024-11-21 17:13:5977 days ago1732209239
0xa77D0533...bE3ABEd55
130.38173712 ETH
212374542024-11-21 16:59:4777 days ago1732208387
0xa77D0533...bE3ABEd55
712 ETH
212370042024-11-21 15:29:1177 days ago1732202951
0xa77D0533...bE3ABEd55
1,530 ETH
209438522024-10-11 17:25:11118 days ago1728667511
0xa77D0533...bE3ABEd55
174.94 ETH
209438432024-10-11 17:23:23118 days ago1728667403
0xa77D0533...bE3ABEd55
174.94 ETH
209169292024-10-07 23:19:47122 days ago1728343187
0xa77D0533...bE3ABEd55
400 ETH
209169242024-10-07 23:18:47122 days ago1728343127
0xa77D0533...bE3ABEd55
400 ETH
208873202024-10-03 20:18:23126 days ago1727986703
0xa77D0533...bE3ABEd55
300 ETH
208873162024-10-03 20:17:35126 days ago1727986655
0xa77D0533...bE3ABEd55
300 ETH
208857902024-10-03 15:09:47126 days ago1727968187
0xa77D0533...bE3ABEd55
480 ETH
208857662024-10-03 15:04:59126 days ago1727967899
0xa77D0533...bE3ABEd55
120 ETH
208857542024-10-03 15:02:35126 days ago1727967755
0xa77D0533...bE3ABEd55
600 ETH
208751522024-10-02 3:33:47128 days ago1727840027
0xa77D0533...bE3ABEd55
200 ETH
208751472024-10-02 3:32:47128 days ago1727839967
0xa77D0533...bE3ABEd55
200 ETH
208751412024-10-02 3:31:35128 days ago1727839895
0xa77D0533...bE3ABEd55
735.0784388 ETH
208751342024-10-02 3:30:11128 days ago1727839811
0xa77D0533...bE3ABEd55
735.0784388 ETH
208741302024-10-02 0:08:59128 days ago1727827739
0xa77D0533...bE3ABEd55
735.06544407 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.