@defisaver/positions-sdk 1.0.19 → 1.0.21-dev-1

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 (88) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +69 -69
  4. package/cjs/fluid/index.d.ts +13 -1
  5. package/cjs/fluid/index.js +23 -5
  6. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  7. package/cjs/markets/morphoBlue/index.d.ts +4 -0
  8. package/cjs/markets/morphoBlue/index.js +38 -2
  9. package/cjs/morphoBlue/index.js +9 -7
  10. package/cjs/types/morphoBlue.d.ts +2 -0
  11. package/cjs/types/morphoBlue.js +3 -0
  12. package/esm/fluid/index.d.ts +13 -1
  13. package/esm/fluid/index.js +21 -4
  14. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  15. package/esm/markets/morphoBlue/index.d.ts +4 -0
  16. package/esm/markets/morphoBlue/index.js +34 -0
  17. package/esm/morphoBlue/index.js +9 -7
  18. package/esm/types/morphoBlue.d.ts +2 -0
  19. package/esm/types/morphoBlue.js +3 -0
  20. package/package.json +54 -54
  21. package/src/aaveV2/index.ts +227 -227
  22. package/src/aaveV3/index.ts +624 -624
  23. package/src/assets/index.ts +60 -60
  24. package/src/chickenBonds/index.ts +123 -123
  25. package/src/compoundV2/index.ts +220 -220
  26. package/src/compoundV3/index.ts +291 -291
  27. package/src/config/contracts.js +1173 -1173
  28. package/src/constants/index.ts +6 -6
  29. package/src/contracts.ts +138 -138
  30. package/src/curveUsd/index.ts +239 -239
  31. package/src/eulerV2/index.ts +303 -303
  32. package/src/exchange/index.ts +17 -17
  33. package/src/fluid/index.ts +1348 -1325
  34. package/src/helpers/aaveHelpers/index.ts +203 -203
  35. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  36. package/src/helpers/compoundHelpers/index.ts +248 -248
  37. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  38. package/src/helpers/eulerHelpers/index.ts +234 -234
  39. package/src/helpers/fluidHelpers/index.ts +325 -325
  40. package/src/helpers/index.ts +11 -11
  41. package/src/helpers/liquityV2Helpers/index.ts +80 -80
  42. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  43. package/src/helpers/makerHelpers/index.ts +94 -94
  44. package/src/helpers/morphoBlueHelpers/index.ts +367 -367
  45. package/src/helpers/sparkHelpers/index.ts +154 -154
  46. package/src/index.ts +52 -52
  47. package/src/liquity/index.ts +116 -116
  48. package/src/liquityV2/index.ts +317 -317
  49. package/src/llamaLend/index.ts +275 -275
  50. package/src/maker/index.ts +117 -117
  51. package/src/markets/aave/index.ts +152 -152
  52. package/src/markets/aave/marketAssets.ts +47 -47
  53. package/src/markets/compound/index.ts +213 -213
  54. package/src/markets/compound/marketsAssets.ts +82 -82
  55. package/src/markets/curveUsd/index.ts +69 -69
  56. package/src/markets/euler/index.ts +26 -26
  57. package/src/markets/fluid/index.ts +2456 -2456
  58. package/src/markets/index.ts +27 -27
  59. package/src/markets/liquityV2/index.ts +102 -102
  60. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  61. package/src/markets/llamaLend/index.ts +235 -235
  62. package/src/markets/morphoBlue/index.ts +932 -895
  63. package/src/markets/spark/index.ts +29 -29
  64. package/src/markets/spark/marketAssets.ts +10 -10
  65. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  66. package/src/morphoAaveV2/index.ts +256 -256
  67. package/src/morphoAaveV3/index.ts +630 -630
  68. package/src/morphoBlue/index.ts +204 -202
  69. package/src/multicall/index.ts +33 -33
  70. package/src/services/priceService.ts +143 -143
  71. package/src/services/utils.ts +59 -59
  72. package/src/setup.ts +8 -8
  73. package/src/spark/index.ts +460 -460
  74. package/src/staking/staking.ts +221 -221
  75. package/src/types/aave.ts +275 -275
  76. package/src/types/chickenBonds.ts +45 -45
  77. package/src/types/common.ts +84 -84
  78. package/src/types/compound.ts +133 -133
  79. package/src/types/curveUsd.ts +119 -119
  80. package/src/types/euler.ts +173 -173
  81. package/src/types/fluid.ts +330 -330
  82. package/src/types/index.ts +11 -11
  83. package/src/types/liquity.ts +30 -30
  84. package/src/types/liquityV2.ts +126 -126
  85. package/src/types/llamaLend.ts +155 -155
  86. package/src/types/maker.ts +50 -50
  87. package/src/types/morphoBlue.ts +197 -194
  88. package/src/types/spark.ts +135 -135
