@defisaver/positions-sdk 0.0.98 → 0.0.100

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 (80) hide show
  1. package/README.md +63 -63
  2. package/cjs/config/contracts.d.ts +361 -15
  3. package/cjs/config/contracts.js +37 -15
  4. package/cjs/helpers/morphoBlueHelpers/index.d.ts +9 -2
  5. package/cjs/helpers/morphoBlueHelpers/index.js +66 -1
  6. package/cjs/maker/index.js +1 -1
  7. package/cjs/morphoBlue/index.js +4 -27
  8. package/cjs/types/contracts/generated/AaveV3View.d.ts +29 -2
  9. package/cjs/types/contracts/generated/MorphoBlueView.d.ts +61 -0
  10. package/cjs/types/contracts/generated/SparkView.d.ts +29 -2
  11. package/esm/config/contracts.d.ts +361 -15
  12. package/esm/config/contracts.js +37 -15
  13. package/esm/helpers/morphoBlueHelpers/index.d.ts +9 -2
  14. package/esm/helpers/morphoBlueHelpers/index.js +62 -0
  15. package/esm/maker/index.js +1 -1
  16. package/esm/morphoBlue/index.js +4 -27
  17. package/esm/types/contracts/generated/AaveV3View.d.ts +29 -2
  18. package/esm/types/contracts/generated/MorphoBlueView.d.ts +61 -0
  19. package/esm/types/contracts/generated/SparkView.d.ts +29 -2
  20. package/package.json +41 -40
  21. package/src/aaveV2/index.ts +227 -227
  22. package/src/aaveV3/index.ts +558 -558
  23. package/src/assets/index.ts +60 -60
  24. package/src/chickenBonds/index.ts +123 -123
  25. package/src/compoundV2/index.ts +219 -219
  26. package/src/compoundV3/index.ts +266 -266
  27. package/src/config/contracts.js +871 -848
  28. package/src/constants/index.ts +5 -5
  29. package/src/contracts.ts +128 -128
  30. package/src/curveUsd/index.ts +229 -229
  31. package/src/exchange/index.ts +17 -17
  32. package/src/helpers/aaveHelpers/index.ts +134 -134
  33. package/src/helpers/chickenBondsHelpers/index.ts +23 -23
  34. package/src/helpers/compoundHelpers/index.ts +181 -181
  35. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  36. package/src/helpers/index.ts +7 -7
  37. package/src/helpers/llamaLendHelpers/index.ts +45 -45
  38. package/src/helpers/makerHelpers/index.ts +94 -94
  39. package/src/helpers/morphoBlueHelpers/index.ts +117 -56
  40. package/src/helpers/sparkHelpers/index.ts +106 -106
  41. package/src/index.ts +46 -46
  42. package/src/liquity/index.ts +116 -116
  43. package/src/llamaLend/index.ts +268 -268
  44. package/src/maker/index.ts +117 -117
  45. package/src/markets/aave/index.ts +80 -80
  46. package/src/markets/aave/marketAssets.ts +24 -24
  47. package/src/markets/compound/index.ts +142 -142
  48. package/src/markets/compound/marketsAssets.ts +50 -50
  49. package/src/markets/curveUsd/index.ts +69 -69
  50. package/src/markets/index.ts +5 -5
  51. package/src/markets/llamaLend/contractAddresses.ts +95 -95
  52. package/src/markets/llamaLend/index.ts +150 -150
  53. package/src/markets/morphoBlue/index.ts +611 -611
  54. package/src/markets/spark/index.ts +29 -29
  55. package/src/markets/spark/marketAssets.ts +10 -10
  56. package/src/moneymarket/moneymarketCommonService.ts +76 -76
  57. package/src/morphoAaveV2/index.ts +256 -256
  58. package/src/morphoAaveV3/index.ts +612 -612
  59. package/src/morphoBlue/index.ts +171 -199
  60. package/src/multicall/index.ts +22 -22
  61. package/src/services/dsrService.ts +15 -15
  62. package/src/services/priceService.ts +21 -21
  63. package/src/services/utils.ts +51 -51
  64. package/src/setup.ts +8 -8
  65. package/src/spark/index.ts +424 -424
  66. package/src/staking/staking.ts +187 -187
  67. package/src/types/aave.ts +256 -256
  68. package/src/types/chickenBonds.ts +45 -45
  69. package/src/types/common.ts +84 -84
  70. package/src/types/compound.ts +128 -128
  71. package/src/types/contracts/generated/AaveV3View.ts +43 -3
  72. package/src/types/contracts/generated/MorphoBlueView.ts +87 -0
  73. package/src/types/contracts/generated/SparkView.ts +43 -3
  74. package/src/types/curveUsd.ts +118 -118
  75. package/src/types/index.ts +8 -8
  76. package/src/types/liquity.ts +30 -30
  77. package/src/types/llamaLend.ts +143 -143
  78. package/src/types/maker.ts +50 -50
  79. package/src/types/morphoBlue.ts +139 -139
  80. package/src/types/spark.ts +106 -106
