Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

Commit

Permalink
fix(olympus): Outstanding Reward Positions (#2628)
Browse files Browse the repository at this point in the history
* add support for olympus boosted liquidity vaults

* change group id

* fix for reward tokens in wrong slot

---------

Co-authored-by: William Poulin <[email protected]>
  • Loading branch information
brightiron and wpoulin authored May 1, 2023
1 parent ef79b18 commit b472465
Showing 1 changed file with 10 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Inject } from '@nestjs/common';
import { BigNumberish } from 'ethers';
import { BigNumber, BigNumberish } from 'ethers';

import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface';
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';
Expand Down Expand Up @@ -95,8 +95,15 @@ export class EthereumOlympusBleContractPositionFetcher extends ContractPositionT
const balance = await _params.contract.getUserPairShare(_params.address);
const ohmPrice = (await _params.contract.getOhmTknPoolPrice()).div(1e9);
const ohmBalance = balance.mul(ohmPrice).div(1e9);
const rewards = await _params.contract.getOutstandingRewards(_params.address);
const rewardBalances = rewards.map(reward => reward[1]);
const rewardTokens = await _params.contract.getRewardTokens();
const rewardBalances = await Promise.all(
rewardTokens.map(async token => {
const rewards = await _params.contract.getOutstandingRewards(_params.address);
const rewardBalances =
rewards.find(address => address.rewardToken === token)?.outstandingRewards || BigNumber.from('0');
return rewardBalances;
}),
);
return [balance, ohmBalance, ohmBalance, ...rewardBalances];
}
}

0 comments on commit b472465

Please sign in to comment.