From 7cad0382223f98714666527c00d4d94383e02cc4 Mon Sep 17 00:00:00 2001 From: Karan Shahani Date: Mon, 16 May 2022 12:25:22 -0400 Subject: [PATCH] fix(bancor): Rename to bancor-v3 and fix errors in BNT pool --- ...abra.cauldron.contract-position-fetcher.ts | 2 +- src/apps/bancor-v3/assets/logo.png | Bin 0 -> 15925 bytes .../bancor-v3.definition.ts} | 22 +++++----- src/apps/bancor-v3/bancor-v3.module.ts | 20 +++++++++ .../contracts/abis/bnt-pool.json | 0 .../contracts/abis/pool-collection.json | 0 .../contracts/abis/pool-token.json | 0 .../contracts/abis/standard-rewards.json | 0 .../contracts/ethers/BntPool.ts | 0 .../contracts/ethers/PoolCollection.ts | 0 .../contracts/ethers/PoolToken.ts | 0 .../contracts/ethers/StandardRewards.ts | 0 .../contracts/ethers/common.ts | 0 .../ethers/factories/BntPool__factory.ts | 0 .../factories/PoolCollection__factory.ts | 0 .../ethers/factories/PoolToken__factory.ts | 0 .../factories/StandardRewards__factory.ts | 0 .../contracts/ethers/factories/index.ts | 0 .../contracts/ethers/index.ts | 0 .../{bancor => bancor-v3}/contracts/index.ts | 2 +- .../ethereum/bancor-v3.balance-fetcher.ts} | 20 ++++----- ...ncor-v3.farm.contract-position-fetcher.ts} | 25 ++++-------- .../ethereum/bancor-v3.pool.token-fetcher.ts} | 38 ++++++++---------- src/apps/bancor/bancor.module.ts | 20 --------- 24 files changed, 67 insertions(+), 82 deletions(-) create mode 100644 src/apps/bancor-v3/assets/logo.png rename src/apps/{bancor/bancor.definition.ts => bancor-v3/bancor-v3.definition.ts} (70%) create mode 100644 src/apps/bancor-v3/bancor-v3.module.ts rename src/apps/{bancor => bancor-v3}/contracts/abis/bnt-pool.json (100%) rename src/apps/{bancor => bancor-v3}/contracts/abis/pool-collection.json (100%) rename src/apps/{bancor => bancor-v3}/contracts/abis/pool-token.json (100%) rename src/apps/{bancor => bancor-v3}/contracts/abis/standard-rewards.json (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/BntPool.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/PoolCollection.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/PoolToken.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/StandardRewards.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/common.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/factories/BntPool__factory.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/factories/PoolCollection__factory.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/factories/PoolToken__factory.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/factories/StandardRewards__factory.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/factories/index.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/ethers/index.ts (100%) rename src/apps/{bancor => bancor-v3}/contracts/index.ts (95%) rename src/apps/{bancor/ethereum/bancor.balance-fetcher.ts => bancor-v3/ethereum/bancor-v3.balance-fetcher.ts} (77%) rename src/apps/{bancor/ethereum/bancor.v3.contract-position-fetcher.ts => bancor-v3/ethereum/bancor-v3.farm.contract-position-fetcher.ts} (66%) rename src/apps/{bancor/ethereum/bancor.v3.token-fetcher.ts => bancor-v3/ethereum/bancor-v3.pool.token-fetcher.ts} (67%) delete mode 100644 src/apps/bancor/bancor.module.ts diff --git a/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts b/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts index aad858cce..bdf2e4915 100644 --- a/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts +++ b/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts @@ -70,7 +70,7 @@ export class EthereumAbracadabraCauldronContractPositionFetcher implements Posit // @TODO: Migrate these over { appId: 'convex', groupIds: ['deposit'], network }, { appId: 'sushiswap', groupIds: ['pool'], network }, - { appId: 'stargate', groupIds: ['pool'], network}, + { appId: 'stargate', groupIds: ['pool'], network }, ], }); } diff --git a/src/apps/bancor-v3/assets/logo.png b/src/apps/bancor-v3/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7dacac55224d0425c6a83e7a86474c8f06cd33ad GIT binary patch literal 15925 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 appToolkit.getNetworkProvider(network)); } diff --git a/src/apps/bancor/ethereum/bancor.balance-fetcher.ts b/src/apps/bancor-v3/ethereum/bancor-v3.balance-fetcher.ts similarity index 77% rename from src/apps/bancor/ethereum/bancor.balance-fetcher.ts rename to src/apps/bancor-v3/ethereum/bancor-v3.balance-fetcher.ts index ebc12803e..28d6b2d15 100644 --- a/src/apps/bancor/ethereum/bancor.balance-fetcher.ts +++ b/src/apps/bancor-v3/ethereum/bancor-v3.balance-fetcher.ts @@ -6,23 +6,23 @@ import { presentBalanceFetcherResponse } from '~app-toolkit/helpers/presentation import { BalanceFetcher } from '~balance/balance-fetcher.interface'; import { Network } from '~types/network.interface'; -import { BANCOR_DEFINITION } from '../bancor.definition'; -import { BancorContractFactory, StandardRewards } from '../contracts'; +import { BANCOR_V3_DEFINITION } from '../bancor-v3.definition'; +import { BancorV3ContractFactory, StandardRewards } from '../contracts'; const network = Network.ETHEREUM_MAINNET; -@Register.BalanceFetcher(BANCOR_DEFINITION.id, network) -export class EthereumBancorBalanceFetcher implements BalanceFetcher { +@Register.BalanceFetcher(BANCOR_V3_DEFINITION.id, network) +export class EthereumBancorV3BalanceFetcher implements BalanceFetcher { constructor( @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, - @Inject(BancorContractFactory) private readonly bancorContractFactory: BancorContractFactory, + @Inject(BancorV3ContractFactory) private readonly contractFactory: BancorV3ContractFactory, ) {} async getTokenBalances(address: string) { return await this.appToolkit.helpers.tokenBalanceHelper.getTokenBalances({ address, - appId: BANCOR_DEFINITION.id, - groupId: BANCOR_DEFINITION.groups.v3Pool.id, + appId: BANCOR_V3_DEFINITION.id, + groupId: BANCOR_V3_DEFINITION.groups.pool.id, network: Network.ETHEREUM_MAINNET, }); } @@ -30,11 +30,11 @@ export class EthereumBancorBalanceFetcher implements BalanceFetcher { async getPoolBalances(address: string) { return this.appToolkit.helpers.masterChefContractPositionBalanceHelper.getBalances({ address, - appId: BANCOR_DEFINITION.id, - groupId: BANCOR_DEFINITION.groups.v3Farm.id, + appId: BANCOR_V3_DEFINITION.id, + groupId: BANCOR_V3_DEFINITION.groups.farm.id, network: Network.ETHEREUM_MAINNET, resolveChefContract: ({ contractAddress, network }) => - this.bancorContractFactory.standardRewards({ address: contractAddress, network }), + this.contractFactory.standardRewards({ address: contractAddress, network }), resolveStakedTokenBalance: this.appToolkit.helpers.masterChefDefaultStakedBalanceStrategy.build({ // Note: each asset can have multiple positions (currently 2) resolveStakedBalance: ({ contract, multicall, contractPosition }) => { diff --git a/src/apps/bancor/ethereum/bancor.v3.contract-position-fetcher.ts b/src/apps/bancor-v3/ethereum/bancor-v3.farm.contract-position-fetcher.ts similarity index 66% rename from src/apps/bancor/ethereum/bancor.v3.contract-position-fetcher.ts rename to src/apps/bancor-v3/ethereum/bancor-v3.farm.contract-position-fetcher.ts index 6de9c9ce0..729349145 100644 --- a/src/apps/bancor/ethereum/bancor.v3.contract-position-fetcher.ts +++ b/src/apps/bancor-v3/ethereum/bancor-v3.farm.contract-position-fetcher.ts @@ -6,11 +6,11 @@ import { PositionFetcher } from '~position/position-fetcher.interface'; import { ContractPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; -import { BANCOR_DEFINITION } from '../bancor.definition'; -import { BancorContractFactory, StandardRewards } from '../contracts'; +import { BANCOR_V3_DEFINITION } from '../bancor-v3.definition'; +import { BancorV3ContractFactory, StandardRewards } from '../contracts'; -const appId = BANCOR_DEFINITION.id; -const groupId = BANCOR_DEFINITION.groups.v3Farm.id; +const appId = BANCOR_V3_DEFINITION.id; +const groupId = BANCOR_V3_DEFINITION.groups.farm.id; const network = Network.ETHEREUM_MAINNET; const address = '0xb0B958398ABB0b5DB4ce4d7598Fb868f5A00f372'.toLowerCase(); @@ -18,7 +18,7 @@ const address = '0xb0B958398ABB0b5DB4ce4d7598Fb868f5A00f372'.toLowerCase(); export class EthereumBancorV3ContractPositionFetcher implements PositionFetcher { constructor( @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, - @Inject(BancorContractFactory) private readonly bancorContractFactory: BancorContractFactory, + @Inject(BancorV3ContractFactory) private readonly contractFactory: BancorV3ContractFactory, ) {} async getPositions() { @@ -27,19 +27,8 @@ export class EthereumBancorV3ContractPositionFetcher implements PositionFetcher< appId, groupId, network, - dependencies: [ - { - appId: BANCOR_DEFINITION.id, - groupIds: [BANCOR_DEFINITION.groups.v3Farm.id], - network, - }, - { - appId: BANCOR_DEFINITION.id, - groupIds: [BANCOR_DEFINITION.groups.v3Pool.id], - network, - }, - ], - resolveContract: ({ address, network }) => this.bancorContractFactory.standardRewards({ address, network }), + dependencies: [{ appId: BANCOR_V3_DEFINITION.id, groupIds: [BANCOR_V3_DEFINITION.groups.pool.id], network }], + resolveContract: ({ address, network }) => this.contractFactory.standardRewards({ address, network }), resolvePoolLength: ({ multicall, contract }) => multicall .wrap(contract) diff --git a/src/apps/bancor/ethereum/bancor.v3.token-fetcher.ts b/src/apps/bancor-v3/ethereum/bancor-v3.pool.token-fetcher.ts similarity index 67% rename from src/apps/bancor/ethereum/bancor.v3.token-fetcher.ts rename to src/apps/bancor-v3/ethereum/bancor-v3.pool.token-fetcher.ts index 57983a0b6..c8956cfe7 100644 --- a/src/apps/bancor/ethereum/bancor.v3.token-fetcher.ts +++ b/src/apps/bancor-v3/ethereum/bancor-v3.pool.token-fetcher.ts @@ -7,11 +7,11 @@ import { PositionFetcher } from '~position/position-fetcher.interface'; import { AppTokenPosition } from '~position/position.interface'; import { Network } from '~types/network.interface'; -import { BANCOR_DEFINITION } from '../bancor.definition'; -import { BancorContractFactory, BntPool, PoolCollection } from '../contracts'; +import { BANCOR_V3_DEFINITION } from '../bancor-v3.definition'; +import { BancorV3ContractFactory, BntPool, PoolCollection, PoolToken } from '../contracts'; -const appId = BANCOR_DEFINITION.id; -const groupId = BANCOR_DEFINITION.groups.v3Pool.id; +const appId = BANCOR_V3_DEFINITION.id; +const groupId = BANCOR_V3_DEFINITION.groups.pool.id; const network = Network.ETHEREUM_MAINNET; const poolCollectionAddress = '0xec9596e0eb67228d61a12cfdb4b3608281f261b3'.toLowerCase(); const bntPoolAddress = '0x02651E355D26f3506C1E644bA393FDD9Ac95EaCa'.toLowerCase(); @@ -20,12 +20,12 @@ const bntPoolAddress = '0x02651E355D26f3506C1E644bA393FDD9Ac95EaCa'.toLowerCase( export class EthereumBancorV3TokenFetcher implements PositionFetcher { constructor( @Inject(APP_TOOLKIT) private readonly appToolkit: IAppToolkit, - @Inject(BancorContractFactory) private readonly bancorContractFactory: BancorContractFactory, + @Inject(BancorV3ContractFactory) private readonly contractFactory: BancorV3ContractFactory, ) {} async getPositions() { const multicall = this.appToolkit.getMulticall(network); - const poolContract: PoolCollection = this.bancorContractFactory.poolCollection({ + const poolContract: PoolCollection = this.contractFactory.poolCollection({ address: poolCollectionAddress, network, }); @@ -34,12 +34,12 @@ export class EthereumBancorV3TokenFetcher implements PositionFetcher (await multicall.wrap(poolContract).poolToken(poolAddress)).toLowerCase()), ); - const tokens = await this.appToolkit.helpers.vaultTokenHelper.getTokens({ - appId: BANCOR_DEFINITION.id, - groupId: BANCOR_DEFINITION.groups.v3Pool.id, + const tokens = await this.appToolkit.helpers.vaultTokenHelper.getTokens({ + appId: BANCOR_V3_DEFINITION.id, + groupId: BANCOR_V3_DEFINITION.groups.pool.id, network: Network.ETHEREUM_MAINNET, resolveVaultAddresses: () => pools, - resolveContract: ({ address, network }) => this.bancorContractFactory.poolToken({ address, network }), + resolveContract: ({ address, network }) => this.contractFactory.poolToken({ address, network }), resolveUnderlyingTokenAddress: ({ multicall, contract }) => multicall .wrap(contract) @@ -54,32 +54,28 @@ export class EthereumBancorV3TokenFetcher implements PositionFetcher ratio / 10 ** underlyingToken.decimals), + .then(ratio => Number(ratio) / 10 ** underlyingToken.decimals), ), }); - const bntPoolContract = this.bancorContractFactory.bntPool({ address: bntPoolAddress, network }); + const bntPoolContract = this.contractFactory.bntPool({ address: bntPoolAddress, network }); const bnToken = await this.appToolkit.helpers.vaultTokenHelper.getTokens({ - appId: BANCOR_DEFINITION.id, - groupId: BANCOR_DEFINITION.groups.v3Pool.id, + appId: BANCOR_V3_DEFINITION.id, + groupId: BANCOR_V3_DEFINITION.groups.pool.id, network: Network.ETHEREUM_MAINNET, resolveVaultAddresses: () => multicall .wrap(bntPoolContract) .poolToken() .then(a => [a.toLowerCase()]), - resolveContract: ({ address, network }) => this.bancorContractFactory.poolToken({ address, network }), - resolveUnderlyingTokenAddress: ({ multicall, contract }) => - multicall - .wrap(contract) - .reserveToken() - .then(a => a.toLowerCase()), + resolveContract: ({ address, network }) => this.contractFactory.bntPool({ address, network }), + resolveUnderlyingTokenAddress: () => '0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c', // BNT resolveReserve: () => 0, resolvePricePerShare: ({ multicall, underlyingToken }) => multicall .wrap(bntPoolContract) .poolTokenToUnderlying((10 ** underlyingToken.decimals).toString()) - .then(ratio => ratio / 10 ** underlyingToken.decimals), + .then(ratio => Number(ratio) / 10 ** underlyingToken.decimals), }); return [...tokens, ...bnToken]; diff --git a/src/apps/bancor/bancor.module.ts b/src/apps/bancor/bancor.module.ts deleted file mode 100644 index e3d130616..000000000 --- a/src/apps/bancor/bancor.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Register } from '~app-toolkit/decorators'; -import { AbstractApp } from '~app/app.dynamic-module'; - -import { BancorAppDefinition, BANCOR_DEFINITION } from './bancor.definition'; -import { BancorContractFactory } from './contracts'; -import { EthereumBancorBalanceFetcher } from './ethereum/bancor.balance-fetcher'; -import { EthereumBancorV3ContractPositionFetcher } from './ethereum/bancor.v3.contract-position-fetcher'; -import { EthereumBancorV3TokenFetcher } from './ethereum/bancor.v3.token-fetcher'; - -@Register.AppModule({ - appId: BANCOR_DEFINITION.id, - providers: [ - BancorAppDefinition, - BancorContractFactory, - EthereumBancorBalanceFetcher, - EthereumBancorV3ContractPositionFetcher, - EthereumBancorV3TokenFetcher, - ], -}) -export class BancorAppModule extends AbstractApp() {}