@@ -1,7 +1,7 @@
1
- export const SECONDS_PER_YEAR = 365 * 24 * 60 * 60;
2
- export const AVG_BLOCK_TIME = 12;
3
- export const BLOCKS_IN_A_YEAR = SECONDS_PER_YEAR / AVG_BLOCK_TIME;
4
- export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
5
- export const WAD = 1e18;
6
- export const USD_QUOTE = '0x0000000000000000000000000000000000000348';
1
+ export const SECONDS_PER_YEAR = 365 * 24 * 60 * 60;
2
+ export const AVG_BLOCK_TIME = 12;
3
+ export const BLOCKS_IN_A_YEAR = SECONDS_PER_YEAR / AVG_BLOCK_TIME;
4
+ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
5
+ export const WAD = 1e18;
6
+ export const USD_QUOTE = '0x0000000000000000000000000000000000000348';
7
7
  export const borrowOperations = ['borrow', 'payback'];
package/src/contracts.ts CHANGED
@@ -1,138 +1,138 @@
1
- import Web3 from 'web3';
2
- import configRaw from './config/contracts';
3
- import { BaseContract } from './types/contracts/generated/types';
4
- import * as ContractTypes from './types/contracts/generated';
5
- import { Blockish, EthAddress, NetworkNumber } from './types/common';
6
-
7
- export type ConfigKey = keyof typeof configRaw;
8
-
9
- declare type ContractConfig = {
10
- abi: any[],
11
- networks: Partial<Record<NetworkNumber, Network>>,
12
- };
13
- declare type Network = {
14
- createdBlock?: number,
15
- address: string,
16
- oldVersions?: Record<string, { address: EthAddress, abi: any[] }>,
17
- };
18
- const contractConfig:Record<ConfigKey, ContractConfig> = configRaw;
19
-
20
- export const getConfigContractAddress = (name: ConfigKey, network: NetworkNumber, block?: Blockish): string => {
21
- const networkData = contractConfig[name].networks[network];
22
- const latestAddress = networkData?.address || '';
23
- if (block && block !== 'latest') {
24
- if (block >= (networkData?.createdBlock || 0)) {
25
- return latestAddress;
26
- }
27
-
28
- const oldVersions = networkData?.oldVersions || {};
29
- // Versions are ordered from oldest to the newest
30
- for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
31
- if (block >= Number(createdBlock)) {
32
- return oldVersionObject.address;
33
- }
34
- }
35
- }
36
- return latestAddress;
37
- };
38
-
39
- export const getConfigContractAbi = (name: ConfigKey, network?: NetworkNumber, block?: Blockish): any[] => {
40
- const networkData = network ? contractConfig[name].networks[network] : null;
41
- const latestAbi = contractConfig[name].abi;
42
-
43
- if (block && block !== 'latest' && networkData) {
44
- if (block >= (networkData?.createdBlock || 0)) {
45
- return latestAbi;
46
- }
47
-
48
- const oldVersions = networkData?.oldVersions || {};
49
- // Versions are ordered from oldest to the newest
50
- for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
51
- if (block >= Number(createdBlock)) {
52
- return oldVersionObject.abi;
53
- }
54
- }
55
- }
56
- return latestAbi;
57
- };
58
-
59
- const createContractFromConfigFunc = <T extends BaseContract>(name: ConfigKey, _address?: string) => (web3: Web3, network: NetworkNumber, block?: Blockish) => {
60
- const address = _address || getConfigContractAddress(name, network, block);
61
- return new web3.eth.Contract(getConfigContractAbi(name, network, block), address) as any as T;
62
- };
63
-
64
- export const getErc20Contract = (address: string, web3: Web3) => (
65
- new web3.eth.Contract(getConfigContractAbi('Erc20'), address)
66
- );
67
-
68
- export const createContractWrapper = (web3: Web3, network: NetworkNumber, name: ConfigKey, _address?: string, block?: Blockish) => (
69
- createContractFromConfigFunc(name, _address)(web3, network, block)
70
- );
71
-
72
- export const UniMulticallContract = createContractFromConfigFunc<ContractTypes.UniMulticall>('UniMulticall');
73
-
74
- export const AaveV3ViewContract = createContractFromConfigFunc<ContractTypes.AaveV3View>('AaveV3View');
75
- export const AaveIncentiveDataProviderV3Contract = createContractFromConfigFunc<ContractTypes.AaveUiIncentiveDataProviderV3>('AaveUiIncentiveDataProviderV3');
76
-
77
- export const GhoTokenContract = createContractFromConfigFunc<ContractTypes.GHO>('GHO');
78
-
79
- export const LidoContract = createContractFromConfigFunc<ContractTypes.Lido>('Lido');
80
- export const CbEthContract = createContractFromConfigFunc<ContractTypes.CbEth>('CbEth');
81
- export const REthContract = createContractFromConfigFunc<ContractTypes.REth>('REth');
82
-
83
- export const BalanceScannerContract = createContractFromConfigFunc<ContractTypes.BalanceScanner>('BalanceScanner');
84
-
85
- export const CompV3ViewContract = createContractFromConfigFunc<ContractTypes.CompV3View>('CompV3View');
86
-
87
- export const wstETHContract = createContractFromConfigFunc<ContractTypes.WstETH>('wstETH');
88
-
89
- export const AaveLoanInfoV2Contract = createContractFromConfigFunc<ContractTypes.AaveLoanInfoV2>('AaveLoanInfoV2');
90
-
91
- export const CompoundLoanInfoContract = createContractFromConfigFunc<ContractTypes.CompoundLoanInfo>('CompoundLoanInfo');
92
-
93
- export const ComptrollerContract = createContractFromConfigFunc<ContractTypes.Comptroller>('Comptroller');
94
-
95
- export const PotContract = createContractFromConfigFunc<ContractTypes.Pot>('Pot');
96
-
97
- export const MorphoAaveV2ViewContract = createContractFromConfigFunc<ContractTypes.MorphoAaveV2View>('MorphoAaveV2View');
98
-
99
- export const SparkIncentiveDataProviderContract = createContractFromConfigFunc<ContractTypes.SparkIncentiveDataProvider>('SparkIncentiveDataProvider');
100
- export const SparkViewContract = createContractFromConfigFunc<ContractTypes.SparkView>('SparkView');
101
-
102
- export const CrvUSDViewContract = createContractFromConfigFunc<ContractTypes.CrvUSDView>('crvUSDView');
103
- export const CrvUSDFactoryContract = createContractFromConfigFunc<ContractTypes.CrvUSDFactory>('crvUSDFactory');
104
-
105
- export const LiquityViewContract = createContractFromConfigFunc<ContractTypes.LiquityView>('LiquityView');
106
- export const LiquityCollSurplusPoolContract = createContractFromConfigFunc<ContractTypes.CollSurplusPool>('CollSurplusPool');
107
- export const LiquityTroveManagerContract = createContractFromConfigFunc<ContractTypes.TroveManager>('TroveManager');
108
- export const LiquityPriceFeedContract = createContractFromConfigFunc<ContractTypes.PriceFeed>('PriceFeed');
109
- export const LiquityActivePoolContract = createContractFromConfigFunc<ContractTypes.LiquityActivePool>('LiquityActivePool');
110
-
111
- export const McdViewContract = createContractFromConfigFunc<ContractTypes.McdView>('McdView');
112
- export const McdSpotterContract = createContractFromConfigFunc<ContractTypes.McdSpotter>('McdSpotter');
113
- export const McdDogContract = createContractFromConfigFunc<ContractTypes.McdDog>('McdDog');
114
- export const McdJugContract = createContractFromConfigFunc<ContractTypes.McdJug>('McdJug');
115
- export const McdVatContract = createContractFromConfigFunc<ContractTypes.McdVat>('McdVat');
116
-
117
- export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
118
- export const ChickenBondsManagerContract = createContractFromConfigFunc<ContractTypes.ChickenBondsManager>('ChickenBondsManager');
119
-
120
- export const ETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.ETHPriceFeed>('ETHPriceFeed');
121
- export const BTCPriceFeedContract = createContractFromConfigFunc<ContractTypes.BTCPriceFeed>('BTCPriceFeed');
122
- export const COMPPriceFeedContract = createContractFromConfigFunc<ContractTypes.COMPPriceFeed>('COMPPriceFeed');
123
- export const USDCPriceFeedContract = createContractFromConfigFunc<ContractTypes.USDCPriceFeed>('USDCPriceFeed');
124
- export const WstETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.WstETHPriceFeed>('WstETHPriceFeed');
125
- export const WeETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.WeETHPriceFeed>('WeETHPriceFeed');
126
-
127
- export const FeedRegistryContract = createContractFromConfigFunc<ContractTypes.FeedRegistry>('FeedRegistry');
128
- export const DFSFeedRegistryContract = createContractFromConfigFunc<ContractTypes.DFSFeedRegistry>('DFSFeedRegistry');
129
-
130
- export const MorphoBlueViewContract = createContractFromConfigFunc<ContractTypes.MorphoBlueView>('MorphoBlueView');
131
-
132
- export const LlamaLendViewContract = createContractFromConfigFunc<ContractTypes.LlamaLendView>('LlamaLendView');
133
-
134
- export const LiquityV2ViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2View>('LiquityV2View');
135
- export const LiquityV2LegacyViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2LegacyView>('LiquityV2LegacyView');
136
-
137
- export const EulerV2ViewContract = createContractFromConfigFunc<ContractTypes.EulerV2View>('EulerV2View');
138
- export const FluidViewContract = createContractFromConfigFunc<ContractTypes.FluidView>('FluidView');
1
+ import Web3 from 'web3';
2
+ import configRaw from './config/contracts';
3
+ import { BaseContract } from './types/contracts/generated/types';
4
+ import * as ContractTypes from './types/contracts/generated';
5
+ import { Blockish, EthAddress, NetworkNumber } from './types/common';
6
+
7
+ export type ConfigKey = keyof typeof configRaw;
8
+
9
+ declare type ContractConfig = {
10
+ abi: any[],
11
+ networks: Partial<Record<NetworkNumber, Network>>,
12
+ };
13
+ declare type Network = {
14
+ createdBlock?: number,
15
+ address: string,
16
+ oldVersions?: Record<string, { address: EthAddress, abi: any[] }>,
17
+ };
18
+ const contractConfig:Record<ConfigKey, ContractConfig> = configRaw;
19
+
20
+ export const getConfigContractAddress = (name: ConfigKey, network: NetworkNumber, block?: Blockish): string => {
21
+ const networkData = contractConfig[name].networks[network];
22
+ const latestAddress = networkData?.address || '';
23
+ if (block && block !== 'latest') {
24
+ if (block >= (networkData?.createdBlock || 0)) {
25
+ return latestAddress;
26
+ }
27
+
28
+ const oldVersions = networkData?.oldVersions || {};
29
+ // Versions are ordered from oldest to the newest
30
+ for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
31
+ if (block >= Number(createdBlock)) {
32
+ return oldVersionObject.address;
33
+ }
34
+ }
35
+ }
36
+ return latestAddress;
37
+ };
38
+
39
+ export const getConfigContractAbi = (name: ConfigKey, network?: NetworkNumber, block?: Blockish): any[] => {
40
+ const networkData = network ? contractConfig[name].networks[network] : null;
41
+ const latestAbi = contractConfig[name].abi;
42
+
43
+ if (block && block !== 'latest' && networkData) {
44
+ if (block >= (networkData?.createdBlock || 0)) {
45
+ return latestAbi;
46
+ }
47
+
48
+ const oldVersions = networkData?.oldVersions || {};
49
+ // Versions are ordered from oldest to the newest
50
+ for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
51
+ if (block >= Number(createdBlock)) {
52
+ return oldVersionObject.abi;
53
+ }
54
+ }
55
+ }
56
+ return latestAbi;
57
+ };
58
+
59
+ const createContractFromConfigFunc = <T extends BaseContract>(name: ConfigKey, _address?: string) => (web3: Web3, network: NetworkNumber, block?: Blockish) => {
60
+ const address = _address || getConfigContractAddress(name, network, block);
61
+ return new web3.eth.Contract(getConfigContractAbi(name, network, block), address) as any as T;
62
+ };
63
+
64
+ export const getErc20Contract = (address: string, web3: Web3) => (
65
+ new web3.eth.Contract(getConfigContractAbi('Erc20'), address)
66
+ );
67
+
68
+ export const createContractWrapper = (web3: Web3, network: NetworkNumber, name: ConfigKey, _address?: string, block?: Blockish) => (
69
+ createContractFromConfigFunc(name, _address)(web3, network, block)
70
+ );
71
+
72
+ export const UniMulticallContract = createContractFromConfigFunc<ContractTypes.UniMulticall>('UniMulticall');
73
+
74
+ export const AaveV3ViewContract = createContractFromConfigFunc<ContractTypes.AaveV3View>('AaveV3View');
75
+ export const AaveIncentiveDataProviderV3Contract = createContractFromConfigFunc<ContractTypes.AaveUiIncentiveDataProviderV3>('AaveUiIncentiveDataProviderV3');
76
+
77
+ export const GhoTokenContract = createContractFromConfigFunc<ContractTypes.GHO>('GHO');
78
+
79
+ export const LidoContract = createContractFromConfigFunc<ContractTypes.Lido>('Lido');
80
+ export const CbEthContract = createContractFromConfigFunc<ContractTypes.CbEth>('CbEth');
81
+ export const REthContract = createContractFromConfigFunc<ContractTypes.REth>('REth');
82
+
83
+ export const BalanceScannerContract = createContractFromConfigFunc<ContractTypes.BalanceScanner>('BalanceScanner');
84
+
85
+ export const CompV3ViewContract = createContractFromConfigFunc<ContractTypes.CompV3View>('CompV3View');
86
+
87
+ export const wstETHContract = createContractFromConfigFunc<ContractTypes.WstETH>('wstETH');
88
+
89
+ export const AaveLoanInfoV2Contract = createContractFromConfigFunc<ContractTypes.AaveLoanInfoV2>('AaveLoanInfoV2');
90
+
91
+ export const CompoundLoanInfoContract = createContractFromConfigFunc<ContractTypes.CompoundLoanInfo>('CompoundLoanInfo');
92
+
93
+ export const ComptrollerContract = createContractFromConfigFunc<ContractTypes.Comptroller>('Comptroller');
94
+
95
+ export const PotContract = createContractFromConfigFunc<ContractTypes.Pot>('Pot');
96
+
97
+ export const MorphoAaveV2ViewContract = createContractFromConfigFunc<ContractTypes.MorphoAaveV2View>('MorphoAaveV2View');
98
+
99
+ export const SparkIncentiveDataProviderContract = createContractFromConfigFunc<ContractTypes.SparkIncentiveDataProvider>('SparkIncentiveDataProvider');
100
+ export const SparkViewContract = createContractFromConfigFunc<ContractTypes.SparkView>('SparkView');
101
+
102
+ export const CrvUSDViewContract = createContractFromConfigFunc<ContractTypes.CrvUSDView>('crvUSDView');
103
+ export const CrvUSDFactoryContract = createContractFromConfigFunc<ContractTypes.CrvUSDFactory>('crvUSDFactory');
104
+
105
+ export const LiquityViewContract = createContractFromConfigFunc<ContractTypes.LiquityView>('LiquityView');
106
+ export const LiquityCollSurplusPoolContract = createContractFromConfigFunc<ContractTypes.CollSurplusPool>('CollSurplusPool');
107
+ export const LiquityTroveManagerContract = createContractFromConfigFunc<ContractTypes.TroveManager>('TroveManager');
108
+ export const LiquityPriceFeedContract = createContractFromConfigFunc<ContractTypes.PriceFeed>('PriceFeed');
109
+ export const LiquityActivePoolContract = createContractFromConfigFunc<ContractTypes.LiquityActivePool>('LiquityActivePool');
110
+
111
+ export const McdViewContract = createContractFromConfigFunc<ContractTypes.McdView>('McdView');
112
+ export const McdSpotterContract = createContractFromConfigFunc<ContractTypes.McdSpotter>('McdSpotter');
113
+ export const McdDogContract = createContractFromConfigFunc<ContractTypes.McdDog>('McdDog');
114
+ export const McdJugContract = createContractFromConfigFunc<ContractTypes.McdJug>('McdJug');
115
+ export const McdVatContract = createContractFromConfigFunc<ContractTypes.McdVat>('McdVat');
116
+
117
+ export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
118
+ export const ChickenBondsManagerContract = createContractFromConfigFunc<ContractTypes.ChickenBondsManager>('ChickenBondsManager');
119
+
120
+ export const ETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.ETHPriceFeed>('ETHPriceFeed');
121
+ export const BTCPriceFeedContract = createContractFromConfigFunc<ContractTypes.BTCPriceFeed>('BTCPriceFeed');
122
+ export const COMPPriceFeedContract = createContractFromConfigFunc<ContractTypes.COMPPriceFeed>('COMPPriceFeed');
123
+ export const USDCPriceFeedContract = createContractFromConfigFunc<ContractTypes.USDCPriceFeed>('USDCPriceFeed');
124
+ export const WstETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.WstETHPriceFeed>('WstETHPriceFeed');
125
+ export const WeETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.WeETHPriceFeed>('WeETHPriceFeed');
126
+
127
+ export const FeedRegistryContract = createContractFromConfigFunc<ContractTypes.FeedRegistry>('FeedRegistry');
128
+ export const DFSFeedRegistryContract = createContractFromConfigFunc<ContractTypes.DFSFeedRegistry>('DFSFeedRegistry');
129
+
130
+ export const MorphoBlueViewContract = createContractFromConfigFunc<ContractTypes.MorphoBlueView>('MorphoBlueView');
131
+
132
+ export const LlamaLendViewContract = createContractFromConfigFunc<ContractTypes.LlamaLendView>('LlamaLendView');
133
+
134
+ export const LiquityV2ViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2View>('LiquityV2View');
135
+ export const LiquityV2LegacyViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2LegacyView>('LiquityV2LegacyView');
136
+
137
+ export const EulerV2ViewContract = createContractFromConfigFunc<ContractTypes.EulerV2View>('EulerV2View');
138
+ export const FluidViewContract = createContractFromConfigFunc<ContractTypes.FluidView>('FluidView');