// SPDX-License-Identifier: MIT pragma solidity 0.8.35; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol"; import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol"; import {ReentrancyGuardTransient} from "@openzeppelin/contracts/utils/ReentrancyGuardTransient.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol"; contract IncompatibleBank is Initializable, UUPSUpgradeable, OwnableUpgradeable, PausableUpgradeable, ReentrancyGuardTransient { mapping(address account => uint256 balance) internal _balances; IERC20 internal _asset; uint256 internal _totalLiabilities; uint256[47] private __gap; function initialize(address asset_, address initialOwner) public initializer { __Ownable_init(initialOwner); __Pausable_init(); _asset = IERC20(asset_); } function _authorizeUpgrade(address) internal override onlyOwner {} }