S Price: $0.607067 (+0.13%)

Contract

0x1E136dD5DBe17F1d4DCFd1FbE704f4aE673fA626

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw39797112025-01-15 10:19:4069 days ago1736936380IN
0x1E136dD5...E673fA626
0 S0.0052347233
Lock39449192025-01-15 2:39:2369 days ago1736908763IN
0x1E136dD5...E673fA626
0 S0.0061059233
Lock38577662025-01-14 10:33:5070 days ago1736850830IN
0x1E136dD5...E673fA626
0 S0.00083785.5
Lock38574982025-01-14 10:31:0670 days ago1736850666IN
0x1E136dD5...E673fA626
0 S0.000837735.5
Lock38567632025-01-14 10:22:2970 days ago1736850149IN
0x1E136dD5...E673fA626
0 S0.0009325.5
Lock38562182025-01-14 10:16:4270 days ago1736849802IN
0x1E136dD5...E673fA626
0 S0.001017585.5
Withdraw38492322025-01-14 9:05:0670 days ago1736845506IN
0x1E136dD5...E673fA626
0 S0.00051495.5
Lock38465062025-01-14 8:37:1170 days ago1736843831IN
0x1E136dD5...E673fA626
0 S0.001394385.5
Lock38285002025-01-14 4:38:1370 days ago1736829493IN
0x1E136dD5...E673fA626
0 S0.001244215.5
Set Lp Token37113682025-01-13 8:35:0871 days ago1736757308IN
0x1E136dD5...E673fA626
0 S0.000288335.5
Initialize37113032025-01-13 8:34:2871 days ago1736757268IN
0x1E136dD5...E673fA626
0 S0.00164835.5

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EIP173Proxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion, MIT license
File 1 of 2 : EIP173Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

import "./Proxy.sol";

interface ERC165 {
    function supportsInterface(bytes4 id) external view returns (bool);
}

///@notice Proxy implementing EIP173 for ownership management
contract EIP173Proxy is Proxy {
    // ////////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    // /////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////////////

    constructor(
        address implementationAddress,
        address ownerAddress,
        bytes memory data
    ) payable {
        _setImplementation(implementationAddress, data);
        _setOwner(ownerAddress);
    }

    // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////

    function owner() external view returns (address) {
        return _owner();
    }

    function supportsInterface(bytes4 id) external view returns (bool) {
        if (id == 0x01ffc9a7 || id == 0x7f5828d0) {
            return true;
        }
        if (id == 0xFFFFFFFF) {
            return false;
        }

        ERC165 implementation;
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }

        // Technically this is not standard compliant as ERC-165 require 30,000 gas which that call cannot ensure
        // because it is itself inside `supportsInterface` that might only get 30,000 gas.
        // In practise this is unlikely to be an issue.
        try implementation.supportsInterface(id) returns (bool support) {
            return support;
        } catch {
            return false;
        }
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _setOwner(newOwner);
    }

    function upgradeTo(address newImplementation) external onlyOwner {
        _setImplementation(newImplementation, "");
    }

    function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyOwner {
        _setImplementation(newImplementation, data);
    }

    // /////////////////////// MODIFIERS ////////////////////////////////////////////////////////////////////////

    modifier onlyOwner() {
        require(msg.sender == _owner(), "NOT_AUTHORIZED");
        _;
    }

    // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////

    function _owner() internal view returns (address adminAddress) {
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            adminAddress := sload(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103)
        }
    }

    function _setOwner(address newOwner) internal {
        address previousOwner = _owner();
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            sstore(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newOwner)
        }
        emit OwnershipTransferred(previousOwner, newOwner);
    }
}

File 2 of 2 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

