From a6ea0ccce5ee0bdf313da2c2bf1936d7e7870202 Mon Sep 17 00:00:00 2001 From: Q Bera Date: Fri, 17 Oct 2025 11:16:03 -0400 Subject: [PATCH] fix blockhash call for a valid previous block hash --- contracts/src/Multicall3.sol | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contracts/src/Multicall3.sol b/contracts/src/Multicall3.sol index 92b47744..f99c7c57 100644 --- a/contracts/src/Multicall3.sol +++ b/contracts/src/Multicall3.sol @@ -101,7 +101,9 @@ contract Multicall3 { ) { blockNumber = block.number; - blockHash = blockhash(block.number); + // blockhash(block.number) always returns 0, so use blockhash(block.number - 1) for a valid previous block hash. + // Note: block.number is always > 0 except for genesis block, so this is safe in normal usage. + blockHash = blockhash(block.number - 1); returnData = tryAggregate(requireSuccess, calls); }