@defisaver/automation-sdk 3.1.3 → 3.2.0

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 (246) hide show
  1. package/.babelrc +3 -3
  2. package/.editorconfig +9 -9
  3. package/.env +5 -0
  4. package/.env.dev +4 -4
  5. package/.eslintignore +6 -6
  6. package/.eslintrc.js +39 -39
  7. package/.mocharc.json +4 -4
  8. package/.nvmrc +1 -1
  9. package/README.md +46 -46
  10. package/cjs/abis/Erc20.json +223 -223
  11. package/cjs/abis/SubStorage.json +21 -21
  12. package/cjs/abis/UniMulticall.json +17 -17
  13. package/cjs/abis/index.d.ts +9 -9
  14. package/cjs/abis/index.js +30 -30
  15. package/cjs/abis/legacy_AaveV2Subscriptions.json +8 -8
  16. package/cjs/abis/legacy_AuthCheck.json +8 -8
  17. package/cjs/abis/legacy_CompoundV2Subscriptions.json +9 -9
  18. package/cjs/abis/legacy_MakerSubscriptions.json +9 -9
  19. package/cjs/automation/private/Automation.d.ts +12 -12
  20. package/cjs/automation/private/Automation.js +42 -42
  21. package/cjs/automation/private/LegacyAutomation.d.ts +25 -25
  22. package/cjs/automation/private/LegacyAutomation.js +118 -118
  23. package/cjs/automation/private/LegacyProtocol.d.ts +22 -22
  24. package/cjs/automation/private/LegacyProtocol.js +41 -41
  25. package/cjs/automation/private/LegacyProtocol.test.d.ts +1 -1
  26. package/cjs/automation/private/LegacyProtocol.test.js +25 -25
  27. package/cjs/automation/private/Protocol.d.ts +22 -22
  28. package/cjs/automation/private/Protocol.js +41 -41
  29. package/cjs/automation/private/Protocol.test.d.ts +1 -1
  30. package/cjs/automation/private/Protocol.test.js +25 -25
  31. package/cjs/automation/private/StrategiesAutomation.d.ts +33 -33
  32. package/cjs/automation/private/StrategiesAutomation.js +190 -181
  33. package/cjs/automation/private/StrategiesAutomation.test.d.ts +1 -1
  34. package/cjs/automation/private/StrategiesAutomation.test.js +671 -671
  35. package/cjs/automation/public/ArbitrumStrategies.d.ts +5 -5
  36. package/cjs/automation/public/ArbitrumStrategies.js +13 -13
  37. package/cjs/automation/public/BaseStrategies.d.ts +5 -5
  38. package/cjs/automation/public/BaseStrategies.js +13 -13
  39. package/cjs/automation/public/EthereumStrategies.d.ts +5 -5
  40. package/cjs/automation/public/EthereumStrategies.js +13 -13
  41. package/cjs/automation/public/OptimismStrategies.d.ts +5 -5
  42. package/cjs/automation/public/OptimismStrategies.js +13 -13
  43. package/cjs/automation/public/Strategies.test.d.ts +1 -0
  44. package/cjs/automation/public/Strategies.test.js +61 -0
  45. package/cjs/automation/public/legacy/LegacyAaveAutomation.d.ts +6 -6
  46. package/cjs/automation/public/legacy/LegacyAaveAutomation.js +20 -20
  47. package/cjs/automation/public/legacy/LegacyCompoundAutomation.d.ts +6 -6
  48. package/cjs/automation/public/legacy/LegacyCompoundAutomation.js +20 -20
  49. package/cjs/automation/public/legacy/LegacyMakerAutomation.d.ts +6 -6
  50. package/cjs/automation/public/legacy/LegacyMakerAutomation.js +20 -20
  51. package/cjs/configuration.d.ts +1 -1
  52. package/cjs/configuration.js +12 -12
  53. package/cjs/constants/index.d.ts +28 -28
  54. package/cjs/constants/index.js +494 -489
  55. package/cjs/index.d.ts +23 -23
  56. package/cjs/index.js +65 -65
  57. package/cjs/services/contractService.d.ts +12 -12
  58. package/cjs/services/contractService.js +54 -54
  59. package/cjs/services/ethereumService.d.ts +7 -7
  60. package/cjs/services/ethereumService.js +49 -49
  61. package/cjs/services/ethereumService.test.d.ts +1 -1
  62. package/cjs/services/ethereumService.test.js +242 -242
  63. package/cjs/services/strategiesService.d.ts +2 -2
  64. package/cjs/services/strategiesService.js +724 -723
  65. package/cjs/services/strategiesService.test.d.ts +1 -1
  66. package/cjs/services/strategiesService.test.js +110 -110
  67. package/cjs/services/strategySubService.d.ts +100 -100
  68. package/cjs/services/strategySubService.js +267 -267
  69. package/cjs/services/strategySubService.test.d.ts +1 -1
  70. package/cjs/services/strategySubService.test.js +936 -936
  71. package/cjs/services/subDataService.d.ts +192 -192
  72. package/cjs/services/subDataService.js +475 -475
  73. package/cjs/services/subDataService.test.d.ts +1 -1
  74. package/cjs/services/subDataService.test.js +1282 -1282
  75. package/cjs/services/triggerService.d.ts +191 -191
  76. package/cjs/services/triggerService.js +367 -367
  77. package/cjs/services/triggerService.test.d.ts +1 -1
  78. package/cjs/services/triggerService.test.js +926 -926
  79. package/cjs/services/utils.d.ts +25 -25
  80. package/cjs/services/utils.js +131 -131
  81. package/cjs/services/utils.test.d.ts +1 -1
  82. package/cjs/services/utils.test.js +376 -376
  83. package/cjs/types/contracts/generated/Erc20.d.ts +53 -53
  84. package/cjs/types/contracts/generated/Erc20.js +5 -5
  85. package/cjs/types/contracts/generated/Legacy_AaveV2Subscriptions.d.ts +129 -129
  86. package/cjs/types/contracts/generated/Legacy_AaveV2Subscriptions.js +5 -5
  87. package/cjs/types/contracts/generated/Legacy_AuthCheck.d.ts +20 -20
  88. package/cjs/types/contracts/generated/Legacy_AuthCheck.js +5 -5
  89. package/cjs/types/contracts/generated/Legacy_CompoundV2Subscriptions.d.ts +128 -128
  90. package/cjs/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +5 -5
  91. package/cjs/types/contracts/generated/Legacy_MakerSubscriptions.d.ts +246 -246
  92. package/cjs/types/contracts/generated/Legacy_MakerSubscriptions.js +5 -5
  93. package/cjs/types/contracts/generated/SubStorage.d.ts +110 -114
  94. package/cjs/types/contracts/generated/SubStorage.js +5 -5
  95. package/cjs/types/contracts/generated/UniMulticall.d.ts +55 -55
  96. package/cjs/types/contracts/generated/UniMulticall.js +5 -5
  97. package/cjs/types/contracts/generated/index.d.ts +7 -7
  98. package/cjs/types/contracts/generated/index.js +2 -2
  99. package/cjs/types/contracts/generated/types.d.ts +54 -54
  100. package/cjs/types/contracts/generated/types.js +2 -2
  101. package/cjs/types/enums.d.ts +186 -184
  102. package/cjs/types/enums.js +208 -206
  103. package/cjs/types/index.d.ts +224 -224
  104. package/cjs/types/index.js +2 -2
  105. package/esm/abis/Erc20.json +223 -223
  106. package/esm/abis/SubStorage.json +21 -21
  107. package/esm/abis/UniMulticall.json +17 -17
  108. package/esm/abis/index.d.ts +9 -9
  109. package/esm/abis/index.js +18 -18
  110. package/esm/abis/legacy_AaveV2Subscriptions.json +8 -8
  111. package/esm/abis/legacy_AuthCheck.json +8 -8
  112. package/esm/abis/legacy_CompoundV2Subscriptions.json +9 -9
  113. package/esm/abis/legacy_MakerSubscriptions.json +9 -9
  114. package/esm/automation/private/Automation.d.ts +12 -12
  115. package/esm/automation/private/Automation.js +39 -39
  116. package/esm/automation/private/LegacyAutomation.d.ts +25 -25
  117. package/esm/automation/private/LegacyAutomation.js +112 -112
  118. package/esm/automation/private/LegacyProtocol.d.ts +22 -22
  119. package/esm/automation/private/LegacyProtocol.js +38 -38
  120. package/esm/automation/private/LegacyProtocol.test.d.ts +1 -1
  121. package/esm/automation/private/LegacyProtocol.test.js +20 -20
  122. package/esm/automation/private/Protocol.d.ts +22 -22
  123. package/esm/automation/private/Protocol.js +38 -38
  124. package/esm/automation/private/Protocol.test.d.ts +1 -1
  125. package/esm/automation/private/Protocol.test.js +20 -20
  126. package/esm/automation/private/StrategiesAutomation.d.ts +33 -33
  127. package/esm/automation/private/StrategiesAutomation.js +184 -175
  128. package/esm/automation/private/StrategiesAutomation.test.d.ts +1 -1
  129. package/esm/automation/private/StrategiesAutomation.test.js +666 -666
  130. package/esm/automation/public/ArbitrumStrategies.d.ts +5 -5
  131. package/esm/automation/public/ArbitrumStrategies.js +7 -7
  132. package/esm/automation/public/BaseStrategies.d.ts +5 -5
  133. package/esm/automation/public/BaseStrategies.js +7 -7
  134. package/esm/automation/public/EthereumStrategies.d.ts +5 -5
  135. package/esm/automation/public/EthereumStrategies.js +7 -7
  136. package/esm/automation/public/OptimismStrategies.d.ts +5 -5
  137. package/esm/automation/public/OptimismStrategies.js +7 -7
  138. package/esm/automation/public/Strategies.test.d.ts +1 -0
  139. package/esm/automation/public/Strategies.test.js +56 -0
  140. package/esm/automation/public/legacy/LegacyAaveAutomation.d.ts +6 -6
  141. package/esm/automation/public/legacy/LegacyAaveAutomation.js +14 -14
  142. package/esm/automation/public/legacy/LegacyCompoundAutomation.d.ts +6 -6
  143. package/esm/automation/public/legacy/LegacyCompoundAutomation.js +14 -14
  144. package/esm/automation/public/legacy/LegacyMakerAutomation.d.ts +6 -6
  145. package/esm/automation/public/legacy/LegacyMakerAutomation.js +14 -14
  146. package/esm/configuration.d.ts +1 -1
  147. package/esm/configuration.js +7 -7
  148. package/esm/constants/index.d.ts +28 -28
  149. package/esm/constants/index.js +488 -483
  150. package/esm/index.d.ts +23 -23
  151. package/esm/index.js +23 -23
  152. package/esm/services/contractService.d.ts +12 -12
  153. package/esm/services/contractService.js +45 -45
  154. package/esm/services/ethereumService.d.ts +7 -7
  155. package/esm/services/ethereumService.js +41 -41
  156. package/esm/services/ethereumService.test.d.ts +1 -1
  157. package/esm/services/ethereumService.test.js +237 -237
  158. package/esm/services/strategiesService.d.ts +2 -2
  159. package/esm/services/strategiesService.js +697 -696
  160. package/esm/services/strategiesService.test.d.ts +1 -1
  161. package/esm/services/strategiesService.test.js +108 -108
  162. package/esm/services/strategySubService.d.ts +100 -100
  163. package/esm/services/strategySubService.js +238 -238
  164. package/esm/services/strategySubService.test.d.ts +1 -1
  165. package/esm/services/strategySubService.test.js +908 -908
  166. package/esm/services/subDataService.d.ts +192 -192
  167. package/esm/services/subDataService.js +469 -469
  168. package/esm/services/subDataService.test.d.ts +1 -1
  169. package/esm/services/subDataService.test.js +1254 -1254
  170. package/esm/services/triggerService.d.ts +191 -191
  171. package/esm/services/triggerService.js +338 -338
  172. package/esm/services/triggerService.test.d.ts +1 -1
  173. package/esm/services/triggerService.test.js +901 -901
  174. package/esm/services/utils.d.ts +25 -25
  175. package/esm/services/utils.js +82 -82
  176. package/esm/services/utils.test.d.ts +1 -1
  177. package/esm/services/utils.test.js +348 -348
  178. package/esm/types/contracts/generated/Erc20.d.ts +53 -53
  179. package/esm/types/contracts/generated/Erc20.js +4 -4
  180. package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.d.ts +129 -129
  181. package/esm/types/contracts/generated/Legacy_AaveV2Subscriptions.js +4 -4
  182. package/esm/types/contracts/generated/Legacy_AuthCheck.d.ts +20 -20
  183. package/esm/types/contracts/generated/Legacy_AuthCheck.js +4 -4
  184. package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.d.ts +128 -128
  185. package/esm/types/contracts/generated/Legacy_CompoundV2Subscriptions.js +4 -4
  186. package/esm/types/contracts/generated/Legacy_MakerSubscriptions.d.ts +246 -246
  187. package/esm/types/contracts/generated/Legacy_MakerSubscriptions.js +4 -4
  188. package/esm/types/contracts/generated/SubStorage.d.ts +110 -114
  189. package/esm/types/contracts/generated/SubStorage.js +4 -4
  190. package/esm/types/contracts/generated/UniMulticall.d.ts +55 -55
  191. package/esm/types/contracts/generated/UniMulticall.js +4 -4
  192. package/esm/types/contracts/generated/index.d.ts +7 -7
  193. package/esm/types/contracts/generated/index.js +1 -1
  194. package/esm/types/contracts/generated/types.d.ts +54 -54
  195. package/esm/types/contracts/generated/types.js +1 -1
  196. package/esm/types/enums.d.ts +186 -184
  197. package/esm/types/enums.js +205 -203
  198. package/esm/types/index.d.ts +224 -224
  199. package/esm/types/index.js +1 -1
  200. package/package.json +62 -61
  201. package/scripts/generateContractTypes.js +39 -39
  202. package/src/abis/Erc20.json +222 -222
  203. package/src/abis/SubStorage.json +21 -21
  204. package/src/abis/UniMulticall.json +17 -17
  205. package/src/abis/index.ts +28 -28
  206. package/src/abis/legacy_AaveV2Subscriptions.json +7 -7
  207. package/src/abis/legacy_AuthCheck.json +7 -7
  208. package/src/abis/legacy_CompoundV2Subscriptions.json +8 -8
  209. package/src/abis/legacy_MakerSubscriptions.json +8 -8
  210. package/src/automation/private/Automation.ts +44 -44
  211. package/src/automation/private/LegacyAutomation.ts +135 -135
  212. package/src/automation/private/LegacyProtocol.test.ts +23 -23
  213. package/src/automation/private/LegacyProtocol.ts +51 -51
  214. package/src/automation/private/Protocol.test.ts +23 -23
  215. package/src/automation/private/Protocol.ts +51 -51
  216. package/src/automation/private/StrategiesAutomation.test.ts +663 -663
  217. package/src/automation/private/StrategiesAutomation.ts +254 -242
  218. package/src/automation/public/ArbitrumStrategies.ts +10 -10
  219. package/src/automation/public/BaseStrategies.ts +10 -10
  220. package/src/automation/public/EthereumStrategies.ts +10 -10
  221. package/src/automation/public/OptimismStrategies.ts +10 -10
  222. package/src/automation/public/Strategies.test.ts +49 -0
  223. package/src/automation/public/legacy/LegacyAaveAutomation.ts +20 -20
  224. package/src/automation/public/legacy/LegacyCompoundAutomation.ts +20 -20
  225. package/src/automation/public/legacy/LegacyMakerAutomation.ts +20 -20
  226. package/src/configuration.ts +8 -8
  227. package/src/constants/index.ts +523 -507
  228. package/src/index.ts +39 -39
  229. package/src/services/contractService.ts +77 -77
  230. package/src/services/ethereumService.test.ts +257 -257
  231. package/src/services/ethereumService.ts +69 -69
  232. package/src/services/strategiesService.test.ts +105 -105
  233. package/src/services/strategiesService.ts +935 -934
  234. package/src/services/strategySubService.test.ts +1122 -1122
  235. package/src/services/strategySubService.ts +524 -524
  236. package/src/services/subDataService.test.ts +1387 -1387
  237. package/src/services/subDataService.ts +645 -645
  238. package/src/services/triggerService.test.ts +1004 -1004
  239. package/src/services/triggerService.ts +449 -449
  240. package/src/services/utils.test.ts +430 -430
  241. package/src/services/utils.ts +103 -103
  242. package/src/types/enums.ts +202 -200
  243. package/src/types/index.ts +279 -279
  244. package/tsconfig.esm.json +8 -8
  245. package/tsconfig.json +22 -22
  246. package/umd/index.js +0 -34103
