S Price: $0.067753 (-0.70%)

Contract

0x635B1F7dD7d0172533BA9fE5Cfe2D83D9848f701

Overview

S Balance

Sonic LogoSonic LogoSonic Logo0 S

S Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Call601140812026-01-11 0:35:3715 days ago1768091737IN
0x635B1F7d...D9848f701
0 S0.1650864550
Call595033282026-01-03 13:47:3723 days ago1767448057IN
0x635B1F7d...D9848f701
0 S0.16508950
Call587438812025-12-24 2:58:3033 days ago1766545110IN
0x635B1F7d...D9848f701
0 S0.069644450
Call587437952025-12-24 2:57:0133 days ago1766545021IN
0x635B1F7d...D9848f701
0 S0.069479850
Call587436462025-12-24 2:54:3033 days ago1766544870IN
0x635B1F7d...D9848f701
0 S0.069471150
Call587434782025-12-24 2:51:3333 days ago1766544693IN
0x635B1F7d...D9848f701
0 S0.069484350
Call587432002025-12-24 2:47:3033 days ago1766544450IN
0x635B1F7d...D9848f701
0 S0.022445650
Call587431742025-12-24 2:47:0033 days ago1766544420IN
0x635B1F7d...D9848f701
0 S0.022445650
Call587431322025-12-24 2:46:3133 days ago1766544391IN
0x635B1F7d...D9848f701
0 S0.038262950
Call587427872025-12-24 2:43:0233 days ago1766544182IN
0x635B1F7d...D9848f701
0 S0.156621150
Call587427572025-12-24 2:42:3933 days ago1766544159IN
0x635B1F7d...D9848f701
0 S0.0697635550
Call584168902025-12-20 9:57:3037 days ago1766224650IN
0x635B1F7d...D9848f701
0 S0.0694897550
Call584166892025-12-20 9:54:0037 days ago1766224440IN
0x635B1F7d...D9848f701
0 S0.0694796550
Call584165372025-12-20 9:51:3537 days ago1766224295IN
0x635B1F7d...D9848f701
0 S0.069486450
Call584162832025-12-20 9:47:3037 days ago1766224050IN
0x635B1F7d...D9848f701
0 S0.069622350
Call584161062025-12-20 9:44:3037 days ago1766223870IN
0x635B1F7d...D9848f701
0 S0.0696422550
Call584158682025-12-20 9:41:3137 days ago1766223691IN
0x635B1F7d...D9848f701
0 S0.069458950
Call584156652025-12-20 9:37:3037 days ago1766223450IN
0x635B1F7d...D9848f701
0 S0.069467350
Call584154662025-12-20 9:34:0037 days ago1766223240IN
0x635B1F7d...D9848f701
0 S0.0692014550
Call584153042025-12-20 9:31:3237 days ago1766223092IN
0x635B1F7d...D9848f701
0 S0.069475850
Call584151242025-12-20 9:29:0037 days ago1766222940IN
0x635B1F7d...D9848f701
0 S0.069474250
Call584149742025-12-20 9:26:3337 days ago1766222793IN
0x635B1F7d...D9848f701
0 S0.069616350
Call584147802025-12-20 9:23:0137 days ago1766222581IN
0x635B1F7d...D9848f701
0 S0.069599950
Call584145932025-12-20 9:20:0137 days ago1766222401IN
0x635B1F7d...D9848f701
0 S0.0694806550
Call584144432025-12-20 9:17:3037 days ago1766222250IN
0x635B1F7d...D9848f701
0 S0.0694642550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
612081452026-01-26 17:04:0540 mins ago1769447045
0x635B1F7d...D9848f701
0 S
612081452026-01-26 17:04:0540 mins ago1769447045
0x635B1F7d...D9848f701
0 S
612081432026-01-26 17:04:0440 mins ago1769447044
0x635B1F7d...D9848f701
0 S
612081432026-01-26 17:04:0440 mins ago1769447044
0x635B1F7d...D9848f701
0 S
612081402026-01-26 17:04:0340 mins ago1769447043
0x635B1F7d...D9848f701
0 S
612081402026-01-26 17:04:0340 mins ago1769447043
0x635B1F7d...D9848f701
0 S
612081382026-01-26 17:04:0240 mins ago1769447042
0x635B1F7d...D9848f701
0 S
612081382026-01-26 17:04:0240 mins ago1769447042
0x635B1F7d...D9848f701
0 S
612081372026-01-26 17:04:0040 mins ago1769447040
0x635B1F7d...D9848f701
0 S
612081372026-01-26 17:04:0040 mins ago1769447040
0x635B1F7d...D9848f701
0 S
612080902026-01-26 17:03:0341 mins ago1769446983
0x635B1F7d...D9848f701
0 S
612080902026-01-26 17:03:0341 mins ago1769446983
0x635B1F7d...D9848f701
0 S
612046362026-01-26 16:04:051 hr ago1769443445
0x635B1F7d...D9848f701
0 S
612046362026-01-26 16:04:051 hr ago1769443445
0x635B1F7d...D9848f701
0 S
612046332026-01-26 16:04:041 hr ago1769443444
0x635B1F7d...D9848f701
0 S
612046332026-01-26 16:04:041 hr ago1769443444
0x635B1F7d...D9848f701
0 S
612046312026-01-26 16:04:031 hr ago1769443443
0x635B1F7d...D9848f701
0 S
612046312026-01-26 16:04:031 hr ago1769443443
0x635B1F7d...D9848f701
0 S
612046292026-01-26 16:04:021 hr ago1769443442
0x635B1F7d...D9848f701
0 S
612046292026-01-26 16:04:021 hr ago1769443442
0x635B1F7d...D9848f701
0 S
612046272026-01-26 16:04:001 hr ago1769443440
0x635B1F7d...D9848f701
0 S
612046272026-01-26 16:04:001 hr ago1769443440
0x635B1F7d...D9848f701
0 S
612045392026-01-26 16:03:031 hr ago1769443383
0x635B1F7d...D9848f701
0 S
612045392026-01-26 16:03:031 hr ago1769443383
0x635B1F7d...D9848f701
0 S
612003822026-01-26 15:04:072 hrs ago1769439847
0x635B1F7d...D9848f701
0 S
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x4Aca671A...AD06b20D8
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.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

