Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/staking/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ const loadPublisherData = async (
);
const apyHistory = publisher.apyHistory.map(({ epoch, apy }) => ({
date: epochToDate(epoch + 1n),
apy: Number(apy),
apy,
}));

return {
Expand Down
2 changes: 1 addition & 1 deletion governance/pyth_staking_sdk/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export type PublisherData = {
stakeAccount: PublicKey | null;
totalDelegation: bigint;
selfDelegation: bigint;
apyHistory: { epoch: bigint; apy: bigint; selfApy: bigint }[];
apyHistory: { epoch: bigint; apy: number; selfApy: number }[];
}[];

export enum PositionState {
Expand Down
18 changes: 14 additions & 4 deletions governance/pyth_staking_sdk/src/utils/pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,21 @@ export const extractPublisherData = (
.map((event) => ({
epoch: event.epoch,
apy:
(event.y * (event.eventData[index]?.otherRewardRatio ?? 0n)) /
1_000_000n,
(52 *
100 *
Number(
event.y * (event.eventData[index]?.otherRewardRatio ?? 0n),
)) /
1_000_000 /
1_000_000,
selfApy:
(event.y * (event.eventData[index]?.selfRewardRatio ?? 0n)) /
1_000_000n,
(52 *
100 *
Number(
event.y * (event.eventData[index]?.selfRewardRatio ?? 0n),
)) /
1_000_000 /
1_000_000,
}))
.sort((a, b) => Number(a.epoch) - Number(b.epoch)),
}));
Expand Down
Loading