Skip to content

Commit

Permalink
🧶 Resolving circular dependency hell (#2905)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcinciarka authored Sep 22, 2023
1 parent 0cbcbec commit d2c9c32
Show file tree
Hide file tree
Showing 1,497 changed files with 12,338 additions and 11,623 deletions.
7 changes: 7 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-non-null-assertion": "warn",
"@typescript-eslint/no-shadow": ["warn", { "builtinGlobals": true, "hoist": "all" }],
"@typescript-eslint/consistent-type-imports": [
"error",
{
"prefer": "type-imports",
"disallowTypeAnnotations": true
}
],
"accessor-pairs": "error",
"constructor-super": "error",
"eqeqeq": [
Expand Down
8 changes: 5 additions & 3 deletions actions/aave-like/adjust/get-adjust-position-parameters.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { IMultiplyStrategy, strategies } from '@oasisdex/dma-library'
import type { IMultiplyStrategy } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import {
getCurrentPositionLibCallData,
networkIdToLibraryNetwork,
swapCall,
} from 'actions/aave-like/helpers'
import { AdjustAaveParameters } from 'actions/aave-like/types'
import type { AdjustAaveParameters } from 'actions/aave-like/types'
import { getRpcProvider, NetworkIds } from 'blockchain/networks'
import { ProxyType } from 'features/aave/types'
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

export async function getAdjustPositionParameters({
userAddress,
Expand Down
8 changes: 5 additions & 3 deletions actions/aave-like/close/get-close-aave-parameters.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { IMultiplyStrategy, strategies } from '@oasisdex/dma-library'
import type { IMultiplyStrategy } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import {
getCurrentPositionLibCallData,
networkIdToLibraryNetwork,
swapCall,
} from 'actions/aave-like/helpers'
import { CloseAaveParameters } from 'actions/aave-like/types'
import type { CloseAaveParameters } from 'actions/aave-like/types'
import { getRpcProvider, NetworkIds } from 'blockchain/networks'
import { ProxyType } from 'features/aave/types'
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

export async function getCloseAaveParameters({
proxyAddress,
Expand Down
5 changes: 3 additions & 2 deletions actions/aave-like/get-addresses.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AaveLikeStrategyAddresses } from '@oasisdex/dma-library'
import type { AaveLikeStrategyAddresses } from '@oasisdex/dma-library'
import {
ensureChainlinkTokenPairsExist,
ensureContractsExist,
Expand All @@ -7,7 +7,8 @@ import {
getNetworkContracts,
} from 'blockchain/contracts'
import { ethNullAddress, NetworkIds } from 'blockchain/networks'
import { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLikeLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

export function getAddresses(
networkId: NetworkIds,
Expand Down
8 changes: 2 additions & 6 deletions actions/aave-like/guards/assert-protocol.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import {
AaveLikeLendingProtocol,
checkIfAave,
checkIfSpark,
LendingProtocol,
} from 'lendingProtocols'
import type { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
import { checkIfAave, checkIfSpark } from 'lendingProtocols'

export function assertProtocol(
protocol: LendingProtocol,
Expand Down
4 changes: 2 additions & 2 deletions actions/aave-like/helpers/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { IPosition, Network, Tokens } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import type { IPosition, Network, Tokens } from '@oasisdex/dma-library'
import type { getAddresses } from 'actions/aave-like/get-addresses'
import { NetworkIds } from 'blockchain/networks'
import { getOneInchCall } from 'helpers/swap'

Expand Down
10 changes: 6 additions & 4 deletions actions/aave-like/manage/get-manage-position-parameters.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { IStrategy, strategies } from '@oasisdex/dma-library'
import type { IStrategy } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import { getCurrentPositionLibCallData, networkIdToLibraryNetwork } from 'actions/aave-like/helpers'
import { ManageAaveParameters } from 'actions/aave-like/types'
import BigNumber from 'bignumber.js'
import type { ManageAaveParameters } from 'actions/aave-like/types'
import type BigNumber from 'bignumber.js'
import { getRpcProvider } from 'blockchain/networks'
import { amountToWei } from 'blockchain/utils'
import { ManageCollateralActionsEnum, ManageDebtActionsEnum } from 'features/aave'
import { zero } from 'helpers/zero'
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

function getTokensInBaseUnit({
manageTokenInput,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { IOpenDepositBorrowStrategy, strategies } from '@oasisdex/dma-library'
import type { IOpenDepositBorrowStrategy } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import { networkIdToLibraryNetwork } from 'actions/aave-like/helpers'
import { OpenAaveDepositBorrowParameters } from 'actions/aave-like/types'
import type { OpenAaveDepositBorrowParameters } from 'actions/aave-like/types'
import { getRpcProvider } from 'blockchain/networks'
import { getToken } from 'blockchain/tokensMetadata'
import { amountToWei } from 'blockchain/utils'
import { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLikeLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

export async function getOpenDepositBorrowPositionParameters(
args: OpenAaveDepositBorrowParameters,
Expand Down
10 changes: 6 additions & 4 deletions actions/aave-like/open/get-open-position-parameters.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { IMultiplyStrategy, IRiskRatio, strategies, Tokens } from '@oasisdex/dma-library'
import type { IMultiplyStrategy, IRiskRatio, Tokens } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import { assertProtocol } from 'actions/aave-like/guards'
import { networkIdToLibraryNetwork, swapCall } from 'actions/aave-like/helpers'
import { OpenMultiplyAaveParameters } from 'actions/aave-like/types'
import BigNumber from 'bignumber.js'
import type { OpenMultiplyAaveParameters } from 'actions/aave-like/types'
import type BigNumber from 'bignumber.js'
import { ethNullAddress, getRpcProvider, NetworkIds } from 'blockchain/networks'
import { getToken } from 'blockchain/tokensMetadata'
import { amountToWei } from 'blockchain/utils'
import { ProxyType } from 'features/aave/types'
import { AaveLendingProtocol, AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
import type { AaveLendingProtocol, AaveLikeLendingProtocol } from 'lendingProtocols'
import { LendingProtocol } from 'lendingProtocols'

async function openPosition(
slippage: BigNumber,
Expand Down
5 changes: 3 additions & 2 deletions actions/aave-like/view/get-on-chain-position.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { IPosition, Tokens, views } from '@oasisdex/dma-library'
import type { IPosition, Tokens } from '@oasisdex/dma-library'
import { views } from '@oasisdex/dma-library'
import { getAddresses } from 'actions/aave-like/get-addresses'
import { GetOnChainPositionParams } from 'actions/aave-like/types'
import type { GetOnChainPositionParams } from 'actions/aave-like/types'
import { getRpcProvider } from 'blockchain/networks'
import { getToken } from 'blockchain/tokensMetadata'
import { LendingProtocol } from 'lendingProtocols'
Expand Down
12 changes: 4 additions & 8 deletions actions/ajna/borrow.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import {
AjnaCommonDependencies,
AjnaCommonPayload,
AjnaPosition,
strategies,
} from '@oasisdex/dma-library'
import { AjnaGenericPosition } from 'features/ajna/common/types'
import { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto'
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPosition } from '@oasisdex/dma-library'
import { strategies } from '@oasisdex/dma-library'
import type { AjnaGenericPosition } from 'features/ajna/common/types'
import type { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto.types'
import { zero } from 'helpers/zero'

export const ajnaOpenBorrow = ({
Expand Down
17 changes: 6 additions & 11 deletions actions/ajna/common.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
import {
AjnaCommonDependencies,
AjnaCommonPayload,
AjnaPosition,
RiskRatio,
strategies,
} from '@oasisdex/dma-library'
import { BigNumber } from 'bignumber.js'
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPosition } from '@oasisdex/dma-library'
import { RiskRatio, strategies } from '@oasisdex/dma-library'
import type { BigNumber } from 'bignumber.js'
import { getNetworkContracts } from 'blockchain/contracts'
import { NetworkIds } from 'blockchain/networks'
import { AjnaGenericPosition } from 'features/ajna/common/types'
import { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto'
import { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto'
import type { AjnaGenericPosition } from 'features/ajna/common/types'
import type { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto.types'
import type { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto.types'
import { getOneInchCall } from 'helpers/swap'
import { zero } from 'helpers/zero'

Expand Down
8 changes: 4 additions & 4 deletions actions/ajna/earn.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import {
import type {
AjnaCommonDependencies,
AjnaCommonPayload,
AjnaEarnPosition,
strategies,
} from '@oasisdex/dma-library'
import { AjnaGenericPosition } from 'features/ajna/common/types'
import { strategies } from '@oasisdex/dma-library'
import type { AjnaGenericPosition } from 'features/ajna/common/types'
import { getAjnaEarnData } from 'features/ajna/positions/earn/helpers/getAjnaEarnData'
import { AjnaEarnFormState } from 'features/ajna/positions/earn/state/ajnaEarnFormReducto'
import type { AjnaEarnFormState } from 'features/ajna/positions/earn/state/ajnaEarnFormReducto.types'
import { zero } from 'helpers/zero'

export const ajnaOpenEarn = ({
Expand Down
12 changes: 3 additions & 9 deletions actions/ajna/multiply.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
import {
AjnaCommonDependencies,
AjnaCommonPayload,
AjnaPool,
normalizeValue,
RiskRatio,
strategies,
} from '@oasisdex/dma-library'
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPool } from '@oasisdex/dma-library'
import { normalizeValue, RiskRatio, strategies } from '@oasisdex/dma-library'
import { BigNumber } from 'bignumber.js'
import { getNetworkContracts } from 'blockchain/contracts'
import { NetworkIds } from 'blockchain/networks'
import { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto'
import type { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto.types'
import { getOneInchCall } from 'helpers/swap'

const DEFAULT_LTV_ON_NEW_POOL = new BigNumber(0.05)
Expand Down
11 changes: 6 additions & 5 deletions actions/ajna/oasisActionsLibWrapper.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {
import type {
AjnaCommonDependencies,
AjnaCommonPayload,
AjnaStrategy,
Expand All @@ -11,12 +11,13 @@ import {
} from 'actions/ajna/borrow'
import { ajnaClaimEarn, ajnaDepositEarn, ajnaOpenEarn, ajnaWithdrawEarn } from 'actions/ajna/earn'
import { ajnaOpenMultiply } from 'actions/ajna/multiply'
import BigNumber from 'bignumber.js'
import type BigNumber from 'bignumber.js'
import { getNetworkContracts } from 'blockchain/contracts'
import { Context } from 'blockchain/network'
import type { Context } from 'blockchain/network.types'
import { NetworkIds } from 'blockchain/networks'
import { ethers } from 'ethers'
import { AjnaFormState, AjnaGenericPosition } from 'features/ajna/common/types'
import type { ethers } from 'ethers'
import type { AjnaGenericPosition } from 'features/ajna/common/types'
import type { AjnaFormState } from 'features/ajna/common/types/AjnaFormState.types'
import { getAjnaPoolAddress } from 'features/ajna/positions/common/helpers/getAjnaPoolAddress'
import { getAjnaPoolData } from 'features/ajna/positions/common/helpers/getAjnaPoolData'
import { getMaxIncreasedValue } from 'features/ajna/positions/common/helpers/getMaxIncreasedValue'
Expand Down
5 changes: 5 additions & 0 deletions analytics/TrackingProductType.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export enum TrackingProductType {
BORROW = 'borrow',
MULTIPLY = 'multiply',
EARN = 'earn',
}
Loading

0 comments on commit d2c9c32

Please sign in to comment.