Contract 0x9e31e5b461686628b5434eca46d62627186498ac

Safe Smart Account 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x07db0b3112a7391d9e51bf71f0282fca349126fe045564c7c31180d201525d31Exec Transaction1695174282024-01-11 23:10:2346 days 20 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000198310.1
0x8db5714977daa3d6187006404eadce2dfc0edd6f001649d3e711c0375a2cc288Exec Transaction1691735682024-01-10 23:04:4047 days 20 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000375690.1
0x51bb54c99d2e2f4475b7d94cc97cbd5b03e99108a0c9a9cd9b7f7b08f2906774Exec Transaction873072392023-05-04 19:19:12299 days 10 mins ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00056313 0.1
0xfb850d0fbb4f340dc190f04fd4b7a20c155137782fb81f084ed1216c26ff1d78Exec Transaction872694342023-05-04 16:39:13299 days 2 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00060662 0.1
0x2e6eb8ee8be6f606846f8d74f82cf568ac6fbf31a11ae7b133a7c486828623a3Exec Transaction869393392023-05-03 17:35:06300 days 1 hr ago0x7754d8b057cc1d2d857d897461dac6c3235b4aae IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000435950.1
0x610662538eb1d391a6cdfcc632f2b2e0ed1dfb7695aa6cb35526270558deed92Exec Transaction846552522023-04-27 0:17:09306 days 19 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00017968 0.1
0x7512a608c7b6e1c064353e891e75f1efa647edd148bc2766877512aca8550fafExec Transaction846540252023-04-27 0:11:58306 days 19 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00020318 0.1
0xaba3581e91fc0621c2887ef7b06c17a8ac3ed656115b55bcbc196698ccf45c4aExec Transaction846438912023-04-26 23:28:15306 days 20 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00020691 0.1
0x9b0269f44257d8949284d7cac5b6ef36a3f8434f0e246f60c08b49be7994169cExec Transaction822364522023-04-19 22:49:10313 days 20 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.0003893 0.1
0x50a5a254f57eb3a0eac0ebcda0a26d3fc2148239d486009e7f8630484cd75205Exec Transaction797435212023-04-12 16:48:04321 days 2 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.00016445 0.1
0x2246a7a88f82123645fdf4796d30a434f4720ac598393c782d2208e4fc404a64Exec Transaction796993682023-04-12 13:44:15321 days 5 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000141380.1
0xe2c4d9d067496da721548d7c6d6375881f6f71b9be7691a887ccb587966bd4dfExec Transaction787008812023-04-09 15:33:46324 days 3 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000127390.1
0xfdfc4f0eb9837568b2261d743836f4bfa1111f131f3b4d510745a054aeb502b6Exec Transaction786991062023-04-09 15:26:25324 days 4 hrs ago0x0062b3152bdb9868e600319fc52c9d00a16aa3ff IN  0x9e31e5b461686628b5434eca46d62627186498ac0 ETH0.000124480.1
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xe1ea3ad3a406940fb37ba5e23766047f66aa0921842ab551e0f0343f09fbdf4b739402612023-03-26 17:16:45338 days 2 hrs ago Safe: Proxy Factory 1.3.0  Contract Creation0 ETH
[ Download CSV Export 
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa75c21C5BE284122a87A37a76cc6C4DD3E55a1D4
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 Arbiscan.io on 2022-03-21
*/

/**
 *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 ABI

[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033

Deployed ByteCode Sourcemap

595:1528:0:-:0;;;1447:42;1443:1;1437:8;1433:57;1627:66;1623:1;1610:15;1607:87;1604:2;;;1724:10;1721:1;1714:21;1763:4;1760:1;1753:15;1604:2;1816:14;1813:1;1810;1797:34;1914:1;1911;1895:14;1892:1;1880:10;1873:5;1860:56;1951:16;1948:1;1945;1930:38;1997:1;1988:7;1985:14;1982:2;;;2029:16;2026:1;2019:27;1982:2;2085:16;2082:1;2075:27

Metadata Hash

d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.