@Test
  void shouldThrowExceptionForInvalidTimestamp() {
    // BlockHeader is at block number 1 and timestamp 1000
    // BlockStateCall is at block number 2 and timestamp 1000
    // Should throw an exception because the timestamp is not greater than the 1000
    IllegalArgumentException exception =
        assertThrows(
            IllegalArgumentException.class,
            () ->
                BlockStateCalls.fillBlockStateCalls(
                    List.of(createBlockStateCall(2L, headerTimestamp)), mockBlockHeader));
    String expectedMessage =
        String.format(
            "Timestamp is invalid. Trying to add a call at timestamp %s, while current timestamp is %s.",
            headerTimestamp, headerTimestamp); // next timestamp
    assertEquals(expectedMessage, exception.getMessage());
  }
Tests that an exception is thrown when a BlockStateCall with a timestamp less than or equal to
the last timestamp is added.
ethereum/core/src/test/java/org/hyperledger/besu/ethereum/transaction/BlockStateCallsTest.java