@defisaver/automation-sdk 3.3.15-liq-prot-3-dev → 3.3.16-dev-13082-morpho-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.
Files changed (42) hide show
  1. package/cjs/constants/index.js +51 -111
  2. package/cjs/index.d.ts +2 -2
  3. package/cjs/index.js +2 -5
  4. package/cjs/services/strategiesService.js +13 -157
  5. package/cjs/services/strategySubService.d.ts +21 -18
  6. package/cjs/services/strategySubService.js +74 -78
  7. package/cjs/services/strategySubService.test.js +216 -3
  8. package/cjs/services/subDataService.d.ts +20 -70
  9. package/cjs/services/subDataService.js +79 -23
  10. package/cjs/services/subDataService.test.js +302 -17
  11. package/cjs/services/triggerService.test.js +60 -0
  12. package/cjs/services/utils.d.ts +1 -2
  13. package/cjs/services/utils.js +1 -14
  14. package/cjs/types/enums.d.ts +17 -33
  15. package/cjs/types/enums.js +14 -30
  16. package/esm/constants/index.js +51 -111
  17. package/esm/index.d.ts +2 -2
  18. package/esm/index.js +2 -5
  19. package/esm/services/strategiesService.js +13 -157
  20. package/esm/services/strategySubService.d.ts +21 -18
  21. package/esm/services/strategySubService.js +73 -78
  22. package/esm/services/strategySubService.test.js +214 -4
  23. package/esm/services/subDataService.d.ts +20 -70
  24. package/esm/services/subDataService.js +77 -21
  25. package/esm/services/subDataService.test.js +300 -18
  26. package/esm/services/triggerService.test.js +61 -1
  27. package/esm/services/utils.d.ts +1 -2
  28. package/esm/services/utils.js +1 -13
  29. package/esm/types/enums.d.ts +17 -33
  30. package/esm/types/enums.js +14 -30
  31. package/package.json +1 -1
  32. package/src/constants/index.ts +52 -113
  33. package/src/index.ts +6 -22
  34. package/src/services/strategiesService.ts +13 -221
  35. package/src/services/strategySubService.test.ts +275 -3
  36. package/src/services/strategySubService.ts +121 -173
  37. package/src/services/subDataService.test.ts +324 -18
  38. package/src/services/subDataService.ts +106 -42
  39. package/src/services/triggerService.test.ts +69 -0
  40. package/src/services/utils.test.ts +1 -1
  41. package/src/services/utils.ts +1 -15
  42. package/src/types/enums.ts +16 -30
