@defisaver/positions-sdk 1.0.2 → 1.0.3

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 (78) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  5. package/cjs/markets/compound/marketsAssets.js +1 -1
  6. package/cjs/markets/spark/marketAssets.js +1 -1
  7. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  8. package/esm/markets/compound/marketsAssets.js +1 -1
  9. package/esm/markets/spark/marketAssets.js +1 -1
  10. package/package.json +52 -52
  11. package/src/aaveV2/index.ts +227 -227
  12. package/src/aaveV3/index.ts +625 -625
  13. package/src/assets/index.ts +60 -60
  14. package/src/chickenBonds/index.ts +123 -123
  15. package/src/compoundV2/index.ts +220 -220
  16. package/src/compoundV3/index.ts +291 -291
  17. package/src/config/contracts.js +1147 -1147
  18. package/src/constants/index.ts +6 -6
  19. package/src/contracts.ts +134 -134
  20. package/src/curveUsd/index.ts +229 -229
  21. package/src/eulerV2/index.ts +303 -303
  22. package/src/exchange/index.ts +17 -17
  23. package/src/fluid/index.ts +354 -354
  24. package/src/helpers/aaveHelpers/index.ts +198 -198
  25. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  26. package/src/helpers/compoundHelpers/index.ts +246 -246
  27. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  28. package/src/helpers/eulerHelpers/index.ts +232 -232
  29. package/src/helpers/fluidHelpers/index.ts +53 -53
  30. package/src/helpers/index.ts +11 -11
  31. package/src/helpers/liquityV2Helpers/index.ts +80 -80
  32. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  33. package/src/helpers/makerHelpers/index.ts +94 -94
  34. package/src/helpers/morphoBlueHelpers/index.ts +365 -365
  35. package/src/helpers/sparkHelpers/index.ts +150 -150
  36. package/src/index.ts +52 -52
  37. package/src/liquity/index.ts +116 -116
  38. package/src/liquityV2/index.ts +295 -295
  39. package/src/llamaLend/index.ts +275 -275
  40. package/src/maker/index.ts +117 -117
  41. package/src/markets/aave/index.ts +152 -152
  42. package/src/markets/aave/marketAssets.ts +44 -44
  43. package/src/markets/compound/index.ts +213 -213
  44. package/src/markets/compound/marketsAssets.ts +82 -82
  45. package/src/markets/curveUsd/index.ts +69 -69
  46. package/src/markets/euler/index.ts +26 -26
  47. package/src/markets/fluid/index.ts +2012 -2012
  48. package/src/markets/index.ts +27 -27
  49. package/src/markets/liquityV2/index.ts +54 -54
  50. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  51. package/src/markets/llamaLend/index.ts +235 -235
  52. package/src/markets/morphoBlue/index.ts +895 -895
  53. package/src/markets/spark/index.ts +29 -29
  54. package/src/markets/spark/marketAssets.ts +10 -10
  55. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  56. package/src/morphoAaveV2/index.ts +256 -256
  57. package/src/morphoAaveV3/index.ts +630 -630
  58. package/src/morphoBlue/index.ts +202 -202
  59. package/src/multicall/index.ts +33 -33
  60. package/src/services/priceService.ts +91 -91
  61. package/src/services/utils.ts +59 -59
  62. package/src/setup.ts +8 -8
  63. package/src/spark/index.ts +460 -460
  64. package/src/staking/staking.ts +220 -220
  65. package/src/types/aave.ts +271 -271
  66. package/src/types/chickenBonds.ts +45 -45
  67. package/src/types/common.ts +84 -84
  68. package/src/types/compound.ts +131 -131
  69. package/src/types/curveUsd.ts +118 -118
  70. package/src/types/euler.ts +171 -171
  71. package/src/types/fluid.ts +266 -266
  72. package/src/types/index.ts +11 -11
  73. package/src/types/liquity.ts +30 -30
  74. package/src/types/liquityV2.ts +119 -119
  75. package/src/types/llamaLend.ts +155 -155
  76. package/src/types/maker.ts +50 -50
  77. package/src/types/morphoBlue.ts +192 -192
  78. package/src/types/spark.ts +131 -131
