@defisaver/positions-sdk 0.0.59 → 0.0.61

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 (96) hide show
  1. package/README.md +63 -63
  2. package/cjs/aaveV3/index.js +2 -1
  3. package/cjs/config/contracts.d.ts +225 -282
  4. package/cjs/config/contracts.js +19 -15
  5. package/cjs/llamaLend/index.js +0 -3
  6. package/cjs/markets/compound/index.js +10 -10
  7. package/cjs/markets/compound/marketsAssets.d.ts +2 -1
  8. package/cjs/markets/compound/marketsAssets.js +3 -2
  9. package/{esm/types/contracts/generated/CompV3USDbCBulker.d.ts → cjs/types/contracts/generated/CompV3BulkerL2.d.ts} +3 -3
  10. package/cjs/types/contracts/generated/{CompV3ETHBulker.d.ts → CompV3BulkerMainnetETH.d.ts} +3 -3
  11. package/{esm/types/contracts/generated/CompV3USDCBulker.d.ts → cjs/types/contracts/generated/CompV3BulkerMainnetUSDC.d.ts} +3 -3
  12. package/cjs/types/contracts/generated/index.d.ts +3 -4
  13. package/esm/aaveV3/index.js +2 -1
  14. package/esm/config/contracts.d.ts +225 -282
  15. package/esm/config/contracts.js +19 -15
  16. package/esm/llamaLend/index.js +0 -3
  17. package/esm/markets/compound/index.js +10 -10
  18. package/esm/markets/compound/marketsAssets.d.ts +2 -1
  19. package/esm/markets/compound/marketsAssets.js +2 -1
  20. package/{cjs/types/contracts/generated/CompV3USDbCBulker.d.ts → esm/types/contracts/generated/CompV3BulkerL2.d.ts} +3 -3
  21. package/esm/types/contracts/generated/{CompV3ETHBulker.d.ts → CompV3BulkerMainnetETH.d.ts} +3 -3
  22. package/{cjs/types/contracts/generated/CompV3USDCBulker.d.ts → esm/types/contracts/generated/CompV3BulkerMainnetUSDC.d.ts} +3 -3
  23. package/esm/types/contracts/generated/index.d.ts +3 -4
  24. package/package.json +40 -40
  25. package/src/aaveV2/index.ts +227 -227
  26. package/src/aaveV3/index.ts +562 -561
  27. package/src/assets/index.ts +60 -60
  28. package/src/chickenBonds/index.ts +123 -123
  29. package/src/compoundV2/index.ts +219 -219
  30. package/src/compoundV3/index.ts +273 -273
  31. package/src/config/contracts.js +855 -851
  32. package/src/constants/index.ts +5 -5
  33. package/src/contracts.ts +126 -126
  34. package/src/curveUsd/index.ts +229 -229
  35. package/src/exchange/index.ts +17 -17
  36. package/src/helpers/aaveHelpers/index.ts +134 -134
  37. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  38. package/src/helpers/compoundHelpers/index.ts +181 -181
  39. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  40. package/src/helpers/index.ts +7 -7
  41. package/src/helpers/llamaLendHelpers/index.ts +45 -45
  42. package/src/helpers/makerHelpers/index.ts +94 -94
  43. package/src/helpers/morphoBlueHelpers/index.ts +56 -56
  44. package/src/helpers/sparkHelpers/index.ts +106 -106
  45. package/src/index.ts +46 -46
  46. package/src/liquity/index.ts +116 -116
  47. package/src/llamaLend/index.ts +276 -279
  48. package/src/maker/index.ts +117 -117
  49. package/src/markets/aave/index.ts +80 -80
  50. package/src/markets/aave/marketAssets.ts +24 -24
  51. package/src/markets/compound/index.ts +141 -141
  52. package/src/markets/compound/marketsAssets.ts +49 -48
  53. package/src/markets/curveUsd/index.ts +69 -69
  54. package/src/markets/index.ts +5 -5
  55. package/src/markets/llamaLend/index.ts +65 -65
  56. package/src/markets/morphoBlue/index.ts +262 -262
  57. package/src/markets/spark/index.ts +29 -29
  58. package/src/markets/spark/marketAssets.ts +10 -10
  59. package/src/moneymarket/moneymarketCommonService.ts +75 -75
  60. package/src/morphoAaveV2/index.ts +256 -256
  61. package/src/morphoAaveV3/index.ts +619 -619
  62. package/src/morphoBlue/index.ts +177 -177
  63. package/src/multicall/index.ts +22 -22
  64. package/src/services/dsrService.ts +15 -15
  65. package/src/services/priceService.ts +21 -21
  66. package/src/services/utils.ts +51 -51
  67. package/src/setup.ts +8 -8
  68. package/src/spark/index.ts +422 -422
  69. package/src/staking/staking.ts +174 -174
  70. package/src/types/aave.ts +256 -256
  71. package/src/types/chickenBonds.ts +45 -45
  72. package/src/types/common.ts +83 -83
  73. package/src/types/compound.ts +128 -128
  74. package/src/types/contracts/generated/{CompV3USDbCBulker.ts → CompV3BulkerL2.ts} +3 -3
  75. package/src/types/contracts/generated/{CompV3ETHBulker.ts → CompV3BulkerMainnetETH.ts} +3 -3
  76. package/src/types/contracts/generated/{CompV3USDCBulker.ts → CompV3BulkerMainnetUSDC.ts} +3 -3
  77. package/src/types/contracts/generated/index.ts +3 -4
  78. package/src/types/curveUsd.ts +118 -118
  79. package/src/types/index.ts +8 -8
  80. package/src/types/liquity.ts +30 -30
  81. package/src/types/llamaLend.ts +119 -119
  82. package/src/types/maker.ts +50 -50
  83. package/src/types/morphoBlue.ts +107 -107
  84. package/src/types/spark.ts +106 -106
  85. package/yarn-error.log +64 -0
  86. package/cjs/types/contracts/generated/CompV3USDCBulkerArb.d.ts +0 -41
  87. package/cjs/types/contracts/generated/CompV3USDbCBulker.js +0 -5
  88. package/esm/types/contracts/generated/CompV3USDCBulkerArb.d.ts +0 -41
  89. package/esm/types/contracts/generated/CompV3USDbCBulker.js +0 -4
  90. package/src/types/contracts/generated/CompV3USDCBulkerArb.ts +0 -85
  91. /package/cjs/types/contracts/generated/{CompV3ETHBulker.js → CompV3BulkerL2.js} +0 -0
  92. /package/cjs/types/contracts/generated/{CompV3USDCBulker.js → CompV3BulkerMainnetETH.js} +0 -0
  93. /package/cjs/types/contracts/generated/{CompV3USDCBulkerArb.js → CompV3BulkerMainnetUSDC.js} +0 -0
  94. /package/esm/types/contracts/generated/{CompV3ETHBulker.js → CompV3BulkerL2.js} +0 -0
  95. /package/esm/types/contracts/generated/{CompV3USDCBulker.js → CompV3BulkerMainnetETH.js} +0 -0
  96. /package/esm/types/contracts/generated/{CompV3USDCBulkerArb.js → CompV3BulkerMainnetUSDC.js} +0 -0