import "../base/UpgradeableProxy.sol";
import "../../interfaces/IControllable.sol";
import "../../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
    //slither-disable-next-line naming-convention
    function upgrade(address _newImplementation) external override {
        if (IControllable(address(this)).platform() != msg.sender) {
            revert IControllable.NotPlatform();
        }
        _upgradeTo(_newImplementation);
        // the new contract must have the same ABI and you must have the power to change it again
        if (IControllable(address(this)).platform() != msg.sender) {
            revert IControllable.NotPlatform();
        }
    }

    /// @inheritdoc IProxy
    function implementation() external view override returns (address) {
        return _implementation();
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

/// @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 {
        // nosemgrep
        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;
        // solhint-disable-next-line no-inline-assembly
        //slither-disable-next-line assembly
        assembly {
            impl := sload(slot)
        }
    }

    /// @dev Upgrades the proxy to a new implementation.
    function _upgradeTo(address newImplementation) internal virtual {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    /// @dev Stores a new address in the EIP1967 implementation slot.
    function _setImplementation(address newImplementation) private {
        if (newImplementation.code.length == 0) revert ImplementationIsNotContract();
        bytes32 slot = _IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        //slither-disable-next-line assembly
        assembly {
            sstore(slot, newImplementation)
        }
    }

    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        //slither-disable-next-line assembly
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize())

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize())

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internal call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _delegate(_implementation());
    }

    /// @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
    /// function in the contract matches the call data.
    //slither-disable-next-line locked-ether
    fallback() external payable virtual {
        _fallback();
    }

    /// @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
    /// is empty.
    //slither-disable-next-line locked-ether
    receive() external payable virtual {
        _fallback();
    }
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

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

    event ContractInitialized(address platform, uint ts, uint block);

    /// @notice Stability Platform main contract address
    function platform() external view returns (address);

    /// @notice Version of contract implementation
    /// @dev SemVer scheme MAJOR.MINOR.PATCH
    //slither-disable-next-line naming-convention
    function VERSION() external view returns (string memory);

    /// @notice Block number when contract was initialized
    function createdBlock() external view returns (uint);
}

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.23;

/// @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);
}

