From f843f72e5555bcaabee12e0a783c2576b2ce1d7b Mon Sep 17 00:00:00 2001 From: keyvan Date: Wed, 11 Sep 2024 12:46:27 -0700 Subject: [PATCH 1/2] fix(staking): claimable rewards --- .../pyth_staking_sdk/src/pyth-staking-client.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/governance/pyth_staking_sdk/src/pyth-staking-client.ts b/governance/pyth_staking_sdk/src/pyth-staking-client.ts index 3034a7a04d..efd8c08780 100644 --- a/governance/pyth_staking_sdk/src/pyth-staking-client.ts +++ b/governance/pyth_staking_sdk/src/pyth-staking-client.ts @@ -475,12 +475,20 @@ export class PythStakingClient { stakeAccountPositions, ); + let totalRewards = 0n; + for (const instruction of instructions) { - await this.connection.simulateTransaction( - new Transaction().add(instruction), - ); + const tx = new Transaction().add(instruction); + tx.feePayer = this.wallet.publicKey; + const res = await this.connection.simulateTransaction(tx); + const val = res.value.returnData?.data[0]; + if (val === undefined) { + continue; + } + const buffer = Buffer.from(val, 'base64') + totalRewards += BigInt('0x'+buffer.toString('hex')) } - return 1n; + return totalRewards; } } From 931fb115174af209a9590c16bc89f6f43fd7123d Mon Sep 17 00:00:00 2001 From: keyvan Date: Wed, 11 Sep 2024 13:16:11 -0700 Subject: [PATCH 2/2] fix --- governance/pyth_staking_sdk/src/pyth-staking-client.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/governance/pyth_staking_sdk/src/pyth-staking-client.ts b/governance/pyth_staking_sdk/src/pyth-staking-client.ts index efd8c08780..7b765ceba9 100644 --- a/governance/pyth_staking_sdk/src/pyth-staking-client.ts +++ b/governance/pyth_staking_sdk/src/pyth-staking-client.ts @@ -485,8 +485,8 @@ export class PythStakingClient { if (val === undefined) { continue; } - const buffer = Buffer.from(val, 'base64') - totalRewards += BigInt('0x'+buffer.toString('hex')) + const buffer = Buffer.from(val, "base64"); + totalRewards += BigInt("0x" + buffer.toString("hex")); } return totalRewards;