diff --git a/src/apps/curve/arbitrum/curve.balance-fetcher.ts b/src/apps/curve/arbitrum/curve.balance-fetcher.ts index 05a48b953..128d85341 100644 --- a/src/apps/curve/arbitrum/curve.balance-fetcher.ts +++ b/src/apps/curve/arbitrum/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.ARBITRUM_MAINNET) export class ArbitrumCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.ARBITRUM_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class ArbitrumCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/arbitrum/curve.farm.contract-position-fetcher.ts b/src/apps/curve/arbitrum/curve.farm.contract-position-fetcher.ts index 7b3996c42..c0f4a4c04 100644 --- a/src/apps/curve/arbitrum/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/arbitrum/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -20,8 +20,7 @@ const network = Network.ARBITRUM_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class ArbitrumCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -32,7 +31,7 @@ export class ArbitrumCurveFarmContractPositionFetcher implements PositionFetcher async getPositions() { const definitions = [CURVE_V1_POOL_DEFINITIONS, CURVE_V2_POOL_DEFINITIONS].flat().filter(v => !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/avalanche/curve.balance-fetcher.ts b/src/apps/curve/avalanche/curve.balance-fetcher.ts index 0ae27d271..ae947489f 100644 --- a/src/apps/curve/avalanche/curve.balance-fetcher.ts +++ b/src/apps/curve/avalanche/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.AVALANCHE_MAINNET) export class AvalancheCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.AVALANCHE_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class AvalancheCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/avalanche/curve.farm.contract-position-fetcher.ts b/src/apps/curve/avalanche/curve.farm.contract-position-fetcher.ts index 5477f27f9..81b1404a2 100644 --- a/src/apps/curve/avalanche/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/avalanche/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -20,8 +20,7 @@ const network = Network.AVALANCHE_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class AvalancheCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -32,7 +31,7 @@ export class AvalancheCurveFarmContractPositionFetcher implements PositionFetche async getPositions() { const definitions = [CURVE_V1_POOL_DEFINITIONS, CURVE_V2_POOL_DEFINITIONS].flat().filter(v => !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/ethereum/curve.balance-fetcher.ts b/src/apps/curve/ethereum/curve.balance-fetcher.ts index 5a61cd20b..cd0e85fd8 100644 --- a/src/apps/curve/ethereum/curve.balance-fetcher.ts +++ b/src/apps/curve/ethereum/curve.balance-fetcher.ts @@ -1,6 +1,5 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; import { presentBalanceFetcherResponse } from '~app-toolkit/helpers/presentation/balance-fetcher-response.present'; import { BalanceFetcher } from '~balance/balance-fetcher.interface'; @@ -32,14 +31,11 @@ export class EthereumCurveBalanceFetcher implements BalanceFetcher { private readonly curveVotingEscrowContractPositionBalanceHelper: CurveVotingEscrowContractPositionBalanceHelper, @Inject(CurveVestingEscrowContractPositionBalanceHelper) private readonly curveVestingEscrowContractPositionBalanceHelper: CurveVestingEscrowContractPositionBalanceHelper, - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -50,7 +46,7 @@ export class EthereumCurveBalanceFetcher implements BalanceFetcher { private async getStakedBalances(address: string) { return Promise.all([ // Single Gauge - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, network, appId: CURVE_DEFINITION.id, @@ -62,7 +58,7 @@ export class EthereumCurveBalanceFetcher implements BalanceFetcher { multicall.wrap(contract).claimable_tokens(address), }), // Double Gauge - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, network, appId: CURVE_DEFINITION.id, @@ -92,7 +88,7 @@ export class EthereumCurveBalanceFetcher implements BalanceFetcher { return rewardBalances; }, }), - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, network, appId: CURVE_DEFINITION.id, @@ -114,7 +110,7 @@ export class EthereumCurveBalanceFetcher implements BalanceFetcher { return rewardBalances; }, }), - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, network, appId: CURVE_DEFINITION.id, diff --git a/src/apps/curve/ethereum/curve.farm.contract-position-fetcher.ts b/src/apps/curve/ethereum/curve.farm.contract-position-fetcher.ts index 6003f35e6..29d35901f 100644 --- a/src/apps/curve/ethereum/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/ethereum/curve.farm.contract-position-fetcher.ts @@ -1,8 +1,8 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { ZERO_ADDRESS } from '~app-toolkit/constants/address'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -75,8 +75,7 @@ const network = Network.ETHEREUM_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class EthereumCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeRoiStrategy) @@ -88,7 +87,7 @@ export class EthereumCurveFarmContractPositionFetcher implements PositionFetcher ) {} private async getSingleGaugeFarms() { - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, @@ -116,7 +115,7 @@ export class EthereumCurveFarmContractPositionFetcher implements PositionFetcher } private async getDoubleGaugeFarms() { - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, @@ -149,7 +148,7 @@ export class EthereumCurveFarmContractPositionFetcher implements PositionFetcher } private async getNGaugeFarms() { - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, @@ -189,7 +188,7 @@ export class EthereumCurveFarmContractPositionFetcher implements PositionFetcher } private async getNGaugeV2Farms() { - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/fantom/curve.balance-fetcher.ts b/src/apps/curve/fantom/curve.balance-fetcher.ts index 145285403..130b90d59 100644 --- a/src/apps/curve/fantom/curve.balance-fetcher.ts +++ b/src/apps/curve/fantom/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.FANTOM_OPERA_MAINNET) export class FantomCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.FANTOM_OPERA_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class FantomCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/fantom/curve.farm.contract-position-fetcher.ts b/src/apps/curve/fantom/curve.farm.contract-position-fetcher.ts index b87841719..f0e306cb6 100644 --- a/src/apps/curve/fantom/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/fantom/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -24,8 +24,7 @@ const network = Network.FANTOM_OPERA_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class FantomCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -38,7 +37,7 @@ export class FantomCurveFarmContractPositionFetcher implements PositionFetcher !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/gnosis/curve.balance-fetcher.ts b/src/apps/curve/gnosis/curve.balance-fetcher.ts index 2188608e7..8cfc955ab 100644 --- a/src/apps/curve/gnosis/curve.balance-fetcher.ts +++ b/src/apps/curve/gnosis/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.GNOSIS_MAINNET) export class GnosisCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.GNOSIS_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class GnosisCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/gnosis/curve.farm.contract-position-fetcher.ts b/src/apps/curve/gnosis/curve.farm.contract-position-fetcher.ts index fd09862c1..7b53fec86 100644 --- a/src/apps/curve/gnosis/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/gnosis/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -20,8 +20,7 @@ const network = Network.GNOSIS_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class GnosisCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -32,7 +31,7 @@ export class GnosisCurveFarmContractPositionFetcher implements PositionFetcher !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/harmony/curve.balance-fetcher.ts b/src/apps/curve/harmony/curve.balance-fetcher.ts index b193b8781..de5b6ce9a 100644 --- a/src/apps/curve/harmony/curve.balance-fetcher.ts +++ b/src/apps/curve/harmony/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.HARMONY_MAINNET) export class HarmonyCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.HARMONY_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class HarmonyCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/harmony/curve.farm.contract-position-fetcher.ts b/src/apps/curve/harmony/curve.farm.contract-position-fetcher.ts index e604232ec..805f5d1c8 100644 --- a/src/apps/curve/harmony/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/harmony/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -20,8 +20,7 @@ const network = Network.HARMONY_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class HarmonyCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -32,7 +31,7 @@ export class HarmonyCurveFarmContractPositionFetcher implements PositionFetcher< async getPositions() { const definitions = [CURVE_V1_POOL_DEFINITIONS, CURVE_V2_POOL_DEFINITIONS].flat().filter(v => !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/helpers/curve.pool.token-helper.ts b/src/apps/curve/helpers/curve.pool.token-helper.ts index 6675c8454..f08cb2d26 100644 --- a/src/apps/curve/helpers/curve.pool.token-helper.ts +++ b/src/apps/curve/helpers/curve.pool.token-helper.ts @@ -1,4 +1,4 @@ -import { Inject } from '@nestjs/common'; +import { Inject, Injectable } from '@nestjs/common'; import { BigNumber, BigNumberish } from 'ethers'; import { compact, isUndefined } from 'lodash'; @@ -64,6 +64,7 @@ const isMetaPool = (token: Token) => token.appId === CURVE_DEFINITION.id && token.groupId === CURVE_DEFINITION.groups.pool.id; +@Injectable() export class CurvePoolTokenHelper { constructor(@Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit) {} diff --git a/src/apps/curve/helpers/curve.v1-pool.token-helper.ts b/src/apps/curve/helpers/curve.v1-pool.token-helper.ts index 8fdcb3c08..3c480c870 100644 --- a/src/apps/curve/helpers/curve.v1-pool.token-helper.ts +++ b/src/apps/curve/helpers/curve.v1-pool.token-helper.ts @@ -1,4 +1,4 @@ -import { Inject } from '@nestjs/common'; +import { Inject, Injectable } from '@nestjs/common'; import { AppTokenPosition } from '~position/position.interface'; import { AppGroupsDefinition } from '~position/position.service'; @@ -23,6 +23,7 @@ type CurveV1PoolTokenHelperParams = { baseCurveTokens?: AppTokenPosition[]; }; +@Injectable() export class CurveV1PoolTokenHelper { constructor( @Inject(CurvePoolTokenHelper) diff --git a/src/apps/curve/helpers/curve.v2-pool.token-helper.ts b/src/apps/curve/helpers/curve.v2-pool.token-helper.ts index a71c28b8a..f56b593e6 100644 --- a/src/apps/curve/helpers/curve.v2-pool.token-helper.ts +++ b/src/apps/curve/helpers/curve.v2-pool.token-helper.ts @@ -1,4 +1,4 @@ -import { Inject } from '@nestjs/common'; +import { Inject, Injectable } from '@nestjs/common'; import { AppTokenPosition } from '~position/position.interface'; import { AppGroupsDefinition } from '~position/position.service'; @@ -23,6 +23,7 @@ type CurveV2PoolTokenHelperParams = { baseCurveTokens?: AppTokenPosition[]; }; +@Injectable() export class CurveV2PoolTokenHelper { constructor( @Inject(CurvePoolTokenHelper) diff --git a/src/apps/curve/optimism/curve.balance-fetcher.ts b/src/apps/curve/optimism/curve.balance-fetcher.ts index 2ea73620d..2310a321c 100644 --- a/src/apps/curve/optimism/curve.balance-fetcher.ts +++ b/src/apps/curve/optimism/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.OPTIMISM_MAINNET) export class OptimismCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.OPTIMISM_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -31,7 +29,7 @@ export class OptimismCurveBalanceFetcher implements BalanceFetcher { private async getStakedBalances(address: string) { return Promise.all([ // Single Gauge - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, @@ -45,7 +43,7 @@ export class OptimismCurveBalanceFetcher implements BalanceFetcher { }, }), // N-Gauge - this.singleStakingContractPositionBalanceHelper.getBalances({ + this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, network: Network.OPTIMISM_MAINNET, appId: CURVE_DEFINITION.id, diff --git a/src/apps/curve/optimism/curve.farm.contract-position-fetcher.ts b/src/apps/curve/optimism/curve.farm.contract-position-fetcher.ts index ca8d692c7..d2186f132 100644 --- a/src/apps/curve/optimism/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/optimism/curve.farm.contract-position-fetcher.ts @@ -1,8 +1,8 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { ZERO_ADDRESS } from '~app-toolkit/constants/address'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -23,8 +23,7 @@ const network = Network.OPTIMISM_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class OptimismCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -38,7 +37,7 @@ export class OptimismCurveFarmContractPositionFetcher implements PositionFetcher ) {} private async getNGaugeFarms() { - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, @@ -66,7 +65,7 @@ export class OptimismCurveFarmContractPositionFetcher implements PositionFetcher async getSingleGaugeFarms() { const definitions = [CURVE_V1_POOL_DEFINITIONS].flat().filter(v => !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId, diff --git a/src/apps/curve/polygon/curve.balance-fetcher.ts b/src/apps/curve/polygon/curve.balance-fetcher.ts index 068646fc2..6e8cc47a7 100644 --- a/src/apps/curve/polygon/curve.balance-fetcher.ts +++ b/src/apps/curve/polygon/curve.balance-fetcher.ts @@ -1,9 +1,9 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingContractPositionBalanceHelper, TokenBalanceHelper } from '~app-toolkit'; 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 { APP_TOOLKIT, IAppToolkit } from '~lib'; import { isClaimable } from '~position/position.utils'; import { Network } from '~types/network.interface'; @@ -13,14 +13,12 @@ import { CURVE_DEFINITION } from '../curve.definition'; @Register.BalanceFetcher(CURVE_DEFINITION.id, Network.POLYGON_MAINNET) export class PolygonCurveBalanceFetcher implements BalanceFetcher { constructor( - @Inject(TokenBalanceHelper) private readonly tokenBalanceHelper: TokenBalanceHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, - @Inject(SingleStakingContractPositionBalanceHelper) - private readonly singleStakingContractPositionBalanceHelper: SingleStakingContractPositionBalanceHelper, ) {} private async getPoolTokenBalances(address: string) { - return this.tokenBalanceHelper.getTokenBalances({ + return this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ network: Network.POLYGON_MAINNET, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.pool.id, @@ -29,7 +27,7 @@ export class PolygonCurveBalanceFetcher implements BalanceFetcher { } private async getStakedBalances(address: string) { - return this.singleStakingContractPositionBalanceHelper.getBalances({ + return this.appToolkit.helpers.singleStakingContractPositionBalanceHelper.getBalances({ address, appId: CURVE_DEFINITION.id, groupId: CURVE_DEFINITION.groups.farm.id, diff --git a/src/apps/curve/polygon/curve.farm.contract-position-fetcher.ts b/src/apps/curve/polygon/curve.farm.contract-position-fetcher.ts index 50d0cb36e..e36dcfbdd 100644 --- a/src/apps/curve/polygon/curve.farm.contract-position-fetcher.ts +++ b/src/apps/curve/polygon/curve.farm.contract-position-fetcher.ts @@ -1,7 +1,7 @@ import { Inject } from '@nestjs/common'; -import { SingleStakingFarmContractPositionHelper } from '~app-toolkit'; import { Register } from '~app-toolkit/decorators'; +import { APP_TOOLKIT, IAppToolkit } from '~lib'; import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; @@ -20,8 +20,7 @@ const network = Network.POLYGON_MAINNET; @Register.ContractPositionFetcher({ appId, groupId, network }) export class PolygonCurveFarmContractPositionFetcher implements PositionFetcher { constructor( - @Inject(SingleStakingFarmContractPositionHelper) - private readonly singleStakingFarmContractPositionHelper: SingleStakingFarmContractPositionHelper, + @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, @Inject(CurveContractFactory) private readonly curveContractFactory: CurveContractFactory, @Inject(CurveGaugeV2RoiStrategy) @@ -32,7 +31,7 @@ export class PolygonCurveFarmContractPositionFetcher implements PositionFetcher< async getPositions() { const definitions = [CURVE_V1_POOL_DEFINITIONS, CURVE_V2_POOL_DEFINITIONS].flat().filter(v => !!v.gaugeAddress); - return this.singleStakingFarmContractPositionHelper.getContractPositions({ + return this.appToolkit.helpers.singleStakingFarmContractPositionHelper.getContractPositions({ network, appId, groupId,