Skip to content

Commit 80f39fc

Browse files
wip on tests
1 parent d9ec551 commit 80f39fc

File tree

3 files changed

+25
-28
lines changed

3 files changed

+25
-28
lines changed

test/abstract/OwnerFreezableOwnerFreezeUntilTest.sol

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ pragma solidity ^0.8.25;
55
import {Test} from "forge-std/Test.sol";
66
import {IOwnerFreezableV1} from "src/abstract/OwnerFreezable.sol";
77
import {Math} from "openzeppelin-contracts/contracts/utils/math/Math.sol";
8+
import {OwnableUpgradeable as Ownable} from "openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol";
89

910
abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
1011
using Math for uint256;
@@ -64,7 +65,7 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
6465
}
6566

6667
function testOwnerFreezableOnlyOwnerCanFreeze(uint256 freezeUntil) external {
67-
vm.expectRevert("Ownable: caller is not the owner");
68+
vm.expectRevert(abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, sBob));
6869
vm.prank(sBob);
6970
sOwnerFreezable.ownerFreezeUntil(freezeUntil);
7071
assertEq(sOwnerFreezable.ownerFrozenUntil(), 0);
@@ -117,7 +118,7 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
117118
/// Only owner can call ownerFreezeAlwaysAllowFrom.
118119
function testOwnerFreezableOnlyOwnerCanFreezeAlwaysAllowFrom(address from, uint256 protectUntil) external {
119120
vm.assume(protectUntil != 0);
120-
vm.expectRevert("Ownable: caller is not the owner");
121+
vm.expectRevert(abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, sBob));
121122
vm.prank(sBob);
122123
sOwnerFreezable.ownerFreezeAlwaysAllowFrom(from, protectUntil);
123124
assertEq(sOwnerFreezable.ownerFreezeAlwaysAllowedFrom(from), 0);
@@ -129,7 +130,7 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
129130

130131
/// Calling ownerFreezeAlwaysAllowFrom with a zero protectUntil reverts.
131132
function testOwnerFreezableZeroProtectUntilReverts(address from) external {
132-
vm.expectRevert(abi.encodeWithSignature("OwnerFreezeAlwaysAllowedFromZero(address)", from));
133+
vm.expectRevert(abi.encodeWithSelector(IOwnerFreezableV1.OwnerFreezeAlwaysAllowedFromZero.selector, from));
133134
vm.prank(sAlice);
134135
sOwnerFreezable.ownerFreezeAlwaysAllowFrom(from, 0);
135136
}
@@ -215,15 +216,15 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
215216
vm.warp(time);
216217
vm.prank(sAlice);
217218
vm.expectRevert(
218-
abi.encodeWithSignature("OwnerFreezeAlwaysAllowedFromProtected(address,uint256)", from, protectUntil)
219+
abi.encodeWithSelector(IOwnerFreezableV1.OwnerFreezeAlwaysAllowedFromProtected.selector, from, protectUntil)
219220
);
220221
sOwnerFreezable.ownerFreezeStopAlwaysAllowingFrom(from);
221222
}
222223

223224
/// Only owner can call ownerFreezeAlwaysAllowTo.
224225
function testOwnerFreezableOnlyOwnerCanFreezeAlwaysAllowTo(address to, uint256 protectUntil) external {
225226
vm.assume(protectUntil != 0);
226-
vm.expectRevert("Ownable: caller is not the owner");
227+
vm.expectRevert(abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, sBob));
227228
vm.prank(sBob);
228229
sOwnerFreezable.ownerFreezeAlwaysAllowTo(to, protectUntil);
229230
assertEq(sOwnerFreezable.ownerFreezeAlwaysAllowedTo(to), 0);
@@ -235,7 +236,7 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
235236

236237
/// Calling ownerFreezeAlwaysAllowTo with a zero protectUntil reverts.
237238
function testOwnerFreezableZeroProtectUntilRevertsTo(address to) external {
238-
vm.expectRevert(abi.encodeWithSignature("OwnerFreezeAlwaysAllowedToZero(address)", to));
239+
vm.expectRevert(abi.encodeWithSelector(IOwnerFreezableV1.OwnerFreezeAlwaysAllowedToZero.selector, to));
239240
vm.prank(sAlice);
240241
sOwnerFreezable.ownerFreezeAlwaysAllowTo(to, 0);
241242
}
@@ -318,7 +319,7 @@ abstract contract OwnerFreezableOwnerFreezeUntilTest is Test {
318319
vm.warp(time);
319320
vm.prank(sAlice);
320321
vm.expectRevert(
321-
abi.encodeWithSignature("OwnerFreezeAlwaysAllowedToProtected(address,uint256)", to, protectUntil)
322+
abi.encodeWithSelector(IOwnerFreezableV1.OwnerFreezeAlwaysAllowedToProtected.selector, to, protectUntil)
322323
);
323324
sOwnerFreezable.ownerFreezeStopAlwaysAllowingTo(to);
324325
}

test/src/concrete/vault/OffchainAssetReceiptVault.multicall.t.sol

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {OffchainAssetReceiptVault, DEPOSIT, WITHDRAW} from "src/concrete/vault/O
66
import {OffchainAssetReceiptVaultTest} from "test/abstract/OffchainAssetReceiptVaultTest.sol";
77
import {LibUniqueAddressesGenerator} from "../../../lib/LibUniqueAddressesGenerator.sol";
88
import {OffchainAssetReceiptVaultAuthorizerV1} from "src/concrete/authorize/OffchainAssetReceiptVaultAuthorizerV1.sol";
9+
import {IReceiptVaultV1} from "src/interface/IReceiptVaultV3.sol";
910

