From 68898bc51c62dc4100ec7cbd9bbf398484f51f69 Mon Sep 17 00:00:00 2001 From: Bob Lu Date: Mon, 22 Jul 2024 15:21:30 +0800 Subject: [PATCH] fix: move implements to logic module --- src/logics/aave-v2/logic.borrow.ts | 6 +++++- src/logics/aave-v2/logic.deposit.ts | 2 +- src/logics/aave-v2/logic.repay.ts | 6 +++++- src/logics/aave-v2/logic.withdraw.ts | 6 +++++- src/logics/aave-v3/logic.borrow.ts | 6 +++++- src/logics/aave-v3/logic.repay.ts | 6 +++++- src/logics/aave-v3/logic.supply.ts | 6 +++++- src/logics/aave-v3/logic.withdraw.ts | 6 +++++- src/logics/radiant-v2/logic.borrow.ts | 6 +++++- src/logics/radiant-v2/logic.deposit.ts | 2 +- src/logics/radiant-v2/logic.repay.ts | 6 +++++- src/logics/radiant-v2/logic.withdraw.ts | 6 +++++- src/logics/spark/logic.borrow.ts | 6 +++++- src/logics/spark/logic.repay.ts | 6 +++++- src/logics/spark/logic.supply.ts | 6 +++++- src/logics/spark/logic.withdraw.ts | 6 +++++- src/modules/aavev2/logic.borrow.ts | 5 +---- src/modules/aavev2/logic.deposit.ts | 5 +---- src/modules/aavev2/logic.repay.ts | 5 +---- src/modules/aavev2/logic.withdraw.ts | 5 +---- src/modules/aavev3/logic.borrow.ts | 5 +---- src/modules/aavev3/logic.repay.ts | 5 +---- src/modules/aavev3/logic.supply.ts | 5 +---- src/modules/aavev3/logic.withdraw.ts | 5 +---- test/logics/openocean-v2/swap-token.test.ts | 6 +++--- 25 files changed, 83 insertions(+), 51 deletions(-) diff --git a/src/logics/aave-v2/logic.borrow.ts b/src/logics/aave-v2/logic.borrow.ts index e4558c04..40bec848 100644 --- a/src/logics/aave-v2/logic.borrow.ts +++ b/src/logics/aave-v2/logic.borrow.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type BorrowLogicOptions = aavev2.BorrowLogicOptions; export type BorrowLogicTokenList = aavev2.BorrowLogicTokenList; -export class BorrowLogic extends aavev2.BorrowLogic { +export class BorrowLogic + extends aavev2.BorrowLogic + implements core.LogicTokenListInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v2/logic.deposit.ts b/src/logics/aave-v2/logic.deposit.ts index 33086a84..a378cfd5 100644 --- a/src/logics/aave-v2/logic.deposit.ts +++ b/src/logics/aave-v2/logic.deposit.ts @@ -22,6 +22,6 @@ export class DepositLogic extends aavev2.DepositLogics { async getTokenList() { const reserveTokens = await this.service.getSupplyTokens(); - return aavev2.createDepositTokenList(reserveTokens, 'rToken'); + return aavev2.createDepositTokenList(reserveTokens, 'aToken'); } } diff --git a/src/logics/aave-v2/logic.repay.ts b/src/logics/aave-v2/logic.repay.ts index 0e31371a..85f3ecfb 100644 --- a/src/logics/aave-v2/logic.repay.ts +++ b/src/logics/aave-v2/logic.repay.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type RepayLogicParams = aavev2.RepayLogicParams; export type RepayLogicFields = aavev2.RepayLogicFields; -export class RepayLogic extends aavev2.RepayLogic { +export class RepayLogic + extends aavev2.RepayLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v2/logic.withdraw.ts b/src/logics/aave-v2/logic.withdraw.ts index 31b04ca8..63a3872d 100644 --- a/src/logics/aave-v2/logic.withdraw.ts +++ b/src/logics/aave-v2/logic.withdraw.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type WithdrawLogicFields = aavev2.WithdrawLogicFields; export type WithdrawLogicOptions = aavev2.WithdrawLogicOptions; -export class WithdrawLogic extends aavev2.WithdrawLogic { +export class WithdrawLogic + extends aavev2.WithdrawLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v3/logic.borrow.ts b/src/logics/aave-v3/logic.borrow.ts index 29b97d7c..1070ee6f 100644 --- a/src/logics/aave-v3/logic.borrow.ts +++ b/src/logics/aave-v3/logic.borrow.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type BorrowLogicFields = aavev3.BorrowLogicFields; export type BorrowLogicOptions = aavev3.BorrowLogicOptions; -export class BorrowLogic extends aavev3.BorrowLogic { +export class BorrowLogic + extends aavev3.BorrowLogic + implements core.LogicTokenListInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v3/logic.repay.ts b/src/logics/aave-v3/logic.repay.ts index f69816d2..f3b67ede 100644 --- a/src/logics/aave-v3/logic.repay.ts +++ b/src/logics/aave-v3/logic.repay.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type RepayLogicParams = aavev3.RepayLogicParams; export type RepayLogicFields = aavev3.RepayLogicFields; -export class RepayLogic extends aavev3.RepayLogic { +export class RepayLogic + extends aavev3.RepayLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v3/logic.supply.ts b/src/logics/aave-v3/logic.supply.ts index 89ea8f12..86b43f32 100644 --- a/src/logics/aave-v3/logic.supply.ts +++ b/src/logics/aave-v3/logic.supply.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type SupplyLogicFields = aavev3.SupplyLogicFields; export type SupplyLogicOptions = aavev3.SupplyLogicOptions; -export class SupplyLogic extends aavev3.SupplyLogics { +export class SupplyLogic + extends aavev3.SupplyLogics + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/aave-v3/logic.withdraw.ts b/src/logics/aave-v3/logic.withdraw.ts index f529b87b..524a744b 100644 --- a/src/logics/aave-v3/logic.withdraw.ts +++ b/src/logics/aave-v3/logic.withdraw.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type WithdrawLogicFields = aavev3.WithdrawLogicFields; export type WithdrawLogicOptions = aavev3.WithdrawLogicOptions; -export class WithdrawLogic extends aavev3.WithdrawLogic { +export class WithdrawLogic + extends aavev3.WithdrawLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/radiant-v2/logic.borrow.ts b/src/logics/radiant-v2/logic.borrow.ts index e4558c04..40bec848 100644 --- a/src/logics/radiant-v2/logic.borrow.ts +++ b/src/logics/radiant-v2/logic.borrow.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type BorrowLogicOptions = aavev2.BorrowLogicOptions; export type BorrowLogicTokenList = aavev2.BorrowLogicTokenList; -export class BorrowLogic extends aavev2.BorrowLogic { +export class BorrowLogic + extends aavev2.BorrowLogic + implements core.LogicTokenListInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/radiant-v2/logic.deposit.ts b/src/logics/radiant-v2/logic.deposit.ts index a378cfd5..33086a84 100644 --- a/src/logics/radiant-v2/logic.deposit.ts +++ b/src/logics/radiant-v2/logic.deposit.ts @@ -22,6 +22,6 @@ export class DepositLogic extends aavev2.DepositLogics { async getTokenList() { const reserveTokens = await this.service.getSupplyTokens(); - return aavev2.createDepositTokenList(reserveTokens, 'aToken'); + return aavev2.createDepositTokenList(reserveTokens, 'rToken'); } } diff --git a/src/logics/radiant-v2/logic.repay.ts b/src/logics/radiant-v2/logic.repay.ts index 0e31371a..85f3ecfb 100644 --- a/src/logics/radiant-v2/logic.repay.ts +++ b/src/logics/radiant-v2/logic.repay.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type RepayLogicParams = aavev2.RepayLogicParams; export type RepayLogicFields = aavev2.RepayLogicFields; -export class RepayLogic extends aavev2.RepayLogic { +export class RepayLogic + extends aavev2.RepayLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/radiant-v2/logic.withdraw.ts b/src/logics/radiant-v2/logic.withdraw.ts index 9de045bb..4400122a 100644 --- a/src/logics/radiant-v2/logic.withdraw.ts +++ b/src/logics/radiant-v2/logic.withdraw.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev2 from 'src/modules/aavev2'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type WithdrawLogicFields = aavev2.WithdrawLogicFields; export type WithdrawLogicOptions = aavev2.WithdrawLogicOptions; -export class WithdrawLogic extends aavev2.WithdrawLogic { +export class WithdrawLogic + extends aavev2.WithdrawLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/spark/logic.borrow.ts b/src/logics/spark/logic.borrow.ts index 29b97d7c..1070ee6f 100644 --- a/src/logics/spark/logic.borrow.ts +++ b/src/logics/spark/logic.borrow.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type BorrowLogicFields = aavev3.BorrowLogicFields; export type BorrowLogicOptions = aavev3.BorrowLogicOptions; -export class BorrowLogic extends aavev3.BorrowLogic { +export class BorrowLogic + extends aavev3.BorrowLogic + implements core.LogicTokenListInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/spark/logic.repay.ts b/src/logics/spark/logic.repay.ts index f69816d2..f3b67ede 100644 --- a/src/logics/spark/logic.repay.ts +++ b/src/logics/spark/logic.repay.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -9,7 +10,10 @@ export type RepayLogicParams = aavev3.RepayLogicParams; export type RepayLogicFields = aavev3.RepayLogicFields; -export class RepayLogic extends aavev3.RepayLogic { +export class RepayLogic + extends aavev3.RepayLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/spark/logic.supply.ts b/src/logics/spark/logic.supply.ts index 89ea8f12..86b43f32 100644 --- a/src/logics/spark/logic.supply.ts +++ b/src/logics/spark/logic.supply.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type SupplyLogicFields = aavev3.SupplyLogicFields; export type SupplyLogicOptions = aavev3.SupplyLogicOptions; -export class SupplyLogic extends aavev3.SupplyLogics { +export class SupplyLogic + extends aavev3.SupplyLogics + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/logics/spark/logic.withdraw.ts b/src/logics/spark/logic.withdraw.ts index f529b87b..524a744b 100644 --- a/src/logics/spark/logic.withdraw.ts +++ b/src/logics/spark/logic.withdraw.ts @@ -1,5 +1,6 @@ import { Service } from './service'; import * as aavev3 from 'src/modules/aavev3'; +import * as core from '@protocolink/core'; import { protocolId, supportedChainIds } from './configs'; import { providers } from 'ethers'; @@ -11,7 +12,10 @@ export type WithdrawLogicFields = aavev3.WithdrawLogicFields; export type WithdrawLogicOptions = aavev3.WithdrawLogicOptions; -export class WithdrawLogic extends aavev3.WithdrawLogic { +export class WithdrawLogic + extends aavev3.WithdrawLogic + implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface +{ static protocolId = protocolId; static readonly supportedChainIds = supportedChainIds; diff --git a/src/modules/aavev2/logic.borrow.ts b/src/modules/aavev2/logic.borrow.ts index cdecca08..1d33f6a9 100644 --- a/src/modules/aavev2/logic.borrow.ts +++ b/src/modules/aavev2/logic.borrow.ts @@ -9,10 +9,7 @@ export type BorrowLogicFields = core.TokenOutFields<{ interestRateMode: Interest export type BorrowLogicOptions = Pick; -export abstract class BorrowLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicBuilderInterface -{ +export abstract class BorrowLogic extends core.Logic { static id = 'borrow'; public readonly service: serviceType; diff --git a/src/modules/aavev2/logic.deposit.ts b/src/modules/aavev2/logic.deposit.ts index fd0f16c8..7f002d1a 100644 --- a/src/modules/aavev2/logic.deposit.ts +++ b/src/modules/aavev2/logic.deposit.ts @@ -11,10 +11,7 @@ export type DepositLogicFields = core.TokenToTokenExactInFields<{ referralCode?: export type DepositLogicOptions = Pick; -export abstract class DepositLogics - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class DepositLogics extends core.Logic { static id = 'deposit'; public readonly service: serviceType; diff --git a/src/modules/aavev2/logic.repay.ts b/src/modules/aavev2/logic.repay.ts index c6ad91ca..ccc2c6e4 100644 --- a/src/modules/aavev2/logic.repay.ts +++ b/src/modules/aavev2/logic.repay.ts @@ -9,10 +9,7 @@ export type RepayLogicParams = core.RepayParams<{ interestRateMode: InterestRate export type RepayLogicFields = core.RepayFields<{ interestRateMode: InterestRateMode }>; -export abstract class RepayLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class RepayLogic extends core.Logic { static id = 'repay'; public readonly service: serviceType; diff --git a/src/modules/aavev2/logic.withdraw.ts b/src/modules/aavev2/logic.withdraw.ts index 1daef5bd..f01c0321 100644 --- a/src/modules/aavev2/logic.withdraw.ts +++ b/src/modules/aavev2/logic.withdraw.ts @@ -11,10 +11,7 @@ export type WithdrawLogicFields = core.TokenToTokenExactInFields; export type WithdrawLogicOptions = Pick; -export abstract class WithdrawLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class WithdrawLogic extends core.Logic { static id = 'withdraw'; public readonly service: serviceType; diff --git a/src/modules/aavev3/logic.borrow.ts b/src/modules/aavev3/logic.borrow.ts index a778fec5..21cd683c 100644 --- a/src/modules/aavev3/logic.borrow.ts +++ b/src/modules/aavev3/logic.borrow.ts @@ -9,10 +9,7 @@ export type BorrowLogicFields = core.TokenOutFields<{ interestRateMode: Interest export type BorrowLogicOptions = Pick; -export abstract class BorrowLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicBuilderInterface -{ +export abstract class BorrowLogic extends core.Logic { static id = 'borrow'; public readonly service: serviceType; diff --git a/src/modules/aavev3/logic.repay.ts b/src/modules/aavev3/logic.repay.ts index 4a96d955..f1d42e91 100644 --- a/src/modules/aavev3/logic.repay.ts +++ b/src/modules/aavev3/logic.repay.ts @@ -9,10 +9,7 @@ export type RepayLogicParams = core.RepayParams<{ interestRateMode: InterestRate export type RepayLogicFields = core.RepayFields<{ interestRateMode: InterestRateMode }>; -export abstract class RepayLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class RepayLogic extends core.Logic { static id = 'repay'; public readonly service: serviceType; diff --git a/src/modules/aavev3/logic.supply.ts b/src/modules/aavev3/logic.supply.ts index 2f3d2d66..1f7831cb 100644 --- a/src/modules/aavev3/logic.supply.ts +++ b/src/modules/aavev3/logic.supply.ts @@ -11,10 +11,7 @@ export type SupplyLogicFields = core.TokenToTokenExactInFields<{ referralCode?: export type SupplyLogicOptions = Pick; -export abstract class SupplyLogics - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class SupplyLogics extends core.Logic { static id = 'supply'; public readonly service: serviceType; diff --git a/src/modules/aavev3/logic.withdraw.ts b/src/modules/aavev3/logic.withdraw.ts index 9ce536a6..274c1990 100644 --- a/src/modules/aavev3/logic.withdraw.ts +++ b/src/modules/aavev3/logic.withdraw.ts @@ -11,10 +11,7 @@ export type WithdrawLogicFields = core.TokenToTokenExactInFields; export type WithdrawLogicOptions = Pick; -export abstract class WithdrawLogic - extends core.Logic - implements core.LogicTokenListInterface, core.LogicOracleInterface, core.LogicBuilderInterface -{ +export abstract class WithdrawLogic extends core.Logic { static id = 'withdraw'; public readonly service: serviceType; diff --git a/test/logics/openocean-v2/swap-token.test.ts b/test/logics/openocean-v2/swap-token.test.ts index 31378155..425b8d3b 100644 --- a/test/logics/openocean-v2/swap-token.test.ts +++ b/test/logics/openocean-v2/swap-token.test.ts @@ -17,7 +17,7 @@ describe('metis: Test OpenOceanV2 SwapToken Logic', function () { await claimToken( chainId, user.address, - common.metisTokens['METIS(ERC20)'], + common.metisTokens.METIS, '100', '0x7314Ef2CA509490f65F52CC8FC9E0675C66390b8' ); @@ -35,7 +35,7 @@ describe('metis: Test OpenOceanV2 SwapToken Logic', function () { const testCases = [ { params: { - input: new common.TokenAmount(common.metisTokens['METIS(ERC20)'], '1'), + input: new common.TokenAmount(common.metisTokens.METIS, '1'), tokenOut: common.metisTokens['m.DAI'], slippage: 100, }, @@ -43,7 +43,7 @@ describe('metis: Test OpenOceanV2 SwapToken Logic', function () { { params: { input: new common.TokenAmount(common.metisTokens['m.USDC'], '1'), - tokenOut: common.metisTokens['METIS(ERC20)'], + tokenOut: common.metisTokens.METIS, slippage: 100, }, },