@defisaver/positions-sdk 0.0.66 → 0.0.68

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 (70) hide show
  1. package/README.md +63 -63
  2. package/cjs/markets/aave/marketAssets.js +1 -1
  3. package/cjs/markets/llamaLend/index.js +1 -1
  4. package/cjs/staking/staking.js +9 -1
  5. package/cjs/types/llamaLend.js +2 -2
  6. package/esm/markets/aave/marketAssets.js +1 -1
  7. package/esm/markets/llamaLend/index.js +1 -1
  8. package/esm/staking/staking.js +9 -1
  9. package/esm/types/llamaLend.js +2 -2
  10. package/package.json +41 -40
  11. package/src/aaveV2/index.ts +227 -227
  12. package/src/aaveV3/index.ts +562 -562
  13. package/src/assets/index.ts +60 -60
  14. package/src/chickenBonds/index.ts +123 -123
  15. package/src/compoundV2/index.ts +219 -219
  16. package/src/compoundV3/index.ts +273 -273
  17. package/src/config/contracts.js +845 -845
  18. package/src/constants/index.ts +5 -5
  19. package/src/contracts.ts +128 -128
  20. package/src/curveUsd/index.ts +229 -229
  21. package/src/exchange/index.ts +17 -17
  22. package/src/helpers/aaveHelpers/index.ts +134 -134
  23. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  24. package/src/helpers/compoundHelpers/index.ts +181 -181
  25. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  26. package/src/helpers/index.ts +7 -7
  27. package/src/helpers/llamaLendHelpers/index.ts +45 -45
  28. package/src/helpers/makerHelpers/index.ts +94 -94
  29. package/src/helpers/morphoBlueHelpers/index.ts +56 -56
  30. package/src/helpers/sparkHelpers/index.ts +106 -106
  31. package/src/index.ts +46 -46
  32. package/src/liquity/index.ts +116 -116
  33. package/src/llamaLend/index.ts +268 -268
  34. package/src/maker/index.ts +117 -117
  35. package/src/markets/aave/index.ts +80 -80
  36. package/src/markets/aave/marketAssets.ts +25 -25
  37. package/src/markets/compound/index.ts +142 -142
  38. package/src/markets/compound/marketsAssets.ts +50 -50
  39. package/src/markets/curveUsd/index.ts +69 -69
  40. package/src/markets/index.ts +5 -5
  41. package/src/markets/llamaLend/contractAddresses.ts +95 -95
  42. package/src/markets/llamaLend/index.ts +150 -150
  43. package/src/markets/morphoBlue/index.ts +262 -262
  44. package/src/markets/spark/index.ts +29 -29
  45. package/src/markets/spark/marketAssets.ts +10 -10
  46. package/src/moneymarket/moneymarketCommonService.ts +75 -75
  47. package/src/morphoAaveV2/index.ts +256 -256
  48. package/src/morphoAaveV3/index.ts +619 -619
  49. package/src/morphoBlue/index.ts +177 -178
  50. package/src/multicall/index.ts +22 -22
  51. package/src/services/dsrService.ts +15 -15
  52. package/src/services/priceService.ts +21 -21
  53. package/src/services/utils.ts +51 -51
  54. package/src/setup.ts +8 -8
  55. package/src/spark/index.ts +422 -422
  56. package/src/staking/staking.ts +199 -190
  57. package/src/types/aave.ts +256 -256
  58. package/src/types/chickenBonds.ts +45 -45
  59. package/src/types/common.ts +84 -84
  60. package/src/types/compound.ts +128 -128
  61. package/src/types/curveUsd.ts +118 -118
  62. package/src/types/index.ts +8 -8
  63. package/src/types/liquity.ts +30 -30
  64. package/src/types/llamaLend.ts +143 -143
  65. package/src/types/maker.ts +50 -50
  66. package/src/types/morphoBlue.ts +107 -107
  67. package/src/types/spark.ts +106 -106
  68. package/.yarn/releases/yarn-1.22.1.cjs +0 -147386
  69. package/.yarn/releases/yarn-1.22.1.js +0 -147386
  70. package/.yarnrc.yml +0 -1