@@ -15,6 +15,16 @@ import { compareAddresses, ratioPercentageToWei, weiToRatioPercentage } from './
15
15
  |_______/ |_______|| _| | _| `._____||_______| \______/__/ \__\ |__| |_______||_______/
16
16
  */
17
17
  export const morphoAaveV2LeverageManagementSubData = {
18
+ encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
19
+ return [
20
+ ratioPercentageToWei(triggerRepayRatio),
21
+ ratioPercentageToWei(triggerBoostRatio),
22
+ ratioPercentageToWei(targetBoostRatio),
23
+ ratioPercentageToWei(targetRepayRatio),
24
+ // @ts-ignore
25
+ boostEnabled,
26
+ ];
27
+ },
18
28
  decode(subData) {
19
29
  const ratioWei = AbiCoder.decodeParameter('uint128', subData[1]);
20
30
  const targetRatio = weiToRatioPercentage(ratioWei);
@@ -22,6 +32,10 @@ export const morphoAaveV2LeverageManagementSubData = {
22
32
  },
23
33
  };
24
34
  export const cBondsRebondSubData = {
35
+ encode(bondId) {
36
+ const bondIdEncoded = AbiCoder.encodeParameter('uint256', bondId);
37
+ return [bondIdEncoded];
38
+ },
25
39
  decode(subData) {
26
40
  const bondId = AbiCoder.decodeParameter('uint256', subData[1]).toString();
27
41
  return { bondId };
@@ -103,7 +117,7 @@ export const makerCloseSubData = {
103
117
  };
104
118
  },
105
119
  };
106
- export const legacyMakerLeverageManagementSubData = {
120
+ export const makerLeverageManagementSubData = {
107
121
  decode: (subData) => {
108
122
  const vaultId = +AbiCoder.decodeParameter('uint256', subData[0]).toString();
109
123
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]);
@@ -111,7 +125,7 @@ export const legacyMakerLeverageManagementSubData = {
111
125
  return { vaultId, targetRatio };
112
126
  },
113
127
  };
114
- export const makerLeverageManagementSubData = {
128
+ export const makerLeverageManagementWithoutSubProxy = {
115
129
  encode(vaultId, targetRatio, daiAddr) {
116
130
  const encodedVaultId = AbiCoder.encodeParameter('uint256', vaultId);
117
131
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -125,7 +139,6 @@ export const makerLeverageManagementSubData = {
125
139
  return { vaultId, targetRatio, daiAddr };
126
140
  },
127
141
  };
128
- export const makerLiquidationProtectionSubData = makerLeverageManagementSubData;
129
142
  /**
130
143
  __ __ ______ __ __ __ .___________.____ ____ ____ ____ __
131
144
  | | | | / __ \ | | | | | | | |\ \ / / \ \ / / /_ |
@@ -141,14 +154,14 @@ export const liquityRepayFromSavingsSubData = {
141
154
  return { targetRatio };
142
155
  },
143
156
  };
144
- export const legacyLiquityLeverageManagementSubData = {
157
+ export const liquityLeverageManagementSubData = {
145
158
  decode: (subData) => {
146
159
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[1]);
147
160
  const targetRatio = weiToRatioPercentage(weiRatio);
148
161
  return { targetRatio };
149
162
  },
150
163
  };
151
- export const liquityLeverageManagementSubData = {
164
+ export const liquityLeverageManagementSubDataWithoutSubProxy = {
152
165
  encode(targetRatio, ratioState) {
153
166
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
154
167
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -379,14 +392,24 @@ export const liquityV2PaybackSubData = {
379
392
  / _____ \ / _____ \ \ / | |____ \ / / /_
380
393
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____|
381
394
  */
382
- export const legacyAaveV2LeverageManagementSubData = {
395
+ export const aaveV2LeverageManagementSubData = {
396
+ encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
397
+ return [
398
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
399
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
400
+ new Dec(targetBoostRatio).mul(1e16).toString(),
401
+ new Dec(targetRepayRatio).mul(1e16).toString(),
402
+ // @ts-ignore // TODO
403
+ boostEnabled,
404
+ ];
405
+ },
383
406
  decode(subData) {
384
407
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[1]);
385
408
  const targetRatio = weiToRatioPercentage(ratioWei);
386
409
  return { targetRatio };
387
410
  },
388
411
  };
389
- export const aaveV2LeverageManagementSubData = {
412
+ export const aaveV2LeverageManagementSubDataWithoutSubProxy = {
390
413
  encode(market, targetRatio, ratioState) {
391
414
  const encodedMarket = AbiCoder.encodeParameter('address', market);
392
415
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
@@ -413,14 +436,14 @@ export const aaveV2LeverageManagementSubData = {
413
436
  / _____ \ / _____ \ \ / | |____ \ / ___) |
414
437
  /__/ \__\ /__/ \__\ \__/ |_______| \__/ |____/
415
438
  */
416
- export const legacyAaveV3LeverageManagementSubData = {
439
+ export const aaveV3LeverageManagementSubData = {
417
440
  decode(subData) {
418
441
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
419
442
  const targetRatio = weiToRatioPercentage(ratioWei);
420
443
  return { targetRatio };
421
444
  },
422
445
  };
423
- export const aaveV3LeverageManagementSubData = {
446
+ export const aaveV3LeverageManagementSubDataWithoutSubProxy = {
424
447
  encode(targetRatio, ratioState, market, user, isGeneric) {
425
448
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
426
449
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -439,7 +462,6 @@ export const aaveV3LeverageManagementSubData = {
439
462
  return { targetRatio, ratioState };
440
463
  },
441
464
  };
442
- export const aaveV3LiquidationProtectionSubData = aaveV3LeverageManagementSubData;
443
465
  export const aaveV3LeverageManagementOnPriceGeneric = {
444
466
  encode(collAsset, collAssetId, debtAsset, debtAssetId, marketAddr, targetRatio, user) {
445
467
  const encodedColl = AbiCoder.encodeParameter('address', collAsset);
@@ -627,7 +649,6 @@ export const aaveV4LeverageManagementSubData = {
627
649
  };
628
650
  },
629
651
  };
630
- export const aaveV4LiquidationProtectionSubData = aaveV4LeverageManagementSubData;
631
652
  export const aaveV4LeverageManagementOnPriceSubData = {
632
653
  encode: (spoke, owner, collAsset, collAssetId, debtAsset, debtAssetId, ratioState, targetRatio) => {
633
654
  const spokeEncoded = AbiCoder.encodeParameter('address', spoke);
@@ -744,14 +765,24 @@ export const aaveV4CollateralSwitchSubData = {
744
765
  | `----.| `--' | | | | | | | \ / / /_
745
766
  \______| \______/ |__| |__| | _| \__/ |____|
746
767
  */
747
- export const legacyCompoundV2LeverageManagementSubData = {
768
+ export const compoundV2LeverageManagementSubData = {
769
+ encode(triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled) {
770
+ return [
771
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
772
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
773
+ new Dec(targetBoostRatio).mul(1e16).toString(),
774
+ new Dec(targetRepayRatio).mul(1e16).toString(),
775
+ // @ts-ignore // TODO
776
+ boostEnabled,
777
+ ];
778
+ },
748
779
  decode(subData) {
749
780
  const weiRatio = AbiCoder.decodeParameter('uint256', subData[0]);
750
781
  const targetRatio = weiToRatioPercentage(weiRatio);
751
782
  return { targetRatio };
752
783
  },
753
784
  };
754
- export const compoundV2LeverageManagementSubData = {
785
+ export const compoundV2LeverageManagementSubDataWithoutSubProxy = {
755
786
  encode(targetRatio, ratioState) {
756
787
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
757
788
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -777,6 +808,25 @@ export const compoundV2LeverageManagementSubData = {
777
808
  \______| \______/ |__| |__| | _| \__/ |____/
778
809
  */
779
810
  export const compoundV3LeverageManagementSubData = {
811
+ encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
812
+ return [
813
+ market,
814
+ baseToken,
815
+ new Dec(triggerRepayRatio).mul(1e16).toString(),
816
+ new Dec(triggerBoostRatio).mul(1e16).toString(),
817
+ new Dec(targetBoostRatio).mul(1e16).toString(),
818
+ new Dec(targetRepayRatio).mul(1e16).toString(),
819
+ // @ts-ignore // TODO
820
+ boostEnabled, isEOA,
821
+ ];
822
+ },
823
+ decode(subData) {
824
+ const weiRatio = AbiCoder.decodeParameter('uint256', subData[3]);
825
+ const targetRatio = weiToRatioPercentage(weiRatio);
826
+ return { targetRatio };
827
+ },
828
+ };
829
+ export const compoundV3LeverageManagementSubDataWithoutSubProxy = {
780
830
  encode(market, baseToken, targetRatio, ratioState) {
781
831
  const encodedMarket = AbiCoder.encodeParameter('address', market);
782
832
  const encodedBaseToken = AbiCoder.encodeParameter('address', baseToken);
@@ -794,7 +844,6 @@ export const compoundV3LeverageManagementSubData = {
794
844
  };
795
845
  },
796
846
  };
797
- export const compoundV3LiquidationProtectionSubData = compoundV3LeverageManagementSubData;
798
847
  export const compoundV3LeverageManagementOnPriceSubData = {
799
848
  encode(market, collToken, baseToken, targetRatio, ratioState, user) {
800
849
  const marketEncoded = AbiCoder.encodeParameter('address', market);
@@ -880,7 +929,17 @@ export const exchangeDcaSubData = {
880
929
  };
881
930
  },
882
931
  };
883
- export const legacyExchangeLimitOrderSubData = {
932
+ export const exchangeLimitOrderSubData = {
933
+ encode(fromToken, toToken, amount, targetPrice, goodUntil, orderType) {
934
+ return [
935
+ fromToken,
936
+ toToken,
937
+ amount,
938
+ targetPrice,
939
+ new Dec(goodUntil).toString(),
940
+ new Dec(orderType).toString(),
941
+ ];
942
+ },
884
943
  decode: (subData, chainId) => {
885
944
  const fromToken = AbiCoder.decodeParameter('address', subData[0]).toString();
886
945
  const toToken = AbiCoder.decodeParameter('address', subData[1]).toString();
@@ -888,7 +947,7 @@ export const legacyExchangeLimitOrderSubData = {
888
947
  return { fromToken, toToken, amount };
889
948
  },
890
949
  };
891
- export const exchangeLimitOrderSubData = {
950
+ export const exchangeLimitOrderSubDataWithoutSubProxy = {
892
951
  encode(fromToken, toToken, amount) {
893
952
  return [
894
953
  AbiCoder.encodeParameter('address', fromToken),
@@ -911,14 +970,14 @@ export const exchangeLimitOrderSubData = {
911
970
  .----) | | | / _____ \ | |\ \----.| . \
912
971
  |_______/ | _| /__/ \__\ | _| `._____||__|\__\