@@ -1,95 +1,95 @@
1
- import {
2
- LlamaLendVersions, LlamaLendVersionsType, LLVersionsArb, LLVersionsEth,
3
- } from '../../types';
4
- import { NetworkNumber } from '../../types/common';
5
-
6
- type LLAddresses = {
7
- controllerAddress: string,
8
- vaultAddress: string
9
- controllerId: number,
10
- };
11
-
12
- const ethAddresses: Record<LLVersionsEth, LLAddresses> = {
13
- [LlamaLendVersions.LLWstethCrvusd]: {
14
- controllerId: 0,
15
- controllerAddress: '0x1E0165DbD2019441aB7927C018701f3138114D71',
16
- vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
17
- },
18
- [LlamaLendVersions.LLSusdeCrvusd]: {
19
- controllerId: 7,
20
- controllerAddress: '0x98fc283d6636f6dcff5a817a00ac69a3add96907',
21
- vaultAddress: '0x52096539ed1391CB50C6b9e4Fd18aFd2438ED23b',
22
- },
23
- [LlamaLendVersions.LLCrvCrvusd]: {
24
- controllerId: 3,
25
- controllerAddress: '0xEdA215b7666936DEd834f76f3fBC6F323295110A',
26
- vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
27
- },
28
- [LlamaLendVersions.LLCrvusdCrv]: {
29
- controllerId: 4,
30
- controllerAddress: '0xC510d73Ad34BeDECa8978B6914461aA7b50CF3Fc',
31
- vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
32
- },
33
- [LlamaLendVersions.LLTbtcCrvusd]: {
34
- controllerId: 2,
35
- controllerAddress: '0x413FD2511BAD510947a91f5c6c79EBD8138C29Fc',
36
- vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
37
- },
38
- [LlamaLendVersions.LLCrvusdTbtc]: {
39
- controllerId: 6,
40
- controllerAddress: '0xe438658874b0acf4d81c24172e137f0ee00621b8',
41
- vaultAddress: '0x99Cff9Dc26A44dc2496B4448ebE415b5E894bd30',
42
- },
43
- [LlamaLendVersions.LLWethCrvusd]: {
44
- controllerId: 1,
45
- controllerAddress: '0xaade9230aa9161880e13a38c83400d3d1995267b',
46
- vaultAddress: '0x5AE28c9197a4a6570216fC7e53E7e0221D7A0FEF',
47
- },
48
- [LlamaLendVersions.LLCrvusdWeth]: {
49
- controllerId: 5,
50
- controllerAddress: '0xa5d9137d2a1ee912469d911a8e74b6c77503bac8',
51
- vaultAddress: '0x46196C004de85c7a75C8b1bB9d54Afb0f8654A45',
52
- },
53
- };
54
-
55
- const arbAddresses: Record<LLVersionsArb, LLAddresses> = {
56
- [LlamaLendVersions.LLArbCrvusd]: {
57
- controllerId: 5,
58
- controllerAddress: '0x76709bc0da299ab0234eec51385e900922ae98f5',
59
- vaultAddress: '0x65592b1F12c07D434e95c7BF87F4f2f464e950e4',
60
- },
61
- [LlamaLendVersions.LLFxnCrvusd]: {
62
- controllerId: 7,
63
- controllerAddress: '0x7adcc491f0b7f9bc12837b8f5edf0e580d176f1f',
64
- vaultAddress: '0xebA51f6472F4cE1C47668c2474ab8f84B32E1ae7',
65
- },
66
- [LlamaLendVersions.LLWbtcCrvusd]: {
67
- controllerId: 1,
68
- controllerAddress: '0x013be86e1cdb0f384daf24bd974fe75edffe6b68',
69
- vaultAddress: '0x60D38b12d22BF423F28082bf396ff8F28cC506B1',
70
- },
71
- [LlamaLendVersions.LLCrvCrvusd]: {
72
- controllerId: 4,
73
- controllerAddress: '0x88f88e937db48bbfe8e3091718576430704e47ab',
74
- vaultAddress: '0xeEaF2ccB73A01deb38Eca2947d963D64CfDe6A32',
75
- },
76
- [LlamaLendVersions.LLWethCrvusd]: {
77
- controllerId: 0,
78
- controllerAddress: '0xb5b6f0e69c283aa32425fa18220e64283b51f0a4',
79
- vaultAddress: '0x49014A8eB1585cBee6A7a9A50C3b81017BF6Cc4d',
80
- },
81
- };
82
-
83
- export const getLLamaLendAddresses = (networkId: NetworkNumber, version: LlamaLendVersionsType) => {
84
- let addresses: LLAddresses | undefined;
85
- if (networkId === NetworkNumber.Eth) {
86
- addresses = ethAddresses[version as any as LLVersionsEth];
87
- } else if (networkId === NetworkNumber.Arb) {
88
- addresses = arbAddresses[version as any as LLVersionsArb];
89
- } else {
90
- throw new Error(`Invalid LlamaLend network ${networkId} for version ${version}`);
91
- }
92
- return addresses;
93
- };
94
-
95
-
1
+ import {
2
+ LlamaLendVersions, LlamaLendVersionsType, LLVersionsArb, LLVersionsEth,
3
+ } from '../../types';
4
+ import { NetworkNumber } from '../../types/common';
5
+
6
+ type LLAddresses = {
7
+ controllerAddress: string,
8
+ vaultAddress: string
9
+ controllerId: number,
10
+ };
11
+
12
+ const ethAddresses: Record<LLVersionsEth, LLAddresses> = {
13
+ [LlamaLendVersions.LLWstethCrvusd]: {
14
+ controllerId: 0,
15
+ controllerAddress: '0x1E0165DbD2019441aB7927C018701f3138114D71',
16
+ vaultAddress: '0x8cf1DE26729cfB7137AF1A6B2a665e099EC319b5',
17
+ },
18
+ [LlamaLendVersions.LLSusdeCrvusd]: {
19
+ controllerId: 7,
20
+ controllerAddress: '0x98fc283d6636f6dcff5a817a00ac69a3add96907',
21
+ vaultAddress: '0x52096539ed1391CB50C6b9e4Fd18aFd2438ED23b',
22
+ },
23
+ [LlamaLendVersions.LLCrvCrvusd]: {
24
+ controllerId: 3,
25
+ controllerAddress: '0xEdA215b7666936DEd834f76f3fBC6F323295110A',
26
+ vaultAddress: '0xCeA18a8752bb7e7817F9AE7565328FE415C0f2cA',
27
+ },
28
+ [LlamaLendVersions.LLCrvusdCrv]: {
29
+ controllerId: 4,
30
+ controllerAddress: '0xC510d73Ad34BeDECa8978B6914461aA7b50CF3Fc',
31
+ vaultAddress: '0x4D2f44B0369f3C20c3d670D2C26b048985598450',
32
+ },
33
+ [LlamaLendVersions.LLTbtcCrvusd]: {
34
+ controllerId: 2,
35
+ controllerAddress: '0x413FD2511BAD510947a91f5c6c79EBD8138C29Fc',
36
+ vaultAddress: '0xb2b23C87a4B6d1b03Ba603F7C3EB9A81fDC0AAC9',
37
+ },
38
+ [LlamaLendVersions.LLCrvusdTbtc]: {
39
+ controllerId: 6,
40
+ controllerAddress: '0xe438658874b0acf4d81c24172e137f0ee00621b8',
41
+ vaultAddress: '0x99Cff9Dc26A44dc2496B4448ebE415b5E894bd30',
42
+ },
43
+ [LlamaLendVersions.LLWethCrvusd]: {
44
+ controllerId: 1,
45
+ controllerAddress: '0xaade9230aa9161880e13a38c83400d3d1995267b',
46
+ vaultAddress: '0x5AE28c9197a4a6570216fC7e53E7e0221D7A0FEF',
47
+ },
48
+ [LlamaLendVersions.LLCrvusdWeth]: {
49
+ controllerId: 5,
50
+ controllerAddress: '0xa5d9137d2a1ee912469d911a8e74b6c77503bac8',
51
+ vaultAddress: '0x46196C004de85c7a75C8b1bB9d54Afb0f8654A45',
52
+ },
53
+ };
54
+
55
+ const arbAddresses: Record<LLVersionsArb, LLAddresses> = {
56
+ [LlamaLendVersions.LLArbCrvusd]: {
57
+ controllerId: 5,
58
+ controllerAddress: '0x76709bc0da299ab0234eec51385e900922ae98f5',
59
+ vaultAddress: '0x65592b1F12c07D434e95c7BF87F4f2f464e950e4',
60
+ },
61
+ [LlamaLendVersions.LLFxnCrvusd]: {
62
+ controllerId: 7,
63
+ controllerAddress: '0x7adcc491f0b7f9bc12837b8f5edf0e580d176f1f',
64
+ vaultAddress: '0xebA51f6472F4cE1C47668c2474ab8f84B32E1ae7',
65
+ },
66
+ [LlamaLendVersions.LLWbtcCrvusd]: {
67
+ controllerId: 1,
68
+ controllerAddress: '0x013be86e1cdb0f384daf24bd974fe75edffe6b68',
69
+ vaultAddress: '0x60D38b12d22BF423F28082bf396ff8F28cC506B1',
70
+ },
71
+ [LlamaLendVersions.LLCrvCrvusd]: {
72
+ controllerId: 4,
73
+ controllerAddress: '0x88f88e937db48bbfe8e3091718576430704e47ab',
74
+ vaultAddress: '0xeEaF2ccB73A01deb38Eca2947d963D64CfDe6A32',
75
+ },
76
+ [LlamaLendVersions.LLWethCrvusd]: {
77
+ controllerId: 0,
78
+ controllerAddress: '0xb5b6f0e69c283aa32425fa18220e64283b51f0a4',
79
+ vaultAddress: '0x49014A8eB1585cBee6A7a9A50C3b81017BF6Cc4d',
80
+ },
81
+ };
82
+
83
+ export const getLLamaLendAddresses = (networkId: NetworkNumber, version: LlamaLendVersionsType) => {
84
+ let addresses: LLAddresses | undefined;
85
+ if (networkId === NetworkNumber.Eth) {
86
+ addresses = ethAddresses[version as any as LLVersionsEth];
87
+ } else if (networkId === NetworkNumber.Arb) {
88
+ addresses = arbAddresses[version as any as LLVersionsArb];
89
+ } else {
90
+ throw new Error(`Invalid LlamaLend network ${networkId} for version ${version}`);
91
+ }
92
+ return addresses;
93
+ };
94
+
95
+
@@ -1,150 +1,150 @@
1
- import { LlamaLendMarketData, LlamaLendVersions, LlamaLendVersionsType } from '../../types';
2
- import { NetworkNumber } from '../../types/common';
3
- import { getLLamaLendAddresses } from './contractAddresses';
4
-
5
- export const LLAMALEND_WSTETH_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
6
- chainIds: [NetworkNumber.Eth],
7
- label: 'LlamaLend - wstETH/crvUSD',
8
- shortLabel: 'wstETH/crvUSD',
9
- value: LlamaLendVersions.LLWstethCrvusd,
10
- collAsset: 'wstETH',
11
- baseAsset: 'crvUSD',
12
- url: 'wstethcrvusd',
13
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWstethCrvusd),
14
- });
15
-
16
- export const LLAMALEND_SUSDE_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
17
- chainIds: [NetworkNumber.Eth],
18
- label: 'LlamaLend - sUSDe/crvUSD',
19
- shortLabel: 'sUSDe/crvUSD',
20
- value: LlamaLendVersions.LLSusdeCrvusd,
21
- collAsset: 'sUSDe',
22
- baseAsset: 'crvUSD',
23
- url: 'susdecrvusd',
24
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLSusdeCrvusd),
25
- });
26
-
27
- export const LLAMALEND_CRV_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
28
- chainIds: [NetworkNumber.Eth, NetworkNumber.Arb],
29
- label: 'LlamaLend - CRV/crvUSD',
30
- shortLabel: 'CRV/crvUSD',
31
- value: LlamaLendVersions.LLCrvCrvusd,
32
- collAsset: 'CRV',
33
- baseAsset: 'crvUSD',
34
- url: 'crvcrvusd',
35
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvCrvusd),
36
- });
37
-
38
- export const LLAMALEND_CRVUSD_CRV_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
39
- chainIds: [NetworkNumber.Eth],
40
- label: 'LlamaLend - crvUSD/CRV',
41
- shortLabel: 'crvUSD/CRV',
42
- value: LlamaLendVersions.LLCrvusdCrv,
43
- collAsset: 'crvUSD',
44
- baseAsset: 'CRV',
45
- url: 'crvusdcrv',
46
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdCrv),
47
- });
48
-
49
-
50
- export const LLAMALEND_TBTC_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
51
- chainIds: [NetworkNumber.Eth],
52
- label: 'LlamaLend - tBTC/crvUSD',
53
- shortLabel: 'tBTC/crvUSD',
54
- value: LlamaLendVersions.LLTbtcCrvusd,
55
- collAsset: 'tBTC',
56
- baseAsset: 'crvUSD',
57
- url: 'tbtccrvusd',
58
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLTbtcCrvusd),
59
- });
60
-
61
- export const LLAMALEND_CRVUSD_TBTC_MARKET = (networkId:NetworkNumber): LlamaLendMarketData => ({
62
- chainIds: [NetworkNumber.Eth],
63
- label: 'LlamaLend - crvUSD/tBTC',
64
- shortLabel: 'crvUSD/tBTC',
65
- value: LlamaLendVersions.LLCrvusdTbtc,
66
- collAsset: 'crvUSD',
67
- baseAsset: 'tBTC',
68
- url: 'crvusdtbtc',
69
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdTbtc),
70
- });
71
-
72
- export const LLAMALEND_WETH_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
73
- chainIds: [NetworkNumber.Eth, NetworkNumber.Arb],
74
- label: 'LlamaLend - ETH/crvUSD',
75
- shortLabel: 'ETH/crvUSD',
76
- value: LlamaLendVersions.LLWethCrvusd,
77
- collAsset: 'ETH',
78
- baseAsset: 'crvUSD',
79
- url: 'wethcrvusd',
80
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWethCrvusd),
81
- });
82
-
83
- export const LLAMALEND_CRVUSD_WETH_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
84
- chainIds: [NetworkNumber.Eth],
85
- label: 'LlamaLend - crvUSD/ETH',
86
- shortLabel: 'crvUSD/ETH',
87
- value: LlamaLendVersions.LLCrvusdWeth,
88
- collAsset: 'crvUSD',
89
- baseAsset: 'ETH',
90
- url: 'crvusdweth',
91
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdWeth),
92
- });
93
-
94
- export const LLAMALEND_ARB_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
95
- chainIds: [NetworkNumber.Arb],
96
- label: 'LlamaLend - ARB/crvUSD',
97
- shortLabel: 'ARB/crvUSD',
98
- value: LlamaLendVersions.LLArbCrvusd,
99
- collAsset: 'ARB',
100
- baseAsset: 'crvUSD',
101
- url: 'arbcrvusd',
102
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLArbCrvusd),
103
- });
104
-
105
- export const LLAMALEND_FXN_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
106
- chainIds: [NetworkNumber.Arb],
107
- label: 'LlamaLend - FXN/crvUSD',
108
- shortLabel: 'FXN/crvUSD',
109
- value: LlamaLendVersions.LLFxnCrvusd,
110
- collAsset: 'FXN',
111
- baseAsset: 'crvUSD',
112
- url: 'fxncrvusd',
113
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLFxnCrvusd),
114
- });
115
-
116
- export const LLAMALEND_WBTC_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
117
- chainIds: [NetworkNumber.Arb],
118
- label: 'LlamaLend - WBTC/crvUSD',
119
- shortLabel: 'WBTC/crvUSD',
120
- value: LlamaLendVersions.LLWbtcCrvusd,
121
- collAsset: 'WBTC',
122
- baseAsset: 'crvUSD',
123
- url: 'wbtcusd',
124
- ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWbtcCrvusd),
125
- });
126
-
127
- export const LlamaLendMarkets = (networkId: NetworkNumber):Record<LlamaLendVersionsType, LlamaLendMarketData> => ({
128
- [LlamaLendVersions.LLWstethCrvusd]: LLAMALEND_WSTETH_CRVUSD_MARKET(networkId),
129
- [LlamaLendVersions.LLCrvusdCrv]: LLAMALEND_CRVUSD_CRV_MARKET(networkId),
130
- [LlamaLendVersions.LLCrvCrvusd]: LLAMALEND_CRV_CRVUSD_MARKET(networkId),
131
- [LlamaLendVersions.LLTbtcCrvusd]: LLAMALEND_TBTC_CRVUSD_MARKET(networkId),
132
- [LlamaLendVersions.LLCrvusdTbtc]: LLAMALEND_CRVUSD_TBTC_MARKET(networkId),
133
- [LlamaLendVersions.LLWethCrvusd]: LLAMALEND_WETH_CRVUSD_MARKET(networkId),
134
- [LlamaLendVersions.LLCrvusdWeth]: LLAMALEND_CRVUSD_WETH_MARKET(networkId),
135
- [LlamaLendVersions.LLArbCrvusd]: LLAMALEND_ARB_CRVUSD_MARKET(networkId),
136
- [LlamaLendVersions.LLFxnCrvusd]: LLAMALEND_FXN_CRVUSD_MARKET(networkId),
137
- [LlamaLendVersions.LLWbtcCrvusd]: LLAMALEND_WBTC_CRVUSD_MARKET(networkId),
138
- [LlamaLendVersions.LLSusdeCrvusd]: LLAMALEND_SUSDE_CRVUSD_MARKET(networkId),
139
- }) as const;
140
-
141
-
142
- export const getLlamaLendMarketData = (market: LlamaLendVersionsType, network: NetworkNumber = 1) => LlamaLendMarkets(network)[market];
143
-
144
-
145
- export const getLlamaLendMarketFromControllerAddress = (controllerAddress: string, network: NetworkNumber) => {
146
- const markets = LlamaLendMarkets(network);
147
- const market = Object.values(markets).find((tempMarket) => tempMarket.controllerAddress === controllerAddress);
148
- if (!market) throw new Error('Market not found');
149
- return market;
150
- };
1
+ import { LlamaLendMarketData, LlamaLendVersions, LlamaLendVersionsType } from '../../types';
2
+ import { NetworkNumber } from '../../types/common';
3
+ import { getLLamaLendAddresses } from './contractAddresses';
4
+
5
+ export const LLAMALEND_WSTETH_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
6
+ chainIds: [NetworkNumber.Eth],
7
+ label: 'LlamaLend - wstETH/crvUSD',
8
+ shortLabel: 'wstETH/crvUSD',
9
+ value: LlamaLendVersions.LLWstethCrvusd,
10
+ collAsset: 'wstETH',
11
+ baseAsset: 'crvUSD',
12
+ url: 'wstethcrvusd',
13
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWstethCrvusd),
14
+ });
15
+
16
+ export const LLAMALEND_SUSDE_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
17
+ chainIds: [NetworkNumber.Eth],
18
+ label: 'LlamaLend - sUSDe/crvUSD',
19
+ shortLabel: 'sUSDe/crvUSD',
20
+ value: LlamaLendVersions.LLSusdeCrvusd,
21
+ collAsset: 'sUSDe',
22
+ baseAsset: 'crvUSD',
23
+ url: 'susdecrvusd',
24
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLSusdeCrvusd),
25
+ });
26
+
27
+ export const LLAMALEND_CRV_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
28
+ chainIds: [NetworkNumber.Eth, NetworkNumber.Arb],
29
+ label: 'LlamaLend - CRV/crvUSD',
30
+ shortLabel: 'CRV/crvUSD',
31
+ value: LlamaLendVersions.LLCrvCrvusd,
32
+ collAsset: 'CRV',
33
+ baseAsset: 'crvUSD',
34
+ url: 'crvcrvusd',
35
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvCrvusd),
36
+ });
37
+
38
+ export const LLAMALEND_CRVUSD_CRV_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
39
+ chainIds: [NetworkNumber.Eth],
40
+ label: 'LlamaLend - crvUSD/CRV',
41
+ shortLabel: 'crvUSD/CRV',
42
+ value: LlamaLendVersions.LLCrvusdCrv,
43
+ collAsset: 'crvUSD',
44
+ baseAsset: 'CRV',
45
+ url: 'crvusdcrv',
46
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdCrv),
47
+ });
48
+
49
+
50
+ export const LLAMALEND_TBTC_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
51
+ chainIds: [NetworkNumber.Eth],
52
+ label: 'LlamaLend - tBTC/crvUSD',
53
+ shortLabel: 'tBTC/crvUSD',
54
+ value: LlamaLendVersions.LLTbtcCrvusd,
55
+ collAsset: 'tBTC',
56
+ baseAsset: 'crvUSD',
57
+ url: 'tbtccrvusd',
58
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLTbtcCrvusd),
59
+ });
60
+
61
+ export const LLAMALEND_CRVUSD_TBTC_MARKET = (networkId:NetworkNumber): LlamaLendMarketData => ({
62
+ chainIds: [NetworkNumber.Eth],
63
+ label: 'LlamaLend - crvUSD/tBTC',
64
+ shortLabel: 'crvUSD/tBTC',
65
+ value: LlamaLendVersions.LLCrvusdTbtc,
66
+ collAsset: 'crvUSD',
67
+ baseAsset: 'tBTC',
68
+ url: 'crvusdtbtc',
69
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdTbtc),
70
+ });
71
+
72
+ export const LLAMALEND_WETH_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
73
+ chainIds: [NetworkNumber.Eth, NetworkNumber.Arb],
74
+ label: 'LlamaLend - ETH/crvUSD',
75
+ shortLabel: 'ETH/crvUSD',
76
+ value: LlamaLendVersions.LLWethCrvusd,
77
+ collAsset: 'ETH',
78
+ baseAsset: 'crvUSD',
79
+ url: 'wethcrvusd',
80
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWethCrvusd),
81
+ });
82
+
83
+ export const LLAMALEND_CRVUSD_WETH_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
84
+ chainIds: [NetworkNumber.Eth],
85
+ label: 'LlamaLend - crvUSD/ETH',
86
+ shortLabel: 'crvUSD/ETH',
87
+ value: LlamaLendVersions.LLCrvusdWeth,
88
+ collAsset: 'crvUSD',
89
+ baseAsset: 'ETH',
90
+ url: 'crvusdweth',
91
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLCrvusdWeth),
92
+ });
93
+
94
+ export const LLAMALEND_ARB_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
95
+ chainIds: [NetworkNumber.Arb],
96
+ label: 'LlamaLend - ARB/crvUSD',
97
+ shortLabel: 'ARB/crvUSD',
98
+ value: LlamaLendVersions.LLArbCrvusd,
99
+ collAsset: 'ARB',
100
+ baseAsset: 'crvUSD',
101
+ url: 'arbcrvusd',
102
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLArbCrvusd),
103
+ });
104
+
105
+ export const LLAMALEND_FXN_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
106
+ chainIds: [NetworkNumber.Arb],
107
+ label: 'LlamaLend - FXN/crvUSD',
108
+ shortLabel: 'FXN/crvUSD',
109
+ value: LlamaLendVersions.LLFxnCrvusd,
110
+ collAsset: 'FXN',
111
+ baseAsset: 'crvUSD',
112
+ url: 'fxncrvusd',
113
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLFxnCrvusd),
114
+ });
115
+
116
+ export const LLAMALEND_WBTC_CRVUSD_MARKET = (networkId: NetworkNumber): LlamaLendMarketData => ({
117
+ chainIds: [NetworkNumber.Arb],
118
+ label: 'LlamaLend - WBTC/crvUSD',
119
+ shortLabel: 'WBTC/crvUSD',
120
+ value: LlamaLendVersions.LLWbtcCrvusd,
121
+ collAsset: 'WBTC',
122
+ baseAsset: 'crvUSD',
123
+ url: 'wbtcusd',
124
+ ...getLLamaLendAddresses(networkId, LlamaLendVersions.LLWbtcCrvusd),
125
+ });
126
+
127
+ export const LlamaLendMarkets = (networkId: NetworkNumber):Record<LlamaLendVersionsType, LlamaLendMarketData> => ({
128
+ [LlamaLendVersions.LLWstethCrvusd]: LLAMALEND_WSTETH_CRVUSD_MARKET(networkId),
129
+ [LlamaLendVersions.LLCrvusdCrv]: LLAMALEND_CRVUSD_CRV_MARKET(networkId),
130
+ [LlamaLendVersions.LLCrvCrvusd]: LLAMALEND_CRV_CRVUSD_MARKET(networkId),
131
+ [LlamaLendVersions.LLTbtcCrvusd]: LLAMALEND_TBTC_CRVUSD_MARKET(networkId),
132
+ [LlamaLendVersions.LLCrvusdTbtc]: LLAMALEND_CRVUSD_TBTC_MARKET(networkId),
133
+ [LlamaLendVersions.LLWethCrvusd]: LLAMALEND_WETH_CRVUSD_MARKET(networkId),
134
+ [LlamaLendVersions.LLCrvusdWeth]: LLAMALEND_CRVUSD_WETH_MARKET(networkId),
135
+ [LlamaLendVersions.LLArbCrvusd]: LLAMALEND_ARB_CRVUSD_MARKET(networkId),
136
+ [LlamaLendVersions.LLFxnCrvusd]: LLAMALEND_FXN_CRVUSD_MARKET(networkId),
137
+ [LlamaLendVersions.LLWbtcCrvusd]: LLAMALEND_WBTC_CRVUSD_MARKET(networkId),
138
+ [LlamaLendVersions.LLSusdeCrvusd]: LLAMALEND_SUSDE_CRVUSD_MARKET(networkId),
139
+ }) as const;
140
+
141
+
142
+ export const getLlamaLendMarketData = (market: LlamaLendVersionsType, network: NetworkNumber = 1) => LlamaLendMarkets(network)[market];
143
+
144
+
145
+ export const getLlamaLendMarketFromControllerAddress = (controllerAddress: string, network: NetworkNumber) => {
146
+ const markets = LlamaLendMarkets(network);
147
+ const market = Object.values(markets).find((tempMarket) => tempMarket.controllerAddress === controllerAddress);
148
+ if (!market) throw new Error('Market not found');
149
+ return market;
150
+ };