@defisaver/positions-sdk 0.0.17 → 0.0.19

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 (55) hide show
  1. package/cjs/aaveV3/index.d.ts +1 -1
  2. package/cjs/aaveV3/index.js +2 -3
  3. package/cjs/compoundV3/index.d.ts +1 -1
  4. package/cjs/compoundV3/index.js +2 -3
  5. package/cjs/config/contracts.d.ts +184 -72
  6. package/cjs/config/contracts.js +16 -0
  7. package/cjs/helpers/aaveHelpers/index.js +5 -0
  8. package/cjs/liquity/index.d.ts +1 -0
  9. package/cjs/liquity/index.js +15 -2
  10. package/cjs/markets/curveUsd/index.d.ts +2 -0
  11. package/cjs/markets/curveUsd/index.js +14 -1
  12. package/cjs/morphoAaveV3/index.d.ts +1 -1
  13. package/cjs/morphoAaveV3/index.js +2 -3
  14. package/cjs/types/aave.d.ts +5 -0
  15. package/cjs/types/contracts/generated/CrvUSDsfrxETHAmm.d.ts +139 -0
  16. package/cjs/types/contracts/generated/CrvUSDsfrxETHAmm.js +5 -0
  17. package/cjs/types/contracts/generated/CrvUSDsfrxETHController.d.ts +205 -0
  18. package/cjs/types/contracts/generated/CrvUSDsfrxETHController.js +5 -0
  19. package/cjs/types/contracts/generated/index.d.ts +2 -0
  20. package/cjs/types/curveUsd.d.ts +2 -1
  21. package/cjs/types/curveUsd.js +1 -0
  22. package/cjs/types/liquity.d.ts +1 -0
  23. package/esm/aaveV3/index.d.ts +1 -1
  24. package/esm/aaveV3/index.js +2 -3
  25. package/esm/compoundV3/index.d.ts +1 -1
  26. package/esm/compoundV3/index.js +2 -3
  27. package/esm/config/contracts.d.ts +184 -72
  28. package/esm/config/contracts.js +16 -0
  29. package/esm/helpers/aaveHelpers/index.js +5 -0
  30. package/esm/liquity/index.d.ts +1 -0
  31. package/esm/liquity/index.js +13 -1
  32. package/esm/markets/curveUsd/index.d.ts +2 -0
  33. package/esm/markets/curveUsd/index.js +12 -0
  34. package/esm/morphoAaveV3/index.d.ts +1 -1
  35. package/esm/morphoAaveV3/index.js +2 -3
  36. package/esm/types/aave.d.ts +5 -0
  37. package/esm/types/contracts/generated/CrvUSDsfrxETHAmm.d.ts +139 -0
  38. package/esm/types/contracts/generated/CrvUSDsfrxETHAmm.js +4 -0
  39. package/esm/types/contracts/generated/CrvUSDsfrxETHController.d.ts +205 -0
  40. package/esm/types/contracts/generated/CrvUSDsfrxETHController.js +4 -0
  41. package/esm/types/contracts/generated/index.d.ts +2 -0
  42. package/esm/types/curveUsd.d.ts +2 -1
  43. package/esm/types/curveUsd.js +1 -0
  44. package/esm/types/liquity.d.ts +1 -0
  45. package/package.json +1 -1
  46. package/src/aaveV3/index.ts +2 -4
  47. package/src/compoundV3/index.ts +1 -4
  48. package/src/helpers/aaveHelpers/index.ts +7 -0
  49. package/src/liquity/index.ts +14 -1
  50. package/src/morphoAaveV3/index.ts +1 -4
  51. package/src/types/aave.ts +5 -0
  52. package/src/types/contracts/generated/CrvUSDsfrxETHAmm.ts +286 -0
  53. package/src/types/contracts/generated/CrvUSDsfrxETHController.ts +403 -0
  54. package/src/types/contracts/generated/index.ts +2 -0
  55. package/src/types/liquity.ts +1 -0
