Skip to content

Commit d2c9c32

Browse files
authored
🧶 Resolving circular dependency hell (#2905)
1 parent 0cbcbec commit d2c9c32

File tree

1,497 files changed

+12338
-11623
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,497 files changed

+12338
-11623
lines changed

‎.eslintrc.json

+7
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@
4747
"@typescript-eslint/no-useless-constructor": "error",
4848
"@typescript-eslint/no-non-null-assertion": "warn",
4949
"@typescript-eslint/no-shadow": ["warn", { "builtinGlobals": true, "hoist": "all" }],
50+
"@typescript-eslint/consistent-type-imports": [
51+
"error",
52+
{
53+
"prefer": "type-imports",
54+
"disallowTypeAnnotations": true
55+
}
56+
],
5057
"accessor-pairs": "error",
5158
"constructor-super": "error",
5259
"eqeqeq": [

‎actions/aave-like/adjust/get-adjust-position-parameters.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
import { IMultiplyStrategy, strategies } from '@oasisdex/dma-library'
1+
import type { IMultiplyStrategy } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
34
import {
45
getCurrentPositionLibCallData,
56
networkIdToLibraryNetwork,
67
swapCall,
78
} from 'actions/aave-like/helpers'
8-
import { AdjustAaveParameters } from 'actions/aave-like/types'
9+
import type { AdjustAaveParameters } from 'actions/aave-like/types'
910
import { getRpcProvider, NetworkIds } from 'blockchain/networks'
1011
import { ProxyType } from 'features/aave/types'
11-
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
12+
import type { AaveLendingProtocol } from 'lendingProtocols'
13+
import { LendingProtocol } from 'lendingProtocols'
1214

1315
export async function getAdjustPositionParameters({
1416
userAddress,

‎actions/aave-like/close/get-close-aave-parameters.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
import { IMultiplyStrategy, strategies } from '@oasisdex/dma-library'
1+
import type { IMultiplyStrategy } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
34
import {
45
getCurrentPositionLibCallData,
56
networkIdToLibraryNetwork,
67
swapCall,
78
} from 'actions/aave-like/helpers'
8-
import { CloseAaveParameters } from 'actions/aave-like/types'
9+
import type { CloseAaveParameters } from 'actions/aave-like/types'
910
import { getRpcProvider, NetworkIds } from 'blockchain/networks'
1011
import { ProxyType } from 'features/aave/types'
11-
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
12+
import type { AaveLendingProtocol } from 'lendingProtocols'
13+
import { LendingProtocol } from 'lendingProtocols'
1214

1315
export async function getCloseAaveParameters({
1416
proxyAddress,

‎actions/aave-like/get-addresses.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { AaveLikeStrategyAddresses } from '@oasisdex/dma-library'
1+
import type { AaveLikeStrategyAddresses } from '@oasisdex/dma-library'
22
import {
33
ensureChainlinkTokenPairsExist,
44
ensureContractsExist,
@@ -7,7 +7,8 @@ import {
77
getNetworkContracts,
88
} from 'blockchain/contracts'
99
import { ethNullAddress, NetworkIds } from 'blockchain/networks'
10-
import { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
10+
import type { AaveLikeLendingProtocol } from 'lendingProtocols'
11+
import { LendingProtocol } from 'lendingProtocols'
1112

1213
export function getAddresses(
1314
networkId: NetworkIds,

‎actions/aave-like/guards/assert-protocol.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
import {
2-
AaveLikeLendingProtocol,
3-
checkIfAave,
4-
checkIfSpark,
5-
LendingProtocol,
6-
} from 'lendingProtocols'
1+
import type { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
2+
import { checkIfAave, checkIfSpark } from 'lendingProtocols'
73

84
export function assertProtocol(
95
protocol: LendingProtocol,

‎actions/aave-like/helpers/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { IPosition, Network, Tokens } from '@oasisdex/dma-library'
2-
import { getAddresses } from 'actions/aave-like/get-addresses'
1+
import type { IPosition, Network, Tokens } from '@oasisdex/dma-library'
2+
import type { getAddresses } from 'actions/aave-like/get-addresses'
33
import { NetworkIds } from 'blockchain/networks'
44
import { getOneInchCall } from 'helpers/swap'
55

‎actions/aave-like/manage/get-manage-position-parameters.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
import { IStrategy, strategies } from '@oasisdex/dma-library'
1+
import type { IStrategy } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
34
import { getCurrentPositionLibCallData, networkIdToLibraryNetwork } from 'actions/aave-like/helpers'
4-
import { ManageAaveParameters } from 'actions/aave-like/types'
5-
import BigNumber from 'bignumber.js'
5+
import type { ManageAaveParameters } from 'actions/aave-like/types'
6+
import type BigNumber from 'bignumber.js'
67
import { getRpcProvider } from 'blockchain/networks'
78
import { amountToWei } from 'blockchain/utils'
89
import { ManageCollateralActionsEnum, ManageDebtActionsEnum } from 'features/aave'
910
import { zero } from 'helpers/zero'
10-
import { AaveLendingProtocol, LendingProtocol } from 'lendingProtocols'
11+
import type { AaveLendingProtocol } from 'lendingProtocols'
12+
import { LendingProtocol } from 'lendingProtocols'
1113

1214
function getTokensInBaseUnit({
1315
manageTokenInput,

‎actions/aave-like/open/get-open-deposit-borrow-position-parameters.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import { IOpenDepositBorrowStrategy, strategies } from '@oasisdex/dma-library'
1+
import type { IOpenDepositBorrowStrategy } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
34
import { networkIdToLibraryNetwork } from 'actions/aave-like/helpers'
4-
import { OpenAaveDepositBorrowParameters } from 'actions/aave-like/types'
5+
import type { OpenAaveDepositBorrowParameters } from 'actions/aave-like/types'
56
import { getRpcProvider } from 'blockchain/networks'
67
import { getToken } from 'blockchain/tokensMetadata'
78
import { amountToWei } from 'blockchain/utils'
8-
import { AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
9+
import type { AaveLikeLendingProtocol } from 'lendingProtocols'
10+
import { LendingProtocol } from 'lendingProtocols'
911

1012
export async function getOpenDepositBorrowPositionParameters(
1113
args: OpenAaveDepositBorrowParameters,

‎actions/aave-like/open/get-open-position-parameters.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
import { IMultiplyStrategy, IRiskRatio, strategies, Tokens } from '@oasisdex/dma-library'
1+
import type { IMultiplyStrategy, IRiskRatio, Tokens } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
34
import { assertProtocol } from 'actions/aave-like/guards'
45
import { networkIdToLibraryNetwork, swapCall } from 'actions/aave-like/helpers'
5-
import { OpenMultiplyAaveParameters } from 'actions/aave-like/types'
6-
import BigNumber from 'bignumber.js'
6+
import type { OpenMultiplyAaveParameters } from 'actions/aave-like/types'
7+
import type BigNumber from 'bignumber.js'
78
import { ethNullAddress, getRpcProvider, NetworkIds } from 'blockchain/networks'
89
import { getToken } from 'blockchain/tokensMetadata'
910
import { amountToWei } from 'blockchain/utils'
1011
import { ProxyType } from 'features/aave/types'
11-
import { AaveLendingProtocol, AaveLikeLendingProtocol, LendingProtocol } from 'lendingProtocols'
12+
import type { AaveLendingProtocol, AaveLikeLendingProtocol } from 'lendingProtocols'
13+
import { LendingProtocol } from 'lendingProtocols'
1214

1315
async function openPosition(
1416
slippage: BigNumber,

‎actions/aave-like/view/get-on-chain-position.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { IPosition, Tokens, views } from '@oasisdex/dma-library'
1+
import type { IPosition, Tokens } from '@oasisdex/dma-library'
2+
import { views } from '@oasisdex/dma-library'
23
import { getAddresses } from 'actions/aave-like/get-addresses'
3-
import { GetOnChainPositionParams } from 'actions/aave-like/types'
4+
import type { GetOnChainPositionParams } from 'actions/aave-like/types'
45
import { getRpcProvider } from 'blockchain/networks'
56
import { getToken } from 'blockchain/tokensMetadata'
67
import { LendingProtocol } from 'lendingProtocols'

‎actions/ajna/borrow.ts

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
import {
2-
AjnaCommonDependencies,
3-
AjnaCommonPayload,
4-
AjnaPosition,
5-
strategies,
6-
} from '@oasisdex/dma-library'
7-
import { AjnaGenericPosition } from 'features/ajna/common/types'
8-
import { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto'
1+
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPosition } from '@oasisdex/dma-library'
2+
import { strategies } from '@oasisdex/dma-library'
3+
import type { AjnaGenericPosition } from 'features/ajna/common/types'
4+
import type { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto.types'
95
import { zero } from 'helpers/zero'
106

117
export const ajnaOpenBorrow = ({

‎actions/ajna/common.ts

+6-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
import {
2-
AjnaCommonDependencies,
3-
AjnaCommonPayload,
4-
AjnaPosition,
5-
RiskRatio,
6-
strategies,
7-
} from '@oasisdex/dma-library'
8-
import { BigNumber } from 'bignumber.js'
1+
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPosition } from '@oasisdex/dma-library'
2+
import { RiskRatio, strategies } from '@oasisdex/dma-library'
3+
import type { BigNumber } from 'bignumber.js'
94
import { getNetworkContracts } from 'blockchain/contracts'
105
import { NetworkIds } from 'blockchain/networks'
11-
import { AjnaGenericPosition } from 'features/ajna/common/types'
12-
import { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto'
13-
import { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto'
6+
import type { AjnaGenericPosition } from 'features/ajna/common/types'
7+
import type { AjnaBorrowFormState } from 'features/ajna/positions/borrow/state/ajnaBorrowFormReducto.types'
8+
import type { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto.types'
149
import { getOneInchCall } from 'helpers/swap'
1510
import { zero } from 'helpers/zero'
1611

‎actions/ajna/earn.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import {
1+
import type {
22
AjnaCommonDependencies,
33
AjnaCommonPayload,
44
AjnaEarnPosition,
5-
strategies,
65
} from '@oasisdex/dma-library'
7-
import { AjnaGenericPosition } from 'features/ajna/common/types'
6+
import { strategies } from '@oasisdex/dma-library'
7+
import type { AjnaGenericPosition } from 'features/ajna/common/types'
88
import { getAjnaEarnData } from 'features/ajna/positions/earn/helpers/getAjnaEarnData'
9-
import { AjnaEarnFormState } from 'features/ajna/positions/earn/state/ajnaEarnFormReducto'
9+
import type { AjnaEarnFormState } from 'features/ajna/positions/earn/state/ajnaEarnFormReducto.types'
1010
import { zero } from 'helpers/zero'
1111

1212
export const ajnaOpenEarn = ({

‎actions/ajna/multiply.ts

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
import {
2-
AjnaCommonDependencies,
3-
AjnaCommonPayload,
4-
AjnaPool,
5-
normalizeValue,
6-
RiskRatio,
7-
strategies,
8-
} from '@oasisdex/dma-library'
1+
import type { AjnaCommonDependencies, AjnaCommonPayload, AjnaPool } from '@oasisdex/dma-library'
2+
import { normalizeValue, RiskRatio, strategies } from '@oasisdex/dma-library'
93
import { BigNumber } from 'bignumber.js'
104
import { getNetworkContracts } from 'blockchain/contracts'
115
import { NetworkIds } from 'blockchain/networks'
12-
import { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto'
6+
import type { AjnaMultiplyFormState } from 'features/ajna/positions/multiply/state/ajnaMultiplyFormReducto.types'
137
import { getOneInchCall } from 'helpers/swap'
148

159
const DEFAULT_LTV_ON_NEW_POOL = new BigNumber(0.05)

‎actions/ajna/oasisActionsLibWrapper.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {
1+
import type {
22
AjnaCommonDependencies,
33
AjnaCommonPayload,
44
AjnaStrategy,
@@ -11,12 +11,13 @@ import {
1111
} from 'actions/ajna/borrow'
1212
import { ajnaClaimEarn, ajnaDepositEarn, ajnaOpenEarn, ajnaWithdrawEarn } from 'actions/ajna/earn'
1313
import { ajnaOpenMultiply } from 'actions/ajna/multiply'
14-
import BigNumber from 'bignumber.js'
14+
import type BigNumber from 'bignumber.js'
1515
import { getNetworkContracts } from 'blockchain/contracts'
16-
import { Context } from 'blockchain/network'
16+
import type { Context } from 'blockchain/network.types'
1717
import { NetworkIds } from 'blockchain/networks'
18-
import { ethers } from 'ethers'
19-
import { AjnaFormState, AjnaGenericPosition } from 'features/ajna/common/types'
18+
import type { ethers } from 'ethers'
19+
import type { AjnaGenericPosition } from 'features/ajna/common/types'
20+
import type { AjnaFormState } from 'features/ajna/common/types/AjnaFormState.types'
2021
import { getAjnaPoolAddress } from 'features/ajna/positions/common/helpers/getAjnaPoolAddress'
2122
import { getAjnaPoolData } from 'features/ajna/positions/common/helpers/getAjnaPoolData'
2223
import { getMaxIncreasedValue } from 'features/ajna/positions/common/helpers/getMaxIncreasedValue'

‎analytics/TrackingProductType.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export enum TrackingProductType {
2+
BORROW = 'borrow',
3+
MULTIPLY = 'multiply',
4+
EARN = 'earn',
5+
}

0 commit comments

Comments
 (0)