913
972
  */
914
- export const legacySparkLeverageManagementSubData = {
973
+ export const sparkLeverageManagementSubData = {
915
974
  decode(subData) {
916
975
  const ratioWei = AbiCoder.decodeParameter('uint256', subData[0]);
917
976
  const targetRatio = weiToRatioPercentage(ratioWei);
918
977
  return { targetRatio };
919
978
  },
920
979
  };
921
- export const sparkLeverageManagementSubData = {
980
+ export const sparkLeverageManagementSubDataWithoutSubProxy = {
922
981
  encode(targetRatio, ratioState) {
923
982
  const encodedTargetRatio = AbiCoder.encodeParameter('uint256', ratioPercentageToWei(targetRatio));
924
983
  const encodedRatioState = AbiCoder.encodeParameter('uint8', ratioState);
@@ -932,7 +991,6 @@ export const sparkLeverageManagementSubData = {
932
991
  return { targetRatio, ratioState };
933
992
  },
934
993
  };
935
- export const sparkLiquidationProtectionSubData = sparkLeverageManagementSubData;
936
994
  export const sparkCloseGenericSubData = {
937
995
  encode(collAsset, collAssetId, debtAsset, debtAssetId, closeType, marketAddr, user) {
938
996
  const encodedColl = AbiCoder.encodeParameter('address', collAsset);
@@ -1114,7 +1172,6 @@ export const morphoBlueLeverageManagementSubData = {
1114
1172
  };
1115
1173
  },
1116
1174
  };
1117
- export const morphoBlueLiquidationProtectionSubData = morphoBlueLeverageManagementSubData;
1118
1175
  export const morphoBlueLeverageManagementOnPriceSubData = {
1119
1176
  encode(loanToken, collToken, oracle, irm, lltv, targetRatio, user) {
1120
1177
  const loanTokenEncoded = AbiCoder.encodeParameter('address', loanToken);
@@ -1217,4 +1274,3 @@ export const fluidLeverageManagementSubData = {
1217
1274
  };
1218
1275
  },
1219
1276
  };
1220
- export const fluidLiquidationProtectionSubData = fluidLeverageManagementSubData;