Settings
{
  "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",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "shanghai",
  "viaIR": false,
  "libraries": {
    "src/core/libs/CommonLib.sol": {
      "CommonLib": "0x4f76ADd676c04ecA837130CeB58Bc173de8799dE"
    },
    "src/core/libs/DeployerLib.sol": {
      "DeployerLib": "0x29613385F8808A04E593163a2867f3F3D4a1BD8B"
    },
    "src/core/libs/FactoryLib.sol": {
      "FactoryLib": "0x06e0912b4f2E36cfcF9556478352AFC2d991919F"
    },
    "src/core/libs/FactoryNamingLib.sol": {
      "FactoryNamingLib": "0x3110a397362465b6Ad45703DE9DEa2CC2Ae6C3B3"
    },
    "src/core/libs/StrategyLogicLib.sol": {
      "StrategyLogicLib": "0xCA26bF5d5B610EB3E48041Dd7eb5Ce57475fB878"
    },
    "src/core/libs/VaultBaseLib.sol": {
      "VaultBaseLib": "0xD728c9C834985f583B1d0C29f84D80d1EF75A609"
    },
    "src/core/libs/VaultManagerLib.sol": {
      "VaultManagerLib": "0xE080ED61824494De0b191597e907Ee458F47c64b"
    },
    "src/strategies/libs/LPStrategyLib.sol": {
      "LPStrategyLib": "0xda05a4EC440C6E3A253d37652F1907118c06079a"
    },
    "src/strategies/libs/StrategyLib.sol": {
      "StrategyLib": "0xc2dE381a066FD7282aF33378664161a8fc180796"
    },
    "src/strategies/libs/UniswapV3MathLib.sol": {
      "UniswapV3MathLib": "0xbbc63ee4a06bf1F2432ccC4d70103e3D465fcA39"
    }
  }
}

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"}]

0x608060405234801561000f575f80fd5b5061003b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61006e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1461006957610069610093565b6100a7565b8181038181111561008d57634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52600160045260245ffd5b6103d2806100b45f395ff3fe608060405260043610610037575f3560e01c80630900f0101461004e5780635c60da1b1461006d5780639c0200611461009d57610046565b36610046576100446100bc565b005b6100446100bc565b348015610059575f80fd5b5061004461006836600461033f565b6100db565b348015610078575f80fd5b50610081610209565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a8575f80fd5b506100446100b736600461033f565b610224565b6100d96100d45f8051602061037d8339815191525490565b61022d565b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610121573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101459190610361565b6001600160a01b03161461016c5760405163016bdfed60e71b815260040160405180910390fd5b6101758161024b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101df9190610361565b6001600160a01b0316146102065760405163016bdfed60e71b815260040160405180910390fd5b50565b5f61021f5f8051602061037d8339815191525490565b905090565b6102068161028a565b365f80375f80365f845af43d5f803e808015610247573d5ff35b3d5ffd5b610254816102f0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f6102a05f8051602061037d8339815191525490565b6001600160a01b0316146102eb5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b610206815b806001600160a01b03163b5f0361031a5760405163e84f0f9960e01b815260040160405180910390fd5b5f8051602061037d83398151915255565b6001600160a01b0381168114610206575f80fd5b5f6020828403121561034f575f80fd5b813561035a8161032b565b9392505050565b5f60208284031215610371575f80fd5b815161035a8161032b56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200c3e694a538919fac6626407558a72a42b821008a5fa233890ac06a49d421d1964736f6c63430008170033

Deployed Bytecode

0x608060405260043610610037575f3560e01c80630900f0101461004e5780635c60da1b1461006d5780639c0200611461009d57610046565b36610046576100446100bc565b005b6100446100bc565b348015610059575f80fd5b5061004461006836600461033f565b6100db565b348015610078575f80fd5b50610081610209565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a8575f80fd5b506100446100b736600461033f565b610224565b6100d96100d45f8051602061037d8339815191525490565b61022d565b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610121573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101459190610361565b6001600160a01b03161461016c5760405163016bdfed60e71b815260040160405180910390fd5b6101758161024b565b336001600160a01b0316306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101df9190610361565b6001600160a01b0316146102065760405163016bdfed60e71b815260040160405180910390fd5b50565b5f61021f5f8051602061037d8339815191525490565b905090565b6102068161028a565b365f80375f80365f845af43d5f803e808015610247573d5ff35b3d5ffd5b610254816102f0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b5f6102a05f8051602061037d8339815191525490565b6001600160a01b0316146102eb5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b610206815b806001600160a01b03163b5f0361031a5760405163e84f0f9960e01b815260040160405180910390fd5b5f8051602061037d83398151915255565b6001600160a01b0381168114610206575f80fd5b5f6020828403121561034f575f80fd5b813561035a8161032b565b9392505050565b5f60208284031215610371575f80fd5b815161035a8161032b56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200c3e694a538919fac6626407558a72a42b821008a5fa233890ac06a49d421d1964736f6c63430008170033

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  ]

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.