diff --git a/contracts/src/batch/Multicall3From.sol b/contracts/src/batch/Multicall3From.sol index 16329ef..dce6b81 100644 --- a/contracts/src/batch/Multicall3From.sol +++ b/contracts/src/batch/Multicall3From.sol @@ -163,7 +163,7 @@ contract Multicall3From is IMulticall3From { returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) { blockNumber = block.number; - blockHash = blockhash(block.number); + blockHash = blockhash(block.number - 1); uint256 length = calls.length; returnData = new Result[](length); for (uint256 i = 0; i < length;) { diff --git a/contracts/test/batch/Multicall3From.t.sol b/contracts/test/batch/Multicall3From.t.sol index 59aeaeb..2440ce3 100644 --- a/contracts/test/batch/Multicall3From.t.sol +++ b/contracts/test/batch/Multicall3From.t.sol @@ -340,7 +340,7 @@ contract Multicall3FromTest is Test { multicall.blockAndAggregate(calls); assertEq(blockNumber, block.number); - assertEq(blockHash, blockhash(block.number)); + assertEq(blockHash, blockhash(block.number - 1)); assertEq(results.length, 1); assertTrue(results[0].success); assertEq(target.value(), 33); @@ -370,7 +370,7 @@ contract Multicall3FromTest is Test { multicall.tryBlockAndAggregate(false, calls); assertEq(blockNumber, block.number); - assertEq(blockHash, blockhash(block.number)); + assertEq(blockHash, blockhash(block.number - 1)); assertEq(results.length, 1); assertFalse(results[0].success); }