@defisaver/automation-sdk 3.0.4 → 3.0.5

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 (143) hide show
  1. package/.babelrc +3 -3
  2. package/.editorconfig +9 -9
  3. package/.env.dev +4 -4
  4. package/.eslintignore +6 -6
  5. package/.eslintrc.js +41 -41
  6. package/.tests.sh +2 -2
  7. package/README.md +41 -41
  8. package/esm/abis/Erc20.json +223 -223
  9. package/esm/abis/SubStorage.json +17 -17
  10. package/esm/abis/UniMulticall.json +14 -14
  11. package/esm/abis/index.d.ts +9 -9
  12. package/esm/abis/index.js +30 -30
  13. package/esm/abis/legacy_AaveV2Subscriptions.json +8 -8
  14. package/esm/abis/legacy_AuthCheck.json +8 -8
  15. package/esm/abis/legacy_CompoundV2Subscriptions.json +9 -9
  16. package/esm/abis/legacy_MakerSubscriptions.json +9 -9
  17. package/esm/automation/private/Automation.d.ts +12 -12
  18. package/esm/automation/private/Automation.js +42 -42
  19. package/esm/automation/private/LegacyAutomation.d.ts +25 -25
  20. package/esm/automation/private/LegacyAutomation.js +118 -118
  21. package/esm/automation/private/LegacyProtocol.d.ts +22 -22
  22. package/esm/automation/private/LegacyProtocol.js +41 -41
  23. package/esm/automation/private/LegacyProtocol.test.d.ts +1 -1
  24. package/esm/automation/private/LegacyProtocol.test.js +25 -25
  25. package/esm/automation/private/Protocol.d.ts +22 -22
  26. package/esm/automation/private/Protocol.js +41 -41
  27. package/esm/automation/private/Protocol.test.d.ts +1 -1
  28. package/esm/automation/private/Protocol.test.js +25 -25
  29. package/esm/automation/private/StrategiesAutomation.d.ts +33 -33
  30. package/esm/automation/private/StrategiesAutomation.js +181 -181
  31. package/esm/automation/private/StrategiesAutomation.test.d.ts +1 -1
  32. package/esm/automation/private/StrategiesAutomation.test.js +671 -671
  33. package/esm/automation/public/ArbitrumStrategies.d.ts +5 -5
  34. package/esm/automation/public/ArbitrumStrategies.js +13 -13
  35. package/esm/automation/public/EthereumStrategies.d.ts +5 -5
  36. package/esm/automation/public/EthereumStrategies.js +13 -13
  37. package/esm/automation/public/OptimismStrategies.d.ts +5 -5
  38. package/esm/automation/public/OptimismStrategies.js +13 -13
  39. package/esm/automation/public/legacy/LegacyAaveAutomation.d.ts +6 -6
  40. package/esm/automation/public/legacy/LegacyAaveAutomation.js +20 -20
  41. package/esm/automation/public/legacy/LegacyCompoundAutomation.d.ts +6 -6
  42. package/esm/automation/public/legacy/LegacyCompoundAutomation.js +20 -20
  43. package/esm/automation/public/legacy/LegacyMakerAutomation.d.ts +6 -6
  44. package/esm/automation/public/legacy/LegacyMakerAutomation.js +20 -20
  45. package/esm/configuration.d.ts +1 -1
  46. package/esm/configuration.js +12 -12
  47. package/esm/constants/index.d.ts +45 -45
  48. package/esm/constants/index.js +395 -385
  49. package/esm/index.d.ts +22 -22
  50. package/esm/index.js +63 -63
  51. package/esm/services/contractService.d.ts +12 -12
  52. package/esm/services/contractService.js +54 -54
  53. package/esm/services/ethereumService.d.ts +7 -7
  54. package/esm/services/ethereumService.js +49 -49
  55. package/esm/services/ethereumService.test.d.ts +1 -1
  56. package/esm/services/ethereumService.test.js +242 -242
  57. package/esm/services/strategiesService.d.ts +2 -2
  58. package/esm/services/strategiesService.js +701 -698
  59. package/esm/services/strategiesService.test.d.ts +1 -1
  60. package/esm/services/strategiesService.test.js +110 -110
  61. package/esm/services/strategySubService.d.ts +87 -87
  62. package/esm/services/strategySubService.js +257 -252
  63. package/esm/services/strategySubService.test.d.ts +1 -1
  64. package/esm/services/strategySubService.test.js +892 -890
  65. package/esm/services/subDataService.d.ts +181 -181
  66. package/esm/services/subDataService.js +442 -442
  67. package/esm/services/subDataService.test.d.ts +1 -1
  68. package/esm/services/subDataService.test.js +1223 -1223
  69. package/esm/services/triggerService.d.ts +191 -191
  70. package/esm/services/triggerService.js +367 -367
  71. package/esm/services/triggerService.test.d.ts +1 -1
  72. package/esm/services/triggerService.test.js +926 -926
  73. package/esm/services/utils.d.ts +25 -25
  74. package/esm/services/utils.js +131 -131
  75. package/esm/services/utils.test.d.ts +1 -1
  76. package/esm/services/utils.test.js +376 -376
  77. package/esm/types/contracts/generated/Erc20.d.ts +53 -53
  78. package/esm/types/contracts/generated/Erc20.js +5 -5
  79. package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.d.ts +129 -129
  80. package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.js +5 -5
  81. package/esm/types/contracts/generated/Legacy_AuthCheck.d.ts +20 -20
  82. package/esm/types/contracts/generated/Legacy_AuthCheck.js +5 -5
  83. package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.d.ts +128 -128
  84. package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +5 -5
  85. package/esm/types/contracts/generated/Legacy_MakerSubscriptions.d.ts +246 -246
  86. package/esm/types/contracts/generated/Legacy_MakerSubscriptions.js +5 -5
  87. package/esm/types/contracts/generated/SubStorage.d.ts +114 -114
  88. package/esm/types/contracts/generated/SubStorage.js +5 -5
  89. package/esm/types/contracts/generated/UniMulticall.d.ts +55 -55
  90. package/esm/types/contracts/generated/UniMulticall.js +5 -5
  91. package/esm/types/contracts/generated/index.d.ts +7 -7
  92. package/esm/types/contracts/generated/index.js +2 -2
  93. package/esm/types/contracts/generated/types.d.ts +54 -54
  94. package/esm/types/contracts/generated/types.js +2 -2
  95. package/esm/types/enums.d.ts +160 -158
  96. package/esm/types/enums.js +180 -178
  97. package/esm/types/index.d.ts +217 -217
  98. package/esm/types/index.js +2 -2
  99. package/package.json +71 -71
  100. package/scripts/generateContractTypes.js +39 -39
  101. package/src/abis/Erc20.json +222 -222
  102. package/src/abis/SubStorage.json +17 -17
  103. package/src/abis/UniMulticall.json +14 -14
  104. package/src/abis/index.ts +28 -28
  105. package/src/abis/legacy_AaveV2Subscriptions.json +7 -7
  106. package/src/abis/legacy_AuthCheck.json +7 -7
  107. package/src/abis/legacy_CompoundV2Subscriptions.json +8 -8
  108. package/src/abis/legacy_MakerSubscriptions.json +8 -8
  109. package/src/automation/private/Automation.ts +44 -44
  110. package/src/automation/private/LegacyAutomation.ts +135 -135
  111. package/src/automation/private/LegacyProtocol.test.ts +23 -23
  112. package/src/automation/private/LegacyProtocol.ts +51 -51
  113. package/src/automation/private/Protocol.test.ts +23 -23
  114. package/src/automation/private/Protocol.ts +51 -51
  115. package/src/automation/private/StrategiesAutomation.test.ts +663 -663
  116. package/src/automation/private/StrategiesAutomation.ts +242 -242
  117. package/src/automation/public/ArbitrumStrategies.ts +10 -10
  118. package/src/automation/public/EthereumStrategies.ts +10 -10
  119. package/src/automation/public/OptimismStrategies.ts +10 -10
  120. package/src/automation/public/legacy/LegacyAaveAutomation.ts +20 -20
  121. package/src/automation/public/legacy/LegacyCompoundAutomation.ts +20 -20
  122. package/src/automation/public/legacy/LegacyMakerAutomation.ts +20 -20
  123. package/src/configuration.ts +8 -8
  124. package/src/constants/index.ts +409 -399
  125. package/src/index.ts +38 -38
  126. package/src/services/contractService.ts +77 -77
  127. package/src/services/ethereumService.test.ts +257 -257
  128. package/src/services/ethereumService.ts +69 -69
  129. package/src/services/strategiesService.test.ts +105 -105
  130. package/src/services/strategiesService.ts +905 -901
  131. package/src/services/strategySubService.test.ts +1063 -1060
  132. package/src/services/strategySubService.ts +496 -492
  133. package/src/services/subDataService.test.ts +1324 -1324
  134. package/src/services/subDataService.ts +594 -593
  135. package/src/services/triggerService.test.ts +1004 -1004
  136. package/src/services/triggerService.ts +449 -449
  137. package/src/services/utils.test.ts +430 -430
  138. package/src/services/utils.ts +103 -103
  139. package/src/types/enums.ts +174 -172
  140. package/src/types/index.ts +262 -262
  141. package/tsconfig.json +79 -79
  142. package/umd/index.js +41 -24
  143. package/webpack.umd.js +52 -52