@@ -1,59 +1,59 @@
1
- import Dec from 'decimal.js';
2
- import { getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
3
- import { NetworkNumber } from '../types/common';
4
-
5
- export const isLayer2Network = (networkId: NetworkNumber) => [10, 42161, 8453].includes(+networkId);
6
-
7
- export const addToObjectIf = (condition: any, item: any) => (condition ? item : {});
8
-
9
- export const ethToWeth = (maybeEth: any) => maybeEth?.replace(/^ETH$/, 'WETH');
10
-
11
- export const wethToEth = (maybeWeth: any) => maybeWeth?.replace(/^WETH$/, 'ETH');
12
-
13
- export const stEthToWstEth = (maybeStEth: any) => maybeStEth?.replace(/^stETH$/, 'wstETH');
14
-
15
- export const wstEthToStEth = (maybeStEth: any) => maybeStEth?.replace(/^wstETH$/, 'stETH');
16
-
17
- export const getAbiItem = (abi: any, methodName: string) => abi.find((i: any) => i.name === methodName);
18
-
19
- export const ADDRESS_REGEX = /0x[0-9a-fA-F]{40}/;
20
- export const isAddress = (address: string) => typeof address === 'string' && (new RegExp(ADDRESS_REGEX).test(address));
21
-
22
- export const compareAddresses = (addr1 = '', addr2 = '') => addr1.toLowerCase() === addr2.toLowerCase();
23
-
24
- export const getWeiAmountForDecimals = (amount: string | number, decimals: number) => new Dec(amount).mul(10 ** decimals).floor().toString();
25
-
26
- export const getEthAmountForDecimals = (amount: string | number, decimals: string | number) => new Dec(amount).div(10 ** +decimals).toString();
27
-
28
- export const handleWbtcLegacy = (asset: string) => (asset === 'WBTC Legacy' ? 'WBTC' : asset);
29
-
30
- export const wethToEthByAddress = (maybeWethAddr: string, chainId = NetworkNumber.Eth) => getAssetInfo(wethToEth(getAssetInfoByAddress(maybeWethAddr, chainId).symbol), chainId).address;
31
-
32
- export const ethToWethByAddress = (maybeEthAddr: string, chainId = NetworkNumber.Eth) => getAssetInfo(ethToWeth(getAssetInfoByAddress(maybeEthAddr, chainId).symbol), chainId).address;
33
-
34
- export const bytesToString = (hex: string) => Buffer.from(hex.replace(/^0x/, ''), 'hex')
35
- .toString()
36
- // eslint-disable-next-line no-control-regex
37
- .replace(/\x00/g, '');
38
-
39
- /**
40
- * Map an input value from one range (minInput, maxInput) to a value in another range (minOutput, maxOutput)
41
- */
42
- export const mapRange = (input: number | string, minInput: number | string, maxInput: number | string, minOutput:number | string, maxOutput: number | string) => {
43
- // slope = 1.0 * (output_end - output_start) / (input_end - input_start)
44
- const inputDiff = new Dec(maxInput).minus(minInput);
45
- const outputDiff = new Dec(maxOutput).minus(minOutput);
46
- const slope = new Dec(outputDiff).div(inputDiff);
47
-
48
- // output = output_start + slope * (input - input_start)
49
- return new Dec(minOutput).plus(new Dec(slope).mul(new Dec(input).minus(minInput))).toDP(2).toNumber();
50
- };
51
-
52
- // eslint-disable-next-line no-bitwise
53
- export const isEnabledOnBitmap = (bitmap: number, assetId: number) => (BigInt(bitmap) >> BigInt(assetId)) & BigInt(1);
54
-
55
- export const MAXUINT:string = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
56
-
57
- export const isMaxuint = (amount: string) => compareAddresses(MAXUINT, amount);
58
-
59
- export const isMainnetNetwork = (network: NetworkNumber) => network === NetworkNumber.Eth;
1
+ import Dec from 'decimal.js';
2
+ import { getAssetInfo, getAssetInfoByAddress } from '@defisaver/tokens';
3
+ import { NetworkNumber } from '../types/common';
4
+
5
+ export const isLayer2Network = (networkId: NetworkNumber) => [10, 42161, 8453].includes(+networkId);
6
+
7
+ export const addToObjectIf = (condition: any, item: any) => (condition ? item : {});
8
+
9
+ export const ethToWeth = (maybeEth: any) => maybeEth?.replace(/^ETH$/, 'WETH');
10
+
11
+ export const wethToEth = (maybeWeth: any) => maybeWeth?.replace(/^WETH$/, 'ETH');
12
+
13
+ export const stEthToWstEth = (maybeStEth: any) => maybeStEth?.replace(/^stETH$/, 'wstETH');
14
+
15
+ export const wstEthToStEth = (maybeStEth: any) => maybeStEth?.replace(/^wstETH$/, 'stETH');
16
+
17
+ export const getAbiItem = (abi: any, methodName: string) => abi.find((i: any) => i.name === methodName);
18
+
19
+ export const ADDRESS_REGEX = /0x[0-9a-fA-F]{40}/;
20
+ export const isAddress = (address: string) => typeof address === 'string' && (new RegExp(ADDRESS_REGEX).test(address));
21
+
22
+ export const compareAddresses = (addr1 = '', addr2 = '') => addr1.toLowerCase() === addr2.toLowerCase();
23
+
24
+ export const getWeiAmountForDecimals = (amount: string | number, decimals: number) => new Dec(amount).mul(10 ** decimals).floor().toString();
25
+
26
+ export const getEthAmountForDecimals = (amount: string | number, decimals: string | number) => new Dec(amount).div(10 ** +decimals).toString();
27
+
28
+ export const handleWbtcLegacy = (asset: string) => (asset === 'WBTC Legacy' ? 'WBTC' : asset);
29
+
30
+ export const wethToEthByAddress = (maybeWethAddr: string, chainId = NetworkNumber.Eth) => getAssetInfo(wethToEth(getAssetInfoByAddress(maybeWethAddr, chainId).symbol), chainId).address;
31
+
32
+ export const ethToWethByAddress = (maybeEthAddr: string, chainId = NetworkNumber.Eth) => getAssetInfo(ethToWeth(getAssetInfoByAddress(maybeEthAddr, chainId).symbol), chainId).address;
33
+
34
+ export const bytesToString = (hex: string) => Buffer.from(hex.replace(/^0x/, ''), 'hex')
35
+ .toString()
36
+ // eslint-disable-next-line no-control-regex
37
+ .replace(/\x00/g, '');
38
+
39
+ /**
40
+ * Map an input value from one range (minInput, maxInput) to a value in another range (minOutput, maxOutput)
41
+ */
42
+ export const mapRange = (input: number | string, minInput: number | string, maxInput: number | string, minOutput:number | string, maxOutput: number | string) => {
43
+ // slope = 1.0 * (output_end - output_start) / (input_end - input_start)
44
+ const inputDiff = new Dec(maxInput).minus(minInput);
45
+ const outputDiff = new Dec(maxOutput).minus(minOutput);
46
+ const slope = new Dec(outputDiff).div(inputDiff);
47
+
48
+ // output = output_start + slope * (input - input_start)
49
+ return new Dec(minOutput).plus(new Dec(slope).mul(new Dec(input).minus(minInput))).toDP(2).toNumber();
50
+ };
51
+
52
+ // eslint-disable-next-line no-bitwise
53
+ export const isEnabledOnBitmap = (bitmap: number, assetId: number) => (BigInt(bitmap) >> BigInt(assetId)) & BigInt(1);
54
+
55
+ export const MAXUINT:string = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
56
+
57
+ export const isMaxuint = (amount: string) => compareAddresses(MAXUINT, amount);
58
+
59
+ export const isMainnetNetwork = (network: NetworkNumber) => network === NetworkNumber.Eth;
package/src/setup.ts CHANGED
@@ -1,8 +1,8 @@
1
- import Decimal from 'decimal.js';
2
-
3
- Decimal.set({
4
- rounding: Decimal.ROUND_DOWN,
5
- toExpPos: 9e15,
6
- toExpNeg: -9e15,
7
- precision: 50,
8
- });
1
+ import Decimal from 'decimal.js';
2
+
3
+ Decimal.set({
4
+ rounding: Decimal.ROUND_DOWN,
5
+ toExpPos: 9e15,
6
+ toExpNeg: -9e15,
7
+ precision: 50,
8
+ });