function testInsecureRewardUpdate() public {
    setupStateBeforeClaim();

    // Based on `LendingLedger.t.sol::testClaimValidLenderOneBlock`, the reward of the `lender` should be `amountPerBlock - 1` at this time point
    vm.roll(BLOCK_EPOCH * 5 + 1);

    // We update the rewards of the epochs without updating the markets
    vm.prank(governance);
    uint256 newRewardPerBlock = amountPerBlock * 2;
    ledger.setRewards(fromEpoch, toEpoch, newRewardPerBlock);

    // We claim the `lender` rewards, should be `amountPerBlock` based on `LendingLedger.t.sol::testClaimValidLenderOneBlock`
    uint256 balanceBefore = address(lender).balance;
    vm.prank(lender);
    vm.roll(BLOCK_EPOCH * 5 + 1);
    ledger.claim(lendingMarket);
    uint256 balanceAfter = address(lender).balance;

    // Assertion will fail
    assertEq(balanceAfter - balanceBefore, amountPerBlock - 1);
}
forge test --match-test testInsecureRewardUpdate -vv 
