Files
uupl-smart-contract/test/helpers/BankTestBase.sol
T
2026-08-17 16:54:31 -06:00

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);
}
}