Skip to content

Commit f05ea15

Browse files
Krishang NadgaudaKrishang Nadgauda
authored andcommitted
add test for native token edge case
1 parent 5a2666c commit f05ea15

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/test/Multiwrap.t.sol

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,33 @@ contract MultiwrapTest is BaseTest {
290290
multiwrap.wrap(nativeTokenContentToWrap, uriForWrappedToken, recipient);
291291
}
292292

293+
/**
294+
* note: Testing revert condition; token owner calls `wrap` to wrap native tokens, but with multiple instances in `tokensToWrap` array.
295+
*/
296+
function test_revert_wrap_nativeTokens_insufficientValue_multipleInstances() public {
297+
address recipient = address(0x123);
298+
299+
ITokenBundle.Token[] memory nativeTokenContentToWrap = new ITokenBundle.Token[](2);
300+
301+
vm.deal(address(tokenOwner), 100 ether);
302+
nativeTokenContentToWrap[0] = ITokenBundle.Token({
303+
assetContract: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,
304+
tokenType: ITokenBundle.TokenType.ERC20,
305+
tokenId: 0,
306+
totalAmount: 5 ether
307+
});
308+
nativeTokenContentToWrap[1] = ITokenBundle.Token({
309+
assetContract: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE,
310+
tokenType: ITokenBundle.TokenType.ERC20,
311+
tokenId: 0,
312+
totalAmount: 5 ether
313+
});
314+
315+
vm.prank(address(tokenOwner));
316+
vm.expectRevert("msg.value != amount");
317+
multiwrap.wrap{ value: 10 ether }(nativeTokenContentToWrap, uriForWrappedToken, recipient);
318+
}
319+
293320
/**
294321
* note: Testing revert condition; token owner calls `wrap` to wrap un-owned ERC20 tokens.
295322
*/

0 commit comments

Comments
 (0)