package/README.md CHANGED
@@ -1,63 +1,63 @@
1
- # DeFi Saver Positions SDK
2
-
3
- Supported protocols:
4
- - [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
5
- - [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
6
- - [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
7
- - [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
8
- - [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
9
- - [Morpho Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/morphoAaveV2)
10
- - [Morpho Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/morphoAaveV3)
11
- - [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
12
- - [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
13
- - [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
14
- - [Chicken Bonds](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/chickenBonds)
15
-
16
- ## Setup
17
- Supported Node version is v10.
18
-
19
- - run `npm install` (first time)
20
- - run `npm run build`
21
-
22
- `build` command will generate contracts and build ejs and esm folders
23
-
24
- ## How to use
25
- [All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
26
-
27
- This is a Compound V3 example, and every other protocol is similar
28
- ```js
29
- import Web3 from 'web3';
30
- import { compoundV3 } from '@defisaver/positions-sdk';
31
-
32
-
33
- // every protocol has market data and user data getters
34
- const {
35
- getCompoundV3MarketsData,
36
- getCompoundV3AccountData,
37
- } = compoundV3;
38
-
39
- const provider = 'Your RPC provider';
40
- const web3 = new Web3(provider);
41
-
42
- const user = '0x123...';
43
-
44
- const { assetsData } = await getCompoundV3MarketsData(
45
- web3, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
46
- 1, // network
47
- selectedMarket, // market object like in /src/markets/compound/index.ts
48
- web3, // this must be mainnet rpc - used for getting prices onchain and calculating apys
49
- );
50
-
51
- const userData = await getCompoundV3AccountData(
52
- web3,
53
- 1, // network
54
- userAddress, // EOA or DSProxy
55
- '', // proxy address of the user, or just empty string if checking for EOA
56
- {
57
- selectedMarket, // market object as in /src/markets/compound/index.ts
58
- assetsData,
59
- }
60
- );
61
- ```
62
-
63
- More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
1
+ # DeFi Saver Positions SDK
2
+
3
+ Supported protocols:
4
+ - [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
5
+ - [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
6
+ - [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
7
+ - [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
8
+ - [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
9
+ - [Morpho Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/morphoAaveV2)
10
+ - [Morpho Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/morphoAaveV3)
11
+ - [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
12
+ - [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
13
+ - [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
14
+ - [Chicken Bonds](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/chickenBonds)
15
+
16
+ ## Setup
17
+ Supported Node version is v10.
18
+
19
+ - run `npm install` (first time)
20
+ - run `npm run build`
21
+
22
+ `build` command will generate contracts and build ejs and esm folders
23
+
24
+ ## How to use
25
+ [All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
26
+
27
+ This is a Compound V3 example, and every other protocol is similar
28
+ ```js
29
+ import Web3 from 'web3';
30
+ import { compoundV3 } from '@defisaver/positions-sdk';
31
+
32
+
33
+ // every protocol has market data and user data getters
34
+ const {
35
+ getCompoundV3MarketsData,
36
+ getCompoundV3AccountData,
37
+ } = compoundV3;
38
+
39
+ const provider = 'Your RPC provider';
40
+ const web3 = new Web3(provider);
41
+
42
+ const user = '0x123...';
43
+
44
+ const { assetsData } = await getCompoundV3MarketsData(
45
+ web3, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
46
+ 1, // network
47
+ selectedMarket, // market object like in /src/markets/compound/index.ts
48
+ web3, // this must be mainnet rpc - used for getting prices onchain and calculating apys
49
+ );
50
+
51
+ const userData = await getCompoundV3AccountData(
52
+ web3,
53
+ 1, // network
54
+ userAddress, // EOA or DSProxy
55
+ '', // proxy address of the user, or just empty string if checking for EOA
56
+ {
57
+ selectedMarket, // market object as in /src/markets/compound/index.ts
58
+ assetsData,
59
+ }
60
+ );
61
+ ```
62
+
63
+ More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
@@ -7,7 +7,7 @@ exports.morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WBTC',
7
7
  exports.morphoAaveV3AssetEthMarket = [
8
8
  'ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT',
9
9
  ];
10
- exports.aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH'];
10
+ exports.aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH'];
11
11
  exports.aaveV3AssetsDefaultMarketOpt = [
12
12
  'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
13
13
  ];
@@ -44,7 +44,7 @@ const getLlamaLendMarketData = (market, network = 1) => (0, exports.LlamaLendMar
44
44
  exports.getLlamaLendMarketData = getLlamaLendMarketData;
45
45
  const getLlamaLendMarketFromControllerAddress = (controllerAddress, network) => {
46
46
  const markets = (0, exports.LlamaLendMarkets)(network);
47
- const market = Object.values(markets).find((market) => market.controllerAddress === controllerAddress);
47
+ const market = Object.values(markets).find((tempMarket) => tempMarket.controllerAddress === controllerAddress);
48
48
  if (!market)
49
49
  throw new Error('Market not found');
50
50
  return market;
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.getStETHByWstETHMultiple = exports.getStETHByWstETH = exports.getWstETHByStETH = exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = exports.getSUSDeApy = exports.getDsrApy = exports.getREthApr = exports.getCbETHApr = exports.getStETHApr = void 0;
16
16
  const decimal_js_1 = __importDefault(require("decimal.js"));
17
+ const v3_sdk_1 = require("@stakewise/v3-sdk");
17
18
  const contracts_1 = require("../contracts");
18
19
  const common_1 = require("../types/common");
19
20
  const constants_1 = require("../constants");
@@ -98,7 +99,12 @@ const getWeEthApr = () => __awaiter(void 0, void 0, void 0, function* () {
98
99
  const total = data.latest_aprs.reduce((acc, apr) => new decimal_js_1.default(acc).add(apr).toString());
99
100
  return new decimal_js_1.default(total).div(data.latest_aprs.length).div(100).toString();
100
101
  });
101
- exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH'];
102
+ const getOsETHApy = () => __awaiter(void 0, void 0, void 0, function* () {
103
+ const sdk = new v3_sdk_1.StakeWiseSDK({ network: v3_sdk_1.Network.Mainnet });
104
+ const apy = yield sdk.osToken.getAPY();
105
+ return apy;
106
+ });
107
+ exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH'];
102
108
  const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
103
109
  try {
104
110
  if (asset === 'stETH' || asset === 'wstETH')
@@ -113,6 +119,8 @@ const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefine
113
119
  return (0, exports.getSUSDeApy)();
114
120
  if (asset === 'weETH')
115
121
  return getWeEthApr();
122
+ if (asset === 'osETH')
123
+ return getOsETHApy();
116
124
  }
117
125
  catch (e) {
118
126
  console.error(`Failed to fetch APY for ${asset}`);
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LlamaLendStatus = exports.LlamaLendVersions = exports.LLVersionsArb = exports.LLVersionsEth = void 0;
4
4
  var LLVersionsEth;
5
5
  (function (LLVersionsEth) {
6
- //long only
6
+ // long only
7
7
  LLVersionsEth["LLWstethCrvusd"] = "llamaLendwstETHcrvUSD";
8
8
  LLVersionsEth["LLSusdeCrvusd"] = "llamaLendsUSDecrvUSD";
9
9
  // long and short crv
@@ -18,7 +18,7 @@ var LLVersionsEth;
18
18
  })(LLVersionsEth || (exports.LLVersionsEth = LLVersionsEth = {}));
19
19
  var LLVersionsArb;
20
20
  (function (LLVersionsArb) {
21
- //long only
21
+ // long only
22
22
  LLVersionsArb["LLArbCrvusd"] = "llamaLendArbcrvUSD";
23
23
  LLVersionsArb["LLFxnCrvusd"] = "llamaLendFXNcrvUSD";
24
24
  LLVersionsArb["LLWbtcCrvusd"] = "llamaLendWBTCcrvUSD";
@@ -4,7 +4,7 @@ export const morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WB
4
4
  export const morphoAaveV3AssetEthMarket = [
5
5
  'ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT',
6
6
  ];
7
- export const aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH'];
7
+ export const aaveV3AssetsDefaultMarketEth = ['ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH'];
8
8
  export const aaveV3AssetsDefaultMarketOpt = [
9
9
  'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
10
10
  ];
@@ -28,7 +28,7 @@ export const LlamaLendMarkets = (networkId) => ({
28
28
  export const getLlamaLendMarketData = (market, network = 1) => LlamaLendMarkets(network)[market];
29
29
  export const getLlamaLendMarketFromControllerAddress = (controllerAddress, network) => {
30
30
  const markets = LlamaLendMarkets(network);
31
- const market = Object.values(markets).find((market) => market.controllerAddress === controllerAddress);
31
+ const market = Object.values(markets).find((tempMarket) => tempMarket.controllerAddress === controllerAddress);
32
32
  if (!market)
33
33
  throw new Error('Market not found');
34
34
  return market;
@@ -8,6 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import Dec from 'decimal.js';
11
+ import { StakeWiseSDK, Network } from '@stakewise/v3-sdk';
11
12
  import { CbEthContract, LidoContract, PotContract, REthContract, wstETHContract, } from '../contracts';
12
13
  import { NetworkNumber } from '../types/common';
13
14
  import { BLOCKS_IN_A_YEAR, SECONDS_PER_YEAR, AVG_BLOCK_TIME } from '../constants';
@@ -87,7 +88,12 @@ const getWeEthApr = () => __awaiter(void 0, void 0, void 0, function* () {
87
88
  const total = data.latest_aprs.reduce((acc, apr) => new Dec(acc).add(apr).toString());
88
89
  return new Dec(total).div(data.latest_aprs.length).div(100).toString();
89
90
  });
90
- export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH'];
91
+ const getOsETHApy = () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const sdk = new StakeWiseSDK({ network: Network.Mainnet });
93
+ const apy = yield sdk.osToken.getAPY();
94
+ return apy;
95
+ });
96
+ export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH'];
91
97
  export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
92
98
  try {
93
99
  if (asset === 'stETH' || asset === 'wstETH')
@@ -102,6 +108,8 @@ export const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = u
102
108
  return getSUSDeApy();
103
109
  if (asset === 'weETH')
104
110
  return getWeEthApr();
111
+ if (asset === 'osETH')
112
+ return getOsETHApy();
105
113
  }
106
114
  catch (e) {
107
115
  console.error(`Failed to fetch APY for ${asset}`);
@@ -1,6 +1,6 @@
1
1
  export var LLVersionsEth;
2
2
  (function (LLVersionsEth) {
3
- //long only
3
+ // long only
4
4
  LLVersionsEth["LLWstethCrvusd"] = "llamaLendwstETHcrvUSD";
5
5
  LLVersionsEth["LLSusdeCrvusd"] = "llamaLendsUSDecrvUSD";
6
6
  // long and short crv
@@ -15,7 +15,7 @@ export var LLVersionsEth;
15
15
  })(LLVersionsEth || (LLVersionsEth = {}));
16
16
  export var LLVersionsArb;
17
17
  (function (LLVersionsArb) {
18
- //long only
18
+ // long only
19
19
  LLVersionsArb["LLArbCrvusd"] = "llamaLendArbcrvUSD";
20
20
  LLVersionsArb["LLFxnCrvusd"] = "llamaLendFXNcrvUSD";
21
21
  LLVersionsArb["LLWbtcCrvusd"] = "llamaLendWBTCcrvUSD";
package/package.json CHANGED
@@ -1,40 +1,41 @@
1
- {
2
- "name": "@defisaver/positions-sdk",
3
- "version": "0.0.66",
4
- "description": "",
5
- "main": "./cjs/index.js",
6
- "module": "./esm/index.js",
7
- "types": "./esm/index.d.ts",
8
- "scripts": {
9
- "build:esm": "rm -rf esm && tsc -p tsconfig.json",
10
- "build:cjs": "rm -rf cjs && tsc -p tsconfig.cjs.json",
11
- "build": "npm run generate-contracts && npm run build:cjs && npm run build:esm",
12
- "dev": "npm run generate-contracts && tsc -p tsconfig.cjs.json --watch",
13
- "lint": "eslint src/ --fix",
14
- "generate-contracts": "node scripts/generateContracts.js",
15
- "test": "mocha tests/*",
16
- "build-test": "npm run build && mocha tests/*"
17
- },
18
- "keywords": [],
19
- "author": "",
20
- "license": "ISC",
21
- "dependencies": {
22
- "@defisaver/tokens": "^1.5.18",
23
- "@ethersproject/bignumber": "^5.7.0",
24
- "@morpho-org/morpho-aave-v3-sdk": "^1.5.3",
25
- "decimal.js": "^10.4.3"
26
- },
27
- "devDependencies": {
28
- "@defisaver/eslint-config": "^1.0.1",
29
- "chai": "^4.3.8",
30
- "dotenv": "^16.3.1",
31
- "eslint": "^8.49.0",
32
- "mocha": "^10.2.0",
33
- "typechain": "^8.3.1",
34
- "typechain-target-web3-v1-3mihai3": "^6.0.2",
35
- "typescript": "^5.2.2"
36
- },
37
- "peerDependencies": {
38
- "web3": "^1.10.2"
39
- }
40
- }
1
+ {
2
+ "name": "@defisaver/positions-sdk",
3
+ "version": "0.0.68",
4
+ "description": "",
5
+ "main": "./cjs/index.js",
6
+ "module": "./esm/index.js",
7
+ "types": "./esm/index.d.ts",
8
+ "scripts": {
9
+ "build:esm": "rm -rf esm && tsc -p tsconfig.json",
10
+ "build:cjs": "rm -rf cjs && tsc -p tsconfig.cjs.json",
11
+ "build": "npm run generate-contracts && npm run build:cjs && npm run build:esm",
12
+ "dev": "npm run generate-contracts && tsc -p tsconfig.cjs.json --watch",
13
+ "lint": "eslint src/ --fix",
14
+ "generate-contracts": "node scripts/generateContracts.js",
15
+ "test": "mocha tests/*",
16
+ "build-test": "npm run build && mocha tests/*"
17
+ },
18
+ "keywords": [],
19
+ "author": "",
20
+ "license": "ISC",
21
+ "dependencies": {
22
+ "@defisaver/tokens": "^1.5.22",
23
+ "@ethersproject/bignumber": "^5.7.0",
24
+ "@morpho-org/morpho-aave-v3-sdk": "^1.5.3",
25
+ "@stakewise/v3-sdk": "^1.3.0",
26
+ "decimal.js": "^10.4.3"
27
+ },
28
+ "devDependencies": {
29
+ "@defisaver/eslint-config": "^1.0.1",
30
+ "chai": "^4.3.8",
31
+ "dotenv": "^16.3.1",
32
+ "eslint": "^8.49.0",
33
+ "mocha": "^10.2.0",
34
+ "typechain": "^8.3.1",
35
+ "typechain-target-web3-v1-3mihai3": "^6.0.2",
36
+ "typescript": "^5.2.2"
37
+ },
38
+ "peerDependencies": {
39
+ "web3": "^1.10.2"
40
+ }
41
+ }