// EIP-1967
abstract contract Proxy {
    // /////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////////

    event ProxyImplementationUpdated(address indexed previousImplementation, address indexed newImplementation);

    // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////

    receive() external payable virtual {
        revert("ETHER_REJECTED"); // explicit reject by default
    }

    fallback() external payable {
        _fallback();
    }

    // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////

    function _fallback() internal {
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            let implementationAddress := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
            calldatacopy(0x0, 0x0, calldatasize())
            let success := delegatecall(gas(), implementationAddress, 0x0, calldatasize(), 0, 0)
            let retSz := returndatasize()
            returndatacopy(0, 0, retSz)
            switch success
            case 0 {
                revert(0, retSz)
            }
            default {
                return(0, retSz)
            }
        }
    }

    function _setImplementation(address newImplementation, bytes memory data) internal {
        address previousImplementation;
        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            previousImplementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
        }

        // solhint-disable-next-line security/no-inline-assembly
        assembly {
            sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation)
        }

        emit ProxyImplementationUpdated(previousImplementation, newImplementation);

        if (data.length > 0) {
            (bool success, ) = newImplementation.delegatecall(data);
            if (!success) {
                assembly {
                // This assembly ensure the revert contains the exact string data
                    let returnDataSize := returndatasize()
                    returndatacopy(0, 0, returnDataSize)
                    revert(0, returnDataSize)
                }
            }
        }
    }
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ProxyImplementationUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516109953803806109958339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b506040525050506100f1838261010260201b60201c565b6100fa82610225565b505050610299565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610220576000836001600160a01b0316836040518082805190602001908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b505090508061021e573d806000803e806000fd5b505b505050565b600061022f610286565b90508160008051602061097583398151915255816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000805160206109758339815191525490565b6106cd806102a86000396000f3fe60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100e35780634f1ef286146101165780638da5cb5b14610196578063f2fde38b146101c757610091565b36610091576040805162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b604482015290519081900360640190fd5b6100996101fa565b005b3480156100a757600080fd5b506100cf600480360360208110156100be57600080fd5b50356001600160e01b031916610245565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100996004803603602081101561010657600080fd5b50356001600160a01b0316610350565b6100996004803603604081101561012c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103ca565b3480156101a257600080fd5b506101ab61046d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d357600080fd5b50610099600480360360208110156101ea57600080fd5b50356001600160a01b031661047c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e82801561023b578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b03198316148061027657506307f5828d60e41b6001600160e01b03198316145b156102835750600161034b565b6001600160e01b0319808316141561029d5750600061034b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54604080516301ffc9a760e01b81526001600160e01b03198516600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b15801561030f57600080fd5b505afa92505050801561033457506040513d602081101561032f57600080fd5b505160015b61034257600091505061034b565b915061034b9050565b919050565b6103586104e3565b6001600160a01b0316336001600160a01b0316146103ae576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c78160405180602001604052806000815250610508565b50565b6103d26104e3565b6001600160a01b0316336001600160a01b031614610428576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6104688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061050892505050565b505050565b60006104776104e3565b905090565b6104846104e3565b6001600160a01b0316336001600160a01b0316146104da576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c781610624565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610468576000836001600160a01b0316836040518082805190602001908083835b602083106105ab5780518252601f19909201916020918201910161058c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461060b576040519150601f19603f3d011682016040523d82523d6000602084013e610610565b606091505b505090508061023f573d806000803e806000fd5b600061062e6104e3565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea264697066735822122000175ad3bc207dcfbbb639ee195d2aacbaf0b1a6c141dc2f48218e4c625d4e5364736f6c63430007060033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000003536997ca04e53f64909dc892d948bc727d9f4370000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd0700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100e35780634f1ef286146101165780638da5cb5b14610196578063f2fde38b146101c757610091565b36610091576040805162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b604482015290519081900360640190fd5b6100996101fa565b005b3480156100a757600080fd5b506100cf600480360360208110156100be57600080fd5b50356001600160e01b031916610245565b604080519115158252519081900360200190f35b3480156100ef57600080fd5b506100996004803603602081101561010657600080fd5b50356001600160a01b0316610350565b6100996004803603604081101561012c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103ca565b3480156101a257600080fd5b506101ab61046d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d357600080fd5b50610099600480360360208110156101ea57600080fd5b50356001600160a01b031661047c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e82801561023b578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b03198316148061027657506307f5828d60e41b6001600160e01b03198316145b156102835750600161034b565b6001600160e01b0319808316141561029d5750600061034b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54604080516301ffc9a760e01b81526001600160e01b03198516600482015290516001600160a01b038316916301ffc9a7916024808301926020929190829003018186803b15801561030f57600080fd5b505afa92505050801561033457506040513d602081101561032f57600080fd5b505160015b61034257600091505061034b565b915061034b9050565b919050565b6103586104e3565b6001600160a01b0316336001600160a01b0316146103ae576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c78160405180602001604052806000815250610508565b50565b6103d26104e3565b6001600160a01b0316336001600160a01b031614610428576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6104688383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061050892505050565b505050565b60006104776104e3565b905090565b6104846104e3565b6001600160a01b0316336001600160a01b0316146104da576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b604482015290519081900360640190fd5b6103c781610624565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610468576000836001600160a01b0316836040518082805190602001908083835b602083106105ab5780518252601f19909201916020918201910161058c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461060b576040519150601f19603f3d011682016040523d82523d6000602084013e610610565b606091505b505090508061023f573d806000803e806000fd5b600061062e6104e3565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505056fea264697066735822122000175ad3bc207dcfbbb639ee195d2aacbaf0b1a6c141dc2f48218e4c625d4e5364736f6c63430007060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000003536997ca04e53f64909dc892d948bc727d9f4370000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd0700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : implementationAddress (address): 0x3536997ca04e53f64909dc892D948Bc727d9F437
Arg [1] : ownerAddress (address): 0x9E253C592f65FEB76396181935c0B63F5C4cfD07
Arg [2] : data (bytes): 0x

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003536997ca04e53f64909dc892d948bc727d9f437
Arg [1] : 0000000000000000000000009e253c592f65feb76396181935c0b63f5c4cfd07
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction 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
[ 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.