diff --git a/contracts/src/Multicall3.sol b/contracts/src/Multicall3.sol index 92b4774..f99c7c5 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); }