S Price: $0.455388 (-2.18%)
    /

    Contract

    0x15dB2b6b60e4618372eDE51d9fCF74C58556B04c

    Overview

    S Balance

    Sonic LogoSonic LogoSonic Logo0 S

    S Value

    $0.00

    Multichain Info

    No addresses found
    Transaction Hash
    Method
    Block
    Age
    From
    To
    Amount
    Withdraw Assets213743912025-04-21 13:03:078 hrs ago1745240587IN
    0x15dB2b6b...58556B04c
    0 S0.0413963350.0001
    Withdraw Assets202008642025-04-14 14:07:167 days ago1744639636IN
    0x15dB2b6b...58556B04c
    0 S0.0388091250.0001
    Approve201819662025-04-14 12:17:467 days ago1744633066IN
    0x15dB2b6b...58556B04c
    0 S0.0029930355.01
    Approve198594402025-04-12 20:27:479 days ago1744489667IN
    0x15dB2b6b...58556B04c
    0 S0.0029924955
    Deposit Assets198593292025-04-12 20:26:579 days ago1744489617IN
    0x15dB2b6b...58556B04c
    0 S0.0228620755
    Deposit Assets193689832025-04-10 12:20:1811 days ago1744287618IN
    0x15dB2b6b...58556B04c
    0 S0.0184897150.82342357
    Deposit Assets190090892025-04-08 20:46:4713 days ago1744145207IN
    0x15dB2b6b...58556B04c
    0 S0.1293984550.0001
    Approve189613022025-04-08 15:44:2013 days ago1744127060IN
    0x15dB2b6b...58556B04c
    0 S0.002616250.0001
    Deposit Assets189451522025-04-08 14:02:5413 days ago1744120974IN
    0x15dB2b6b...58556B04c
    0 S0.1245570950.0001
    Deposit Assets184981592025-04-06 13:10:2915 days ago1743945029IN
    0x15dB2b6b...58556B04c
    0 S0.1046200550.0001
    Deposit Assets183950922025-04-05 22:43:2515 days ago1743893005IN
    0x15dB2b6b...58556B04c
    0 S0.1264307550.0001
    Deposit Assets183073662025-04-05 11:47:0516 days ago1743853625IN
    0x15dB2b6b...58556B04c
    0 S0.0511347155.01
    Deposit Assets183069482025-04-05 11:44:0316 days ago1743853443IN
    0x15dB2b6b...58556B04c
    0 S0.1426997955.01
    Withdraw Assets182290862025-04-05 1:06:2416 days ago1743815184IN
    0x15dB2b6b...58556B04c
    0 S0.0152797860
    Deposit Assets179661532025-04-03 18:55:1118 days ago1743706511IN
    0x15dB2b6b...58556B04c
    0 S0.1212810450.0001
    Withdraw Assets179343562025-04-03 15:38:1118 days ago1743694691IN
    0x15dB2b6b...58556B04c
    0 S0.0121817750.0001
    Deposit Assets178266612025-04-03 3:58:3718 days ago1743652717IN
    0x15dB2b6b...58556B04c
    0 S0.0471274450.0001
    Deposit Assets173810262025-04-01 3:48:3120 days ago1743479311IN
    0x15dB2b6b...58556B04c
    0 S0.1311787650.0001
    Deposit Assets172705522025-03-31 15:33:4721 days ago1743435227IN
    0x15dB2b6b...58556B04c
    0 S0.1108335250.0001
    Withdraw Assets170507192025-03-30 16:50:1422 days ago1743353414IN
    0x15dB2b6b...58556B04c
    0 S0.0383131151.85155727
    Approve170290212025-03-30 14:46:5022 days ago1743346010IN
    0x15dB2b6b...58556B04c
    0 S0.0029927155
    Deposit Assets168047922025-03-29 14:45:1923 days ago1743259519IN
    0x15dB2b6b...58556B04c
    0 S0.0435603350.0001
    Deposit Assets167976392025-03-29 13:59:5923 days ago1743256799IN
    0x15dB2b6b...58556B04c
    0 S0.0982799450.0001
    Deposit Assets164462022025-03-27 23:59:2024 days ago1743119960IN
    0x15dB2b6b...58556B04c
    0 S0.0474110450.0001
    Deposit Assets162295532025-03-27 2:10:0225 days ago1743041402IN
    0x15dB2b6b...58556B04c
    0 S0.0612606255.01
    View all transactions

    Latest 1 internal transaction

    Parent Transaction Hash Block Age From To Amount
    30542372025-01-09 0:37:44102 days ago1736383064
     Contract Creation
    0 S
    Loading...
    Loading

    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

    API
    [{"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"}]

    Deployed Bytecode

    0x608060405260043610610042575f3560e01c80630146056d146100595780635c60da1b14610080578063cc316e99146100ac578063d55ec697146100cb57610051565b366100515761004f6100df565b005b61004f6100df565b348015610064575f80fd5b5061006d6100fe565b6040519081526020015b60405180910390f35b34801561008b575f80fd5b50610094610134565b6040516001600160a01b039091168152602001610077565b3480156100b7575f80fd5b5061004f6100c636600461052b565b61014f565b3480156100d6575f80fd5b5061004f61021f565b6100fc6100f75f805160206106ff8339815191525490565b6103ba565b565b5f808061012c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b549392505050565b5f61014a5f805160206106ff8339815191525490565b905090565b5f8160405160200161016191906105ec565b60408051808303601f190181529082905280516020909101206305390e0360e21b82526004820181905291505f9033906314e4380c906024015f60405180830381865afa1580156101b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101db9190810190610631565b5050509150506101ea816103d8565b5f61021660017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b92909255505050565b306001600160a01b0316634bde38c86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561025b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027f91906106de565b6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102de91906106de565b6001600160a01b0316336001600160a01b03161461030f5760405163143d163360e11b815260040160405180910390fd5b5f8061033c60017f5ab13dea200017e8baa24b5dbdb8948cd7b177c48215cedcb418645bd0d0c31b6105a5565b80546040516305390e0360e21b8152600481018290529093509091505f9033906314e4380c906024015f60405180830381865afa15801561037f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103a69190810190610631565b5050509150506103b581610445565b505050565b365f80375f80365f845af43d5f803e8080156103d4573d5ff35b3d5ffd5b5f6103ee5f805160206106ff8339815191525490565b6001600160a01b0316146104395760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b61044281610484565b50565b61044e81610484565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b806001600160a01b03163b5f036104ae5760405163e84f0f9960e01b815260040160405180910390fd5b5f805160206106ff83398151915255565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156104fc576104fc6104bf565b604052919050565b5f67ffffffffffffffff82111561051d5761051d6104bf565b50601f01601f191660200190565b5f6020828403121561053b575f80fd5b813567ffffffffffffffff811115610551575f80fd5b8201601f81018413610561575f80fd5b803561057461056f82610504565b6104d3565b818152856020838501011115610588575f80fd5b816020840160208301375f91810160200191909152949350505050565b818103818111156105c457634e487b7160e01b5f52601160045260245ffd5b92915050565b5f5b838110156105e45781810151838201526020016105cc565b50505f910152565b5f82516105fd8184602087016105ca565b9190910192915050565b80516001600160a01b038116811461061d575f80fd5b919050565b8051801515811461061d575f80fd5b5f805f805f60a08688031215610645575f80fd5b855167ffffffffffffffff81111561065b575f80fd5b8601601f8101881361066b575f80fd5b805161067961056f82610504565b81815289602083850101111561068d575f80fd5b61069e8260208301602086016105ca565b96506106af91505060208701610607565b93506106bd60408701610622565b92506106cb60608701610622565b9150608086015190509295509295909350565b5f602082840312156106ee575f80fd5b6106f782610607565b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220cc8d3ccd58fdb2a0fb1c68b79d82f812eaad5bc15680a08effe68d829dd6604364736f6c63430008170033

    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  ]
    [ 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.