S Price: $0.476537 (-0.78%)
    /

    Contract

    0xDa9c8035aA67a8cf9BF5477e0D937F74566F9039
    Transaction Hash
    Method
    Block
    Age
    From
    To
    Amount
    Claim195542682025-04-11 9:13:2017 hrs ago1744362800IN
    0xDa9c8035...4566F9039
    0 S0.0596778255.02
    Claim189597412025-04-08 15:34:083 days ago1744126448IN
    0xDa9c8035...4566F9039
    0 S0.0314234150.0001
    Distribute189597162025-04-08 15:33:583 days ago1744126438IN
    0xDa9c8035...4566F9039
    0 S0.0431647850.0001
    Claim185403482025-04-06 17:44:545 days ago1743961494IN
    0xDa9c8035...4566F9039
    0 S0.0856220961.07
    Distribute185403052025-04-06 17:44:395 days ago1743961479IN
    0xDa9c8035...4566F9039
    0 S0.0997486955.01
    Initialize159541062025-03-25 21:28:3017 days ago1742938110IN
    0xDa9c8035...4566F9039
    0 S0.0055700550
    Init Proxy159541022025-03-25 21:28:2917 days ago1742938109IN
    0xDa9c8035...4566F9039
    0 S0.002420850

    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.