ETH Price: $3,457.95 (-0.73%)
Gas: 2 Gwei

Contract

0x27387a61e52196aA4dbD0e8a8dE1dDFc0936c86B
 
Transaction Hash
Method
Block
From
To
Value
Exec Transaction201922502024-06-28 19:23:233 days ago1719602603IN
0x27387a61...c0936c86B
0 ETH0.000309495
Exec Transaction196654442024-04-16 3:43:4777 days ago1713239027IN
0x27387a61...c0936c86B
0 ETH0.0006210.01454497
Transfer194169152024-03-12 5:28:47111 days ago1710221327IN
0x27387a61...c0936c86B
3.07032393 ETH0.0013298448.66062854
Exec Transaction194167162024-03-12 4:48:59111 days ago1710218939IN
0x27387a61...c0936c86B
0 ETH0.0026734545
Exec Transaction194166122024-03-12 4:28:11112 days ago1710217691IN
0x27387a61...c0936c86B
0 ETH0.0028299347.63406207
Exec Transaction194095632024-03-11 4:47:11112 days ago1710132431IN
0x27387a61...c0936c86B
0 ETH0.0026631643
Exec Transaction194095092024-03-11 4:36:23113 days ago1710131783IN
0x27387a61...c0936c86B
0 ETH0.0039294244.31265871
Exec Transaction193170412024-02-27 6:16:47125 days ago1709014607IN
0x27387a61...c0936c86B
0 ETH0.0044906841.15247476
Exec Transaction193170032024-02-27 6:09:11125 days ago1709014151IN
0x27387a61...c0936c86B
0 ETH0.0063564738.8951238
Exec Transaction191984642024-02-10 15:03:11142 days ago1707577391IN
0x27387a61...c0936c86B
0 ETH0.001695628.54066885
Exec Transaction191398972024-02-02 9:44:11150 days ago1706867051IN
0x27387a61...c0936c86B
0 ETH0.002922149.18545612
Exec Transaction185330442023-11-09 7:58:11235 days ago1699516691IN
0x27387a61...c0936c86B
0 ETH0.0018891930.51513706
Exec Transaction179355942023-08-17 16:01:11319 days ago1692288071IN
0x27387a61...c0936c86B
0 ETH0.0081822181.8753936
Exec Transaction177861052023-07-27 18:10:47340 days ago1690481447IN
0x27387a61...c0936c86B
0 ETH0.0029033546.88732775
Exec Transaction177860932023-07-27 18:08:23340 days ago1690481303IN
0x27387a61...c0936c86B
0 ETH0.0029299447.32590241
Exec Transaction177791712023-07-26 18:53:35341 days ago1690397615IN
0x27387a61...c0936c86B
0 ETH0.00244939.56520657
Exec Transaction177791392023-07-26 18:47:11341 days ago1690397231IN
0x27387a61...c0936c86B
0 ETH0.0021800935.20710093
Exec Transaction172507772023-05-13 11:32:11415 days ago1683977531IN
0x27387a61...c0936c86B
0 ETH0.0021981737
Exec Transaction171353022023-04-27 4:59:47431 days ago1682571587IN
0x27387a61...c0936c86B
0 ETH0.005371933.24796449
Exec Transaction171105212023-04-23 17:33:11435 days ago1682271191IN
0x27387a61...c0936c86B
0 ETH0.0030658649.5213061
Exec Transaction170546192023-04-15 20:00:47443 days ago1681588847IN
0x27387a61...c0936c86B
0 ETH0.0013859526.19958322
Exec Transaction170546132023-04-15 19:59:35443 days ago1681588775IN
0x27387a61...c0936c86B
0 ETH0.0014185424.89152381
Exec Transaction170545972023-04-15 19:56:23443 days ago1681588583IN
0x27387a61...c0936c86B
0 ETH0.0013654124.89822093
Exec Transaction170545812023-04-15 19:53:11443 days ago1681588391IN
0x27387a61...c0936c86B
0 ETH0.0038192523.46627603
Exec Transaction170054162023-04-08 18:23:35450 days ago1680978215IN
0x27387a61...c0936c86B
0 ETH0.0017004131
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
201922502024-06-28 19:23:233 days ago1719602603
0x27387a61...c0936c86B
1.05 ETH
196654442024-04-16 3:43:4777 days ago1713239027
0x27387a61...c0936c86B
2 ETH
194167162024-03-12 4:48:59111 days ago1710218939
0x27387a61...c0936c86B
2 ETH
194166122024-03-12 4:28:11112 days ago1710217691
0x27387a61...c0936c86B
1 ETH
194095632024-03-11 4:47:11112 days ago1710132431
0x27387a61...c0936c86B
0.71456143 ETH
194095092024-03-11 4:36:23113 days ago1710131783
0x27387a61...c0936c86B
5.17455854 ETH
191984642024-02-10 15:03:11142 days ago1707577391
0x27387a61...c0936c86B
0.5 ETH
191398972024-02-02 9:44:11150 days ago1706867051
0x27387a61...c0936c86B
1 ETH
185330442023-11-09 7:58:11235 days ago1699516691
0x27387a61...c0936c86B
2 ETH
177861052023-07-27 18:10:47340 days ago1690481447
0x27387a61...c0936c86B
0.90187 ETH
177860932023-07-27 18:08:23340 days ago1690481303
0x27387a61...c0936c86B
0.58104 ETH
177791712023-07-26 18:53:35341 days ago1690397615
0x27387a61...c0936c86B
0.51648 ETH
177791392023-07-26 18:47:11341 days ago1690397231
0x27387a61...c0936c86B
0.75858 ETH
177747062023-07-26 3:55:11342 days ago1690343711
0x27387a61...c0936c86B
0.0269 ETH
177552422023-07-23 10:32:47344 days ago1690108367
0x27387a61...c0936c86B
0.0269 ETH
177552362023-07-23 10:31:35344 days ago1690108295
0x27387a61...c0936c86B
0.0269 ETH
177511762023-07-22 20:53:59345 days ago1690059239
0x27387a61...c0936c86B
0.0269 ETH
177511712023-07-22 20:52:59345 days ago1690059179
0x27387a61...c0936c86B
0.0269 ETH
177390172023-07-21 4:03:47347 days ago1689912227
0x27387a61...c0936c86B
0.0538 ETH
177390142023-07-21 4:03:11347 days ago1689912191
0x27387a61...c0936c86B
0.0269 ETH
176911572023-07-14 10:38:35353 days ago1689331115
0x27387a61...c0936c86B
0.0269 ETH
176911402023-07-14 10:34:59353 days ago1689330899
0x27387a61...c0936c86B
0.0269 ETH
174870822023-06-15 18:33:11382 days ago1686853991
0x27387a61...c0936c86B
0.0269 ETH
174786192023-06-14 13:57:23383 days ago1686751043
0x27387a61...c0936c86B
0.0538 ETH
174785182023-06-14 13:36:47383 days ago1686749807
0x27387a61...c0936c86B
0.0807 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.