@defisaver/positions-sdk 0.0.30-dev → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +63 -63
  2. package/cjs/compoundV3/index.js +1 -1
  3. package/cjs/config/contracts.d.ts +220 -1087
  4. package/cjs/config/contracts.js +44 -171
  5. package/cjs/contracts.js +10 -4
  6. package/cjs/curveUsd/index.js +1 -1
  7. package/cjs/helpers/curveUsdHelpers/index.d.ts +1 -2
  8. package/cjs/helpers/curveUsdHelpers/index.js +17 -25
  9. package/cjs/moneymarket/moneymarketCommonService.js +1 -1
  10. package/cjs/services/utils.d.ts +0 -4
  11. package/cjs/services/utils.js +1 -13
  12. package/cjs/types/contracts/generated/CrvUSDView.d.ts +4 -30
  13. package/cjs/types/curveUsd.d.ts +0 -6
  14. package/esm/compoundV3/index.js +1 -1
  15. package/esm/config/contracts.d.ts +220 -1087
  16. package/esm/config/contracts.js +44 -171
  17. package/esm/contracts.js +10 -4
  18. package/esm/curveUsd/index.js +1 -1
  19. package/esm/helpers/curveUsdHelpers/index.d.ts +1 -2
  20. package/esm/helpers/curveUsdHelpers/index.js +18 -26
  21. package/esm/moneymarket/moneymarketCommonService.js +1 -1
  22. package/esm/services/utils.d.ts +0 -4
  23. package/esm/services/utils.js +0 -11
  24. package/esm/types/contracts/generated/CrvUSDView.d.ts +4 -30
  25. package/esm/types/curveUsd.d.ts +0 -6
  26. package/package.json +40 -40
  27. package/src/aaveV2/index.ts +226 -226
  28. package/src/aaveV3/index.ts +561 -561
  29. package/src/assets/index.ts +60 -60
  30. package/src/chickenBonds/index.ts +123 -123
  31. package/src/compoundV2/index.ts +219 -219
  32. package/src/compoundV3/index.ts +275 -275
  33. package/src/config/contracts.js +676 -803
  34. package/src/constants/index.ts +3 -3
  35. package/src/contracts.ts +126 -120
  36. package/src/curveUsd/index.ts +228 -228
  37. package/src/exchange/index.ts +17 -17
  38. package/src/helpers/aaveHelpers/index.ts +134 -134
  39. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  40. package/src/helpers/compoundHelpers/index.ts +181 -181
  41. package/src/helpers/curveUsdHelpers/index.ts +32 -40
  42. package/src/helpers/index.ts +5 -5
  43. package/src/helpers/makerHelpers/index.ts +94 -94
  44. package/src/helpers/sparkHelpers/index.ts +106 -106
  45. package/src/index.ts +40 -40
  46. package/src/liquity/index.ts +116 -116
  47. package/src/maker/index.ts +101 -101
  48. package/src/markets/aave/index.ts +80 -80
  49. package/src/markets/aave/marketAssets.ts +24 -24
  50. package/src/markets/compound/index.ts +141 -141
  51. package/src/markets/compound/marketsAssets.ts +48 -48
  52. package/src/markets/curveUsd/index.ts +69 -69
  53. package/src/markets/index.ts +3 -3
  54. package/src/markets/spark/index.ts +29 -29
  55. package/src/markets/spark/marketAssets.ts +10 -10
  56. package/src/moneymarket/moneymarketCommonService.ts +75 -75
  57. package/src/morpho/markets.ts +39 -39
  58. package/src/morphoAaveV2/index.ts +255 -255
  59. package/src/morphoAaveV3/index.ts +619 -619
  60. package/src/multicall/index.ts +22 -22
  61. package/src/services/dsrService.ts +15 -15
  62. package/src/services/priceService.ts +21 -21
  63. package/src/services/utils.ts +35 -48
  64. package/src/spark/index.ts +422 -422
  65. package/src/staking/staking.ts +167 -167
  66. package/src/types/aave.ts +256 -256
  67. package/src/types/chickenBonds.ts +45 -45
  68. package/src/types/common.ts +83 -83
  69. package/src/types/compound.ts +128 -128
  70. package/src/types/contracts/generated/CrvUSDView.ts +8 -43
  71. package/src/types/curveUsd.ts +112 -118
  72. package/src/types/index.ts +6 -6
  73. package/src/types/liquity.ts +30 -30
  74. package/src/types/maker.ts +50 -50
  75. package/src/types/spark.ts +106 -106
  76. package/yarn-error.log +0 -64