1011
contract MulticallTest is OffchainAssetReceiptVaultTest {
1112
/// Test Mint multicall
@@ -40,11 +41,11 @@ contract MulticallTest is OffchainAssetReceiptVaultTest {
4041
uint256 initialBalanceOwner = vault.balanceOf(bob);
4142
bytes[] memory data = new bytes[](2);
4243

43-
data[0] = abi.encodeWithSignature(
44-
"mint(uint256,address,uint256,bytes)", firstMintAmount, bob, minShareRatio, receiptInformation
44+
data[0] = abi.encodeWithSelector(
45+
IReceiptVaultV1.mint.selector, firstMintAmount, bob, minShareRatio, receiptInformation
4546
);
46-
data[1] = abi.encodeWithSignature(
47-
"mint(uint256,address,uint256,bytes)", secondMintAmount, bob, minShareRatio, receiptInformation
47+
data[1] = abi.encodeWithSelector(
48+
IReceiptVaultV1.mint.selector, secondMintAmount, bob, minShareRatio, receiptInformation
4849
);
4950

5051
uint256 totalMint = firstMintAmount + secondMintAmount;
@@ -89,11 +90,11 @@ contract MulticallTest is OffchainAssetReceiptVaultTest {
8990
uint256 initialBalanceOwner = vault.balanceOf(bob);
9091
bytes[] memory data = new bytes[](2);
9192

92-
data[0] = abi.encodeWithSignature(
93-
"deposit(uint256,address,uint256,bytes)", firstDepositAmount, bob, minShareRatio, receiptInformation
93+
data[0] = abi.encodeWithSelector(
94+
IReceiptVaultV1.deposit.selector, firstDepositAmount, bob, minShareRatio, receiptInformation
9495
);
95-
data[1] = abi.encodeWithSignature(
96-
"deposit(uint256,address,uint256,bytes)", secondDepositAmount, bob, minShareRatio, receiptInformation
96+
data[1] = abi.encodeWithSelector(
97+
IReceiptVaultV1.deposit.selector, secondDepositAmount, bob, minShareRatio, receiptInformation
9798
);
9899

99100
uint256 totalMint = firstDepositAmount + secondDepositAmount;
@@ -153,12 +154,8 @@ contract MulticallTest is OffchainAssetReceiptVaultTest {
153154

154155
bytes[] memory data = new bytes[](2);
155156

156-
data[0] = abi.encodeWithSignature(
157-
"redeem(uint256,address,address,uint256,bytes)", firstDepositAmount, bob, bob, 1, ""
158-
);
159-
data[1] = abi.encodeWithSignature(
160-
"redeem(uint256,address,address,uint256,bytes)", secondDepositAmount, bob, bob, 2, ""
161-
);
157+
data[0] = abi.encodeWithSelector(IReceiptVaultV1.redeem.selector, firstDepositAmount, bob, bob, 1, "");
158+
data[1] = abi.encodeWithSelector(IReceiptVaultV1.redeem.selector, secondDepositAmount, bob, bob, 2, "");
162159

163160
uint256 totalRedeemed = firstDepositAmount + secondDepositAmount;
164161
// Call multicall on redeem function
@@ -217,12 +214,8 @@ contract MulticallTest is OffchainAssetReceiptVaultTest {
217214

218215
bytes[] memory data = new bytes[](2);
219216

220-
data[0] = abi.encodeWithSignature(
221-
"withdraw(uint256,address,address,uint256,bytes)", firstDepositAmount, bob, bob, 1, ""
222-
);
223-
data[1] = abi.encodeWithSignature(
224-
"withdraw(uint256,address,address,uint256,bytes)", secondDepositAmount, bob, bob, 2, ""
225-
);
217+
data[0] = abi.encodeWithSelector(IReceiptVaultV1.withdraw.selector, firstDepositAmount, bob, bob, 1, "");
218+
data[1] = abi.encodeWithSelector(IReceiptVaultV1.withdraw.selector, secondDepositAmount, bob, bob, 2, "");
226219

227220
uint256 totalRedeemed = firstDepositAmount + secondDepositAmount;
228221
// Call multicall on redeem function

test/src/concrete/vault/OffchainAssetReceiptVault.redeem.t.sol

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
import {IReceiptVaultV1} from "src/interface/IReceiptVaultV3.sol";
1313
import {LibUniqueAddressesGenerator} from "../../../lib/LibUniqueAddressesGenerator.sol";
1414
import {OffchainAssetReceiptVaultAuthorizerV1} from "src/concrete/authorize/OffchainAssetReceiptVaultAuthorizerV1.sol";
15+
import {IERC20Errors} from "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
1516

1617
contract RedeemTest is OffchainAssetReceiptVaultTest {
1718
using LibFixedPointDecimalArithmeticOpenZeppelin for uint256;
@@ -585,7 +586,9 @@ contract RedeemTest is OffchainAssetReceiptVaultTest {
585586

586587
// Bob has no allowance so he cannot withdraw.
587588
vm.startPrank(bob);
588-
vm.expectRevert("ERC20: insufficient allowance");
589+
vm.expectRevert(
590+
abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, bob, 0, redeemSharesAmount)
591+
);
589592
uint256 assets = vault.redeem(redeemSharesAmount, bob, alice, 1, bytes(""));
590593
assertEqUint(assets, 0);
591594
vm.stopPrank();

0 commit comments

Comments
 (0)