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

import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import {UUPSUpgradeable as OZUUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";

/**
 * @dev Compatibility shim for OZ 4.x-style upgradeable UUPS initialization.
 *
 * The installed OZ 5.x upgradeable package re-exports the non-upgradeable UUPS
 * contract and no longer includes `__UUPSUpgradeable_init()`. Several existing
 * contracts in this repo still call that hook during initialization, so we keep
 * a local wrapper that restores the expected no-op initializer surface.
 */
abstract contract UUPSUpgradeable is Initializable, OZUUPSUpgradeable {
    function __UUPSUpgradeable_init() internal onlyInitializing {}

    function __UUPSUpgradeable_init_unchained() internal onlyInitializing {}
}