@@ -1,84 +1,84 @@
1
- // General
2
- export type EthAddress = string;
3
- export type Blockish = number | 'latest';
4
- export type AssetSymbol = string;
5
- export type Amount = string | number;
6
-
7
- export enum NetworkNumber {
8
- Eth = 1,
9
- Opt = 10,
10
- Arb = 42161,
11
- Base = 8453,
12
- }
13
- export type Networkish = string | NetworkNumber;
14
-
15
- // Common
16
- export interface MMAssetData {
17
- symbol: string,
18
- supplyRate: string,
19
- borrowRate: string,
20
- price: string,
21
- collateralFactor: string,
22
- underlyingTokenAddress: string,
23
- marketLiquidity: string,
24
- utilization: string,
25
- borrowCap: string,
26
- totalSupply: string,
27
- canBeBorrowed: boolean,
28
- canBeSupplied: boolean,
29
- totalBorrow: string,
30
- incentiveBorrowApy?: string,
31
- incentiveBorrowToken?: string,
32
- incentiveSupplyApy?: string,
33
- incentiveSupplyToken?: string,
34
- borrowRateP2P?: string,
35
- supplyRateP2P?: string,
36
- }
37
-
38
- export interface MMAssetsData {
39
- [token: string]: MMAssetData,
40
- }
41
- export interface MMMarketData {
42
- assetsData: MMAssetData[],
43
- }
44
- export interface MMUsedAsset {
45
- symbol: string,
46
- supplied: string,
47
- suppliedUsd: string,
48
- isSupplied: boolean,
49
- borrowed: string,
50
- borrowedUsd: string,
51
- isBorrowed: boolean,
52
- debt: string,
53
- supplyRate?: string,
54
- borrowRate?: string,
55
- discountedBorrowRate?: string,
56
- stableBorrowRate?: string,
57
- interestMode?: string,
58
- collateral?: boolean,
59
- }
60
- export interface MMUsedAssets {
61
- [token: string]: MMUsedAsset,
62
- }
63
- export interface MMUsedAssetWStableB extends MMUsedAsset {
64
- stableBorrowRate: string,
65
- borrowedStable: string,
66
- borrowedVariable: string,
67
- borrowedUsdStable: string,
68
- borrowedUsdVariable: string,
69
- interestMode: string,
70
- }
71
- export interface MMPositionData {
72
- usedAssets: any,
73
- netApy: string,
74
- lastUpdated: number,
75
- // ...
76
- }
77
-
78
- export type Balances = Record<AssetSymbol, Amount>;
79
- export interface PositionBalances {
80
- collateral?: Balances,
81
- debt?: Balances,
82
- selling?: Balances,
83
- deposited?: Balances,
1
+ // General
2
+ export type EthAddress = string;
3
+ export type Blockish = number | 'latest';
4
+ export type AssetSymbol = string;
5
+ export type Amount = string | number;
6
+
7
+ export enum NetworkNumber {
8
+ Eth = 1,
9
+ Opt = 10,
10
+ Arb = 42161,
11
+ Base = 8453,
12
+ }
13
+ export type Networkish = string | NetworkNumber;
14
+
15
+ // Common
16
+ export interface MMAssetData {
17
+ symbol: string,
18
+ supplyRate: string,
19
+ borrowRate: string,
20
+ price: string,
21
+ collateralFactor: string,
22
+ underlyingTokenAddress: string,
23
+ marketLiquidity: string,
24
+ utilization: string,
25
+ borrowCap: string,
26
+ totalSupply: string,
27
+ canBeBorrowed: boolean,
28
+ canBeSupplied: boolean,
29
+ totalBorrow: string,
30
+ incentiveBorrowApy?: string,
31
+ incentiveBorrowToken?: string,
32
+ incentiveSupplyApy?: string,
33
+ incentiveSupplyToken?: string,
34
+ borrowRateP2P?: string,
35
+ supplyRateP2P?: string,
36
+ }
37
+
38
+ export interface MMAssetsData {
39
+ [token: string]: MMAssetData,
40
+ }
41
+ export interface MMMarketData {
42
+ assetsData: MMAssetData[],
43
+ }
44
+ export interface MMUsedAsset {
45
+ symbol: string,
46
+ supplied: string,
47
+ suppliedUsd: string,
48
+ isSupplied: boolean,
49
+ borrowed: string,
50
+ borrowedUsd: string,
51
+ isBorrowed: boolean,
52
+ debt: string,
53
+ supplyRate?: string,
54
+ borrowRate?: string,
55
+ discountedBorrowRate?: string,
56
+ stableBorrowRate?: string,
57
+ interestMode?: string,
58
+ collateral?: boolean,
59
+ }
60
+ export interface MMUsedAssets {
61
+ [token: string]: MMUsedAsset,
62
+ }
63
+ export interface MMUsedAssetWStableB extends MMUsedAsset {
64
+ stableBorrowRate: string,
65
+ borrowedStable: string,
66
+ borrowedVariable: string,
67
+ borrowedUsdStable: string,
68
+ borrowedUsdVariable: string,
69
+ interestMode: string,
70
+ }
71
+ export interface MMPositionData {
72
+ usedAssets: any,
73
+ netApy: string,
74
+ lastUpdated: number,
75
+ // ...
76
+ }
77
+
78
+ export type Balances = Record<AssetSymbol, Amount>;
79
+ export interface PositionBalances {
80
+ collateral?: Balances,
81
+ debt?: Balances,
82
+ selling?: Balances,
83
+ deposited?: Balances,
84
84
  }
@@ -1,129 +1,129 @@
1
- import {
2
- MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
3
- } from './common';
4
-
5
- export enum CompoundVersions {
6
- 'CompoundV2' = 'v2',
7
- 'CompoundV3USDC' = 'v3-USDC',
8
- 'CompoundV3USDCe' = 'v3-USDC.e',
9
- 'CompoundV3ETH' = 'v3-ETH',
10
- 'CompoundV3USDbC' = 'v3-USDbC',
11
- }
12
-
13
- export interface CompoundBulkerOptions {
14
- supply: number | string,
15
- withdraw: number | string,
16
- }
17
-
18
- export interface CompoundMarketData {
19
- chainIds: NetworkNumber[],
20
- label: string,
21
- shortLabel: string,
22
- value: CompoundVersions,
23
- baseAsset: string,
24
- collAssets: readonly string[],
25
- baseMarket: string,
26
- baseMarketAddress: string,
27
- secondLabel: string,
28
- bulkerName: string,
29
- bulkerAddress: string,
30
- bulkerOptions: CompoundBulkerOptions,
31
- // icon: Function,
32
- }
33
-
34
- export interface CompoundUsedAsset extends MMUsedAsset {
35
- collateral: boolean,
36
- limit?: string,
37
- }
38
-
39
- export interface CompoundV2UsedAsset extends CompoundUsedAsset {
40
- }
41
- export interface CompoundV3UsedAsset extends CompoundUsedAsset {
42
- }
43
-
44
- export interface CompoundUsedAssets<T> {
45
- [token: string]: T,
46
- }
47
-
48
- export type CompoundV2UsedAssets = CompoundUsedAssets<CompoundV2UsedAsset>;
49
- export type CompoundV3UsedAssets = CompoundUsedAssets<CompoundV3UsedAsset>;
50
-
51
- export interface CompoundAssetData extends MMAssetData {
52
- supplyCapAlternative?: string,
53
- totalSupplyAlternative?: string,
54
- priceAlternative?: string,
55
- sortIndex?: number,
56
- }
57
-
58
- export interface CompoundV2AssetData extends CompoundAssetData {
59
- }
60
- export interface CompoundV3AssetData extends CompoundAssetData {
61
- borrowCollateralFactor: string,
62
- liquidateCollateralFactor: string,
63
- minDebt: string,
64
- liquidationRatio: string,
65
- supplyCap: string,
66
- priceInBaseAsset: string,
67
- }
68
-
69
- export interface CompoundAssetsData<T> {
70
- [token: string]: T
71
- }
72
- export type CompoundV2AssetsData = CompoundAssetsData<CompoundV2AssetData>;
73
- export type CompoundV3AssetsData = CompoundAssetsData<CompoundV3AssetData>;
74
-
75
- export type CompoundMarketsData<T> = { assetsData: T };
76
- export type CompoundV2MarketsData = CompoundMarketsData<CompoundV2AssetsData>;
77
- export type CompoundV3MarketsData = CompoundMarketsData<CompoundV3AssetsData>;
78
-
79
- export interface BaseAdditionalAssetData {
80
- totalBorrow: string,
81
- utilization: string,
82
- marketLiquidity: string,
83
- rewardSupplySpeed: string,
84
- rewardBorrowSpeed: string,
85
- minDebt: string,
86
- isBase: boolean,
87
- }
88
-
89
- export interface CompoundAggregatedPositionData {
90
- suppliedUsd: string,
91
- suppliedCollateralUsd: string,
92
- borrowedUsd: string,
93
- borrowLimitUsd: string,
94
- liquidationLimitUsd: string,
95
- leftToBorrowUsd: string,
96
- ratio: string,
97
- collRatio: string,
98
- netApy: string,
99
- incentiveUsd: string,
100
- totalInterestUsd: string,
101
- liqRatio: string,
102
- liqPercent: string,
103
- leveragedType: string,
104
- leveragedAsset?: string,
105
- leveragedLsdAssetRatio?: string,
106
- liquidationPrice?: string,
107
- minRatio: string,
108
- debtTooLow: boolean,
109
- minDebt: string,
110
- }
111
-
112
- export interface CompoundPositionData extends MMPositionData {
113
- ratio: string,
114
- minRatio: string,
115
- borrowedUsd: string,
116
- borrowLimitUsd: string,
117
- incentiveUsd: string,
118
- totalInterestUsd: string,
119
- isSubscribedToAutomation?: boolean,
120
- automationResubscribeRequired?: boolean,
121
- }
122
-
123
- export interface CompoundV2PositionData extends CompoundPositionData {
124
- usedAssets: CompoundV2UsedAssets,
125
- }
126
-
127
- export interface CompoundV3PositionData extends CompoundPositionData {
128
- usedAssets: CompoundV3UsedAssets,
1
+ import {
2
+ MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
3
+ } from './common';
4
+
5
+ export enum CompoundVersions {
6
+ 'CompoundV2' = 'v2',
7
+ 'CompoundV3USDC' = 'v3-USDC',
8
+ 'CompoundV3USDCe' = 'v3-USDC.e',
9
+ 'CompoundV3ETH' = 'v3-ETH',
10
+ 'CompoundV3USDbC' = 'v3-USDbC',
11
+ }
12
+
13
+ export interface CompoundBulkerOptions {
14
+ supply: number | string,
15
+ withdraw: number | string,
16
+ }
17
+
18
+ export interface CompoundMarketData {
19
+ chainIds: NetworkNumber[],
20
+ label: string,
21
+ shortLabel: string,
22
+ value: CompoundVersions,
23
+ baseAsset: string,
24
+ collAssets: readonly string[],
25
+ baseMarket: string,
26
+ baseMarketAddress: string,
27
+ secondLabel: string,
28
+ bulkerName: string,
29
+ bulkerAddress: string,
30
+ bulkerOptions: CompoundBulkerOptions,
31
+ // icon: Function,
32
+ }
33
+
34
+ export interface CompoundUsedAsset extends MMUsedAsset {
35
+ collateral: boolean,
36
+ limit?: string,
37
+ }
38
+
39
+ export interface CompoundV2UsedAsset extends CompoundUsedAsset {
40
+ }
41
+ export interface CompoundV3UsedAsset extends CompoundUsedAsset {
42
+ }
43
+
44
+ export interface CompoundUsedAssets<T> {
45
+ [token: string]: T,
46
+ }
47
+
48
+ export type CompoundV2UsedAssets = CompoundUsedAssets<CompoundV2UsedAsset>;
49
+ export type CompoundV3UsedAssets = CompoundUsedAssets<CompoundV3UsedAsset>;
50
+
51
+ export interface CompoundAssetData extends MMAssetData {
52
+ supplyCapAlternative?: string,
53
+ totalSupplyAlternative?: string,
54
+ priceAlternative?: string,
55
+ sortIndex?: number,
56
+ }
57
+
58
+ export interface CompoundV2AssetData extends CompoundAssetData {
59
+ }
60
+ export interface CompoundV3AssetData extends CompoundAssetData {
61
+ borrowCollateralFactor: string,
62
+ liquidateCollateralFactor: string,
63
+ minDebt: string,
64
+ liquidationRatio: string,
65
+ supplyCap: string,
66
+ priceInBaseAsset: string,
67
+ }
68
+
69
+ export interface CompoundAssetsData<T> {
70
+ [token: string]: T
71
+ }
72
+ export type CompoundV2AssetsData = CompoundAssetsData<CompoundV2AssetData>;
73
+ export type CompoundV3AssetsData = CompoundAssetsData<CompoundV3AssetData>;
74
+
75
+ export type CompoundMarketsData<T> = { assetsData: T };
76
+ export type CompoundV2MarketsData = CompoundMarketsData<CompoundV2AssetsData>;
77
+ export type CompoundV3MarketsData = CompoundMarketsData<CompoundV3AssetsData>;
78
+
79
+ export interface BaseAdditionalAssetData {
80
+ totalBorrow: string,
81
+ utilization: string,
82
+ marketLiquidity: string,
83
+ rewardSupplySpeed: string,
84
+ rewardBorrowSpeed: string,
85
+ minDebt: string,
86
+ isBase: boolean,
87
+ }
88
+
89
+ export interface CompoundAggregatedPositionData {
90
+ suppliedUsd: string,
91
+ suppliedCollateralUsd: string,
92
+ borrowedUsd: string,
93
+ borrowLimitUsd: string,
94
+ liquidationLimitUsd: string,
95
+ leftToBorrowUsd: string,
96
+ ratio: string,
97
+ collRatio: string,
98
+ netApy: string,
99
+ incentiveUsd: string,
100
+ totalInterestUsd: string,
101
+ liqRatio: string,
102
+ liqPercent: string,
103
+ leveragedType: string,
104
+ leveragedAsset?: string,
105
+ leveragedLsdAssetRatio?: string,
106
+ liquidationPrice?: string,
107
+ minRatio: string,
108
+ debtTooLow: boolean,
109
+ minDebt: string,
110
+ }
111
+
112
+ export interface CompoundPositionData extends MMPositionData {
113
+ ratio: string,
114
+ minRatio: string,
115
+ borrowedUsd: string,
116
+ borrowLimitUsd: string,
117
+ incentiveUsd: string,
118
+ totalInterestUsd: string,
119
+ isSubscribedToAutomation?: boolean,
120
+ automationResubscribeRequired?: boolean,
121
+ }
122
+
123
+ export interface CompoundV2PositionData extends CompoundPositionData {
124
+ usedAssets: CompoundV2UsedAssets,
125
+ }
126
+
127
+ export interface CompoundV3PositionData extends CompoundPositionData {
128
+ usedAssets: CompoundV3UsedAssets,
129
129
  }
@@ -159,9 +159,7 @@ export declare namespace CurveUsdView {
159
159
  number | string | BN,
160
160
  number | string | BN,
161
161
  [number | string | BN, number | string | BN],
162
- [number | string | BN[], number | string | BN[]],
163
- number | string | BN,
164
- boolean
162
+ [number | string | BN[], number | string | BN[]]
165
163
  ]
166
164
  | {
167
165
  loanExists: boolean;
@@ -176,8 +174,6 @@ export declare namespace CurveUsdView {
176
174
  health: number | string | BN;
177
175
  bandRange: [number | string | BN, number | string | BN];
178
176
  usersBands: [number | string | BN[], number | string | BN[]];
179
- collRatio: number | string | BN;
180
- isInSoftLiquidation: boolean;
181
177
  };
182
178
 
183
179
  export type UserDataStructOutputArray = [
@@ -192,9 +188,7 @@ export declare namespace CurveUsdView {
192
188
  string,
193
189
  string,
194
190
  [string, string],
195
- [string[], string[]],
196
- string,
197
- boolean
191
+ [string[], string[]]
198
192
  ];
199
193
  export type UserDataStructOutputStruct = {
200
194
  loanExists: boolean;
@@ -209,8 +203,6 @@ export declare namespace CurveUsdView {
209
203
  health: string;
210
204
  bandRange: [string, string];
211
205
  usersBands: [string[], string[]];
212
- collRatio: string;
213
- isInSoftLiquidation: boolean;
214
206
  };
215
207
  export type UserDataStructOutput = UserDataStructOutputArray &
216
208
  UserDataStructOutputStruct;
@@ -224,10 +216,6 @@ export interface CrvUSDView extends BaseContract {
224
216
  ): CrvUSDView;
225
217
  clone(): CrvUSDView;
226
218
  methods: {
227
- WBTC_HEALTH_ZAP(): NonPayableTransactionObject<string>;
228
-
229
- WBTC_MARKET(): NonPayableTransactionObject<string>;
230
-
231
219
  createLoanData(
232
220
  market: string,
233
221
  collateral: number | string | BN,
@@ -240,32 +228,18 @@ export interface CrvUSDView extends BaseContract {
240
228
  n: number | string | BN
241
229
  ): NonPayableTransactionObject<CurveUsdView.BandStructOutput>;
242
230
 
243
- getBandsData(
244
- market: string,
245
- from: number | string | BN,
246
- to: number | string | BN
247
- ): NonPayableTransactionObject<CurveUsdView.BandStructOutput[]>;
248
-
249
- getBandsDataForPosition(
231
+ "getBandsData(address,uint256,uint256,uint256)"(
250
232
  market: string,
251
233
  collateral: number | string | BN,
252
234
  debt: number | string | BN,
253
235
  N: number | string | BN
254
236
  ): NonPayableTransactionObject<CurveUsdView.BandStructOutput[]>;
255
237
 
256
- getCollAmountsFromAMM(
257
- _controllerAddress: string,
258
- _user: string
259
- ): NonPayableTransactionObject<
260
- [string, string] & { crvUsdAmount: string; collAmount: string }
261
- >;
262
-
263
- getCollateralRatio(
264
- _user: string,
265
- _controllerAddr: string
266
- ): NonPayableTransactionObject<
267
- [string, boolean] & { collRatio: string; isInSoftLiquidation: boolean }
268
- >;
238
+ "getBandsData(address,int256,int256)"(
239
+ market: string,
240
+ from: number | string | BN,
241
+ to: number | string | BN
242
+ ): NonPayableTransactionObject<CurveUsdView.BandStructOutput[]>;
269
243
 
270
244
  globalData(
271
245
  market: string
@@ -280,10 +254,6 @@ export interface CrvUSDView extends BaseContract {
280
254
  numBands: number | string | BN
281
255
  ): NonPayableTransactionObject<string>;
282
256
 
283
- isControllerValid(
284
- _controllerAddr: string
285
- ): NonPayableTransactionObject<boolean>;
286
-
287
257
  maxBorrow(
288
258
  market: string,
289
259
  collateral: number | string | BN,
@@ -300,11 +270,6 @@ export interface CrvUSDView extends BaseContract {
300
270
  market: string,
301
271
  user: string
302
272
  ): NonPayableTransactionObject<CurveUsdView.UserDataStructOutput>;
303
-
304
- userMaxWithdraw(
305
- _controllerAddress: string,
306
- _user: string
307
- ): NonPayableTransactionObject<string>;
308
273
  };
309
274
  events: {
310
275
  allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;