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

feat(templates): Support proxy protocols and add data prop defaults for app token fetchers #1741

Merged
merged 5 commits into from
Nov 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ export abstract class AaveAmmLendingTemplateTokenFetcher extends AppTokenTemplat
return { liquidationThreshold, enabledAsCollateral };
}

getLiquidity({ appToken }: GetDataPropsParams<AaveAmmAToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<AaveAmmAToken>) {
return (this.isDebt ? -1 : 1) * appToken.price * appToken.supply;
}

getReserves({ appToken }: GetDataPropsParams<AaveAmmAToken>) {
async getReserves({ appToken }: GetDataPropsParams<AaveAmmAToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,17 +69,17 @@ export class EthereumAaveSafetyModuleAbptTokenFetcher extends AppTokenTemplatePo
return [aaveReserve / appToken.supply, wethReserve / appToken.supply];
}

getLiquidity({ appToken }: GetDataPropsParams<AaveAbpt, AaveSafetyModuleAbptTokenDataProps>) {
async getLiquidity({ appToken }: GetDataPropsParams<AaveAbpt, AaveSafetyModuleAbptTokenDataProps>) {
const reserves = (appToken.pricePerShare as number[]).map(v => v * appToken.supply);
const liquidity = sum(reserves.map((v, i) => v * appToken.tokens[i].price));
return liquidity;
}

getReserves({ appToken }: GetDataPropsParams<AaveAbpt, AaveSafetyModuleAbptTokenDataProps>) {
async getReserves({ appToken }: GetDataPropsParams<AaveAbpt, AaveSafetyModuleAbptTokenDataProps>) {
return (appToken.pricePerShare as number[]).map(v => v * appToken.supply);
}

getApy(): number | Promise<number> {
async getApy() {
return 0;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ export class EthereumAaveSafetyModuleStkAaveTokenFetcher extends AppTokenTemplat
return ['0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9'];
}

getLiquidity({ appToken }: GetDataPropsParams<AaveStkAave>) {
async getLiquidity({ appToken }: GetDataPropsParams<AaveStkAave>) {
return appToken.price * appToken.supply;
}

getReserves({ appToken }: GetDataPropsParams<AaveStkAave>) {
async getReserves({ appToken }: GetDataPropsParams<AaveStkAave>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ export class EthereumAaveSafetyModuleStkAbptTokenFetcher extends AppTokenTemplat
return ['0x41a08648c3766f9f9d85598ff102a08f4ef84f84'];
}

getLiquidity({ appToken }: GetDataPropsParams<AaveStkAbpt>) {
async getLiquidity({ appToken }: GetDataPropsParams<AaveStkAbpt>) {
return appToken.price * appToken.supply;
}

getReserves({ appToken }: GetDataPropsParams<AaveStkAbpt>) {
async getReserves({ appToken }: GetDataPropsParams<AaveStkAbpt>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class EthereumAirswapSAstV2TokenFetcher extends AppTokenTemplatePositionF
return appToken.price * appToken.supply;
}

getApy(_params: GetDataPropsParams<StakingV2>) {
async getApy(_params: GetDataPropsParams<StakingV2>) {
return 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class EthereumAirswapSAstV3TokenFetcher extends AppTokenTemplatePositionF
return appToken.price * appToken.supply;
}

getApy(_params: GetDataPropsParams<StakingV2>) {
async getApy(_params: GetDataPropsParams<StakingV2>) {
return 0;
}
}
2 changes: 1 addition & 1 deletion src/apps/arrakis/common/arrakis.pool.token-fetcher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export abstract class ArrakisPoolTokenFetcher extends AppTokenTemplatePositionFe
return appToken.price * appToken.supply;
}

getApy(_params: GetDataPropsParams<ArrakisGelatoPool, ArrakisPoolTokenDataProps, ArrakisPoolDefinition>) {
async getApy(_params: GetDataPropsParams<ArrakisGelatoPool, ArrakisPoolTokenDataProps, ArrakisPoolDefinition>) {
return 0;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,23 @@ export class EthereumBalancerV2WrappedAaveTokenFetcher extends AppTokenTemplateP
return this.contractFactory.balancerWrappedAaveToken({ address, network: this.network });
}

getUnderlyingTokenAddresses({ contract }: GetUnderlyingTokensParams<BalancerWrappedAaveToken>) {
async getUnderlyingTokenAddresses({ contract }: GetUnderlyingTokensParams<BalancerWrappedAaveToken>) {
return contract.callStatic.ATOKEN();
}

getLiquidity({ appToken }: GetDataPropsParams<BalancerWrappedAaveToken>) {
async getPricePerShare() {
return 1;
}

async getLiquidity({ appToken }: GetDataPropsParams<BalancerWrappedAaveToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<BalancerWrappedAaveToken>) {
async getReserves({ appToken }: GetDataPropsParams<BalancerWrappedAaveToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy() {
async getApy() {
return 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,15 @@ export class EthereumBancorV3BntPoolTokenFetcher extends AppTokenTemplatePositio
return Number(ratioRaw) / 10 ** appToken.tokens[0].decimals;
}

getLiquidity({ appToken }: GetDataPropsParams<PoolToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<PoolToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<PoolToken>) {
async getReserves({ appToken }: GetDataPropsParams<PoolToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy(_params: GetDataPropsParams<PoolToken>) {
async getApy(_params: GetDataPropsParams<PoolToken>) {
return 0;
}
}
6 changes: 3 additions & 3 deletions src/apps/bancor-v3/ethereum/bancor-v3.pool.token-fetcher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ export class EthereumBancorV3PoolTokenFetcher extends AppTokenTemplatePositionFe
return pricePerShare;
}

getLiquidity({ appToken }: GetDataPropsParams<PoolToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<PoolToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<PoolToken>) {
async getReserves({ appToken }: GetDataPropsParams<PoolToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy(_params: GetDataPropsParams<PoolToken>) {
async getApy(_params: GetDataPropsParams<PoolToken>) {
return 0;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,15 @@ export abstract class BarnbridgeSmartAlphaJuniorPoolTokenFetcher extends AppToke
return [appToken.tokens[0].symbol, 'Junior Pool', '-', duration].join(' ');
}

getLiquidity({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getReserves({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy(_params: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getApy(_params: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return 0;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,15 @@ export abstract class BarnbridgeSmartAlphaSeniorPoolTokenFetcher extends AppToke
return [appToken.tokens[0].symbol, 'Senior Pool', '-', duration].join(' ');
}

getLiquidity({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getReserves({ appToken }: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy(_params: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
async getApy(_params: GetDataPropsParams<BarnbridgeSmartAlphaToken>) {
return 0;
}
}
2 changes: 1 addition & 1 deletion src/apps/beefy/arbitrum/beefy.vault.token-fetcher.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class ArbitrumBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
2 changes: 1 addition & 1 deletion src/apps/beefy/avalanche/beefy.vault.token-fetcher.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class AvalancheBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class BinanceSmartChainBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ export abstract class BeefyVaultTokenFetcher extends AppTokenTemplatePositionFet
return Number(ratioRaw) / 10 ** decimals;
}

getLiquidity({ appToken }: GetDataPropsParams<BeefyVaultToken>) {
async getLiquidity({ appToken }: GetDataPropsParams<BeefyVaultToken>) {
return appToken.supply * appToken.price;
}

getReserves({ appToken }: GetDataPropsParams<BeefyVaultToken>) {
async getReserves({ appToken }: GetDataPropsParams<BeefyVaultToken>) {
return [appToken.pricePerShare[0] * appToken.supply];
}

getApy(_params: GetDataPropsParams<BeefyVaultToken>) {
async getApy(_params: GetDataPropsParams<BeefyVaultToken>) {
return 0;
}
}
2 changes: 1 addition & 1 deletion src/apps/beefy/fantom/beefy.vault.token-fetcher.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class FantomBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
2 changes: 1 addition & 1 deletion src/apps/beefy/optimism/beefy.vault.token-fetcher.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class OptimismBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
2 changes: 1 addition & 1 deletion src/apps/beefy/polygon/beefy.vault.token-fetcher.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator';

import { BeefyVaultTokenFetcher } from '../common/beefy.vault-token-fetcher';
import { BeefyVaultTokenFetcher } from '../common/beefy.vault.token-fetcher';

@PositionTemplate()
export class PolygonBeefyVaultTokenFetcher extends BeefyVaultTokenFetcher {
Expand Down
Loading