Skip to content

Commit bcf8c3f

Browse files
authored
Fix resolver for Big Short Energy rewards (#1803)
* Fix reward resolver * Use fixed-point-wasm for division
1 parent 2df305c commit bcf8c3f

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

apps/hyperdrive-trading/src/rewards/getYieldSourceRate.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { fixed } from "@delvtech/fixed-point-wasm";
33
import {
44
AppConfig,
55
getHyperdriveConfig,
6+
getOpenShortRewardConfigs,
67
getYieldSource,
7-
getYieldSourceRewardConfigs,
88
HyperdriveConfig,
99
} from "@delvtech/hyperdrive-appconfig";
1010
import { ReadHyperdrive } from "@delvtech/hyperdrive-js";
@@ -92,8 +92,8 @@ async function calcNetRate(
9292
) {
9393
let netRate = rate;
9494

95-
const rewardConfigs = getYieldSourceRewardConfigs({
96-
yieldSourceId: hyperdrive.yieldSource,
95+
const rewardConfigs = getOpenShortRewardConfigs({
96+
hyperdriveAddress: hyperdrive.address,
9797
chainId: hyperdrive.chainId,
9898
appConfig,
9999
});

packages/hyperdrive-appconfig/src/rewards/resolvers/bigShortEnergy.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const fetchBigShortEnergyRewards: RewardResolver = async (
3333
{
3434
chainId,
3535
type: "apy",
36-
apy: BigInt(apr),
36+
apy: apr,
3737
tokenAddress: baseToken,
3838
},
3939
];
@@ -68,5 +68,11 @@ function getAprAndBaseToken(data: MerklV3RewardsResult): {
6868
.first()
6969
.value();
7070

71-
return { apr: parseFixed(apr).bigint, baseToken };
71+
return {
72+
apr: parseFixed(apr)
73+
// the apr is returned from merkl already formatted as a percent, so we
74+
// need to divide by 100
75+
.div(100, 0).bigint,
76+
baseToken,
77+
};
7278
}

0 commit comments

Comments
 (0)