S Price: $0.493226 (-0.91%)
    /

    Contract

    0x902215dd96a291b256a3Aef6c4Dee62d2A9B80Cb

    Overview

    S Balance

    Sonic LogoSonic LogoSonic Logo0 S

    S Value

    $0.00

    Token Holdings

    Multichain Info

    No addresses found
    Transaction Hash
    Method
    Block
    Age
    From
    To
    Amount
    Approve183738452025-04-05 19:57:595 hrs ago1743883079IN
    0x902215dd...d2A9B80Cb
    0 S0.0029760455.01
    Approve183651252025-04-05 18:52:496 hrs ago1743879169IN
    0x902215dd...d2A9B80Cb
    0 S0.002976755.01
    Enter183184702025-04-05 13:09:3312 hrs ago1743858573IN
    0x902215dd...d2A9B80Cb
    0 S0.0064298251
    Approve182633392025-04-05 6:03:1619 hrs ago1743832996IN
    0x902215dd...d2A9B80Cb
    0 S0.0029753255.01
    Enter182632812025-04-05 6:02:4919 hrs ago1743832969IN
    0x902215dd...d2A9B80Cb
    0 S0.0044374355.01
    Exit182347812025-04-05 1:55:2823 hrs ago1743818128IN
    0x902215dd...d2A9B80Cb
    0 S0.0046884755
    Approve182081182025-04-04 22:14:0126 hrs ago1743804841IN
    0x902215dd...d2A9B80Cb
    0 S0.0029761655
    Approve182018262025-04-04 21:31:4827 hrs ago1743802308IN
    0x902215dd...d2A9B80Cb
    0 S0.002976755.01
    Approve181545082025-04-04 16:24:3232 hrs ago1743783872IN
    0x902215dd...d2A9B80Cb
    0 S0.0029748955
    Approve181505012025-04-04 16:00:5433 hrs ago1743782454IN
    0x902215dd...d2A9B80Cb
    0 S0.0029761655
    Create Vest180885402025-04-04 9:39:4839 hrs ago1743759588IN
    0x902215dd...d2A9B80Cb
    0 S0.0066182650.0001
    Approve180772142025-04-04 8:21:4540 hrs ago1743754905IN
    0x902215dd...d2A9B80Cb
    0 S0.0029760455.01
    Enter180771472025-04-04 8:21:2340 hrs ago1743754883IN
    0x902215dd...d2A9B80Cb
    0 S0.0061117471.5
    Enter180770302025-04-04 8:20:4340 hrs ago1743754843IN
    0x902215dd...d2A9B80Cb
    0 S0.00252660
    Enter180769222025-04-04 8:20:0640 hrs ago1743754806IN
    0x902215dd...d2A9B80Cb
    0 S0.0023390755.56
    Enter180766272025-04-04 8:18:2140 hrs ago1743754701IN
    0x902215dd...d2A9B80Cb
    0 S0.0023159255.01
    Approve180747642025-04-04 8:06:2241 hrs ago1743753982IN
    0x902215dd...d2A9B80Cb
    0 S0.00257650.0001
    Approve180675172025-04-04 7:17:5841 hrs ago1743751078IN
    0x902215dd...d2A9B80Cb
    0 S0.0028614355
    Approve180331022025-04-04 2:50:0246 hrs ago1743735002IN
    0x902215dd...d2A9B80Cb
    0 S0.00257650.0001
    Approve180003002025-04-03 22:46:472 days ago1743720407IN
    0x902215dd...d2A9B80Cb
    0 S0.002975555
    Enter180002552025-04-03 22:46:272 days ago1743720387IN
    0x902215dd...d2A9B80Cb
    0 S0.0041733455
    Approve179887172025-04-03 21:24:412 days ago1743715481IN
    0x902215dd...d2A9B80Cb
    0 S0.0029747855
    Enter179886812025-04-03 21:24:252 days ago1743715465IN
    0x902215dd...d2A9B80Cb
    0 S0.0041726355
    Exit179638122025-04-03 18:40:452 days ago1743705645IN
    0x902215dd...d2A9B80Cb
    0 S0.0041021861
    Approve179637102025-04-03 18:40:102 days ago1743705610IN
    0x902215dd...d2A9B80Cb
    0 S0.0029751555.02
    View all transactions

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

    Similar Match Source Code
    This contract matches the deployed Bytecode of the Source Code for Contract 0x17a7Cf83...47F9A6997
    The constructor portion of the code might be different and could alter the actual behaviour of the contract

    Contract Name:
    Proxy

    Compiler Version
    v0.8.28+commit.7893614a

    Optimization Enabled:
    Yes with 200 runs

    Other Settings:
    cancun EvmVersion
    File 1 of 4 : Proxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.28;
    import {UpgradeableProxy} from "../base/UpgradeableProxy.sol";
    import {IControllable} from "../../interfaces/IControllable.sol";
    import {IProxy} from "../../interfaces/IProxy.sol";
    /// @title Proxy for Stability Platform core contracts.
    /// @dev ERC-1967: Proxy Storage Slots used.
    /// @author JodsMigel (https://github.com/JodsMigel)
    contract Proxy is UpgradeableProxy, IProxy {
    /// @inheritdoc IProxy
    function initProxy(address logic) external override {
    _init(logic);
    }
    /// @inheritdoc IProxy
    function upgrade(address newImplementation) external override {
    require(IControllable(address(this)).platform() == msg.sender, IControllable.NotPlatform());
    _upgradeTo(newImplementation);
    // the new contract must have the same ABI and you must have the power to change it again
    require(IControllable(address(this)).platform() == msg.sender, IControllable.NotPlatform());
    }
    /// @inheritdoc IProxy
    function implementation() external view override returns (address) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 4 : UpgradeableProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.28;
    /// @title Simple ERC-1967 upgradeable proxy implementation
    abstract contract UpgradeableProxy {
    error ImplementationIsNotContract();
    /// @dev This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
    bytes32 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    /// @dev Emitted when the implementation is upgraded.
    event Upgraded(address indexed implementation);
    constructor() {
    assert(_IMPLEMENTATION_SLOT == bytes32(uint(keccak256("eip1967.proxy.implementation")) - 1));
    }
    /// @dev Post deploy initialisation for compatability with EIP-1167 factory
    function _init(address logic) internal {
    require(_implementation() == address(0), "Already inited");
    _setImplementation(logic);
    }
    /// @dev Returns the current implementation address.
    function _implementation() internal view virtual returns (address impl) {
    bytes32 slot = _IMPLEMENTATION_SLOT;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 4 : IControllable.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.28;
    /// @dev Base core interface implemented by most platform contracts.
    /// Inherited contracts store an immutable Platform proxy address in the storage,
    /// which provides authorization capabilities and infrastructure contract addresses.
    /// @author Alien Deployer (https://github.com/a17)
    /// @author JodsMigel (https://github.com/JodsMigel)
    interface IControllable {
    //region ----- Custom Errors -----
    error IncorrectZeroArgument();
    error IncorrectMsgSender();
    error NotGovernance();
    error NotMultisig();
    error NotGovernanceAndNotMultisig();
    error NotOperator();
    error NotFactory();
    error NotPlatform();
    error NotVault();
    error IncorrectArrayLength();
    error AlreadyExist();
    error NotExist();
    error NotTheOwner();
    error ETHTransferFailed();
    error IncorrectInitParams();
    //endregion -- Custom Errors -----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 4 : IProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.28;
    /// @dev Proxy of core contract implementation
    interface IProxy {
    /// @dev Initialize proxy logic. Need to call after deploy new proxy.
    /// @param logic Address of core contract implementation
    function initProxy(address logic) external;
    /// @notice Upgrade proxy implementation (contract logic).
    /// @dev Upgrade execution allowed only for Platform contract.
    /// An upgrade of any core contract proxy is always part of a platform time locked upgrade,
    /// with a change in the platform version.
    /// @param newImplementation New implementation address
    function upgrade(address newImplementation) external;
    /// @notice Return current logic implementation
    /// @return Address of implementation contract
    function implementation() external view returns (address);
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@solady/=lib/solady/src/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "solady/=lib/solady/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
    ],
    "optimizer": {
    "enabled": true,
    "runs": 200
    },
    "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
    },
    "outputSelection": {
    "*": {
    "*": [
    "evm.bytecode",
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    API
    [{"inputs":[],"name":"ImplementationIsNotContract","type":"error"},{"inputs":[],"name":"NotPlatform","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"logic","type":"address"}],"name":"initProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

    Deployed Bytecode

    0x608060405260043610610037575f3560e01c80630900f0101461004e5780635c60da1b1461006d5780639c0200611461009d57610046565b36610046576100446100bc565b005b6100446100bc565b348015610059575f5ffd5b5061004461006836600461033f565b6100db565b348015610078575f5ffd5b50610081610209565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a8575f5ffd5b506100446100b736600461033f565b610224565b6100d96100d45f51602061037d5f395f51905f525490565b61022d565b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610121573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101459190610361565b6001600160a01b03161461016c5760405163016bdfed60e71b815260040160405180910390fd5b6101758161024b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101df9190610361565b6001600160a01b0316146102065760405163016bdfed60e71b815260040160405180910390fd5b50565b5f61021f5f51602061037d5f395f51905f525490565b905090565b6102068161028a565b365f5f375f5f365f845af43d5f5f3e808015610247573d5ff35b3d5ffd5b610254816102f0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f6102a05f51602061037d5f395f51905f525490565b6001600160a01b0316146102eb5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b610206815b806001600160a01b03163b5f0361031a5760405163e84f0f9960e01b815260040160405180910390fd5b5f51602061037d5f395f51905f5255565b6001600160a01b0381168114610206575f5ffd5b5f6020828403121561034f575f5ffd5b813561035a8161032b565b9392505050565b5f60208284031215610371575f5ffd5b815161035a8161032b56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220da21f1345d87d64ac93948209dd64a048f159bd639cc7d6c2a9d99038cd4000e64736f6c634300081c0033

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

    Block Age Uncle Number Difficulty Gas Used Reward
    View All Uncles
    Loading...
    Loading
    Loading...
    Loading

    Validator Index Block Age Amount
    View All Withdrawals

    Transaction Hash Block Age 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.