@defisaver/automation-sdk 3.0.6 → 3.0.8-dev

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