@@ -0,0 +1,205 @@
1
+ /// <reference types="node" />
2
+ import type BN from "bn.js";
3
+ import type { ContractOptions } from "web3-eth-contract";
4
+ import type { EventLog } from "web3-core";
5
+ import type { EventEmitter } from "events";
6
+ import type { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
7
+ export interface EventOptions {
8
+ filter?: object;
9
+ fromBlock?: BlockType;
10
+ topics?: string[];
11
+ }
12
+ export type UserState = ContractEventLog<{
13
+ user: string;
14
+ collateral: string;
15
+ debt: string;
16
+ n1: string;
17
+ n2: string;
18
+ liquidation_discount: string;
19
+ 0: string;
20
+ 1: string;
21
+ 2: string;
22
+ 3: string;
23
+ 4: string;
24
+ 5: string;
25
+ }>;
26
+ export type Borrow = ContractEventLog<{
27
+ user: string;
28
+ collateral_increase: string;
29
+ loan_increase: string;
30
+ 0: string;
31
+ 1: string;
32
+ 2: string;
33
+ }>;
34
+ export type Repay = ContractEventLog<{
35
+ user: string;
36
+ collateral_decrease: string;
37
+ loan_decrease: string;
38
+ 0: string;
39
+ 1: string;
40
+ 2: string;
41
+ }>;
42
+ export type RemoveCollateral = ContractEventLog<{
43
+ user: string;
44
+ collateral_decrease: string;
45
+ 0: string;
46
+ 1: string;
47
+ }>;
48
+ export type Liquidate = ContractEventLog<{
49
+ liquidator: string;
50
+ user: string;
51
+ collateral_received: string;
52
+ stablecoin_received: string;
53
+ debt: string;
54
+ 0: string;
55
+ 1: string;
56
+ 2: string;
57
+ 3: string;
58
+ 4: string;
59
+ }>;
60
+ export type SetMonetaryPolicy = ContractEventLog<{
61
+ monetary_policy: string;
62
+ 0: string;
63
+ }>;
64
+ export type SetBorrowingDiscounts = ContractEventLog<{
65
+ loan_discount: string;
66
+ liquidation_discount: string;
67
+ 0: string;
68
+ 1: string;
69
+ }>;
70
+ export type CollectFees = ContractEventLog<{
71
+ amount: string;
72
+ new_supply: string;
73
+ 0: string;
74
+ 1: string;
75
+ }>;
76
+ export interface CrvUSDsfrxETHController extends BaseContract {
77
+ constructor(jsonInterface: any[], address?: string, options?: ContractOptions): CrvUSDsfrxETHController;
78
+ clone(): CrvUSDsfrxETHController;
79
+ methods: {
80
+ factory(): NonPayableTransactionObject<string>;
81
+ amm(): NonPayableTransactionObject<string>;
82
+ collateral_token(): NonPayableTransactionObject<string>;
83
+ debt(user: string): NonPayableTransactionObject<string>;
84
+ loan_exists(user: string): NonPayableTransactionObject<boolean>;
85
+ total_debt(): NonPayableTransactionObject<string>;
86
+ "max_borrowable(uint256,uint256)"(collateral: number | string | BN, N: number | string | BN): NonPayableTransactionObject<string>;
87
+ "max_borrowable(uint256,uint256,uint256)"(collateral: number | string | BN, N: number | string | BN, current_debt: number | string | BN): NonPayableTransactionObject<string>;
88
+ min_collateral(debt: number | string | BN, N: number | string | BN): NonPayableTransactionObject<string>;
89
+ calculate_debt_n1(collateral: number | string | BN, debt: number | string | BN, N: number | string | BN): NonPayableTransactionObject<string>;
90
+ create_loan(collateral: number | string | BN, debt: number | string | BN, N: number | string | BN): PayableTransactionObject<void>;
91
+ create_loan_extended(collateral: number | string | BN, debt: number | string | BN, N: number | string | BN, callbacker: string, callback_args: number | string | BN[]): PayableTransactionObject<void>;
92
+ "add_collateral(uint256)"(collateral: number | string | BN): PayableTransactionObject<void>;
93
+ "add_collateral(uint256,address)"(collateral: number | string | BN, _for: string): PayableTransactionObject<void>;
94
+ "remove_collateral(uint256)"(collateral: number | string | BN): NonPayableTransactionObject<void>;
95
+ "remove_collateral(uint256,bool)"(collateral: number | string | BN, use_eth: boolean): NonPayableTransactionObject<void>;
96
+ borrow_more(collateral: number | string | BN, debt: number | string | BN): PayableTransactionObject<void>;
97
+ "repay(uint256)"(_d_debt: number | string | BN): NonPayableTransactionObject<void>;
98
+ "repay(uint256,address)"(_d_debt: number | string | BN, _for: string): NonPayableTransactionObject<void>;
99
+ "repay(uint256,address,int256)"(_d_debt: number | string | BN, _for: string, max_active_band: number | string | BN): NonPayableTransactionObject<void>;
100
+ "repay(uint256,address,int256,bool)"(_d_debt: number | string | BN, _for: string, max_active_band: number | string | BN, use_eth: boolean): NonPayableTransactionObject<void>;
101
+ repay_extended(callbacker: string, callback_args: number | string | BN[]): NonPayableTransactionObject<void>;
102
+ "health_calculator(address,int256,int256,bool)"(user: string, d_collateral: number | string | BN, d_debt: number | string | BN, full: boolean): NonPayableTransactionObject<string>;
103
+ "health_calculator(address,int256,int256,bool,uint256)"(user: string, d_collateral: number | string | BN, d_debt: number | string | BN, full: boolean, N: number | string | BN): NonPayableTransactionObject<string>;
104
+ "liquidate(address,uint256)"(user: string, min_x: number | string | BN): NonPayableTransactionObject<void>;
105
+ "liquidate(address,uint256,bool)"(user: string, min_x: number | string | BN, use_eth: boolean): NonPayableTransactionObject<void>;
106
+ liquidate_extended(user: string, min_x: number | string | BN, frac: number | string | BN, use_eth: boolean, callbacker: string, callback_args: number | string | BN[]): NonPayableTransactionObject<void>;
107
+ "tokens_to_liquidate(address)"(user: string): NonPayableTransactionObject<string>;
108
+ "tokens_to_liquidate(address,uint256)"(user: string, frac: number | string | BN): NonPayableTransactionObject<string>;
109
+ "health(address)"(user: string): NonPayableTransactionObject<string>;
110
+ "health(address,bool)"(user: string, full: boolean): NonPayableTransactionObject<string>;
111
+ "users_to_liquidate()"(): NonPayableTransactionObject<[
112
+ string,
113
+ string,
114
+ string,
115
+ string,
116
+ string
117
+ ] & {
118
+ user: string;
119
+ x: string;
120
+ y: string;
121
+ debt: string;
122
+ health: string;
123
+ }[]>;
124
+ "users_to_liquidate(uint256)"(_from: number | string | BN): NonPayableTransactionObject<[
125
+ string,
126
+ string,
127
+ string,
128
+ string,
129
+ string
130
+ ] & {
131
+ user: string;
132
+ x: string;
133
+ y: string;
134
+ debt: string;
135
+ health: string;
136
+ }[]>;
137
+ "users_to_liquidate(uint256,uint256)"(_from: number | string | BN, _limit: number | string | BN): NonPayableTransactionObject<[
138
+ string,
139
+ string,
140
+ string,
141
+ string,
142
+ string
143
+ ] & {
144
+ user: string;
145
+ x: string;
146
+ y: string;
147
+ debt: string;
148
+ health: string;
149
+ }[]>;
150
+ amm_price(): NonPayableTransactionObject<string>;
151
+ user_prices(user: string): NonPayableTransactionObject<[string, string]>;
152
+ user_state(user: string): NonPayableTransactionObject<[string, string, string, string]>;
153
+ set_amm_fee(fee: number | string | BN): NonPayableTransactionObject<void>;
154
+ set_amm_admin_fee(fee: number | string | BN): NonPayableTransactionObject<void>;
155
+ set_monetary_policy(monetary_policy: string): NonPayableTransactionObject<void>;
156
+ set_borrowing_discounts(loan_discount: number | string | BN, liquidation_discount: number | string | BN): NonPayableTransactionObject<void>;
157
+ set_callback(cb: string): NonPayableTransactionObject<void>;
158
+ admin_fees(): NonPayableTransactionObject<string>;
159
+ collect_fees(): NonPayableTransactionObject<string>;
160
+ liquidation_discounts(arg0: string): NonPayableTransactionObject<string>;
161
+ loans(arg0: number | string | BN): NonPayableTransactionObject<string>;
162
+ loan_ix(arg0: string): NonPayableTransactionObject<string>;
163
+ n_loans(): NonPayableTransactionObject<string>;
164
+ minted(): NonPayableTransactionObject<string>;
165
+ redeemed(): NonPayableTransactionObject<string>;
166
+ monetary_policy(): NonPayableTransactionObject<string>;
167
+ liquidation_discount(): NonPayableTransactionObject<string>;
168
+ loan_discount(): NonPayableTransactionObject<string>;
169
+ };
170
+ events: {
171
+ UserState(cb?: Callback<UserState>): EventEmitter;
172
+ UserState(options?: EventOptions, cb?: Callback<UserState>): EventEmitter;
173
+ Borrow(cb?: Callback<Borrow>): EventEmitter;
174
+ Borrow(options?: EventOptions, cb?: Callback<Borrow>): EventEmitter;
175
+ Repay(cb?: Callback<Repay>): EventEmitter;
176
+ Repay(options?: EventOptions, cb?: Callback<Repay>): EventEmitter;
177
+ RemoveCollateral(cb?: Callback<RemoveCollateral>): EventEmitter;
178
+ RemoveCollateral(options?: EventOptions, cb?: Callback<RemoveCollateral>): EventEmitter;
179
+ Liquidate(cb?: Callback<Liquidate>): EventEmitter;
180
+ Liquidate(options?: EventOptions, cb?: Callback<Liquidate>): EventEmitter;
181
+ SetMonetaryPolicy(cb?: Callback<SetMonetaryPolicy>): EventEmitter;
182
+ SetMonetaryPolicy(options?: EventOptions, cb?: Callback<SetMonetaryPolicy>): EventEmitter;
183
+ SetBorrowingDiscounts(cb?: Callback<SetBorrowingDiscounts>): EventEmitter;
184
+ SetBorrowingDiscounts(options?: EventOptions, cb?: Callback<SetBorrowingDiscounts>): EventEmitter;
185
+ CollectFees(cb?: Callback<CollectFees>): EventEmitter;
186
+ CollectFees(options?: EventOptions, cb?: Callback<CollectFees>): EventEmitter;
187
+ allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
188
+ };
189
+ once(event: "UserState", cb: Callback<UserState>): void;
190
+ once(event: "UserState", options: EventOptions, cb: Callback<UserState>): void;
191
+ once(event: "Borrow", cb: Callback<Borrow>): void;
192
+ once(event: "Borrow", options: EventOptions, cb: Callback<Borrow>): void;
193
+ once(event: "Repay", cb: Callback<Repay>): void;
194
+ once(event: "Repay", options: EventOptions, cb: Callback<Repay>): void;
195
+ once(event: "RemoveCollateral", cb: Callback<RemoveCollateral>): void;
196
+ once(event: "RemoveCollateral", options: EventOptions, cb: Callback<RemoveCollateral>): void;
197
+ once(event: "Liquidate", cb: Callback<Liquidate>): void;
198
+ once(event: "Liquidate", options: EventOptions, cb: Callback<Liquidate>): void;
199
+ once(event: "SetMonetaryPolicy", cb: Callback<SetMonetaryPolicy>): void;
200
+ once(event: "SetMonetaryPolicy", options: EventOptions, cb: Callback<SetMonetaryPolicy>): void;
201
+ once(event: "SetBorrowingDiscounts", cb: Callback<SetBorrowingDiscounts>): void;
202
+ once(event: "SetBorrowingDiscounts", options: EventOptions, cb: Callback<SetBorrowingDiscounts>): void;
203
+ once(event: "CollectFees", cb: Callback<CollectFees>): void;
204
+ once(event: "CollectFees", options: EventOptions, cb: Callback<CollectFees>): void;
205
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -56,6 +56,8 @@ export type { CrvUSDFactory } from "./CrvUSDFactory";
56
56
  export type { CrvUSDView } from "./CrvUSDView";
57
57
  export type { CrvUSDWBTCAmm } from "./CrvUSDWBTCAmm";
58
58
  export type { CrvUSDWBTCController } from "./CrvUSDWBTCController";
59
+ export type { CrvUSDsfrxETHAmm } from "./CrvUSDsfrxETHAmm";
60
+ export type { CrvUSDsfrxETHController } from "./CrvUSDsfrxETHController";
59
61
  export type { CrvUSDtBTCAmm } from "./CrvUSDtBTCAmm";
60
62
  export type { CrvUSDtBTCController } from "./CrvUSDtBTCController";
61
63
  export type { CrvUSDwstETHAmm } from "./CrvUSDwstETHAmm";
@@ -3,7 +3,8 @@ export declare enum CrvUSDVersions {
3
3
  'wstETH' = "wstETH",
4
4
  'WBTC' = "WBTC",
5
5
  'ETH' = "ETH",
6
- 'tBTC' = "tBTC"
6
+ 'tBTC' = "tBTC",
7
+ 'sfrxETH' = "sfrxETH"
7
8
  }
8
9
  export declare enum CrvUSDStatus {
9
10
  Nonexistant = "Nonexistant",
@@ -7,6 +7,7 @@ var CrvUSDVersions;
7
7
  CrvUSDVersions["WBTC"] = "WBTC";
8
8
  CrvUSDVersions["ETH"] = "ETH";
9
9
  CrvUSDVersions["tBTC"] = "tBTC";
10
+ CrvUSDVersions["sfrxETH"] = "sfrxETH";
10
11
  })(CrvUSDVersions || (exports.CrvUSDVersions = CrvUSDVersions = {}));
11
12
  var CrvUSDStatus;
12
13
  (function (CrvUSDStatus) {
@@ -25,4 +25,5 @@ export interface LiquityTroveInfo {
25
25
  totalLUSD: string;
26
26
  minCollateralRatio: number;
27
27
  priceForRecovery: string;
28
+ debtInFront: string;
28
29
  }
@@ -29,5 +29,5 @@ export declare const EMPTY_AAVE_DATA: {
29
29
  suppliedCollateralUsd: string;
30
30
  };
31
31
  export declare const getAaveV3AccountBalances: (web3: Web3, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
32
- export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any, customGetAggregatedDataFunction?: Function) => Promise<AaveV3PositionData>;
32
+ export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any) => Promise<AaveV3PositionData>;
33
33
  export declare const getAaveV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, market: AaveMarketInfo, mainnetWeb3: Web3) => Promise<AaveV3PositionData>;
@@ -277,7 +277,7 @@ export const getAaveV3AccountBalances = (web3, network, block, addressMapping, a
277
277
  });
