Skip to content

Commit 9b5ed2c

Browse files
author
Rahul Maganti
committed
evm: modify trimming is left inverse to support more decimals
1 parent def0d87 commit 9b5ed2c

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

evm/test/TrimmedAmount.t.sol

+9-8
Original file line numberDiff line numberDiff line change
@@ -165,18 +165,19 @@ contract TrimmingTest is Test {
165165
uint8 fromDecimals,
166166
uint8 toDecimals
167167
) public {
168-
// this is guaranteed by trimming
169168
uint256 amt = bound(amount, 1, type(uint64).max);
170-
vm.assume(fromDecimals <= 18);
171-
vm.assume(toDecimals <= 18);
169+
vm.assume(fromDecimals <= 50);
170+
vm.assume(toDecimals <= 50);
172171

173-
// trimming
174-
uint8 initialDecimals = 0;
175-
TrimmedAmount memory trimmedAmount = TrimmedAmount(uint64(amt), initialDecimals);
172+
// NOTE: this is guaranteeed by trimming
173+
vm.assume(fromDecimals <= 8 && fromDecimals <= toDecimals);
174+
175+
// initialize TrimmedAmount
176+
TrimmedAmount memory trimmedAmount = TrimmedAmount(uint64(amt), fromDecimals);
176177

177178
// trimming is left inverse of trimming
178-
uint256 amountUntrimmed = trimmedAmount.untrim(fromDecimals);
179-
TrimmedAmount memory amountRoundTrip = amountUntrimmed.trim(fromDecimals, initialDecimals);
179+
uint256 amountUntrimmed = trimmedAmount.untrim(toDecimals);
180+
TrimmedAmount memory amountRoundTrip = amountUntrimmed.trim(toDecimals, fromDecimals);
180181

181182
assertEq(trimmedAmount.amount, amountRoundTrip.amount);
182183
}

0 commit comments

Comments
 (0)