Skip to content

Commit 6f00eae

Browse files
committed
fix: fix handling of null stake when parsing account info
1 parent cb48733 commit 6f00eae

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

web3js-1.0/src/rpc.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,16 @@ export async function getStakeActivation(
3333
})(),
3434
]);
3535

36-
const { effective, activating, deactivating } =
36+
const { effective, activating, deactivating } = stakeAccount.stake ?
3737
getStakeActivatingAndDeactivating(
3838
stakeAccount.stake.delegation,
3939
BigInt(epochInfo.epoch),
4040
stakeHistory
41-
);
41+
) : {
42+
effective: BigInt(0),
43+
activating: BigInt(0),
44+
deactivating: BigInt(0),
45+
};
4246

4347
let status;
4448
if (deactivating > 0) {

web3js-1.0/src/stake.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export type StakeAccount = {
3131
stake: {
3232
delegation: Delegation,
3333
creditsObserved: bigint
34-
}
34+
} | null
3535
}
3636

3737
export const getStakeHistory = function (parsedData: RpcResponseAndContext<AccountInfo<ParsedAccountData | Buffer> | null>): StakeHistoryEntry[] {
@@ -77,14 +77,14 @@ export const getStakeAccount = function (parsedData: RpcResponseAndContext<Accou
7777
custodian: parsedData.value.data.parsed.info.meta.lockup.custodian
7878
}
7979
},
80-
stake: {
80+
stake: parsedData.value.data.parsed.info.stake ? {
8181
delegation: {
8282
voterPubkey: parsedData.value.data.parsed.info.stake.delegation.voterPubkey,
8383
stake: BigInt(parsedData.value.data.parsed.info.stake.delegation.stake),
8484
activationEpoch: BigInt(parsedData.value.data.parsed.info.stake.delegation.activationEpoch),
8585
deactivationEpoch: BigInt(parsedData.value.data.parsed.info.stake.delegation.deactivationEpoch),
8686
},
8787
creditsObserved: BigInt(parsedData.value.data.parsed.info.stake.creditsObserved)
88-
}
88+
} : null
8989
}
9090
}

0 commit comments

Comments
 (0)