@@ -1 +1 @@
1
- import '../configuration';
1
+ import '../configuration';
@@ -1,108 +1,108 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { expect } from 'chai';
11
- import { ProtocolIdentifiers, Strategies } from '../types/enums';
12
- import '../configuration';
13
- import { parseStrategiesAutomatedPosition } from './strategiesService';
14
- describe('Feature: strategiesService.ts', () => {
15
- describe('When testing strategiesService.parseStrategiesAutomatedPosition', () => __awaiter(void 0, void 0, void 0, function* () {
16
- // TODO: we should probably write this for every strategy?
17
- const examples = [
18
- [
19
- {
20
- isEnabled: true,
21
- chainId: 1,
22
- positionId: '1-aave__v3-0x9cb7e19861665366011899d74e75d4f2a419aeed-0x2f39d218133afab8f2b819b1066c7e434ad94e9e',
23
- subHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1',
24
- blockNumber: 18015756,
25
- subId: 379,
26
- owner: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
27
- protocol: {
28
- id: ProtocolIdentifiers.StrategiesAutomation.AaveV3,
29
- name: 'Aave',
30
- slug: 'aave',
31
- version: 'V3',
32
- fullName: 'Aave V3'
33
- },
34
- strategy: {
35
- isBundle: true,
36
- strategyOrBundleId: 8,
37
- strategyId: Strategies.IdOverrides.LeverageManagement,
38
- protocol: {
39
- id: ProtocolIdentifiers.StrategiesAutomation.AaveV3,
40
- name: 'Aave',
41
- slug: 'aave',
42
- version: 'V3',
43
- fullName: 'Aave V3'
44
- }
45
- },
46
- strategyData: {
47
- encoded: {
48
- triggerData: [
49
- '0x0000000000000000000000009cb7e19861665366011899d74e75d4f2a419aeed0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e00000000000000000000000000000000000000000000000019ac8532c27900000000000000000000000000000000000000000000000000000000000000000001',
50
- ],
51
- subData: [
52
- '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
53
- '0x0000000000000000000000000000000000000000000000000000000000000001',
54
- '0x0000000000000000000000000000000000000000000000000000000000000001',
55
- '0x0000000000000000000000000000000000000000000000000000000000000000'
56
- ]
57
- },
58
- decoded: {
59
- triggerData: {
60
- owner: '0x9cB7E19861665366011899d74E75d4F2A419aEeD',
61
- market: '0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e',
62
- ratio: 185,
63
- ratioState: 1
64
- },
65
- subData: { targetRatio: 200 }
66
- }
67
- },
68
- specific: {
69
- triggerRepayRatio: 185,
70
- targetRepayRatio: 200,
71
- repayEnabled: true,
72
- subId1: 379,
73
- mergeWithId: Strategies.Identifiers.Boost,
74
- }
75
- },
76
- {
77
- chainId: 1,
78
- blockNumber: 18015756,
79
- subscriptionEventData: {
80
- subId: '379',
81
- proxy: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
82
- subHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1',
83
- // @ts-ignore
84
- subStruct: {
85
- strategyOrBundleId: '8',
86
- isBundle: true,
87
- triggerData: ['0x0000000000000000000000009cb7e19861665366011899d74e75d4f2a419aeed0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e00000000000000000000000000000000000000000000000019ac8532c27900000000000000000000000000000000000000000000000000000000000000000001'],
88
- subData: [
89
- '0x0000000000000000000000000000000000000000000000001bc16d674ec80000', '0x0000000000000000000000000000000000000000000000000000000000000001',
90
- '0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000000000000000000000',
91
- ],
92
- }
93
- },
94
- strategiesSubsData: {
95
- userProxy: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
96
- isEnabled: true,
97
- strategySubHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1'
98
- }
99
- },
100
- ],
101
- ];
102
- examples.forEach(([expected, actual]) => {
103
- it(`Given ${JSON.stringify(actual)} should return expected value: ${JSON.stringify(expected)}`, () => __awaiter(void 0, void 0, void 0, function* () {
104
- expect(parseStrategiesAutomatedPosition(actual)).to.eql(expected);
105
- }));
106
- });
107
- }));
108
- });
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { expect } from 'chai';
11
+ import { ProtocolIdentifiers, Strategies } from '../types/enums';
12
+ import '../configuration';
13
+ import { parseStrategiesAutomatedPosition } from './strategiesService';
14
+ describe('Feature: strategiesService.ts', () => {
15
+ describe('When testing strategiesService.parseStrategiesAutomatedPosition', () => __awaiter(void 0, void 0, void 0, function* () {
16
+ // TODO: we should probably write this for every strategy?
17
+ const examples = [
18
+ [
19
+ {
20
+ isEnabled: true,
21
+ chainId: 1,
22
+ positionId: '1-aave__v3-0x9cb7e19861665366011899d74e75d4f2a419aeed-0x2f39d218133afab8f2b819b1066c7e434ad94e9e',
23
+ subHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1',
24
+ blockNumber: 18015756,
25
+ subId: 379,
26
+ owner: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
27
+ protocol: {
28
+ id: ProtocolIdentifiers.StrategiesAutomation.AaveV3,
29
+ name: 'Aave',
30
+ slug: 'aave',
31
+ version: 'V3',
32
+ fullName: 'Aave V3'
33
+ },
34
+ strategy: {
35
+ isBundle: true,
36
+ strategyOrBundleId: 8,
37
+ strategyId: Strategies.IdOverrides.LeverageManagement,
38
+ protocol: {
39
+ id: ProtocolIdentifiers.StrategiesAutomation.AaveV3,
40
+ name: 'Aave',
41
+ slug: 'aave',
42
+ version: 'V3',
43
+ fullName: 'Aave V3'
44
+ }
45
+ },
46
+ strategyData: {
47
+ encoded: {
48
+ triggerData: [
49
+ '0x0000000000000000000000009cb7e19861665366011899d74e75d4f2a419aeed0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e00000000000000000000000000000000000000000000000019ac8532c27900000000000000000000000000000000000000000000000000000000000000000001',
50
+ ],
51
+ subData: [
52
+ '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
53
+ '0x0000000000000000000000000000000000000000000000000000000000000001',
54
+ '0x0000000000000000000000000000000000000000000000000000000000000001',
55
+ '0x0000000000000000000000000000000000000000000000000000000000000000'
56
+ ]
57
+ },
58
+ decoded: {
59
+ triggerData: {
60
+ owner: '0x9cB7E19861665366011899d74E75d4F2A419aEeD',
61
+ market: '0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e',
62
+ ratio: 185,
63
+ ratioState: 1
64
+ },
65
+ subData: { targetRatio: 200 }
66
+ }
67
+ },
68
+ specific: {
69
+ triggerRepayRatio: 185,
70
+ targetRepayRatio: 200,
71
+ repayEnabled: true,
72
+ subId1: 379,
73
+ mergeWithId: Strategies.Identifiers.Boost,
74
+ }
75
+ },
76
+ {
77
+ chainId: 1,
78
+ blockNumber: 18015756,
79
+ subscriptionEventData: {
80
+ subId: '379',
81
+ proxy: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
82
+ subHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1',
83
+ // @ts-ignore
84
+ subStruct: {
85
+ strategyOrBundleId: '8',
86
+ isBundle: true,
87
+ triggerData: ['0x0000000000000000000000009cb7e19861665366011899d74e75d4f2a419aeed0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e00000000000000000000000000000000000000000000000019ac8532c27900000000000000000000000000000000000000000000000000000000000000000001'],
88
+ subData: [
89
+ '0x0000000000000000000000000000000000000000000000001bc16d674ec80000', '0x0000000000000000000000000000000000000000000000000000000000000001',
90
+ '0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000000000000000000000',
91
+ ],
92
+ }
93
+ },
94
+ strategiesSubsData: {
95
+ userProxy: '0x9cb7e19861665366011899d74e75d4f2a419aeed',
96
+ isEnabled: true,
97
+ strategySubHash: '0xafa4d200be62f171b57b1ae0f4e8348d1ac3f6d0812ad6da74a2adae8037dde1'
98
+ }
99
+ },
100
+ ],
101
+ ];
102
+ examples.forEach(([expected, actual]) => {
103
+ it(`Given ${JSON.stringify(actual)} should return expected value: ${JSON.stringify(expected)}`, () => __awaiter(void 0, void 0, void 0, function* () {
104
+ expect(parseStrategiesAutomatedPosition(actual)).to.eql(expected);
105
+ }));
106
+ });
107
+ }));
108
+ });
@@ -1,100 +1,100 @@
1
- import type { OrderType } from '../types/enums';
2
- import { Bundles, ChainId, RatioState, Strategies } from '../types/enums';
3
- import type { EthereumAddress, StrategyOrBundleIds } from '../types';
4
- export declare const makerEncode: {
5
- repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds | Bundles.BaseIds)[];
6
- closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
7
- trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
8
- leverageManagement(vaultId: number, triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | number | boolean)[];
9
- };
10
- export declare const liquityEncode: {
11
- closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
12
- trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
13
- paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
14
- leverageManagement(triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | boolean)[];
15
- dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
16
- dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
17
- debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
18
- };
19
- export declare const chickenBondsEncode: {
20
- rebond(bondId: number): string[];
21
- };
22
- export declare const aaveV2Encode: {
23
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
24
- };
25
- export declare const aaveV3Encode: {
26
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
27
- closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
28
- baseTokenAddress: EthereumAddress;
29
- quoteTokenAddress: EthereumAddress;
30
- price: number;
31
- ratioState: RatioState;
32
- }, subData: {
33
- collAsset: EthereumAddress;
34
- collAssetId: number;
35
- debtAsset: EthereumAddress;
36
- debtAssetId: number;
37
- }): (number | boolean | string[])[];
38
- closeToAssetWithMaximumGasPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
39
- baseTokenAddress: EthereumAddress;
40
- quoteTokenAddress: EthereumAddress;
41
- price: number;
42
- ratioState: RatioState;
43
- maximumGasPrice: number;
44
- }, subData: {
45
- collAsset: EthereumAddress;
46
- collAssetId: number;
47
- debtAsset: EthereumAddress;
48
- debtAssetId: number;
49
- }): (number | boolean | string[])[];
50
- openOrder(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
51
- baseTokenAddress: EthereumAddress;
52
- quoteTokenAddress: EthereumAddress;
53
- price: number;
54
- state: RatioState.UNDER;
55
- }, subData: {
56
- collAsset: EthereumAddress;
57
- collAssetId: number;
58
- debtAsset: EthereumAddress;
59
- debtAssetId: number;
60
- marketAddr: EthereumAddress;
61
- targetRatio: number;
62
- }): (number | boolean | string[])[];
63
- };
64
- export declare const compoundV2Encode: {
65
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
66
- };
67
- export declare const compoundV3Encode: {
68
- leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
69
- };
70
- export declare const compoundV3L2Encode: {
71
- leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
72
- };
73
- export declare const morphoAaveV2Encode: {
74
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
75
- };
76
- export declare const exchangeEncode: {
77
- dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
78
- limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
79
- };
80
- export declare const sparkEncode: {
81
- leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
82
- closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
83
- baseTokenAddress: EthereumAddress;
84
- quoteTokenAddress: EthereumAddress;
85
- price: number;
86
- ratioState: RatioState;
87
- }, subData: {
88
- collAsset: EthereumAddress;
89
- collAssetId: number;
90
- debtAsset: EthereumAddress;
91
- debtAssetId: number;
92
- }): (number | boolean | string[])[];
93
- };
94
- export declare const crvUSDEncode: {
95
- leverageManagement(owner: EthereumAddress, controllerAddr: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, collTokenAddr: EthereumAddress, crvUSDAddr: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
96
- payback(proxyAddress: EthereumAddress, addressToPullTokensFrom: EthereumAddress, positionOwner: EthereumAddress, paybackAmount: string, crvUSDAddr: EthereumAddress, controllerAddr: EthereumAddress, minHealthRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
97
- };
98
- export declare const morphoBlueEncode: {
99
- leverageManagement(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.MainnetIds)[] | (boolean | string[] | Bundles.BaseIds)[];
100
- };
1
+ import type { OrderType } from '../types/enums';
2
+ import { Bundles, ChainId, RatioState, Strategies } from '../types/enums';
3
+ import type { EthereumAddress, StrategyOrBundleIds } from '../types';
4
+ export declare const makerEncode: {
5
+ repayFromSavings(bundleId: StrategyOrBundleIds, vaultId: number, triggerRepayRatio: number, targetRepayRatio: number, isBundle?: boolean, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds | Bundles.MainnetIds | Bundles.OptimismIds | Bundles.ArbitrumIds | Bundles.BaseIds)[];
6
+ closeOnPrice(vaultId: number, ratioState: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
7
+ trailingStop(vaultId: number, triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
8
+ leverageManagement(vaultId: number, triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | number | boolean)[];
9
+ };
10
+ export declare const liquityEncode: {
11
+ closeOnPrice(priceOverOrUnder: RatioState, price: string, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
12
+ trailingStop(triggerPercentage: number, closeToAssetAddr: EthereumAddress, chainlinkCollAddress: EthereumAddress, roundId: number, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): (boolean | string[] | Strategies.MainnetIds)[];
13
+ paybackFromChickenBondStrategySub(proxyAddress: EthereumAddress, ratio: number, sourceId: string, sourceType: number, ratioState?: RatioState): (boolean | string[] | Bundles.MainnetIds)[];
14
+ leverageManagement(triggerRepayRatio: string, triggerBoostRatio: string, targetBoostRatio: string, targetRepayRatio: string, boostEnabled: boolean): (string | boolean)[];
15
+ dsrPayback(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
16
+ dsrSupply(proxyAddress: EthereumAddress, triggerRatio: number, targetRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
17
+ debtInFrontRepay(proxyAddress: EthereumAddress, debtInFrontMin: string, targetRatioIncrease: number): (boolean | string[] | Strategies.MainnetIds)[];
18
+ };
19
+ export declare const chickenBondsEncode: {
20
+ rebond(bondId: number): string[];
21
+ };
22
+ export declare const aaveV2Encode: {
23
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
24
+ };
25
+ export declare const aaveV3Encode: {
26
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
27
+ closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
28
+ baseTokenAddress: EthereumAddress;
29
+ quoteTokenAddress: EthereumAddress;
30
+ price: number;
31
+ ratioState: RatioState;
32
+ }, subData: {
33
+ collAsset: EthereumAddress;
34
+ collAssetId: number;
35
+ debtAsset: EthereumAddress;
36
+ debtAssetId: number;
37
+ }): (number | boolean | string[])[];
38
+ closeToAssetWithMaximumGasPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
39
+ baseTokenAddress: EthereumAddress;
40
+ quoteTokenAddress: EthereumAddress;
41
+ price: number;
42
+ ratioState: RatioState;
43
+ maximumGasPrice: number;
44
+ }, subData: {
45
+ collAsset: EthereumAddress;
46
+ collAssetId: number;
47
+ debtAsset: EthereumAddress;
48
+ debtAssetId: number;
49
+ }): (number | boolean | string[])[];
50
+ leverageManagementOnPrice(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
51
+ baseTokenAddress: EthereumAddress;
52
+ quoteTokenAddress: EthereumAddress;
53
+ price: number;
54
+ state: RatioState.UNDER;
55
+ }, subData: {
56
+ collAsset: EthereumAddress;
57
+ collAssetId: number;
58
+ debtAsset: EthereumAddress;
59
+ debtAssetId: number;
60
+ marketAddr: EthereumAddress;
61
+ targetRatio: number;
62
+ }): (number | boolean | string[])[];
63
+ };
64
+ export declare const compoundV2Encode: {
65
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
66
+ };
67
+ export declare const compoundV3Encode: {
68
+ leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string[];
69
+ };
70
+ export declare const compoundV3L2Encode: {
71
+ leverageManagement(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
72
+ };
73
+ export declare const morphoAaveV2Encode: {
74
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string[];
75
+ };
76
+ export declare const exchangeEncode: {
77
+ dca(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, timestamp: number, interval: number, network: ChainId): (boolean | string[] | Strategies.MainnetIds | Strategies.OptimismIds | Strategies.ArbitrumIds | Strategies.BaseIds)[];
78
+ limitOrder(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, targetPrice: string, goodUntil: string | number, orderType: OrderType): string[];
79
+ };
80
+ export declare const sparkEncode: {
81
+ leverageManagement(triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean): string;
82
+ closeToAsset(strategyOrBundleId: number, isBundle: boolean | undefined, triggerData: {
83
+ baseTokenAddress: EthereumAddress;
84
+ quoteTokenAddress: EthereumAddress;
85
+ price: number;
86
+ ratioState: RatioState;
87
+ }, subData: {
88
+ collAsset: EthereumAddress;
89
+ collAssetId: number;
90
+ debtAsset: EthereumAddress;
91
+ debtAssetId: number;
92
+ }): (number | boolean | string[])[];
93
+ };
94
+ export declare const crvUSDEncode: {
95
+ leverageManagement(owner: EthereumAddress, controllerAddr: EthereumAddress, ratioState: RatioState, targetRatio: number, triggerRatio: number, collTokenAddr: EthereumAddress, crvUSDAddr: EthereumAddress): (boolean | string[] | Bundles.MainnetIds)[];
96
+ payback(proxyAddress: EthereumAddress, addressToPullTokensFrom: EthereumAddress, positionOwner: EthereumAddress, paybackAmount: string, crvUSDAddr: EthereumAddress, controllerAddr: EthereumAddress, minHealthRatio: number): (boolean | string[] | Strategies.MainnetIds)[];
97
+ };
98
+ export declare const morphoBlueEncode: {
99
+ leverageManagement(marketId: string, loanToken: EthereumAddress, collToken: EthereumAddress, oracle: EthereumAddress, irm: EthereumAddress, lltv: string, ratioState: RatioState, targetRatio: number, triggerRatio: number, user: EthereumAddress, isEOA: boolean, network: ChainId): (boolean | string[] | Bundles.MainnetIds)[] | (boolean | string[] | Bundles.BaseIds)[];
100
+ };