@@ -1,6 +1,6 @@
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;
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
6
  export const USD_QUOTE = '0x0000000000000000000000000000000000000348';
package/src/contracts.ts CHANGED
@@ -1,127 +1,127 @@
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
- export const getConfigContractAddress = (name: ConfigKey, network: NetworkNumber, block?: Blockish): string => {
20
- const networkData = contractConfig[name].networks[network];
21
- const latestAddress = networkData?.address || '';
22
- if (block && block !== 'latest') {
23
- if (block >= (networkData?.createdBlock || 0)) {
24
- return latestAddress;
25
- }
26
-
27
- const oldVersions = networkData?.oldVersions || {};
28
- // Versions are ordered from oldest to the newest
29
- for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
30
- if (block >= Number(createdBlock)) {
31
- return oldVersionObject.address;
32
- }
33
- }
34
- }
35
- return latestAddress;
36
- };
37
-
38
- export const getConfigContractAbi = (name: ConfigKey, network?: NetworkNumber, block?: Blockish): any[] => {
39
- const networkData = network ? contractConfig[name].networks[network] : null;
40
- const latestAbi = contractConfig[name].abi;
41
-
42
- if (block && block !== 'latest' && networkData) {
43
- if (block >= (networkData?.createdBlock || 0)) {
44
- return latestAbi;
45
- }
46
-
47
- const oldVersions = networkData?.oldVersions || {};
48
- // Versions are ordered from oldest to the newest
49
- for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
50
- if (block >= Number(createdBlock)) {
51
- return oldVersionObject.abi;
52
- }
53
- }
54
- }
55
- return latestAbi;
56
- };
57
-
58
- const createContractFromConfigFunc = <T extends BaseContract>(name: ConfigKey, _address?: string) => (web3: Web3, network: NetworkNumber, block?: Blockish) => {
59
- const address = _address || getConfigContractAddress(name, network, block);
60
- return new web3.eth.Contract(getConfigContractAbi(name, network, block), address) as any as T;
61
- };
62
-
63
- export const getErc20Contract = (address: string, web3: Web3) => (
64
- new web3.eth.Contract(getConfigContractAbi('Erc20'), address)
65
- );
66
-
67
- export const createContractWrapper = (web3: Web3, network: NetworkNumber, name: ConfigKey, _address?: string, block?: Blockish) => (
68
- createContractFromConfigFunc(name, _address)(web3, network, block)
69
- );
70
-
71
- export const UniMulticallContract = createContractFromConfigFunc<ContractTypes.UniMulticall>('UniMulticall');
72
-
73
- export const AaveV3ViewContract = createContractFromConfigFunc<ContractTypes.AaveV3View>('AaveV3View');
74
- export const AaveIncentiveDataProviderV3Contract = createContractFromConfigFunc<ContractTypes.AaveUiIncentiveDataProviderV3>('AaveUiIncentiveDataProviderV3');
75
-
76
- export const GhoTokenContract = createContractFromConfigFunc<ContractTypes.GHO>('GHO');
77
-
78
- export const LidoContract = createContractFromConfigFunc<ContractTypes.Lido>('Lido');
79
- export const CbEthContract = createContractFromConfigFunc<ContractTypes.CbEth>('CbEth');
80
- export const REthContract = createContractFromConfigFunc<ContractTypes.REth>('REth');
81
-
82
- export const BalanceScannerContract = createContractFromConfigFunc<ContractTypes.BalanceScanner>('BalanceScanner');
83
-
84
- export const CompV3ViewContract = createContractFromConfigFunc<ContractTypes.CompV3View>('CompV3View');
85
-
86
- export const wstETHContract = createContractFromConfigFunc<ContractTypes.WstETH>('wstETH');
87
-
88
- export const AaveLoanInfoV2Contract = createContractFromConfigFunc<ContractTypes.AaveLoanInfoV2>('AaveLoanInfoV2');
89
-
90
- export const CompoundLoanInfoContract = createContractFromConfigFunc<ContractTypes.CompoundLoanInfo>('CompoundLoanInfo');
91
-
92
- export const ComptrollerContract = createContractFromConfigFunc<ContractTypes.Comptroller>('Comptroller');
93
-
94
- export const PotContract = createContractFromConfigFunc<ContractTypes.Pot>('Pot');
95
-
96
- export const MorphoAaveV2ViewContract = createContractFromConfigFunc<ContractTypes.MorphoAaveV2View>('MorphoAaveV2View');
97
-
98
- export const SparkIncentiveDataProviderContract = createContractFromConfigFunc<ContractTypes.SparkIncentiveDataProvider>('SparkIncentiveDataProvider');
99
- export const SparkViewContract = createContractFromConfigFunc<ContractTypes.SparkView>('SparkView');
100
-
101
- export const CrvUSDViewContract = createContractFromConfigFunc<ContractTypes.CrvUSDView>('crvUSDView');
102
- export const CrvUSDFactoryContract = createContractFromConfigFunc<ContractTypes.CrvUSDFactory>('crvUSDFactory');
103
-
104
- export const LiquityViewContract = createContractFromConfigFunc<ContractTypes.LiquityView>('LiquityView');
105
- export const LiquityCollSurplusPoolContract = createContractFromConfigFunc<ContractTypes.CollSurplusPool>('CollSurplusPool');
106
- export const LiquityTroveManagerContract = createContractFromConfigFunc<ContractTypes.TroveManager>('TroveManager');
107
- export const LiquityPriceFeedContract = createContractFromConfigFunc<ContractTypes.PriceFeed>('PriceFeed');
108
- export const LiquityActivePoolContract = createContractFromConfigFunc<ContractTypes.LiquityActivePool>('LiquityActivePool');
109
-
110
- export const McdViewContract = createContractFromConfigFunc<ContractTypes.McdView>('McdView');
111
- export const McdSpotterContract = createContractFromConfigFunc<ContractTypes.McdSpotter>('McdSpotter');
112
- export const McdDogContract = createContractFromConfigFunc<ContractTypes.McdDog>('McdDog');
113
- export const McdJugContract = createContractFromConfigFunc<ContractTypes.McdJug>('McdJug');
114
- export const McdVatContract = createContractFromConfigFunc<ContractTypes.McdVat>('McdVat');
115
-
116
- export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
117
- export const ChickenBondsManagerContract = createContractFromConfigFunc<ContractTypes.ChickenBondsManager>('ChickenBondsManager');
118
-
119
- export const ETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.ETHPriceFeed>('ETHPriceFeed');
120
- export const COMPPriceFeedContract = createContractFromConfigFunc<ContractTypes.COMPPriceFeed>('COMPPriceFeed');
121
- export const USDCPriceFeedContract = createContractFromConfigFunc<ContractTypes.USDCPriceFeed>('USDCPriceFeed');
122
-
123
- export const FeedRegistryContract = createContractFromConfigFunc<ContractTypes.FeedRegistry>('FeedRegistry');
124
-
125
- export const MorphoBlueViewContract = createContractFromConfigFunc<ContractTypes.MorphoBlueView>('MorphoBlueView');
126
-
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
+ export const getConfigContractAddress = (name: ConfigKey, network: NetworkNumber, block?: Blockish): string => {
20
+ const networkData = contractConfig[name].networks[network];
21
+ const latestAddress = networkData?.address || '';
22
+ if (block && block !== 'latest') {
23
+ if (block >= (networkData?.createdBlock || 0)) {
24
+ return latestAddress;
25
+ }
26
+
27
+ const oldVersions = networkData?.oldVersions || {};
28
+ // Versions are ordered from oldest to the newest
29
+ for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
30
+ if (block >= Number(createdBlock)) {
31
+ return oldVersionObject.address;
32
+ }
33
+ }
34
+ }
35
+ return latestAddress;
36
+ };
37
+
38
+ export const getConfigContractAbi = (name: ConfigKey, network?: NetworkNumber, block?: Blockish): any[] => {
39
+ const networkData = network ? contractConfig[name].networks[network] : null;
40
+ const latestAbi = contractConfig[name].abi;
41
+
42
+ if (block && block !== 'latest' && networkData) {
43
+ if (block >= (networkData?.createdBlock || 0)) {
44
+ return latestAbi;
45
+ }
46
+
47
+ const oldVersions = networkData?.oldVersions || {};
48
+ // Versions are ordered from oldest to the newest
49
+ for (const [createdBlock, oldVersionObject] of Object.entries(oldVersions).reverse()) {
50
+ if (block >= Number(createdBlock)) {
51
+ return oldVersionObject.abi;
52
+ }
53
+ }
54
+ }
55
+ return latestAbi;
56
+ };
57
+
58
+ const createContractFromConfigFunc = <T extends BaseContract>(name: ConfigKey, _address?: string) => (web3: Web3, network: NetworkNumber, block?: Blockish) => {
59
+ const address = _address || getConfigContractAddress(name, network, block);
60
+ return new web3.eth.Contract(getConfigContractAbi(name, network, block), address) as any as T;
61
+ };
62
+
63
+ export const getErc20Contract = (address: string, web3: Web3) => (
64
+ new web3.eth.Contract(getConfigContractAbi('Erc20'), address)
65
+ );
66
+
67
+ export const createContractWrapper = (web3: Web3, network: NetworkNumber, name: ConfigKey, _address?: string, block?: Blockish) => (
68
+ createContractFromConfigFunc(name, _address)(web3, network, block)
69
+ );
70
+
71
+ export const UniMulticallContract = createContractFromConfigFunc<ContractTypes.UniMulticall>('UniMulticall');
72
+
73
+ export const AaveV3ViewContract = createContractFromConfigFunc<ContractTypes.AaveV3View>('AaveV3View');
74
+ export const AaveIncentiveDataProviderV3Contract = createContractFromConfigFunc<ContractTypes.AaveUiIncentiveDataProviderV3>('AaveUiIncentiveDataProviderV3');
75
+
76
+ export const GhoTokenContract = createContractFromConfigFunc<ContractTypes.GHO>('GHO');
77
+
78
+ export const LidoContract = createContractFromConfigFunc<ContractTypes.Lido>('Lido');
79
+ export const CbEthContract = createContractFromConfigFunc<ContractTypes.CbEth>('CbEth');
80
+ export const REthContract = createContractFromConfigFunc<ContractTypes.REth>('REth');
81
+
82
+ export const BalanceScannerContract = createContractFromConfigFunc<ContractTypes.BalanceScanner>('BalanceScanner');
83
+
84
+ export const CompV3ViewContract = createContractFromConfigFunc<ContractTypes.CompV3View>('CompV3View');
85
+
86
+ export const wstETHContract = createContractFromConfigFunc<ContractTypes.WstETH>('wstETH');
87
+
88
+ export const AaveLoanInfoV2Contract = createContractFromConfigFunc<ContractTypes.AaveLoanInfoV2>('AaveLoanInfoV2');
89
+
90
+ export const CompoundLoanInfoContract = createContractFromConfigFunc<ContractTypes.CompoundLoanInfo>('CompoundLoanInfo');
91
+
92
+ export const ComptrollerContract = createContractFromConfigFunc<ContractTypes.Comptroller>('Comptroller');
93
+
94
+ export const PotContract = createContractFromConfigFunc<ContractTypes.Pot>('Pot');
95
+
96
+ export const MorphoAaveV2ViewContract = createContractFromConfigFunc<ContractTypes.MorphoAaveV2View>('MorphoAaveV2View');
97
+
98
+ export const SparkIncentiveDataProviderContract = createContractFromConfigFunc<ContractTypes.SparkIncentiveDataProvider>('SparkIncentiveDataProvider');
99
+ export const SparkViewContract = createContractFromConfigFunc<ContractTypes.SparkView>('SparkView');
100
+
101
+ export const CrvUSDViewContract = createContractFromConfigFunc<ContractTypes.CrvUSDView>('crvUSDView');
102
+ export const CrvUSDFactoryContract = createContractFromConfigFunc<ContractTypes.CrvUSDFactory>('crvUSDFactory');
103
+
104
+ export const LiquityViewContract = createContractFromConfigFunc<ContractTypes.LiquityView>('LiquityView');
105
+ export const LiquityCollSurplusPoolContract = createContractFromConfigFunc<ContractTypes.CollSurplusPool>('CollSurplusPool');
106
+ export const LiquityTroveManagerContract = createContractFromConfigFunc<ContractTypes.TroveManager>('TroveManager');
107
+ export const LiquityPriceFeedContract = createContractFromConfigFunc<ContractTypes.PriceFeed>('PriceFeed');
108
+ export const LiquityActivePoolContract = createContractFromConfigFunc<ContractTypes.LiquityActivePool>('LiquityActivePool');
109
+
110
+ export const McdViewContract = createContractFromConfigFunc<ContractTypes.McdView>('McdView');
111
+ export const McdSpotterContract = createContractFromConfigFunc<ContractTypes.McdSpotter>('McdSpotter');
112
+ export const McdDogContract = createContractFromConfigFunc<ContractTypes.McdDog>('McdDog');
113
+ export const McdJugContract = createContractFromConfigFunc<ContractTypes.McdJug>('McdJug');
114
+ export const McdVatContract = createContractFromConfigFunc<ContractTypes.McdVat>('McdVat');
115
+
116
+ export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
117
+ export const ChickenBondsManagerContract = createContractFromConfigFunc<ContractTypes.ChickenBondsManager>('ChickenBondsManager');
118
+
119
+ export const ETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.ETHPriceFeed>('ETHPriceFeed');
120
+ export const COMPPriceFeedContract = createContractFromConfigFunc<ContractTypes.COMPPriceFeed>('COMPPriceFeed');
121
+ export const USDCPriceFeedContract = createContractFromConfigFunc<ContractTypes.USDCPriceFeed>('USDCPriceFeed');
122
+
123
+ export const FeedRegistryContract = createContractFromConfigFunc<ContractTypes.FeedRegistry>('FeedRegistry');
124
+
125
+ export const MorphoBlueViewContract = createContractFromConfigFunc<ContractTypes.MorphoBlueView>('MorphoBlueView');
126
+
127
127
  export const LlamaLendViewContract = createContractFromConfigFunc<ContractTypes.LlamaLendView>('LlamaLendView');