278
278
  return balances;
279
279
  });
280
- export const getAaveV3AccountData = (web3, network, address, extractedState, customGetAggregatedDataFunction) => __awaiter(void 0, void 0, void 0, function* () {
280
+ export const getAaveV3AccountData = (web3, network, address, extractedState) => __awaiter(void 0, void 0, void 0, function* () {
281
281
  const { selectedMarket: market, assetsData, } = extractedState;
282
282
  let payload = Object.assign(Object.assign({}, EMPTY_AAVE_DATA), { lastUpdated: Date.now() });
283
283
  if (!address) {
@@ -348,9 +348,8 @@ export const getAaveV3AccountData = (web3, network, address, extractedState, cus
348
348
  usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new Dec(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new Dec(tokenInfo.stableBorrowRate).div(1e25).toString(), discountedBorrowRate: new Dec(assetsData[asset].borrowRate).mul(1 - parseFloat(discountRateOnBorrow)).toString(), borrowedStable,
349
349
  borrowedVariable, borrowedUsdStable: new Dec(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new Dec(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed, borrowedUsd: new Dec(new Dec(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed, eModeCategory: assetsData[asset].eModeCategory, interestMode });
350
350
  }));
351
- const aggregateFunction = customGetAggregatedDataFunction || aaveAnyGetAggregatedPositionData;
352
351
  payload.eModeCategory = +multicallRes[0][0];
353
- payload = Object.assign(Object.assign(Object.assign({}, payload), { usedAssets }), aggregateFunction(Object.assign(Object.assign({}, extractedState), { usedAssets, eModeCategory: payload.eModeCategory })));
352
+ payload = Object.assign(Object.assign(Object.assign({}, payload), { usedAssets }), aaveAnyGetAggregatedPositionData(Object.assign(Object.assign({}, extractedState), { usedAssets, eModeCategory: payload.eModeCategory })));
354
353
  payload.eModeCategories = aaveV3EmodeCategoriesMapping(extractedState, usedAssets);
355
354
  payload.isInIsolationMode = aaveV3IsInIsolationMode({ usedAssets, assetsData });
356
355
  payload.isInSiloedMode = aaveV3IsInSiloedMode({ usedAssets, assetsData });
@@ -33,5 +33,5 @@ export declare const getCompoundV3AccountBalances: (web3: Web3, network: Network
33
33
  export declare const getCompoundV3AccountData: (web3: Web3, network: NetworkNumber, address: string, proxyAddress: string, extractedState: ({
34
34
  selectedMarket: CompoundMarketData;
35
35
  assetsData: CompoundV3AssetsData;
36
- }), customGetAggregatedDataFunction?: Function) => Promise<CompoundV3PositionData>;
36
+ })) => Promise<CompoundV3PositionData>;
37
37
  export declare const getCompoundV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, proxyAddress: string, selectedMarket: CompoundMarketData, mainnetWeb3: Web3) => Promise<CompoundV3PositionData>;
@@ -136,7 +136,7 @@ export const getCompoundV3AccountBalances = (web3, network, block, addressMappin
136
136
  });
137
137
  return balances;
138
138
  });
139
- export const getCompoundV3AccountData = (web3, network, address, proxyAddress, extractedState, customGetAggregatedDataFunction) => __awaiter(void 0, void 0, void 0, function* () {
139
+ export const getCompoundV3AccountData = (web3, network, address, proxyAddress, extractedState) => __awaiter(void 0, void 0, void 0, function* () {
140
140
  if (!address)
141
141
  throw new Error('No address provided');
142
142
  const { selectedMarket, assetsData, } = extractedState;
@@ -189,8 +189,7 @@ export const getCompoundV3AccountData = (web3, network, address, proxyAddress, e
189
189
  supplied,
190
190
  suppliedUsd, isBorrowed: false, symbol, collateral: true });
191
191
  });
192
- const aggregateFunction = customGetAggregatedDataFunction || getCompoundV3AggregatedData;
193
- payload = Object.assign(Object.assign(Object.assign(Object.assign({}, payload), { usedAssets }), aggregateFunction({
192
+ payload = Object.assign(Object.assign(Object.assign(Object.assign({}, payload), { usedAssets }), getCompoundV3AggregatedData({
194
193
  usedAssets, assetsData, network, selectedMarket,
195
194
  })), { isAllowed: data[1][0] });
196
195
  // Calculate borrow limits per asset