@defisaver/automation-sdk 3.3.18-audit-dev → 3.3.18-spark-eoa-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.
- package/cjs/constants/index.js +35 -0
- package/cjs/services/ethereumService.test.js +4 -7
- package/cjs/services/strategiesService.js +40 -8
- package/cjs/services/strategySubService.d.ts +4 -0
- package/cjs/services/strategySubService.js +24 -0
- package/cjs/services/strategySubService.test.js +295 -0
- package/cjs/services/subDataService.d.ts +38 -0
- package/cjs/services/subDataService.js +76 -2
- package/cjs/services/subDataService.test.js +494 -4
- package/cjs/types/enums.d.ts +9 -2
- package/cjs/types/enums.js +7 -0
- package/esm/constants/index.js +35 -0
- package/esm/services/ethereumService.test.js +4 -7
- package/esm/services/strategiesService.js +40 -8
- package/esm/services/strategySubService.d.ts +4 -0
- package/esm/services/strategySubService.js +24 -0
- package/esm/services/strategySubService.test.js +295 -0
- package/esm/services/subDataService.d.ts +38 -0
- package/esm/services/subDataService.js +74 -0
- package/esm/services/subDataService.test.js +494 -4
- package/esm/types/enums.d.ts +9 -2
- package/esm/types/enums.js +7 -0
- package/package.json +2 -10
- package/src/constants/index.ts +35 -0
- package/src/services/ethereumService.test.ts +5 -8
- package/src/services/strategiesService.ts +43 -9
- package/src/services/strategySubService.test.ts +382 -0
- package/src/services/strategySubService.ts +87 -0
- package/src/services/subDataService.test.ts +608 -4
- package/src/services/subDataService.ts +107 -0
- package/src/types/enums.ts +7 -0
package/esm/types/enums.js
CHANGED
|
@@ -104,6 +104,7 @@ export var Strategies;
|
|
|
104
104
|
MainnetIds[MainnetIds["AAVE_V4_COLLATERAL_SWITCH"] = 154] = "AAVE_V4_COLLATERAL_SWITCH";
|
|
105
105
|
MainnetIds[MainnetIds["AAVE_V4_COLLATERAL_SWITCH_EOA"] = 155] = "AAVE_V4_COLLATERAL_SWITCH_EOA";
|
|
106
106
|
MainnetIds[MainnetIds["SPARK_COLLATERAL_SWITCH"] = 156] = "SPARK_COLLATERAL_SWITCH";
|
|
107
|
+
MainnetIds[MainnetIds["SPARK_GENERIC_FL_COLLATERAL_SWITCH"] = 167] = "SPARK_GENERIC_FL_COLLATERAL_SWITCH";
|
|
107
108
|
})(MainnetIds = Strategies.MainnetIds || (Strategies.MainnetIds = {}));
|
|
108
109
|
let OptimismIds;
|
|
109
110
|
(function (OptimismIds) {
|
|
@@ -264,6 +265,12 @@ export var Bundles;
|
|
|
264
265
|
MainnetIds[MainnetIds["MORPHO_BLUE_EOA_BOOST_ON_PRICE"] = 85] = "MORPHO_BLUE_EOA_BOOST_ON_PRICE";
|
|
265
266
|
MainnetIds[MainnetIds["MORPHO_BLUE_EOA_REPAY_ON_PRICE"] = 86] = "MORPHO_BLUE_EOA_REPAY_ON_PRICE";
|
|
266
267
|
MainnetIds[MainnetIds["MORPHO_BLUE_EOA_CLOSE"] = 87] = "MORPHO_BLUE_EOA_CLOSE";
|
|
268
|
+
MainnetIds[MainnetIds["SPARK_EOA_REPAY"] = 88] = "SPARK_EOA_REPAY";
|
|
269
|
+
MainnetIds[MainnetIds["SPARK_EOA_BOOST"] = 89] = "SPARK_EOA_BOOST";
|
|
270
|
+
MainnetIds[MainnetIds["SPARK_EOA_REPAY_ON_PRICE"] = 90] = "SPARK_EOA_REPAY_ON_PRICE";
|
|
271
|
+
MainnetIds[MainnetIds["SPARK_EOA_BOOST_ON_PRICE"] = 91] = "SPARK_EOA_BOOST_ON_PRICE";
|
|
272
|
+
MainnetIds[MainnetIds["SPARK_EOA_CLOSE"] = 92] = "SPARK_EOA_CLOSE";
|
|
273
|
+
MainnetIds[MainnetIds["SPARK_EOA_LIQUIDATION_PROTECTION"] = 93] = "SPARK_EOA_LIQUIDATION_PROTECTION";
|
|
267
274
|
})(MainnetIds = Bundles.MainnetIds || (Bundles.MainnetIds = {}));
|
|
268
275
|
let OptimismIds;
|
|
269
276
|
(function (OptimismIds) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defisaver/automation-sdk",
|
|
3
|
-
"version": "3.3.18-
|
|
3
|
+
"version": "3.3.18-spark-eoa-dev",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -22,15 +22,6 @@
|
|
|
22
22
|
"author": "DeFi Saver",
|
|
23
23
|
"repository": "https://github.com/defisaver/automation-sdk",
|
|
24
24
|
"license": "ISC",
|
|
25
|
-
"overrides": {
|
|
26
|
-
"axios": "^1.19.0",
|
|
27
|
-
"tar": "^7.5.21",
|
|
28
|
-
"ws": "^8.18.3",
|
|
29
|
-
"form-data": "^4.0.4",
|
|
30
|
-
"tough-cookie": "^4.1.3",
|
|
31
|
-
"qs": "^6.14.0",
|
|
32
|
-
"serialize-javascript": "^7.1.0"
|
|
33
|
-
},
|
|
34
25
|
"dependencies": {
|
|
35
26
|
"@defisaver/sdk": "^1.3.22",
|
|
36
27
|
"@defisaver/tokens": "^1.6.19",
|
|
@@ -53,6 +44,7 @@
|
|
|
53
44
|
"dotenv": "^16.3.1",
|
|
54
45
|
"eslint": "^8.49.0",
|
|
55
46
|
"husky": "^8.0.0",
|
|
47
|
+
"jsdoc-to-markdown": "^6.0.1",
|
|
56
48
|
"mocha": "^10.2.0",
|
|
57
49
|
"ts-node": "^10.9.1",
|
|
58
50
|
"typechain": "^8.1.0",
|
package/src/constants/index.ts
CHANGED
|
@@ -140,6 +140,11 @@ export const MAINNET_STRATEGIES_INFO: MainnetStrategiesInfo = {
|
|
|
140
140
|
strategyId: Strategies.Identifiers.CollateralSwitch,
|
|
141
141
|
protocol: PROTOCOLS.Spark,
|
|
142
142
|
},
|
|
143
|
+
[Strategies.MainnetIds.SPARK_GENERIC_FL_COLLATERAL_SWITCH]: {
|
|
144
|
+
strategyOrBundleId: Strategies.MainnetIds.SPARK_GENERIC_FL_COLLATERAL_SWITCH,
|
|
145
|
+
strategyId: Strategies.Identifiers.EoaCollateralSwitch,
|
|
146
|
+
protocol: PROTOCOLS.Spark,
|
|
147
|
+
},
|
|
143
148
|
};
|
|
144
149
|
|
|
145
150
|
export const OPTIMISM_STRATEGIES_INFO: OptimismStrategiesInfo = {
|
|
@@ -573,6 +578,31 @@ export const MAINNET_BUNDLES_INFO: MainnetBundleInfo = {
|
|
|
573
578
|
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
574
579
|
protocol: PROTOCOLS.AaveV4,
|
|
575
580
|
},
|
|
581
|
+
[Bundles.MainnetIds.SPARK_EOA_REPAY]: {
|
|
582
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_REPAY,
|
|
583
|
+
strategyId: Strategies.Identifiers.EoaRepay,
|
|
584
|
+
protocol: PROTOCOLS.Spark,
|
|
585
|
+
},
|
|
586
|
+
[Bundles.MainnetIds.SPARK_EOA_BOOST]: {
|
|
587
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_BOOST,
|
|
588
|
+
strategyId: Strategies.Identifiers.EoaBoost,
|
|
589
|
+
protocol: PROTOCOLS.Spark,
|
|
590
|
+
},
|
|
591
|
+
[Bundles.MainnetIds.SPARK_EOA_CLOSE]: {
|
|
592
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_CLOSE,
|
|
593
|
+
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
594
|
+
protocol: PROTOCOLS.Spark,
|
|
595
|
+
},
|
|
596
|
+
[Bundles.MainnetIds.SPARK_EOA_REPAY_ON_PRICE]: {
|
|
597
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_REPAY_ON_PRICE,
|
|
598
|
+
strategyId: Strategies.Identifiers.EoaRepayOnPrice,
|
|
599
|
+
protocol: PROTOCOLS.Spark,
|
|
600
|
+
},
|
|
601
|
+
[Bundles.MainnetIds.SPARK_EOA_BOOST_ON_PRICE]: {
|
|
602
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_BOOST_ON_PRICE,
|
|
603
|
+
strategyId: Strategies.Identifiers.EoaBoostOnPrice,
|
|
604
|
+
protocol: PROTOCOLS.Spark,
|
|
605
|
+
},
|
|
576
606
|
[Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION]: {
|
|
577
607
|
strategyOrBundleId: Bundles.MainnetIds.MAKER_SW_LIQUIDATION_PROTECTION,
|
|
578
608
|
strategyId: Strategies.Identifiers.LiquidationProtection,
|
|
@@ -649,6 +679,11 @@ export const MAINNET_BUNDLES_INFO: MainnetBundleInfo = {
|
|
|
649
679
|
strategyId: Strategies.Identifiers.EoaCloseOnPrice,
|
|
650
680
|
protocol: PROTOCOLS.MorphoBlue,
|
|
651
681
|
},
|
|
682
|
+
[Bundles.MainnetIds.SPARK_EOA_LIQUIDATION_PROTECTION]: {
|
|
683
|
+
strategyOrBundleId: Bundles.MainnetIds.SPARK_EOA_LIQUIDATION_PROTECTION,
|
|
684
|
+
strategyId: Strategies.Identifiers.EoaLiquidationProtection,
|
|
685
|
+
protocol: PROTOCOLS.Spark,
|
|
686
|
+
},
|
|
652
687
|
};
|
|
653
688
|
|
|
654
689
|
export const OPTIMISM_BUNDLES_INFO: OptimismBundleInfo = {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Web3 from 'web3';
|
|
2
2
|
import { expect } from 'chai';
|
|
3
|
+
import { omit } from 'lodash';
|
|
3
4
|
import { getAssetInfo } from '@defisaver/tokens';
|
|
4
5
|
import { PastEventOptions } from 'web3-eth-contract';
|
|
5
6
|
|
|
6
7
|
import { ChainId } from '../types/enums';
|
|
7
|
-
import type { BlockNumber, Multicall } from '../types';
|
|
8
|
+
import type { BlockNumber, Multicall, PlaceholderType } from '../types';
|
|
8
9
|
import { Contract } from '../types';
|
|
9
10
|
import type { Erc20 } from '../types/contracts/generated';
|
|
10
11
|
|
|
@@ -115,7 +116,6 @@ describe('Feature: ethereumService.ts', () => {
|
|
|
115
116
|
'address': '0x5f98805A4E8be255a32880FDeC7F6728C6568bA0',
|
|
116
117
|
'blockHash': '0xb92cab2569456dbfbdb853d2c67d72c9a7580543dbcb55d483a77322b40755a4',
|
|
117
118
|
'blockNumber': 15166163,
|
|
118
|
-
'blockTimestamp': '0x62d53ad8',
|
|
119
119
|
'event': 'Transfer',
|
|
120
120
|
'id': 'log_e2258e3a',
|
|
121
121
|
'logIndex': 385,
|
|
@@ -142,7 +142,7 @@ describe('Feature: ethereumService.ts', () => {
|
|
|
142
142
|
},
|
|
143
143
|
],
|
|
144
144
|
[
|
|
145
|
-
makeErc20Contract(Web3_1, getAssetInfo('LUSD').address, ChainId.Ethereum),
|
|
145
|
+
{ ...makeErc20Contract(Web3_1, getAssetInfo('LUSD').address, ChainId.Ethereum), createdBlock: 15166163 },
|
|
146
146
|
null,
|
|
147
147
|
'Transfer',
|
|
148
148
|
{
|
|
@@ -161,7 +161,6 @@ describe('Feature: ethereumService.ts', () => {
|
|
|
161
161
|
'address': '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1',
|
|
162
162
|
'blockHash': '0xacb0213af63b4c17c436f084a96d1ac385641a59a9a4cf014ae3337cbe545aa7',
|
|
163
163
|
'blockNumber': 5353002,
|
|
164
|
-
'blockTimestamp': '0x624c1a5b',
|
|
165
164
|
'event': 'Transfer',
|
|
166
165
|
'id': 'log_f49645b8',
|
|
167
166
|
'logIndex': 1,
|
|
@@ -207,7 +206,6 @@ describe('Feature: ethereumService.ts', () => {
|
|
|
207
206
|
'address': '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1',
|
|
208
207
|
'blockHash': '0xacb0213af63b4c17c436f084a96d1ac385641a59a9a4cf014ae3337cbe545aa7',
|
|
209
208
|
'blockNumber': 5353002,
|
|
210
|
-
'blockTimestamp': '0x624c1a5b',
|
|
211
209
|
'event': 'Transfer',
|
|
212
210
|
'id': 'log_f49645b8',
|
|
213
211
|
'logIndex': 1,
|
|
@@ -251,9 +249,8 @@ describe('Feature: ethereumService.ts', () => {
|
|
|
251
249
|
|
|
252
250
|
examples.forEach(([expected, actual]) => {
|
|
253
251
|
it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, async () => {
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
expect(await getEventsFromContract(...actual)).to.eql(expected);
|
|
252
|
+
const events = await getEventsFromContract(...actual);
|
|
253
|
+
expect(events.map((event: PlaceholderType) => omit(event, 'blockTimestamp'))).to.eql(expected);
|
|
257
254
|
});
|
|
258
255
|
});
|
|
259
256
|
});
|
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
BundleInfoUnion, StrategyInfoUnion,
|
|
9
9
|
} from '../types';
|
|
10
10
|
import {
|
|
11
|
-
ChainId, ProtocolIdentifiers,
|
|
11
|
+
ChainId, ProtocolIdentifiers, Strategies,
|
|
12
12
|
} from '../types/enums';
|
|
13
13
|
|
|
14
14
|
import {
|
|
@@ -448,11 +448,17 @@ function parseAaveV3CollateralSwitch(position: Position.Automated, parseData: Pa
|
|
|
448
448
|
function parseSparkCollateralSwitch(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
449
449
|
const _position = cloneDeep(position);
|
|
450
450
|
const { subStruct } = parseData.subscriptionEventData;
|
|
451
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
451
452
|
const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
|
|
452
|
-
const subData =
|
|
453
|
+
const subData = isEOA
|
|
454
|
+
? subDataService.sparkGenericFLCollateralSwitchSubData.decode(subStruct.subData)
|
|
455
|
+
: subDataService.sparkCollateralSwitchSubData.decode(subStruct.subData);
|
|
453
456
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
454
457
|
_position.strategyData.decoded.subData = subData;
|
|
455
458
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
459
|
+
_position.strategy.strategyId = isEOA
|
|
460
|
+
? Strategies.Identifiers.EoaCollateralSwitch
|
|
461
|
+
: Strategies.Identifiers.CollateralSwitch;
|
|
456
462
|
return _position;
|
|
457
463
|
}
|
|
458
464
|
|
|
@@ -987,16 +993,19 @@ function parseSparkLeverageManagement(position: Position.Automated, parseData: P
|
|
|
987
993
|
|
|
988
994
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
989
995
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
996
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
990
997
|
|
|
991
998
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
992
|
-
const subData =
|
|
999
|
+
const subData = isEOA
|
|
1000
|
+
? subDataService.sparkGenericLeverageManagementSubData.decode(subStruct.subData)
|
|
1001
|
+
: subDataService.legacySparkLeverageManagementSubData.decode(subStruct.subData);
|
|
993
1002
|
|
|
994
1003
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
995
1004
|
_position.strategyData.decoded.subData = subData;
|
|
996
1005
|
|
|
997
1006
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, triggerData.market);
|
|
998
1007
|
|
|
999
|
-
const isRepay = _position.strategy.strategyId
|
|
1008
|
+
const isRepay = [Strategies.Identifiers.Repay, Strategies.Identifiers.EoaRepay].includes(_position.strategy.strategyId as Strategies.Identifiers);
|
|
1000
1009
|
|
|
1001
1010
|
if (isRepay) {
|
|
1002
1011
|
_position.specific = {
|
|
@@ -1004,7 +1013,7 @@ function parseSparkLeverageManagement(position: Position.Automated, parseData: P
|
|
|
1004
1013
|
targetRepayRatio: subData.targetRatio,
|
|
1005
1014
|
repayEnabled: isEnabled,
|
|
1006
1015
|
subId1: Number(subId),
|
|
1007
|
-
mergeWithId: Strategies.Identifiers.Boost,
|
|
1016
|
+
mergeWithId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
1008
1017
|
subHashRepay: subHash,
|
|
1009
1018
|
};
|
|
1010
1019
|
} else {
|
|
@@ -1013,12 +1022,14 @@ function parseSparkLeverageManagement(position: Position.Automated, parseData: P
|
|
|
1013
1022
|
targetBoostRatio: subData.targetRatio,
|
|
1014
1023
|
boostEnabled: isEnabled,
|
|
1015
1024
|
subId2: Number(subId),
|
|
1016
|
-
mergeId: Strategies.Identifiers.Boost,
|
|
1025
|
+
mergeId: isEOA ? Strategies.Identifiers.EoaBoost : Strategies.Identifiers.Boost,
|
|
1017
1026
|
subHashBoost: subHash,
|
|
1018
1027
|
};
|
|
1019
1028
|
}
|
|
1020
1029
|
|
|
1021
|
-
_position.strategy.strategyId =
|
|
1030
|
+
_position.strategy.strategyId = isEOA
|
|
1031
|
+
? Strategies.IdOverrides.EoaLeverageManagement
|
|
1032
|
+
: Strategies.IdOverrides.LeverageManagement;
|
|
1022
1033
|
|
|
1023
1034
|
return _position;
|
|
1024
1035
|
}
|
|
@@ -1028,9 +1039,12 @@ function parseSparkLiquidationProtection(position: Position.Automated, parseData
|
|
|
1028
1039
|
|
|
1029
1040
|
const { subStruct, subId, subHash } = parseData.subscriptionEventData;
|
|
1030
1041
|
const { isEnabled } = parseData.strategiesSubsData;
|
|
1042
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1031
1043
|
|
|
1032
1044
|
const triggerData = triggerService.sparkRatioTrigger.decode(subStruct.triggerData);
|
|
1033
|
-
const subData =
|
|
1045
|
+
const subData = isEOA
|
|
1046
|
+
? subDataService.sparkGenericLiquidationProtectionSubData.decode(subStruct.subData)
|
|
1047
|
+
: subDataService.sparkLiquidationProtectionSubData.decode(subStruct.subData);
|
|
1034
1048
|
|
|
1035
1049
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
1036
1050
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -1045,6 +1059,9 @@ function parseSparkLiquidationProtection(position: Position.Automated, parseData
|
|
|
1045
1059
|
subHashRepay: subHash,
|
|
1046
1060
|
};
|
|
1047
1061
|
|
|
1062
|
+
_position.strategy.strategyId = isEOA
|
|
1063
|
+
? Strategies.IdOverrides.EoaLiquidationProtection
|
|
1064
|
+
: Strategies.IdOverrides.LiquidationProtection;
|
|
1048
1065
|
_position.strategy.strategyId = Strategies.IdOverrides.LiquidationProtection;
|
|
1049
1066
|
|
|
1050
1067
|
return _position;
|
|
@@ -1054,9 +1071,12 @@ function parseSparkLiquidationProtection(position: Position.Automated, parseData
|
|
|
1054
1071
|
function parseSparkLeverageManagementOnPrice(position: Position.Automated, parseData: ParseData): Position.Automated {
|
|
1055
1072
|
const _position = cloneDeep(position);
|
|
1056
1073
|
const { subStruct } = parseData.subscriptionEventData;
|
|
1074
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1057
1075
|
|
|
1058
1076
|
const triggerData = triggerService.sparkQuotePriceTrigger.decode(subStruct.triggerData);
|
|
1059
|
-
const subData =
|
|
1077
|
+
const subData = isEOA
|
|
1078
|
+
? subDataService.sparkLeverageManagementOnPriceGenericSubData.decode(subStruct.subData)
|
|
1079
|
+
: subDataService.sparkLeverageManagementOnPriceSubData.decode(subStruct.subData);
|
|
1060
1080
|
|
|
1061
1081
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
1062
1082
|
_position.strategyData.decoded.subData = subData;
|
|
@@ -1077,6 +1097,10 @@ function parseSparkLeverageManagementOnPrice(position: Position.Automated, parse
|
|
|
1077
1097
|
ratioState: triggerData.ratioState,
|
|
1078
1098
|
};
|
|
1079
1099
|
|
|
1100
|
+
_position.strategy.strategyId = isEOA
|
|
1101
|
+
? Strategies.IdOverrides.EoaLeverageManagementOnPrice
|
|
1102
|
+
: Strategies.IdOverrides.LeverageManagementOnPrice;
|
|
1103
|
+
|
|
1080
1104
|
return _position;
|
|
1081
1105
|
}
|
|
1082
1106
|
|
|
@@ -1087,10 +1111,13 @@ function parseSparkCloseOnPrice(position: Position.Automated, parseData: ParseDa
|
|
|
1087
1111
|
const triggerData = triggerService.sparkQuotePriceRangeTrigger.decode(subStruct.triggerData);
|
|
1088
1112
|
const subData = subDataService.sparkCloseGenericSubData.decode(subStruct.subData);
|
|
1089
1113
|
|
|
1114
|
+
const isEOA = _position.strategy.strategyId.includes('eoa');
|
|
1115
|
+
|
|
1090
1116
|
_position.strategyData.decoded.triggerData = triggerData;
|
|
1091
1117
|
_position.strategyData.decoded.subData = subData;
|
|
1092
1118
|
|
|
1093
1119
|
_position.positionId = getPositionId(_position.chainId, _position.protocol.id, _position.owner, subData.marketAddr);
|
|
1120
|
+
_position.strategy.strategyId = isEOA ? Strategies.Identifiers.EoaCloseOnPrice : Strategies.Identifiers.CloseOnPrice;
|
|
1094
1121
|
|
|
1095
1122
|
const { takeProfitType, stopLossType } = getStopLossAndTakeProfitTypeByCloseStrategyType(+subData.closeType);
|
|
1096
1123
|
|
|
@@ -1625,8 +1652,15 @@ const parsingMethodsMapping: StrategiesToProtocolVersionMapping = {
|
|
|
1625
1652
|
[Strategies.Identifiers.RepayOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1626
1653
|
[Strategies.Identifiers.BoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1627
1654
|
[Strategies.Identifiers.CloseOnPrice]: parseSparkCloseOnPrice,
|
|
1655
|
+
[Strategies.Identifiers.EoaRepay]: parseSparkLeverageManagement,
|
|
1656
|
+
[Strategies.Identifiers.EoaBoost]: parseSparkLeverageManagement,
|
|
1657
|
+
[Strategies.Identifiers.EoaRepayOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1658
|
+
[Strategies.Identifiers.EoaBoostOnPrice]: parseSparkLeverageManagementOnPrice,
|
|
1659
|
+
[Strategies.Identifiers.EoaCloseOnPrice]: parseSparkCloseOnPrice,
|
|
1628
1660
|
[Strategies.Identifiers.CollateralSwitch]: parseSparkCollateralSwitch,
|
|
1661
|
+
[Strategies.Identifiers.EoaCollateralSwitch]: parseSparkCollateralSwitch,
|
|
1629
1662
|
[Strategies.Identifiers.LiquidationProtection]: parseSparkLiquidationProtection,
|
|
1663
|
+
[Strategies.Identifiers.EoaLiquidationProtection]: parseSparkLiquidationProtection,
|
|
1630
1664
|
},
|
|
1631
1665
|
[ProtocolIdentifiers.StrategiesAutomation.CrvUSD]: {
|
|
1632
1666
|
[Strategies.Identifiers.Repay]: parseCrvUSDLeverageManagement,
|