34 lines
997 B
Solidity
34 lines
997 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity 0.8.35;
|
|
|
|
import {Test} from "forge-std/Test.sol";
|
|
import {Upgrades} from "openzeppelin-foundry-upgrades/Upgrades.sol";
|
|
|
|
import {BankV1} from "../../src/BankV1.sol";
|
|
import {MockUSDC} from "../../src/MockUSDC.sol";
|
|
|
|
abstract contract BankTestBase is Test {
|
|
address internal owner;
|
|
address internal alice;
|
|
address internal bob;
|
|
address internal stranger;
|
|
|
|
MockUSDC internal token;
|
|
address internal proxy;
|
|
address internal implementation;
|
|
BankV1 internal bank;
|
|
|
|
function setUp() public virtual {
|
|
owner = makeAddr("owner");
|
|
alice = makeAddr("alice");
|
|
bob = makeAddr("bob");
|
|
stranger = makeAddr("stranger");
|
|
|
|
token = new MockUSDC(owner);
|
|
proxy =
|
|
Upgrades.deployUUPSProxy("BankV1.sol:BankV1", abi.encodeCall(BankV1.initialize, (address(token), owner)));
|
|
bank = BankV1(proxy);
|
|
implementation = Upgrades.getImplementationAddress(proxy);
|
|
}
|
|
}
|