Skip to content

Commit 2c88997

Browse files
committed
Add more tests
1 parent 319457f commit 2c88997

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Copyright Immutable Pty Ltd 2018 - 2024
2+
// SPDX-License-Identifier: Apache 2.0
3+
pragma solidity >=0.8.19 <0.8.29;
4+
5+
// solhint-disable-next-line no-global-import
6+
import "forge-std/Test.sol";
7+
import {StakeHolderWIMX} from "../../contracts/staking/StakeHolderWIMX.sol";
8+
import {IStakeHolder} from "../../contracts/staking/IStakeHolder.sol";
9+
import {StakeHolderTimeDelayBaseTest} from "./StakeHolderTimeDelayBase.t.sol";
10+
import {ERC1967Proxy} from "openzeppelin-contracts-4.9.3/proxy/ERC1967/ERC1967Proxy.sol";
11+
import {WIMX} from "../../contracts/staking/WIMX.sol";
12+
import {StakeHolderBase} from "../../contracts/staking/StakeHolderBase.sol";
13+
14+
contract StakeHolderWIMXV2 is StakeHolderWIMX {
15+
function upgradeStorage(bytes memory /* _data */) external override(StakeHolderBase) {
16+
version = 1;
17+
}
18+
}
19+
20+
21+
contract StakeHolderTimeDelayERC20Test is StakeHolderTimeDelayBaseTest {
22+
WIMX erc20;
23+
24+
function setUp() public override {
25+
super.setUp();
26+
27+
erc20 = new WIMX();
28+
29+
StakeHolderWIMX impl = new StakeHolderWIMX();
30+
31+
bytes memory initData = abi.encodeWithSelector(
32+
StakeHolderWIMX.initialize.selector, address(stakeHolderTimeDelay), address(stakeHolderTimeDelay),
33+
distributeAdmin, address(erc20)
34+
);
35+
36+
ERC1967Proxy proxy = new ERC1967Proxy(address(impl), initData);
37+
stakeHolder = IStakeHolder(address(proxy));
38+
}
39+
40+
function _deployV2() internal override returns(IStakeHolder) {
41+
return IStakeHolder(address(new StakeHolderWIMXV2()));
42+
}
43+
}

0 commit comments

Comments
 (0)