From ece33f1f61230a5d375da5215dc474b72c3bc677 Mon Sep 17 00:00:00 2001 From: AI Date: Sat, 11 Jul 2026 03:03:47 +0530 Subject: [PATCH] Fix unclaimed reward accumulating for burned risk bundles --- src/backend/staking_contract.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/backend/staking_contract.ts b/src/backend/staking_contract.ts index b70c65af..23061f23 100644 --- a/src/backend/staking_contract.ts +++ b/src/backend/staking_contract.ts @@ -5,7 +5,7 @@ import { IChainRegistry, IChainRegistry__factory, IERC20Metadata__factory, IERC7 import { add, addAmountToMyStakes, addNftId, clearNftIds, setUnclaimedRewards } from "../redux/slices/stakes"; import { store } from "../redux/store"; import { TransactionFailedError } from "../utils/error"; -import { BundleInfo } from "./bundle_info"; +import { BundleInfo, BundleState } from "./bundle_info"; import { InstanceInfo } from "./instance_info"; import { NftInfo, NftType } from "./nft_info"; import { ErrorReply } from "redis"; @@ -454,7 +454,10 @@ export default class StakingContract { const bundleStakeNftId = bundle.myStakedNfsIds.map(id => BigNumber.from(id)); const unclaimedRewards = await bundleStakeNftId.map(async (id) => { const stakeInfo = await this.staking.getInfo(id); - const rewardIncrement = await this.staking.calculateRewardsIncrement(stakeInfo); + let rewardIncrement = await this.staking.calculateRewardsIncrement(stakeInfo); + if (bundle.state === BundleState.BURNED) { + rewardIncrement = BigNumber.from(0); + } const { rewardBalance } = stakeInfo; console.log("unclaimed rewards", formatEther(rewardBalance), formatEther(rewardIncrement), stakeInfo); return rewardBalance.add(rewardIncrement);