ETH Price: $3,700.70 (+4.38%)

Contract

0xA1086e97A0a2B354d33469A7238D9eE1e3B3dc01
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Exec Transaction199476102024-05-25 14:52:59188 days ago1716648779IN
0xA1086e97...1e3B3dc01
0 ETH0.0010200411
Exec Transaction198329122024-05-09 13:53:23204 days ago1715262803IN
0xA1086e97...1e3B3dc01
0 ETH0.000378433.88115638
Exec Transaction196721502024-04-17 2:16:47227 days ago1713320207IN
0xA1086e97...1e3B3dc01
0 ETH0.000911929
Exec Transaction196409172024-04-12 17:08:47231 days ago1712941727IN
0xA1086e97...1e3B3dc01
0 ETH0.0030040429.65117252
Exec Transaction195691052024-04-02 15:50:11241 days ago1712073011IN
0xA1086e97...1e3B3dc01
0 ETH0.0066284765.42568674
Exec Transaction194700922024-03-19 16:50:35255 days ago1710867035IN
0xA1086e97...1e3B3dc01
0 ETH0.0040957942
Exec Transaction193758092024-03-06 11:23:35268 days ago1709724215IN
0xA1086e97...1e3B3dc01
0 ETH0.0075641874.6438242
Exec Transaction192821692024-02-22 9:08:23281 days ago1708592903IN
0xA1086e97...1e3B3dc01
0 ETH0.0032643132.21249396
Exec Transaction191697012024-02-06 14:10:47297 days ago1707228647IN
0xA1086e97...1e3B3dc01
0 ETH0.0036563737.49394734
Exec Transaction188927462023-12-29 17:33:59336 days ago1703871239IN
0xA1086e97...1e3B3dc01
0 ETH0.0027859127.87723043
Exec Transaction188438532023-12-22 20:46:35343 days ago1703277995IN
0xA1086e97...1e3B3dc01
0 ETH0.0025598125.61172079
Exec Transaction188438032023-12-22 20:36:35343 days ago1703277395IN
0xA1086e97...1e3B3dc01
0 ETH0.0021801227.105545
Exec Transaction187856262023-12-14 16:40:11351 days ago1702572011IN
0xA1086e97...1e3B3dc01
0 ETH0.0033383136
Exec Transaction187217792023-12-05 17:57:59360 days ago1701799079IN
0xA1086e97...1e3B3dc01
0 ETH0.0083209785.32672998
Exec Transaction187217702023-12-05 17:56:11360 days ago1701798971IN
0xA1086e97...1e3B3dc01
0 ETH0.0079965582
Exec Transaction185017882023-11-04 22:57:23391 days ago1699138643IN
0xA1086e97...1e3B3dc01
0 ETH0.0018047318.06130097
Exec Transaction184917652023-11-03 13:15:11392 days ago1699017311IN
0xA1086e97...1e3B3dc01
0 ETH0.0024983725
Exec Transaction182782962023-10-04 16:17:47422 days ago1696436267IN
0xA1086e97...1e3B3dc01
0 ETH0.0009867615.93872049
Exec Transaction182721192023-10-03 19:34:47423 days ago1696361687IN
0xA1086e97...1e3B3dc01
0 ETH0.0019193719.20858428
Transfer182716992023-10-03 18:10:35423 days ago1696356635IN
0xA1086e97...1e3B3dc01
0.12 ETH0.0007989429.23431073
Transfer182648202023-10-02 19:04:35424 days ago1696273475IN
0xA1086e97...1e3B3dc01
0.11808025 ETH0.0017237663.07466877
Transfer181980802023-09-23 10:59:35433 days ago1695466775IN
0xA1086e97...1e3B3dc01
0.171 ETH0.000207487.59213004
Exec Transaction180919562023-09-08 13:20:23448 days ago1694179223IN
0xA1086e97...1e3B3dc01
0 ETH0.0019730511
Exec Transaction180129712023-08-28 11:53:23459 days ago1693223603IN
0xA1086e97...1e3B3dc01
0 ETH0.0017114517.9898027
Exec Transaction179868432023-08-24 20:08:35463 days ago1692907715IN
0xA1086e97...1e3B3dc01
0 ETH0.0019869220.37473819
View all transactions

Latest 19 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
193349502024-02-29 18:27:23274 days ago1709231243
0xA1086e97...1e3B3dc01
0.014498 ETH
182782962023-10-04 16:17:47422 days ago1696436267
0xA1086e97...1e3B3dc01
0.245 ETH
182194522023-09-26 10:47:35430 days ago1695725255
0xA1086e97...1e3B3dc01
0.065 ETH
182194522023-09-26 10:47:35430 days ago1695725255
0xA1086e97...1e3B3dc01
0.1 ETH
179853922023-08-24 15:15:35463 days ago1692890135
0xA1086e97...1e3B3dc01
0.20869624 ETH
176367132023-07-06 18:55:23512 days ago1688669723
0xA1086e97...1e3B3dc01
0.214114 ETH
175374522023-06-22 20:11:47526 days ago1687464707
0xA1086e97...1e3B3dc01
0.5 ETH
173383362023-05-25 19:48:59554 days ago1685044139
0xA1086e97...1e3B3dc01
1 ETH
173383182023-05-25 19:45:23554 days ago1685043923
0xA1086e97...1e3B3dc01
1.09949492 ETH
172808202023-05-17 17:28:59562 days ago1684344539
0xA1086e97...1e3B3dc01
0.1 ETH
171473432023-04-28 21:36:47581 days ago1682717807
0xA1086e97...1e3B3dc01
0.7 ETH
171473252023-04-28 21:33:11581 days ago1682717591
0xA1086e97...1e3B3dc01
0.38854241 ETH
169778572023-04-04 20:25:11605 days ago1680639911
0xA1086e97...1e3B3dc01
0.5 ETH
169778472023-04-04 20:23:11605 days ago1680639791
0xA1086e97...1e3B3dc01
0.22 ETH
169333492023-03-29 13:49:23611 days ago1680097763
0xA1086e97...1e3B3dc01
0.22 ETH
169333232023-03-29 13:43:59611 days ago1680097439
0xA1086e97...1e3B3dc01
0.22 ETH
161392812022-12-08 10:05:23722 days ago1670493923
0xA1086e97...1e3B3dc01
0.05 ETH
161392812022-12-08 10:05:23722 days ago1670493923
0xA1086e97...1e3B3dc01
0.05 ETH
150177832022-06-24 10:14:59889 days ago1656065699  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.