S Price: $0.067622 (-2.88%)
Gas: 55 Gwei

Contract

0xC7073F6317813C3EDB09FA2d19A6cA259A9d4aD9

Overview

S Balance

Sonic LogoSonic LogoSonic Logo14,000.698131 S

S Value

$946.76 (@ $0.07/S)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Exec Transaction610537582026-01-24 12:44:2743 hrs ago1769258667IN
0xC7073F63...59A9d4aD9
0 S0.0070236655
Exec Transaction610537382026-01-24 12:43:4943 hrs ago1769258629IN
0xC7073F63...59A9d4aD9
0 S0.00702355
Exec Transaction610114592026-01-23 18:31:322 days ago1769193092IN
0xC7073F63...59A9d4aD9
0 S0.0945446755
Exec Transaction610114132026-01-23 18:30:442 days ago1769193044IN
0xC7073F63...59A9d4aD9
0 S0.0053560155
Exec Transaction610113902026-01-23 18:30:092 days ago1769193009IN
0xC7073F63...59A9d4aD9
0 S0.0176089860
Exec Transaction610113732026-01-23 18:29:392 days ago1769192979IN
0xC7073F63...59A9d4aD9
0 S0.0109486355
Exec Transaction610113602026-01-23 18:29:102 days ago1769192950IN
0xC7073F63...59A9d4aD9
0 S0.0204164955
Exec Transaction610113362026-01-23 18:28:282 days ago1769192908IN
0xC7073F63...59A9d4aD9
0 S0.0212143866
Exec Transaction610113102026-01-23 18:27:492 days ago1769192869IN
0xC7073F63...59A9d4aD9
0 S0.0092282855
Exec Transaction610112822026-01-23 18:27:072 days ago1769192827IN
0xC7073F63...59A9d4aD9
0 S0.0097079556.774
Exec Transaction610112532026-01-23 18:26:262 days ago1769192786IN
0xC7073F63...59A9d4aD9
0 S0.0210349260
Exec Transaction610112212026-01-23 18:25:532 days ago1769192753IN
0xC7073F63...59A9d4aD9
0 S0.0128639555
Exec Transaction610096382026-01-23 17:58:322 days ago1769191112IN
0xC7073F63...59A9d4aD9
0 S0.2266026660
Exec Transaction610096102026-01-23 17:57:432 days ago1769191063IN
0xC7073F63...59A9d4aD9
0 S0.228195960
Exec Transaction610095752026-01-23 17:56:562 days ago1769191016IN
0xC7073F63...59A9d4aD9
0 S0.2179430158.795
Exec Transaction610095162026-01-23 17:56:092 days ago1769190969IN
0xC7073F63...59A9d4aD9
0 S0.2208654660
Exec Transaction610094642026-01-23 17:55:082 days ago1769190908IN
0xC7073F63...59A9d4aD9
0 S0.2197855860
Exec Transaction610094182026-01-23 17:54:262 days ago1769190866IN
0xC7073F63...59A9d4aD9
0 S0.200624655
Exec Transaction610093962026-01-23 17:53:422 days ago1769190822IN
0xC7073F63...59A9d4aD9
0 S0.2027747755
Exec Transaction610093472026-01-23 17:52:352 days ago1769190755IN
0xC7073F63...59A9d4aD9
0 S0.0557612460
Exec Transaction609878292026-01-23 11:24:372 days ago1769167477IN
0xC7073F63...59A9d4aD9
0 S0.0722563459.075
Exec Transaction608587752026-01-21 16:40:344 days ago1769013634IN
0xC7073F63...59A9d4aD9
0 S0.0102399660
Exec Transaction606989502026-01-19 13:46:066 days ago1768830366IN
0xC7073F63...59A9d4aD9
0 S0.0112855366
Exec Transaction606989142026-01-19 13:45:226 days ago1768830322IN
0xC7073F63...59A9d4aD9
0 S0.0110731566
Exec Transaction606988762026-01-19 13:44:386 days ago1768830278IN
0xC7073F63...59A9d4aD9
0 S0.0046532755
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
571700832025-12-04 18:04:5752 days ago1764871497
0xC7073F63...59A9d4aD9
0.872481 S
571700282025-12-04 18:03:5452 days ago1764871434
0xC7073F63...59A9d4aD9
9.039243 S
571699122025-12-04 18:02:0052 days ago1764871320
0xC7073F63...59A9d4aD9
31.522953 S
571698042025-12-04 18:00:2052 days ago1764871220
0xC7073F63...59A9d4aD9
81.518844 S
571697152025-12-04 17:58:4952 days ago1764871129
0xC7073F63...59A9d4aD9
168.638475 S
571695962025-12-04 17:57:0452 days ago1764871024
0xC7073F63...59A9d4aD9
325.224282 S
571695122025-12-04 17:55:2552 days ago1764870925
0xC7073F63...59A9d4aD9
621.03578 S
571692052025-12-04 17:51:1452 days ago1764870674
0xC7073F63...59A9d4aD9
1,380.813388 S
571689342025-12-04 17:47:2052 days ago1764870440
0xC7073F63...59A9d4aD9
2,187.840857 S
571686662025-12-04 17:43:1352 days ago1764870193
0xC7073F63...59A9d4aD9
3,293.178961 S
571681242025-12-04 17:37:4452 days ago1764869864
0xC7073F63...59A9d4aD9
23,369.616605 S
569448702025-12-02 13:18:0854 days ago1764681488
0xC7073F63...59A9d4aD9
0.01 S
569434802025-12-02 12:54:0954 days ago1764680049  Contract Creation0 S
Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x2C14c3Cb...B98B7445b
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 GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at SonicScan.org on 2024-12-31
*/

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

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

0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a

Deployed Bytecode

0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033

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

Swarm Source

ipfs://03d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f314413

Block Transaction Gas Used Reward
view all blocks ##produced##

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.