diff --git a/src/apps/concentrator/ethereum/concentrator.balance-fetcher.ts b/src/apps/concentrator/ethereum/concentrator.balance-fetcher.ts index 9b5faa9df..ce58b74f4 100644 --- a/src/apps/concentrator/ethereum/concentrator.balance-fetcher.ts +++ b/src/apps/concentrator/ethereum/concentrator.balance-fetcher.ts @@ -5,7 +5,7 @@ import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; import { Register } from '~app-toolkit/decorators'; import { presentBalanceFetcherResponse } from '~app-toolkit/helpers/presentation/balance-fetcher-response.present'; import { BalanceFetcher } from '~balance/balance-fetcher.interface'; -import { isSupplied } from '~position/position.utils'; +import { isClaimable, isSupplied } from '~position/position.utils'; import { Network } from '~types/network.interface'; import { CONCENTRATOR_DEFINITION } from '../concentrator.definition'; @@ -37,17 +37,18 @@ export class EthereumConcentratorBalanceFetcher implements BalanceFetcher { network: Network.ETHEREUM_MAINNET, resolveBalances: async ({ address, contractPosition, multicall }) => { const stakedToken = contractPosition.tokens.find(isSupplied)!; + const rewardToken = contractPosition.tokens.find(isClaimable)!; const contract = this.concentratorContractFactory.aladdinConvexVault(contractPosition); const pid = contractPosition.dataProps.poolIndex; - const [userInfo] = await Promise.all([ + const [userInfo, rewardBalanceRaw] = await Promise.all([ multicall.wrap(contract).userInfo(pid, address), - // multicall.wrap(contract).pendingReward(pid, address), + multicall.wrap(contract).pendingReward(pid, address), ]); return [ drillBalance(stakedToken, userInfo[0].toString()), - // TODO: add rewards + drillBalance(rewardToken, rewardBalanceRaw.toString()), ]; }, }); diff --git a/src/apps/concentrator/ethereum/concentrator.pool.contract-position-fetcher.ts b/src/apps/concentrator/ethereum/concentrator.pool.contract-position-fetcher.ts index 5bdfa1bdd..c4c6a8624 100644 --- a/src/apps/concentrator/ethereum/concentrator.pool.contract-position-fetcher.ts +++ b/src/apps/concentrator/ethereum/concentrator.pool.contract-position-fetcher.ts @@ -33,6 +33,11 @@ export class EthereumConcentratorPoolContractPositionFetcher implements Position groupIds: [CURVE_DEFINITION.groups.pool.id], network, }, + { + appId: CONCENTRATOR_DEFINITION.id, + groupIds: [CONCENTRATOR_DEFINITION.groups.acrv.id], + network, + }, ], resolveContract: ({ address, network }) => this.concentratorContractFactory.aladdinConvexVault({ address, network }), @@ -42,7 +47,7 @@ export class EthereumConcentratorPoolContractPositionFetcher implements Position .wrap(contract) .poolInfo(poolIndex) .then(v => v.lpToken), - resolveRewardTokenAddresses: () => Promise.resolve([]), // TODO: set to aCRV + resolveRewardTokenAddresses: () => Promise.resolve(['0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884']), }); } }