@@ -1,399 +1,409 @@
1
- import type {
2
- ArbitrumBundleInfo, BundlesInfo, EthereumAddress, Interfaces, MainnetBundleInfo, MainnetStrategiesInfo, OptimismBundleInfo, StrategiesInfo,
3
- } from '../types';
4
-
5
- import {
6
- ChainId, ProtocolIdentifiers, Strategies, Bundles, BundleProtocols,
7
- } from '../types/enums';
8
-
9
- import Protocol from '../automation/private/Protocol';
10
- import LegacyProtocol from '../automation/private/LegacyProtocol';
11
-
12
- // General
13
- export const ZERO_ADDRESS: EthereumAddress = '0x0000000000000000000000000000000000000000';
14
-
15
- export const PROTOCOLS: Record<keyof typeof ProtocolIdentifiers.StrategiesAutomation, Interfaces.Protocol> = (() => {
16
- const protocolsMapping: any = {};
17
- Object.entries(ProtocolIdentifiers.StrategiesAutomation).forEach(([id, value]) => {
18
- protocolsMapping[id] = new Protocol({ id: value });
19
- });
20
- return protocolsMapping;
21
- })();
22
-
23
- export const LEGACY_PROTOCOLS: Record<keyof typeof ProtocolIdentifiers.LegacyAutomation, Interfaces.LegacyProtocol> = (() => {
24
- const protocolsMapping: any = {};
25
- Object.entries(ProtocolIdentifiers.LegacyAutomation).forEach(([id, value]) => {
26
- protocolsMapping[id] = new LegacyProtocol({ id: value });
27
- });
28
- return protocolsMapping;
29
- })();
30
-
31
- // Strategies info
32
- export const MAINNET_STRATEGIES_INFO: MainnetStrategiesInfo = {
33
- [Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI]: {
34
- strategyOrBundleId: Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI,
35
- strategyId: Strategies.Identifiers.CloseOnPriceToDebt,
36
- protocol: PROTOCOLS.MakerDAO,
37
- },
38
- [Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL]: {
39
- strategyOrBundleId: Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL,
40
- strategyId: Strategies.Identifiers.CloseOnPriceToColl,
41
- protocol: PROTOCOLS.MakerDAO,
42
- },
43
- [Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL_DEPRECATED]: {
44
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL_DEPRECATED,
45
- strategyId: Strategies.Identifiers.CloseOnPriceToColl,
46
- protocol: PROTOCOLS.Liquity,
47
- },
48
- [Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL]: {
49
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL,
50
- strategyId: Strategies.Identifiers.CloseOnPriceToColl,
51
- protocol: PROTOCOLS.Liquity,
52
- },
53
- [Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL]: {
54
- strategyOrBundleId: Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL,
55
- strategyId: Strategies.Identifiers.TrailingStopToColl,
56
- protocol: PROTOCOLS.MakerDAO,
57
- },
58
- [Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI]: {
59
- strategyOrBundleId: Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI,
60
- strategyId: Strategies.Identifiers.TrailingStopToDebt,
61
- protocol: PROTOCOLS.MakerDAO,
62
- },
63
- [Strategies.MainnetIds.LIQUITY_TRAILING_STOP_LOSS_TO_COLL]: {
64
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_TRAILING_STOP_LOSS_TO_COLL,
65
- strategyId: Strategies.Identifiers.TrailingStopToColl,
66
- protocol: PROTOCOLS.Liquity,
67
- },
68
- [Strategies.MainnetIds.CHICKEN_BONDS_REBOND]: {
69
- strategyOrBundleId: Strategies.MainnetIds.CHICKEN_BONDS_REBOND,
70
- strategyId: Strategies.Identifiers.Rebond,
71
- protocol: PROTOCOLS.ChickenBonds,
72
- },
73
- [Strategies.MainnetIds.EXCHANGE_DCA]: {
74
- strategyOrBundleId: Strategies.MainnetIds.EXCHANGE_DCA,
75
- strategyId: Strategies.Identifiers.Dca,
76
- protocol: PROTOCOLS.Exchange,
77
- },
78
- [Strategies.MainnetIds.EXCHANGE_LIMIT_ORDER]: {
79
- strategyOrBundleId: Strategies.MainnetIds.EXCHANGE_LIMIT_ORDER,
80
- strategyId: Strategies.Identifiers.LimitOrder,
81
- protocol: PROTOCOLS.Exchange,
82
- },
83
- [Strategies.MainnetIds.LIQUITY_DSR_PAYBACK]: {
84
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DSR_PAYBACK,
85
- strategyId: Strategies.Identifiers.SavingsDsrPayback,
86
- protocol: PROTOCOLS.Liquity,
87
- },
88
- [Strategies.MainnetIds.LIQUITY_DSR_SUPPLY]: {
89
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DSR_SUPPLY,
90
- strategyId: Strategies.Identifiers.SavingsDsrSupply,
91
- protocol: PROTOCOLS.Liquity,
92
- },
93
- [Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY]: {
94
- strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY,
95
- strategyId: Strategies.Identifiers.DebtInFrontRepay,
96
- protocol: PROTOCOLS.Liquity,
97
- },
98
- [Strategies.MainnetIds.CURVEUSD_PAYBACK]: {
99
- strategyOrBundleId: Strategies.MainnetIds.CURVEUSD_PAYBACK,
100
- strategyId: Strategies.Identifiers.Payback,
101
- protocol: PROTOCOLS.CrvUSD,
102
- },
103
- };
104
-
105
- export const OPTIMISM_STRATEGIES_INFO = {
106
- [Strategies.OptimismIds.EXCHANGE_DCA]: {
107
- strategyOrBundleId: Strategies.OptimismIds.EXCHANGE_DCA,
108
- strategyId: Strategies.Identifiers.Dca,
109
- protocol: PROTOCOLS.Exchange,
110
- },
111
- [Strategies.OptimismIds.EXCHANGE_LIMIT_ORDER]: {
112
- strategyOrBundleId: Strategies.OptimismIds.EXCHANGE_LIMIT_ORDER,
113
- strategyId: Strategies.Identifiers.LimitOrder,
114
- protocol: PROTOCOLS.Exchange,
115
- },
116
- };
117
-
118
- export const ARBITRUM_STRATEGIES_INFO = {
119
- [Strategies.ArbitrumIds.EXCHANGE_DCA]: {
120
- strategyOrBundleId: Strategies.ArbitrumIds.EXCHANGE_DCA,
121
- strategyId: Strategies.Identifiers.Dca,
122
- protocol: PROTOCOLS.Exchange,
123
- },
124
- [Strategies.ArbitrumIds.EXCHANGE_LIMIT_ORDER]: {
125
- strategyOrBundleId: Strategies.ArbitrumIds.EXCHANGE_LIMIT_ORDER,
126
- strategyId: Strategies.Identifiers.LimitOrder,
127
- protocol: PROTOCOLS.Exchange,
128
- },
129
- };
130
-
131
- export const STRATEGIES_INFO: StrategiesInfo = {
132
- [ChainId.Ethereum]: MAINNET_STRATEGIES_INFO,
133
- [ChainId.Optimism]: OPTIMISM_STRATEGIES_INFO,
134
- [ChainId.Arbitrum]: ARBITRUM_STRATEGIES_INFO,
135
- };
136
-
137
- export const STRATEGY_IDS = {
138
- [ChainId.Ethereum]: Strategies.MainnetIds,
139
- [ChainId.Optimism]: Strategies.OptimismIds,
140
- [ChainId.Arbitrum]: Strategies.ArbitrumIds,
141
- };
142
-
143
- // Bundles info
144
- export const MAINNET_BUNDLES_INFO: MainnetBundleInfo = {
145
- [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_YEARN]: {
146
- strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_YEARN,
147
- bundleId: BundleProtocols.Yearn,
148
- bundleName: 'Yearn',
149
- strategyId: Strategies.Identifiers.SavingsLiqProtection,
150
- protocol: PROTOCOLS.MakerDAO,
151
- },
152
- [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_MSTABLE]: {
153
- strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_MSTABLE,
154
- bundleId: BundleProtocols.MStable,
155
- bundleName: 'mStable',
156
- strategyId: Strategies.Identifiers.SavingsLiqProtection,
157
- protocol: PROTOCOLS.MakerDAO,
158
- },
159
- [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_RARI]: {
160
- strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_RARI,
161
- bundleId: BundleProtocols.Rari,
162
- bundleName: 'Rari',
163
- strategyId: Strategies.Identifiers.SavingsLiqProtection,
164
- protocol: PROTOCOLS.MakerDAO,
165
- },
166
- [Bundles.MainnetIds.COMP_V3_SW_REPAY_BUNDLE]: {
167
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_REPAY_BUNDLE,
168
- strategyId: Strategies.Identifiers.Repay,
169
- protocol: PROTOCOLS.CompoundV3,
170
- },
171
- [Bundles.MainnetIds.COMP_V3_SW_BOOST_BUNDLE]: {
172
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_BOOST_BUNDLE,
173
- strategyId: Strategies.Identifiers.Boost,
174
- protocol: PROTOCOLS.CompoundV3,
175
- },
176
- [Bundles.MainnetIds.COMP_V3_EOA_REPAY_BUNDLE]: {
177
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_REPAY_BUNDLE,
178
- strategyId: Strategies.Identifiers.EoaRepay,
179
- protocol: PROTOCOLS.CompoundV3,
180
- },
181
- [Bundles.MainnetIds.COMP_V3_EOA_BOOST_BUNDLE]: {
182
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_BOOST_BUNDLE,
183
- strategyId: Strategies.Identifiers.EoaBoost,
184
- protocol: PROTOCOLS.CompoundV3,
185
- },
186
- [Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE]: {
187
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE,
188
- strategyId: Strategies.Identifiers.Repay,
189
- protocol: PROTOCOLS.CompoundV3,
190
- },
191
- [Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE]: {
192
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE,
193
- strategyId: Strategies.Identifiers.Boost,
194
- protocol: PROTOCOLS.CompoundV3,
195
- },
196
- [Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE]: {
197
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE,
198
- strategyId: Strategies.Identifiers.EoaRepay,
199
- protocol: PROTOCOLS.CompoundV3,
200
- },
201
- [Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE]: {
202
- strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE,
203
- strategyId: Strategies.Identifiers.EoaBoost,
204
- protocol: PROTOCOLS.CompoundV3,
205
- },
206
- [Bundles.MainnetIds.LIQUITY_PAYBACK_USING_CHICKEN_BOND]: {
207
- strategyOrBundleId: Bundles.MainnetIds.LIQUITY_PAYBACK_USING_CHICKEN_BOND,
208
- strategyId: Strategies.Identifiers.BondProtection,
209
- protocol: PROTOCOLS.Liquity,
210
- },
211
- [Bundles.MainnetIds.AAVE_V3_REPAY]: {
212
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_REPAY,
213
- strategyId: Strategies.Identifiers.Repay,
214
- protocol: PROTOCOLS.AaveV3,
215
- },
216
- [Bundles.MainnetIds.AAVE_V3_BOOST]: {
217
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_BOOST,
218
- strategyId: Strategies.Identifiers.Boost,
219
- protocol: PROTOCOLS.AaveV3,
220
- },
221
- [Bundles.MainnetIds.MAKER_REPAY]: {
222
- strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY,
223
- strategyId: Strategies.Identifiers.Repay,
224
- protocol: PROTOCOLS.MakerDAO,
225
- },
226
- [Bundles.MainnetIds.MAKER_BOOST]: {
227
- strategyOrBundleId: Bundles.MainnetIds.MAKER_BOOST,
228
- strategyId: Strategies.Identifiers.Boost,
229
- protocol: PROTOCOLS.MakerDAO,
230
- },
231
- [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT]: {
232
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT,
233
- strategyId: Strategies.Identifiers.CloseToDebt,
234
- protocol: PROTOCOLS.AaveV3,
235
- },
236
- [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE]: {
237
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE,
238
- strategyId: Strategies.Identifiers.CloseToDebtWithGasPrice,
239
- protocol: PROTOCOLS.AaveV3,
240
- },
241
- [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
242
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL,
243
- strategyId: Strategies.Identifiers.CloseToCollateral,
244
- protocol: PROTOCOLS.AaveV3,
245
- },
246
- [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE]: {
247
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE,
248
- strategyId: Strategies.Identifiers.CloseToCollateralWithGasPrice,
249
- protocol: PROTOCOLS.AaveV3,
250
- },
251
- [Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY]: {
252
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY,
253
- strategyId: Strategies.Identifiers.Repay,
254
- protocol: PROTOCOLS.MorphoAaveV2,
255
- },
256
- [Bundles.MainnetIds.MORPHO_AAVE_V2_BOOST]: {
257
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_AAVE_V2_BOOST,
258
- strategyId: Strategies.Identifiers.Boost,
259
- protocol: PROTOCOLS.MorphoAaveV2,
260
- },
261
- [Bundles.MainnetIds.LIQUITY_REPAY]: {
262
- strategyOrBundleId: Bundles.MainnetIds.LIQUITY_REPAY,
263
- strategyId: Strategies.Identifiers.Repay,
264
- protocol: PROTOCOLS.Liquity,
265
- },
266
- [Bundles.MainnetIds.LIQUITY_BOOST]: {
267
- strategyOrBundleId: Bundles.MainnetIds.LIQUITY_BOOST,
268
- strategyId: Strategies.Identifiers.Boost,
269
- protocol: PROTOCOLS.Liquity,
270
- },
271
- [Bundles.MainnetIds.SPARK_REPAY]: {
272
- strategyOrBundleId: Bundles.MainnetIds.SPARK_REPAY,
273
- strategyId: Strategies.Identifiers.Repay,
274
- protocol: PROTOCOLS.Spark,
275
- },
276
- [Bundles.MainnetIds.SPARK_BOOST]: {
277
- strategyOrBundleId: Bundles.MainnetIds.SPARK_BOOST,
278
- strategyId: Strategies.Identifiers.Boost,
279
- protocol: PROTOCOLS.Spark,
280
- },
281
- [Bundles.MainnetIds.SPARK_CLOSE_TO_DEBT]: {
282
- strategyOrBundleId: Bundles.MainnetIds.SPARK_CLOSE_TO_DEBT,
283
- strategyId: Strategies.Identifiers.CloseToDebt,
284
- protocol: PROTOCOLS.Spark,
285
- },
286
- [Bundles.MainnetIds.SPARK_CLOSE_TO_COLLATERAL]: {
287
- strategyOrBundleId: Bundles.MainnetIds.SPARK_CLOSE_TO_COLLATERAL,
288
- strategyId: Strategies.Identifiers.CloseToCollateral,
289
- protocol: PROTOCOLS.Spark,
290
- },
291
- [Bundles.MainnetIds.AAVE_V2_REPAY]: {
292
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V2_REPAY,
293
- strategyId: Strategies.Identifiers.Repay,
294
- protocol: PROTOCOLS.AaveV2,
295
- },
296
- [Bundles.MainnetIds.AAVE_V2_BOOST]: {
297
- strategyOrBundleId: Bundles.MainnetIds.AAVE_V2_BOOST,
298
- strategyId: Strategies.Identifiers.Boost,
299
- protocol: PROTOCOLS.AaveV2,
300
- },
301
- [Bundles.MainnetIds.COMP_V2_REPAY]: {
302
- strategyOrBundleId: Bundles.MainnetIds.COMP_V2_REPAY,
303
- strategyId: Strategies.Identifiers.Repay,
304
- protocol: PROTOCOLS.CompoundV2,
305
- },
306
- [Bundles.MainnetIds.COMP_V2_BOOST]: {
307
- strategyOrBundleId: Bundles.MainnetIds.COMP_V2_BOOST,
308
- strategyId: Strategies.Identifiers.Boost,
309
- protocol: PROTOCOLS.CompoundV2,
310
- },
311
- [Bundles.MainnetIds.CRVUSD_REPAY]: {
312
- strategyOrBundleId: Bundles.MainnetIds.CRVUSD_REPAY,
313
- strategyId: Strategies.Identifiers.Repay,
314
- protocol: PROTOCOLS.CrvUSD,
315
- },
316
- [Bundles.MainnetIds.CRVUSD_BOOST]: {
317
- strategyOrBundleId: Bundles.MainnetIds.CRVUSD_BOOST,
318
- strategyId: Strategies.Identifiers.Boost,
319
- protocol: PROTOCOLS.CrvUSD,
320
- },
321
- [Bundles.MainnetIds.MORPHO_BLUE_REPAY]: {
322
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY,
323
- strategyId: Strategies.Identifiers.Repay,
324
- protocol: PROTOCOLS.MorphoBlue,
325
- },
326
- [Bundles.MainnetIds.MORPHO_BLUE_BOOST]: {
327
- strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_BOOST,
328
- strategyId: Strategies.Identifiers.Boost,
329
- protocol: PROTOCOLS.MorphoBlue,
330
- },
331
- };
332
-
333
- export const OPTIMISM_BUNDLES_INFO: OptimismBundleInfo = {
334
- [Bundles.OptimismIds.AAVE_V3_REPAY]: {
335
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_REPAY,
336
- strategyId: Strategies.Identifiers.Repay,
337
- protocol: PROTOCOLS.AaveV3,
338
- },
339
- [Bundles.OptimismIds.AAVE_V3_BOOST]: {
340
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_BOOST,
341
- strategyId: Strategies.Identifiers.Boost,
342
- protocol: PROTOCOLS.AaveV3,
343
- },
344
- [Bundles.OptimismIds.AAVE_V3_CLOSE_TO_DEBT]: {
345
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_CLOSE_TO_DEBT,
346
- strategyId: Strategies.Identifiers.CloseToDebt,
347
- protocol: PROTOCOLS.AaveV3,
348
- },
349
- [Bundles.OptimismIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
350
- strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_CLOSE_TO_COLLATERAL,
351
- strategyId: Strategies.Identifiers.CloseToCollateral,
352
- protocol: PROTOCOLS.AaveV3,
353
- },
354
- };
355
-
356
- export const ARBITRUM_BUNDLES_INFO: ArbitrumBundleInfo = {
357
- [Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
358
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_REPAY,
359
- strategyId: Strategies.Identifiers.Repay,
360
- protocol: PROTOCOLS.AaveV3,
361
- },
362
- [Bundles.ArbitrumIds.AAVE_V3_BOOST]: {
363
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_BOOST,
364
- strategyId: Strategies.Identifiers.Boost,
365
- protocol: PROTOCOLS.AaveV3,
366
- },
367
- [Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_DEBT]: {
368
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_DEBT,
369
- strategyId: Strategies.Identifiers.CloseToDebt,
370
- protocol: PROTOCOLS.AaveV3,
371
- },
372
- [Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
373
- strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_COLLATERAL,
374
- strategyId: Strategies.Identifiers.CloseToCollateral,
375
- protocol: PROTOCOLS.AaveV3,
376
- },
377
- [Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE]: {
378
- strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE,
379
- strategyId: Strategies.Identifiers.Boost,
380
- protocol: PROTOCOLS.CompoundV3,
381
- },
382
- [Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE]: {
383
- strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE,
384
- strategyId: Strategies.Identifiers.Repay,
385
- protocol: PROTOCOLS.CompoundV3,
386
- },
387
- };
388
-
389
- export const BUNDLES_INFO: BundlesInfo = {
390
- [ChainId.Ethereum]: MAINNET_BUNDLES_INFO,
391
- [ChainId.Optimism]: OPTIMISM_BUNDLES_INFO,
392
- [ChainId.Arbitrum]: ARBITRUM_BUNDLES_INFO,
393
- };
394
-
395
- export const BUNDLE_IDS = {
396
- [ChainId.Ethereum]: Bundles.MainnetIds,
397
- [ChainId.Optimism]: Bundles.OptimismIds,
398
- [ChainId.Arbitrum]: Bundles.ArbitrumIds,
399
- };
1
+ import type {
2
+ ArbitrumBundleInfo, BundlesInfo, EthereumAddress, Interfaces, MainnetBundleInfo, MainnetStrategiesInfo, OptimismBundleInfo, StrategiesInfo,
3
+ } from '../types';
4
+
5
+ import {
6
+ ChainId, ProtocolIdentifiers, Strategies, Bundles, BundleProtocols,
7
+ } from '../types/enums';
8
+
9
+ import Protocol from '../automation/private/Protocol';
10
+ import LegacyProtocol from '../automation/private/LegacyProtocol';
11
+
12
+ // General
13
+ export const ZERO_ADDRESS: EthereumAddress = '0x0000000000000000000000000000000000000000';
14
+
15
+ export const PROTOCOLS: Record<keyof typeof ProtocolIdentifiers.StrategiesAutomation, Interfaces.Protocol> = (() => {
16
+ const protocolsMapping: any = {};
17
+ Object.entries(ProtocolIdentifiers.StrategiesAutomation).forEach(([id, value]) => {
18
+ protocolsMapping[id] = new Protocol({ id: value });
19
+ });
20
+ return protocolsMapping;
21
+ })();
22
+
23
+ export const LEGACY_PROTOCOLS: Record<keyof typeof ProtocolIdentifiers.LegacyAutomation, Interfaces.LegacyProtocol> = (() => {
24
+ const protocolsMapping: any = {};
25
+ Object.entries(ProtocolIdentifiers.LegacyAutomation).forEach(([id, value]) => {
26
+ protocolsMapping[id] = new LegacyProtocol({ id: value });
27
+ });
28
+ return protocolsMapping;
29
+ })();
30
+
31
+ // Strategies info
32
+ export const MAINNET_STRATEGIES_INFO: MainnetStrategiesInfo = {
33
+ [Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI]: {
34
+ strategyOrBundleId: Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_DAI,
35
+ strategyId: Strategies.Identifiers.CloseOnPriceToDebt,
36
+ protocol: PROTOCOLS.MakerDAO,
37
+ },
38
+ [Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL]: {
39
+ strategyOrBundleId: Strategies.MainnetIds.MAKER_CLOSE_ON_PRICE_TO_COLL,
40
+ strategyId: Strategies.Identifiers.CloseOnPriceToColl,
41
+ protocol: PROTOCOLS.MakerDAO,
42
+ },
43
+ [Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL_DEPRECATED]: {
44
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL_DEPRECATED,
45
+ strategyId: Strategies.Identifiers.CloseOnPriceToColl,
46
+ protocol: PROTOCOLS.Liquity,
47
+ },
48
+ [Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL]: {
49
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_CLOSE_ON_PRICE_TO_COLL,
50
+ strategyId: Strategies.Identifiers.CloseOnPriceToColl,
51
+ protocol: PROTOCOLS.Liquity,
52
+ },
53
+ [Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL]: {
54
+ strategyOrBundleId: Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_COLL,
55
+ strategyId: Strategies.Identifiers.TrailingStopToColl,
56
+ protocol: PROTOCOLS.MakerDAO,
57
+ },
58
+ [Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI]: {
59
+ strategyOrBundleId: Strategies.MainnetIds.MAKER_TRAILING_STOP_LOSS_TO_DAI,
60
+ strategyId: Strategies.Identifiers.TrailingStopToDebt,
61
+ protocol: PROTOCOLS.MakerDAO,
62
+ },
63
+ [Strategies.MainnetIds.LIQUITY_TRAILING_STOP_LOSS_TO_COLL]: {
64
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_TRAILING_STOP_LOSS_TO_COLL,
65
+ strategyId: Strategies.Identifiers.TrailingStopToColl,
66
+ protocol: PROTOCOLS.Liquity,
67
+ },
68
+ [Strategies.MainnetIds.CHICKEN_BONDS_REBOND]: {
69
+ strategyOrBundleId: Strategies.MainnetIds.CHICKEN_BONDS_REBOND,
70
+ strategyId: Strategies.Identifiers.Rebond,
71
+ protocol: PROTOCOLS.ChickenBonds,
72
+ },
73
+ [Strategies.MainnetIds.EXCHANGE_DCA]: {
74
+ strategyOrBundleId: Strategies.MainnetIds.EXCHANGE_DCA,
75
+ strategyId: Strategies.Identifiers.Dca,
76
+ protocol: PROTOCOLS.Exchange,
77
+ },
78
+ [Strategies.MainnetIds.EXCHANGE_LIMIT_ORDER]: {
79
+ strategyOrBundleId: Strategies.MainnetIds.EXCHANGE_LIMIT_ORDER,
80
+ strategyId: Strategies.Identifiers.LimitOrder,
81
+ protocol: PROTOCOLS.Exchange,
82
+ },
83
+ [Strategies.MainnetIds.LIQUITY_DSR_PAYBACK]: {
84
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DSR_PAYBACK,
85
+ strategyId: Strategies.Identifiers.SavingsDsrPayback,
86
+ protocol: PROTOCOLS.Liquity,
87
+ },
88
+ [Strategies.MainnetIds.LIQUITY_DSR_SUPPLY]: {
89
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DSR_SUPPLY,
90
+ strategyId: Strategies.Identifiers.SavingsDsrSupply,
91
+ protocol: PROTOCOLS.Liquity,
92
+ },
93
+ [Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY]: {
94
+ strategyOrBundleId: Strategies.MainnetIds.LIQUITY_DEBT_IN_FRONT_REPAY,
95
+ strategyId: Strategies.Identifiers.DebtInFrontRepay,
96
+ protocol: PROTOCOLS.Liquity,
97
+ },
98
+ [Strategies.MainnetIds.CURVEUSD_PAYBACK]: {
99
+ strategyOrBundleId: Strategies.MainnetIds.CURVEUSD_PAYBACK,
100
+ strategyId: Strategies.Identifiers.Payback,
101
+ protocol: PROTOCOLS.CrvUSD,
102
+ },
103
+ };
104
+
105
+ export const OPTIMISM_STRATEGIES_INFO = {
106
+ [Strategies.OptimismIds.EXCHANGE_DCA]: {
107
+ strategyOrBundleId: Strategies.OptimismIds.EXCHANGE_DCA,
108
+ strategyId: Strategies.Identifiers.Dca,
109
+ protocol: PROTOCOLS.Exchange,
110
+ },
111
+ [Strategies.OptimismIds.EXCHANGE_LIMIT_ORDER]: {
112
+ strategyOrBundleId: Strategies.OptimismIds.EXCHANGE_LIMIT_ORDER,
113
+ strategyId: Strategies.Identifiers.LimitOrder,
114
+ protocol: PROTOCOLS.Exchange,
115
+ },
116
+ };
117
+
118
+ export const ARBITRUM_STRATEGIES_INFO = {
119
+ [Strategies.ArbitrumIds.EXCHANGE_DCA]: {
120
+ strategyOrBundleId: Strategies.ArbitrumIds.EXCHANGE_DCA,
121
+ strategyId: Strategies.Identifiers.Dca,
122
+ protocol: PROTOCOLS.Exchange,
123
+ },
124
+ [Strategies.ArbitrumIds.EXCHANGE_LIMIT_ORDER]: {
125
+ strategyOrBundleId: Strategies.ArbitrumIds.EXCHANGE_LIMIT_ORDER,
126
+ strategyId: Strategies.Identifiers.LimitOrder,
127
+ protocol: PROTOCOLS.Exchange,
128
+ },
129
+ };
130
+
131
+ export const STRATEGIES_INFO: StrategiesInfo = {
132
+ [ChainId.Ethereum]: MAINNET_STRATEGIES_INFO,
133
+ [ChainId.Optimism]: OPTIMISM_STRATEGIES_INFO,
134
+ [ChainId.Arbitrum]: ARBITRUM_STRATEGIES_INFO,
135
+ };
136
+
137
+ export const STRATEGY_IDS = {
138
+ [ChainId.Ethereum]: Strategies.MainnetIds,
139
+ [ChainId.Optimism]: Strategies.OptimismIds,
140
+ [ChainId.Arbitrum]: Strategies.ArbitrumIds,
141
+ };
142
+
143
+ // Bundles info
144
+ export const MAINNET_BUNDLES_INFO: MainnetBundleInfo = {
145
+ [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_YEARN]: {
146
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_YEARN,
147
+ bundleId: BundleProtocols.Yearn,
148
+ bundleName: 'Yearn',
149
+ strategyId: Strategies.Identifiers.SavingsLiqProtection,
150
+ protocol: PROTOCOLS.MakerDAO,
151
+ },
152
+ [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_MSTABLE]: {
153
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_MSTABLE,
154
+ bundleId: BundleProtocols.MStable,
155
+ bundleName: 'mStable',
156
+ strategyId: Strategies.Identifiers.SavingsLiqProtection,
157
+ protocol: PROTOCOLS.MakerDAO,
158
+ },
159
+ [Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_RARI]: {
160
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY_FROM_SMART_SAVINGS_RARI,
161
+ bundleId: BundleProtocols.Rari,
162
+ bundleName: 'Rari',
163
+ strategyId: Strategies.Identifiers.SavingsLiqProtection,
164
+ protocol: PROTOCOLS.MakerDAO,
165
+ },
166
+ [Bundles.MainnetIds.COMP_V3_SW_REPAY_BUNDLE]: {
167
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_REPAY_BUNDLE,
168
+ strategyId: Strategies.Identifiers.Repay,
169
+ protocol: PROTOCOLS.CompoundV3,
170
+ },
171
+ [Bundles.MainnetIds.COMP_V3_SW_BOOST_BUNDLE]: {
172
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_BOOST_BUNDLE,
173
+ strategyId: Strategies.Identifiers.Boost,
174
+ protocol: PROTOCOLS.CompoundV3,
175
+ },
176
+ [Bundles.MainnetIds.COMP_V3_EOA_REPAY_BUNDLE]: {
177
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_REPAY_BUNDLE,
178
+ strategyId: Strategies.Identifiers.EoaRepay,
179
+ protocol: PROTOCOLS.CompoundV3,
180
+ },
181
+ [Bundles.MainnetIds.COMP_V3_EOA_BOOST_BUNDLE]: {
182
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_BOOST_BUNDLE,
183
+ strategyId: Strategies.Identifiers.EoaBoost,
184
+ protocol: PROTOCOLS.CompoundV3,
185
+ },
186
+ [Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE]: {
187
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_REPAY_V2_BUNDLE,
188
+ strategyId: Strategies.Identifiers.Repay,
189
+ protocol: PROTOCOLS.CompoundV3,
190
+ },
191
+ [Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE]: {
192
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_SW_BOOST_V2_BUNDLE,
193
+ strategyId: Strategies.Identifiers.Boost,
194
+ protocol: PROTOCOLS.CompoundV3,
195
+ },
196
+ [Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE]: {
197
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_REPAY_V2_BUNDLE,
198
+ strategyId: Strategies.Identifiers.EoaRepay,
199
+ protocol: PROTOCOLS.CompoundV3,
200
+ },
201
+ [Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE]: {
202
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V3_EOA_BOOST_V2_BUNDLE,
203
+ strategyId: Strategies.Identifiers.EoaBoost,
204
+ protocol: PROTOCOLS.CompoundV3,
205
+ },
206
+ [Bundles.MainnetIds.LIQUITY_PAYBACK_USING_CHICKEN_BOND]: {
207
+ strategyOrBundleId: Bundles.MainnetIds.LIQUITY_PAYBACK_USING_CHICKEN_BOND,
208
+ strategyId: Strategies.Identifiers.BondProtection,
209
+ protocol: PROTOCOLS.Liquity,
210
+ },
211
+ [Bundles.MainnetIds.AAVE_V3_REPAY]: {
212
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_REPAY,
213
+ strategyId: Strategies.Identifiers.Repay,
214
+ protocol: PROTOCOLS.AaveV3,
215
+ },
216
+ [Bundles.MainnetIds.AAVE_V3_BOOST]: {
217
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_BOOST,
218
+ strategyId: Strategies.Identifiers.Boost,
219
+ protocol: PROTOCOLS.AaveV3,
220
+ },
221
+ [Bundles.MainnetIds.MAKER_REPAY]: {
222
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_REPAY,
223
+ strategyId: Strategies.Identifiers.Repay,
224
+ protocol: PROTOCOLS.MakerDAO,
225
+ },
226
+ [Bundles.MainnetIds.MAKER_BOOST]: {
227
+ strategyOrBundleId: Bundles.MainnetIds.MAKER_BOOST,
228
+ strategyId: Strategies.Identifiers.Boost,
229
+ protocol: PROTOCOLS.MakerDAO,
230
+ },
231
+ [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT]: {
232
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT,
233
+ strategyId: Strategies.Identifiers.CloseToDebt,
234
+ protocol: PROTOCOLS.AaveV3,
235
+ },
236
+ [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE]: {
237
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_DEBT_WITH_GAS_PRICE,
238
+ strategyId: Strategies.Identifiers.CloseToDebtWithGasPrice,
239
+ protocol: PROTOCOLS.AaveV3,
240
+ },
241
+ [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
242
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL,
243
+ strategyId: Strategies.Identifiers.CloseToCollateral,
244
+ protocol: PROTOCOLS.AaveV3,
245
+ },
246
+ [Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE]: {
247
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V3_CLOSE_TO_COLLATERAL_WITH_GAS_PRICE,
248
+ strategyId: Strategies.Identifiers.CloseToCollateralWithGasPrice,
249
+ protocol: PROTOCOLS.AaveV3,
250
+ },
251
+ [Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY]: {
252
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_AAVE_V2_REPAY,
253
+ strategyId: Strategies.Identifiers.Repay,
254
+ protocol: PROTOCOLS.MorphoAaveV2,
255
+ },
256
+ [Bundles.MainnetIds.MORPHO_AAVE_V2_BOOST]: {
257
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_AAVE_V2_BOOST,
258
+ strategyId: Strategies.Identifiers.Boost,
259
+ protocol: PROTOCOLS.MorphoAaveV2,
260
+ },
261
+ [Bundles.MainnetIds.LIQUITY_REPAY]: {
262
+ strategyOrBundleId: Bundles.MainnetIds.LIQUITY_REPAY,
263
+ strategyId: Strategies.Identifiers.Repay,
264
+ protocol: PROTOCOLS.Liquity,
265
+ },
266
+ [Bundles.MainnetIds.LIQUITY_BOOST]: {
267
+ strategyOrBundleId: Bundles.MainnetIds.LIQUITY_BOOST,
268
+ strategyId: Strategies.Identifiers.Boost,
269
+ protocol: PROTOCOLS.Liquity,
270
+ },
271
+ [Bundles.MainnetIds.SPARK_REPAY]: {
272
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_REPAY,
273
+ strategyId: Strategies.Identifiers.Repay,
274
+ protocol: PROTOCOLS.Spark,
275
+ },
276
+ [Bundles.MainnetIds.SPARK_BOOST]: {
277
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_BOOST,
278
+ strategyId: Strategies.Identifiers.Boost,
279
+ protocol: PROTOCOLS.Spark,
280
+ },
281
+ [Bundles.MainnetIds.SPARK_CLOSE_TO_DEBT]: {
282
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_CLOSE_TO_DEBT,
283
+ strategyId: Strategies.Identifiers.CloseToDebt,
284
+ protocol: PROTOCOLS.Spark,
285
+ },
286
+ [Bundles.MainnetIds.SPARK_CLOSE_TO_COLLATERAL]: {
287
+ strategyOrBundleId: Bundles.MainnetIds.SPARK_CLOSE_TO_COLLATERAL,
288
+ strategyId: Strategies.Identifiers.CloseToCollateral,
289
+ protocol: PROTOCOLS.Spark,
290
+ },
291
+ [Bundles.MainnetIds.AAVE_V2_REPAY]: {
292
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V2_REPAY,
293
+ strategyId: Strategies.Identifiers.Repay,
294
+ protocol: PROTOCOLS.AaveV2,
295
+ },
296
+ [Bundles.MainnetIds.AAVE_V2_BOOST]: {
297
+ strategyOrBundleId: Bundles.MainnetIds.AAVE_V2_BOOST,
298
+ strategyId: Strategies.Identifiers.Boost,
299
+ protocol: PROTOCOLS.AaveV2,
300
+ },
301
+ [Bundles.MainnetIds.COMP_V2_REPAY]: {
302
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V2_REPAY,
303
+ strategyId: Strategies.Identifiers.Repay,
304
+ protocol: PROTOCOLS.CompoundV2,
305
+ },
306
+ [Bundles.MainnetIds.COMP_V2_BOOST]: {
307
+ strategyOrBundleId: Bundles.MainnetIds.COMP_V2_BOOST,
308
+ strategyId: Strategies.Identifiers.Boost,
309
+ protocol: PROTOCOLS.CompoundV2,
310
+ },
311
+ [Bundles.MainnetIds.CRVUSD_REPAY]: {
312
+ strategyOrBundleId: Bundles.MainnetIds.CRVUSD_REPAY,
313
+ strategyId: Strategies.Identifiers.Repay,
314
+ protocol: PROTOCOLS.CrvUSD,
315
+ },
316
+ [Bundles.MainnetIds.CRVUSD_BOOST]: {
317
+ strategyOrBundleId: Bundles.MainnetIds.CRVUSD_BOOST,
318
+ strategyId: Strategies.Identifiers.Boost,
319
+ protocol: PROTOCOLS.CrvUSD,
320
+ },
321
+ [Bundles.MainnetIds.MORPHO_BLUE_REPAY]: {
322
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_REPAY,
323
+ strategyId: Strategies.Identifiers.Repay,
324
+ protocol: PROTOCOLS.MorphoBlue,
325
+ },
326
+ [Bundles.MainnetIds.MORPHO_BLUE_BOOST]: {
327
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_BOOST,
328
+ strategyId: Strategies.Identifiers.Boost,
329
+ protocol: PROTOCOLS.MorphoBlue,
330
+ },
331
+ [Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY]: {
332
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_REPAY,
333
+ strategyId: Strategies.Identifiers.EoaRepay,
334
+ protocol: PROTOCOLS.MorphoBlue,
335
+ },
336
+ [Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST]: {
337
+ strategyOrBundleId: Bundles.MainnetIds.MORPHO_BLUE_EOA_BOOST,
338
+ strategyId: Strategies.Identifiers.EoaBoost,
339
+ protocol: PROTOCOLS.MorphoBlue,
340
+ },
341
+ };
342
+
343
+ export const OPTIMISM_BUNDLES_INFO: OptimismBundleInfo = {
344
+ [Bundles.OptimismIds.AAVE_V3_REPAY]: {
345
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_REPAY,
346
+ strategyId: Strategies.Identifiers.Repay,
347
+ protocol: PROTOCOLS.AaveV3,
348
+ },
349
+ [Bundles.OptimismIds.AAVE_V3_BOOST]: {
350
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_BOOST,
351
+ strategyId: Strategies.Identifiers.Boost,
352
+ protocol: PROTOCOLS.AaveV3,
353
+ },
354
+ [Bundles.OptimismIds.AAVE_V3_CLOSE_TO_DEBT]: {
355
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_CLOSE_TO_DEBT,
356
+ strategyId: Strategies.Identifiers.CloseToDebt,
357
+ protocol: PROTOCOLS.AaveV3,
358
+ },
359
+ [Bundles.OptimismIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
360
+ strategyOrBundleId: Bundles.OptimismIds.AAVE_V3_CLOSE_TO_COLLATERAL,
361
+ strategyId: Strategies.Identifiers.CloseToCollateral,
362
+ protocol: PROTOCOLS.AaveV3,
363
+ },
364
+ };
365
+
366
+ export const ARBITRUM_BUNDLES_INFO: ArbitrumBundleInfo = {
367
+ [Bundles.ArbitrumIds.AAVE_V3_REPAY]: {
368
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_REPAY,
369
+ strategyId: Strategies.Identifiers.Repay,
370
+ protocol: PROTOCOLS.AaveV3,
371
+ },
372
+ [Bundles.ArbitrumIds.AAVE_V3_BOOST]: {
373
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_BOOST,
374
+ strategyId: Strategies.Identifiers.Boost,
375
+ protocol: PROTOCOLS.AaveV3,
376
+ },
377
+ [Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_DEBT]: {
378
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_DEBT,
379
+ strategyId: Strategies.Identifiers.CloseToDebt,
380
+ protocol: PROTOCOLS.AaveV3,
381
+ },
382
+ [Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_COLLATERAL]: {
383
+ strategyOrBundleId: Bundles.ArbitrumIds.AAVE_V3_CLOSE_TO_COLLATERAL,
384
+ strategyId: Strategies.Identifiers.CloseToCollateral,
385
+ protocol: PROTOCOLS.AaveV3,
386
+ },
387
+ [Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE]: {
388
+ strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_BOOST_BUNDLE,
389
+ strategyId: Strategies.Identifiers.Boost,
390
+ protocol: PROTOCOLS.CompoundV3,
391
+ },
392
+ [Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE]: {
393
+ strategyOrBundleId: Bundles.ArbitrumIds.COMP_V3_SW_REPAY_BUNDLE,
394
+ strategyId: Strategies.Identifiers.Repay,
395
+ protocol: PROTOCOLS.CompoundV3,
396
+ },
397
+ };
398
+
399
+ export const BUNDLES_INFO: BundlesInfo = {
400
+ [ChainId.Ethereum]: MAINNET_BUNDLES_INFO,
401
+ [ChainId.Optimism]: OPTIMISM_BUNDLES_INFO,
402
+ [ChainId.Arbitrum]: ARBITRUM_BUNDLES_INFO,
403
+ };
404
+
405
+ export const BUNDLE_IDS = {
406
+ [ChainId.Ethereum]: Bundles.MainnetIds,
407
+ [ChainId.Optimism]: Bundles.OptimismIds,
408
+ [ChainId.Arbitrum]: Bundles.ArbitrumIds,
409
+ };