From 483e8f2c6bba3dc74c76eb9e4cb3c2570cc5cea7 Mon Sep 17 00:00:00 2001 From: Federico Giacon <58218759+fedgiac@users.noreply.github.com> Date: Wed, 14 Aug 2024 12:36:47 +0000 Subject: [PATCH] Fix fuzz test case where buy and sell tokens are the same --- test/GPv2Signing/CalldataManipulation.t.sol | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/GPv2Signing/CalldataManipulation.t.sol b/test/GPv2Signing/CalldataManipulation.t.sol index 35c6fd30..2cb9edda 100644 --- a/test/GPv2Signing/CalldataManipulation.t.sol +++ b/test/GPv2Signing/CalldataManipulation.t.sol @@ -58,7 +58,10 @@ contract CalldataManipulation is Helper { uint256 startNumTokenWord = 4 + 2 * 32; uint256 startFirstTokenWord = startNumTokenWord + 32; uint256 encodedNumTokens = abi.decode(encodedTransactionData.slice(startNumTokenWord, 32), (uint256)); - require(encodedNumTokens == 2, "invalid test setup; has the transaction encoding changed?"); + require( + encodedNumTokens == ((order.sellToken == order.buyToken) ? 1 : 2), + "invalid test setup; has the transaction encoding changed?" + ); bytes memory encodedFirstToken = encodedTransactionData.slice(startFirstTokenWord, 32); uint256 tokenPaddingSize = 12; for (uint256 i = 0; i < tokenPaddingSize; i++) {