S Price: $0.470254 (-8.79%)
    /

    Token

    Stability WETH-Missor Equalizer Farm vLP (C-WETHMissor-EF)

    Overview

    Max Total Supply

    5.286172738431807255 C-WETHMissor-EF

    Holders

    4

    Total Transfers

    -

    Market

    Price

    $0.00 @ 0.000000 S

    Onchain Market Cap

    $0.00

    Circulating Supply Market Cap

    -

    Other Info

    Token Contract (WITH 18 Decimals)

    Loading...
    Loading
    Loading...
    Loading
    Loading...
    Loading

    Click here to update the token information / general information
    This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

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

    Contract Name:
    VaultProxy

    Compiler Version
    v0.8.23+commit.f704f362

    Optimization Enabled:
    Yes with 200 runs

    Other Settings:
    shanghai EvmVersion
    File 1 of 7 : VaultProxy.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.23;
    import "../../core/base/UpgradeableProxy.sol";
    import "../../interfaces/IControllable.sol";
    import "../../interfaces/IPlatform.sol";
    import "../../interfaces/IFactory.sol";
    import "../../interfaces/IVaultProxy.sol";
    /// @title EIP1967 Upgradeable proxy implementation for built by factory vaults
    /// @author Alien Deployer (https://github.com/a17)
    contract VaultProxy is UpgradeableProxy, IVaultProxy {
    /// @dev Vault type ID
    bytes32 private constant _TYPE_SLOT = bytes32(uint(keccak256("eip1967.vaultProxy.type")) - 1);
    /// @inheritdoc IVaultProxy
    function initProxy(string memory type_) external {
    bytes32 typeHash = keccak256(abi.encodePacked(type_));
    //slither-disable-next-line unused-return
    (, address vaultImplementation,,,) = IFactory(msg.sender).vaultConfig(typeHash);
    _init(vaultImplementation);
    bytes32 slot = _TYPE_SLOT;
    //slither-disable-next-line assembly
    assembly {
    sstore(slot, typeHash)
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 7 : 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.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) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 7 : 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.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 -----
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 7 : IPlatform.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.23;
    /// @notice Interface of the main contract and entry point to the platform.
    /// @author Alien Deployer (https://github.com/a17)
    /// @author Jude (https://github.com/iammrjude)
    /// @author JodsMigel (https://github.com/JodsMigel)
    interface IPlatform {
    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /* CUSTOM ERRORS */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
    error AlreadyAnnounced();
    error SameVersion();
    error NoNewVersion();
    error UpgradeTimerIsNotOver(uint TimerTimestamp);
    error IncorrectFee(uint minFee, uint maxFee);
    error NotEnoughAllowedBBToken();
    error TokenAlreadyExistsInSet(address token);
    error AggregatorNotExists(address dexAggRouter);
    /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
    /* EVENTS */
    /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
    event PlatformVersion(string version);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 7 : IFactory.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.23;
    import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
    /// @notice Creating vaults, upgrading vaults and strategies, vault list, farms and strategy logics management
    /// @author Alien Deployer (https://github.com/a17)
    /// @author Jude (https://github.com/iammrjude)
    /// @author JodsMigel (https://github.com/JodsMigel)
    /// @author HCrypto7 (https://github.com/hcrypto7)
    interface IFactory {
    //region ----- Custom Errors -----
    error VaultImplementationIsNotAvailable();
    error VaultNotAllowedToDeploy();
    error StrategyImplementationIsNotAvailable();
    error StrategyLogicNotAllowedToDeploy();
    error YouDontHaveEnoughTokens(uint userBalance, uint requireBalance, address payToken);
    error SuchVaultAlreadyDeployed(bytes32 key);
    error NotActiveVault();
    error UpgradeDenied(bytes32 _hash);
    error AlreadyLastVersion(bytes32 _hash);
    error NotStrategy();
    error BoostDurationTooLow();
    error BoostAmountTooLow();
    error BoostAmountIsZero();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 7 : IVaultProxy.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
    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.23;
    /// @dev Interface of proxy contract for a vault implementation
    interface IVaultProxy {
    //region ----- Custom Errors -----
    error ProxyForbidden();
    //endregion -- Custom Errors -----
    /// @notice Initialize vault proxy by Factory
    /// @param type_ Vault type ID string
    function initProxy(string memory type_) external;
    /// @notice Upgrade vault implementation if available and allowed
    /// Anyone can execute vault upgrade
    function upgrade() external;
    /// @notice Current vault implementation
    /// @return Address of vault implementation contract
    function implementation() external view returns (address);
    /// @notice Vault type hash
    /// @return keccan256 hash of vault type ID string
    function vaultTypeHash() external view returns (bytes32);
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 7 of 7 : EnumerableSet.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
    // OpenZeppelin Contracts (last updated v5.0.0) (utils/structs/EnumerableSet.sol)
    // This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.
    pragma solidity ^0.8.20;
    /**
    * @dev Library for managing
    * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive
    * types.
    *
    * Sets have the following properties:
    *
    * - Elements are added, removed, and checked for existence in constant time
    * (O(1)).
    * - Elements are enumerated in O(n). No guarantees are made on the ordering.
    *
    * ```solidity
    * contract Example {
    * // Add the library methods
    * using EnumerableSet for EnumerableSet.AddressSet;
    *
    * // Declare a set state variable
    * EnumerableSet.AddressSet private mySet;
    * }
    * ```
    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

    [{"inputs":[],"name":"ImplementationIsNotContract","type":"error"},{"inputs":[],"name":"ProxyForbidden","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":"string","name":"type_","type":"string"}],"name":"initProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

    608060405234801561000f575f80fd5b5061003b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61006e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1461006957610069610093565b6100a7565b8181038181111561008d57634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52600160045260245ffd5b610754806100b45f395ff3fe608060405260043610610042575f3560e01c80630146056d146100595780635c60da1b14610080578063cc316e99146100ac578063d55ec697146100cb57610051565b366100515761004f6100df565b005b61004f6100df565b348015610064575f80fd5b5061006d6100fe565b6040519081526020015b60405180910390f35b34801561008b575f80fd5b50610094610134565b6040516001600160a01b039091168152602001610077565b3480156100b7575f80fd5b5061004f6100c636600461052b565b61014f565b3480156100d6575f80fd5b5061004f61021f565b6100fc6100f75f805160206106ff8339815191525490565b6103ba565b565b5f808061012c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b549392505050565b5f61014a5f805160206106ff8339815191525490565b905090565b5f8160405160200161016191906105ec565b60408051808303601f190181529082905280516020909101206305390e0360e21b82526004820181905291505f9033906314e4380c906024015f60405180830381865afa1580156101b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101db9190810190610631565b5050509150506101ea816103d8565b5f61021660017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b92909255505050565b306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561025b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027f91906106de565b6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102de91906106de565b6001600160a01b0316336001600160a01b03161461030f5760405163143d163360e11b815260040160405180910390fd5b5f8061033c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b80546040516305390e0360e21b8152600481018290529093509091505f9033906314e4380c906024015f60405180830381865afa15801561037f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103a69190810190610631565b5050509150506103b581610445565b505050565b365f80375f80365f845af43d5f803e8080156103d4573d5ff35b3d5ffd5b5f6103ee5f805160206106ff8339815191525490565b6001600160a01b0316146104395760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b61044281610484565b50565b61044e81610484565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b806001600160a01b03163b5f036104ae5760405163e84f0f9960e01b815260040160405180910390fd5b5f805160206106ff83398151915255565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156104fc576104fc6104bf565b604052919050565b5f67ffffffffffffffff82111561051d5761051d6104bf565b50601f01601f191660200190565b5f6020828403121561053b575f80fd5b813567ffffffffffffffff811115610551575f80fd5b8201601f81018413610561575f80fd5b803561057461056f82610504565b6104d3565b818152856020838501011115610588575f80fd5b816020840160208301375f91810160200191909152949350505050565b818103818111156105c457634e487b7160e01b5f52601160045260245ffd5b92915050565b5f5b838110156105e45781810151838201526020016105cc565b50505f910152565b5f82516105fd8184602087016105ca565b9190910192915050565b80516001600160a01b038116811461061d575f80fd5b919050565b8051801515811461061d575f80fd5b5f805f805f60a08688031215610645575f80fd5b855167ffffffffffffffff81111561065b575f80fd5b8601601f8101881361066b575f80fd5b805161067961056f82610504565b81815289602083850101111561068d575f80fd5b61069e8260208301602086016105ca565b96506106af91505060208701610607565b93506106bd60408701610622565b92506106cb60608701610622565b9150608086015190509295509295909350565b5f602082840312156106ee575f80fd5b6106f782610607565b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220cc8d3ccd58fdb2a0fb1c68b79d82f812eaad5bc15680a08effe68d829dd6604364736f6c63430008170033

    Deployed Bytecode

    0x608060405260043610610042575f3560e01c80630146056d146100595780635c60da1b14610080578063cc316e99146100ac578063d55ec697146100cb57610051565b366100515761004f6100df565b005b61004f6100df565b348015610064575f80fd5b5061006d6100fe565b6040519081526020015b60405180910390f35b34801561008b575f80fd5b50610094610134565b6040516001600160a01b039091168152602001610077565b3480156100b7575f80fd5b5061004f6100c636600461052b565b61014f565b3480156100d6575f80fd5b5061004f61021f565b6100fc6100f75f805160206106ff8339815191525490565b6103ba565b565b5f808061012c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b549392505050565b5f61014a5f805160206106ff8339815191525490565b905090565b5f8160405160200161016191906105ec565b60408051808303601f190181529082905280516020909101206305390e0360e21b82526004820181905291505f9033906314e4380c906024015f60405180830381865afa1580156101b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101db9190810190610631565b5050509150506101ea816103d8565b5f61021660017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b92909255505050565b306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561025b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027f91906106de565b6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102de91906106de565b6001600160a01b0316336001600160a01b03161461030f5760405163143d163360e11b815260040160405180910390fd5b5f8061033c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b80546040516305390e0360e21b8152600481018290529093509091505f9033906314e4380c906024015f60405180830381865afa15801561037f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103a69190810190610631565b5050509150506103b581610445565b505050565b365f80375f80365f845af43d5f803e8080156103d4573d5ff35b3d5ffd5b5f6103ee5f805160206106ff8339815191525490565b6001600160a01b0316146104395760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b61044281610484565b50565b61044e81610484565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b806001600160a01b03163b5f036104ae5760405163e84f0f9960e01b815260040160405180910390fd5b5f805160206106ff83398151915255565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156104fc576104fc6104bf565b604052919050565b5f67ffffffffffffffff82111561051d5761051d6104bf565b50601f01601f191660200190565b5f6020828403121561053b575f80fd5b813567ffffffffffffffff811115610551575f80fd5b8201601f81018413610561575f80fd5b803561057461056f82610504565b6104d3565b818152856020838501011115610588575f80fd5b816020840160208301375f91810160200191909152949350505050565b818103818111156105c457634e487b7160e01b5f52601160045260245ffd5b92915050565b5f5b838110156105e45781810151838201526020016105cc565b50505f910152565b5f82516105fd8184602087016105ca565b9190910192915050565b80516001600160a01b038116811461061d575f80fd5b919050565b8051801515811461061d575f80fd5b5f805f805f60a08688031215610645575f80fd5b855167ffffffffffffffff81111561065b575f80fd5b8601601f8101881361066b575f80fd5b805161067961056f82610504565b81815289602083850101111561068d575f80fd5b61069e8260208301602086016105ca565b96506106af91505060208701610607565b93506106bd60408701610622565b92506106cb60608701610622565b9150608086015190509295509295909350565b5f602082840312156106ee575f80fd5b6106f782610607565b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220cc8d3ccd58fdb2a0fb1c68b79d82f812eaad5bc15680a08effe68d829dd6604364736f6c63430008170033

    [ Download: CSV Export  ]
    [ Download: CSV Export  ]

    A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.