feat: add storage-safe bank V2

This commit is contained in:
golem
2026-08-21 14:58:24 -06:00
parent eb2fd5245a
commit ca6a99b913
6 changed files with 419 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
// 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 {}
}