@defisaver/automation-sdk 3.3.14 → 3.3.15-dev-13011-morpho-repay-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.
@@ -124,28 +124,6 @@ describe('Feature: strategySubService.ts', () => {
124
124
  });
125
125
  });
126
126
  });
127
- describe('leverageManagement()', () => {
128
- const examples = [
129
- [
130
- [
131
- 5791,
132
- new decimal_js_1.default('210').mul(1e16).toString(),
133
- new decimal_js_1.default('290').mul(1e16).toString(),
134
- new decimal_js_1.default('240').mul(1e16).toString(),
135
- new decimal_js_1.default('240').mul(1e16).toString(),
136
- true,
137
- ],
138
- [
139
- 5791, '210', '290', '240', '240', true,
140
- ]
141
- ]
142
- ];
143
- examples.forEach(([expected, actual]) => {
144
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
145
- (0, chai_1.expect)(strategySubService_1.makerEncode.leverageManagement(...actual)).to.eql(expected);
146
- });
147
- });
148
- });
149
127
  describe('leverageManagementWithoutSubProxy()', () => {
150
128
  const examples = [
151
129
  // Repay scenario (isBoost=false, RatioState.UNDER)
@@ -245,27 +223,6 @@ describe('Feature: strategySubService.ts', () => {
245
223
  });
246
224
  });
247
225
  });
248
- describe('leverageManagement()', () => {
249
- const examples = [
250
- [
251
- [
252
- new decimal_js_1.default('210').mul(1e16).toString(),
253
- new decimal_js_1.default('290').mul(1e16).toString(),
254
- new decimal_js_1.default('240').mul(1e16).toString(),
255
- new decimal_js_1.default('240').mul(1e16).toString(),
256
- false,
257
- ],
258
- [
259
- '210', '290', '240', '240', false,
260
- ]
261
- ]
262
- ];
263
- examples.forEach(([expected, actual]) => {
264
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
265
- (0, chai_1.expect)(strategySubService_1.liquityEncode.leverageManagement(...actual)).to.eql(expected);
266
- });
267
- });
268
- });
269
226
  describe('paybackFromChickenBondStrategySub()', () => {
270
227
  const examples = [
271
228
  [
@@ -352,43 +309,7 @@ describe('Feature: strategySubService.ts', () => {
352
309
  });
353
310
  });
354
311
  });
355
- describe('When testing strategySubService.aaveV2Encode', () => {
356
- describe('leverageManagement()', () => {
357
- const examples = [
358
- [
359
- [new decimal_js_1.default(160).mul(1e16).toString(), new decimal_js_1.default(220).mul(1e16).toString(), new decimal_js_1.default(180).mul(1e16).toString(), new decimal_js_1.default(190).mul(1e16).toString(), true],
360
- [160, 220, 180, 190, true]
361
- ],
362
- [
363
- [new decimal_js_1.default(160).mul(1e16).toString(), new decimal_js_1.default(200).mul(1e16).toString(), new decimal_js_1.default(180).mul(1e16).toString(), new decimal_js_1.default(190).mul(1e16).toString(), false],
364
- [160, 200, 180, 190, false]
365
- ],
366
- ];
367
- examples.forEach(([expected, actual]) => {
368
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
369
- (0, chai_1.expect)(strategySubService_1.aaveV2Encode.leverageManagement(...actual)).to.eql(expected);
370
- });
371
- });
372
- });
373
- });
374
312
  describe('When testing strategySubService.aaveV3Encode', () => {
375
- describe('leverageManagement()', () => {
376
- const examples = [
377
- [
378
- '0x000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000001a5e27eef13e000001',
379
- [160, 220, 180, 190, true]
380
- ],
381
- [
382
- '0x000000000000000016345785d8a0000000000000000000001bc16d674ec80000000000000000000018fae27693b4000000000000000000001a5e27eef13e000000',
383
- [160, 200, 180, 190, false]
384
- ],
385
- ];
386
- examples.forEach(([expected, actual]) => {
387
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
388
- (0, chai_1.expect)(strategySubService_1.aaveV3Encode.leverageManagement(...actual)).to.eql(expected);
389
- });
390
- });
391
- });
392
313
  describe('closeToAsset()', () => {
393
314
  const examples = [
394
315
  [
@@ -955,69 +876,7 @@ describe('Feature: strategySubService.ts', () => {
955
876
  });
956
877
  });
957
878
  });
958
- describe('When testing strategySubService.compoundV2Encode', () => {
959
- describe('leverageManagement()', () => {
960
- const examples = [
961
- [
962
- [new decimal_js_1.default(160).mul(1e16).toString(), new decimal_js_1.default(220).mul(1e16).toString(), new decimal_js_1.default(180).mul(1e16).toString(), new decimal_js_1.default(190).mul(1e16).toString(), true],
963
- [160, 220, 180, 190, true]
964
- ],
965
- [
966
- [new decimal_js_1.default(160).mul(1e16).toString(), new decimal_js_1.default(200).mul(1e16).toString(), new decimal_js_1.default(180).mul(1e16).toString(), new decimal_js_1.default(190).mul(1e16).toString(), false],
967
- [160, 200, 180, 190, false]
968
- ],
969
- ];
970
- examples.forEach(([expected, actual]) => {
971
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
972
- (0, chai_1.expect)(strategySubService_1.compoundV2Encode.leverageManagement(...actual)).to.eql(expected);
973
- });
974
- });
975
- });
976
- });
977
879
  describe('When testing strategySubService.compoundV3Encode', () => {
978
- describe('leverageManagement()', () => {
979
- const examples = [
980
- [
981
- [
982
- web3Utils.toChecksumAddress('0x1C0F620155e85491f8D35440eb17538Ca5c55212'),
983
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Ethereum).address),
984
- new decimal_js_1.default(160).mul(1e16).toString(),
985
- new decimal_js_1.default(220).mul(1e16).toString(),
986
- new decimal_js_1.default(180).mul(1e16).toString(),
987
- new decimal_js_1.default(190).mul(1e16).toString(),
988
- true, false,
989
- ],
990
- [
991
- web3Utils.toChecksumAddress('0x1C0F620155e85491f8D35440eb17538Ca5c55212'),
992
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Ethereum).address),
993
- 160, 220, 180, 190,
994
- true, false,
995
- ]
996
- ],
997
- [
998
- [
999
- web3Utils.toChecksumAddress('0xaC0F620155e85491f8D35440eb17538Ca5c55212'),
1000
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
1001
- new decimal_js_1.default(160).mul(1e16).toString(),
1002
- new decimal_js_1.default(210).mul(1e16).toString(),
1003
- new decimal_js_1.default(180).mul(1e16).toString(),
1004
- new decimal_js_1.default(190).mul(1e16).toString(),
1005
- false, true,
1006
- ],
1007
- [
1008
- web3Utils.toChecksumAddress('0xaC0F620155e85491f8D35440eb17538Ca5c55212'),
1009
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
1010
- 160, 210, 180, 190,
1011
- false, true,
1012
- ]
1013
- ],
1014
- ];
1015
- examples.forEach(([expected, actual]) => {
1016
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
1017
- (0, chai_1.expect)(strategySubService_1.compoundV3Encode.leverageManagement(...actual)).to.eql(expected);
1018
- });
1019
- });
1020
- });
1021
880
  describe('leverageManagementOnPrice()', () => {
1022
881
  const examples = [
1023
882
  [
@@ -1192,51 +1051,6 @@ describe('Feature: strategySubService.ts', () => {
1192
1051
  });
1193
1052
  });
1194
1053
  });
1195
- describe('limitOrder()', () => {
1196
- const examples = [
1197
- [
1198
- [
1199
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
1200
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('DAI', enums_1.ChainId.Ethereum).address),
1201
- '2131',
1202
- '0.53123',
1203
- '1696590921159',
1204
- `${enums_1.OrderType.STOP_LOSS}`
1205
- ],
1206
- [
1207
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('WETH', enums_1.ChainId.Ethereum).address),
1208
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('DAI', enums_1.ChainId.Ethereum).address),
1209
- '2131',
1210
- '0.53123',
1211
- 1696590921159,
1212
- enums_1.OrderType.STOP_LOSS
1213
- ]
1214
- ],
1215
- [
1216
- [
1217
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('LINK', enums_1.ChainId.Arbitrum).address),
1218
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Arbitrum).address),
1219
- '2131',
1220
- '0.43123',
1221
- '1646590921159',
1222
- `${enums_1.OrderType.TAKE_PROFIT}`
1223
- ],
1224
- [
1225
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('LINK', enums_1.ChainId.Arbitrum).address),
1226
- web3Utils.toChecksumAddress((0, tokens_1.getAssetInfo)('USDC', enums_1.ChainId.Arbitrum).address),
1227
- '2131',
1228
- '0.43123',
1229
- 1646590921159,
1230
- enums_1.OrderType.TAKE_PROFIT
1231
- ]
1232
- ],
1233
- ];
1234
- examples.forEach(([expected, actual]) => {
1235
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
1236
- (0, chai_1.expect)(strategySubService_1.exchangeEncode.limitOrder(...actual)).to.eql(expected);
1237
- });
1238
- });
1239
- });
1240
1054
  });
1241
1055
  describe('When testing strategySubService.crvUSDEncode', () => {
1242
1056
  describe('leverageManagement()', () => {
@@ -1411,94 +1225,113 @@ describe('Feature: strategySubService.ts', () => {
1411
1225
  });
1412
1226
  });
1413
1227
  });
1414
- describe('closeOnPrice()', () => {
1228
+ describe('leverageManagementOnPrice()', () => {
1415
1229
  const examples = [
1416
1230
  [
1417
1231
  [
1418
- enums_1.Bundles.MainnetIds.MORPHO_BLUE_CLOSE,
1232
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
1419
1233
  true,
1420
- ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000022ecb25c000000000000000000000000000000000000000000000000000000005d21dba000'],
1234
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000003a352944000000000000000000000000000000000000000000000000000000000000000001'],
1421
1235
  [
1422
1236
  '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
1423
1237
  '0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',
1424
1238
  '0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc',
1425
1239
  '0x0000000000000000000000000000000000000000000000000000000000000000',
1426
1240
  '0x0000000000000000000000000000000000000000000000000d1d507e40be8000',
1241
+ '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
1427
1242
  '0x0000000000000000000000001031d218133afab8c2b819b1366c7e434ad91e9c',
1428
- '0x0000000000000000000000000000000000000000000000000000000000000005',
1429
1243
  ],
1430
1244
  ],
1431
1245
  [
1432
- enums_1.Bundles.MainnetIds.MORPHO_BLUE_CLOSE,
1246
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_REPAY_ON_PRICE,
1247
+ true,
1433
1248
  web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1434
1249
  web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1435
1250
  web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1436
1251
  web3Utils.toChecksumAddress('0x0000000000000000000000000000000000000000'),
1437
1252
  '945000000000000000',
1438
1253
  web3Utils.toChecksumAddress('0x1031d218133AFaB8c2B819B1366c7E434Ad91E9c'),
1439
- 1500,
1440
- enums_1.CloseToAssetType.DEBT,
1254
+ 200,
1255
+ 2500,
1256
+ enums_1.RatioState.UNDER,
1257
+ ],
1258
+ ],
1259
+ [
1260
+ [
1261
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_BOOST_ON_PRICE,
1262
+ true,
1263
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000000000000000000000'],
1264
+ [
1265
+ '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
1266
+ '0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',
1267
+ '0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc',
1268
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
1269
+ '0x0000000000000000000000000000000000000000000000000d1d507e40be8000',
1270
+ '0x00000000000000000000000000000000000000000000000016345785d8a00000',
1271
+ '0x0000000000000000000000001031d218133afab8c2b819b1366c7e434ad91e9c',
1272
+ ],
1273
+ ],
1274
+ [
1275
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_BOOST_ON_PRICE,
1276
+ true,
1277
+ web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1278
+ web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1279
+ web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1280
+ web3Utils.toChecksumAddress('0x0000000000000000000000000000000000000000'),
1281
+ '945000000000000000',
1282
+ web3Utils.toChecksumAddress('0x1031d218133AFaB8c2B819B1366c7E434Ad91E9c'),
1283
+ 160,
1441
1284
  4000,
1442
- enums_1.CloseToAssetType.COLLATERAL
1443
- ]
1285
+ enums_1.RatioState.OVER,
1286
+ ],
1444
1287
  ],
1445
1288
  ];
1446
1289
  examples.forEach(([expected, actual]) => {
1447
1290
  it(`Given ${JSON.stringify(actual)} should return expected value: ${JSON.stringify(expected)}`, () => {
1448
- (0, chai_1.expect)(strategySubService_1.morphoBlueEncode.closeOnPrice(...actual)).to.eql(expected);
1291
+ (0, chai_1.expect)(strategySubService_1.morphoBlueEncode.leverageManagementOnPrice(...actual)).to.eql(expected);
1449
1292
  });
1450
1293
  });
1451
1294
  });
1452
- });
1453
- describe('When testing strategySubService.compoundV3L2Encode', () => {
1454
- describe('leverageManagement()', () => {
1295
+ describe('closeOnPrice()', () => {
1455
1296
  const examples = [
1456
1297
  [
1457
- '0x0313D212133AFab8F2b829B1066c7e43caD94e2c0213D212133AfaB8F2b829B1066C7E43cAD94E2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000001a5e27eef13e00000100',
1458
1298
  [
1459
- web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'),
1460
- web3Utils.toChecksumAddress('0x0213d212133AFaB8F2B829B1066c7E43cAd94E2c'),
1461
- 160, 220, 180, 190,
1299
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_CLOSE,
1462
1300
  true,
1463
- false,
1301
+ ['0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000022ecb25c000000000000000000000000000000000000000000000000000000005d21dba000'],
1302
+ [
1303
+ '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
1304
+ '0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0',
1305
+ '0x000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc',
1306
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
1307
+ '0x0000000000000000000000000000000000000000000000000d1d507e40be8000',
1308
+ '0x0000000000000000000000001031d218133afab8c2b819b1366c7e434ad91e9c',
1309
+ '0x0000000000000000000000000000000000000000000000000000000000000005',
1310
+ ],
1464
1311
  ],
1465
- ],
1466
- [
1467
- '0x0313D212133AFab8F2b829B1066c7e43caD94e2c0413d212133afAb8F2B829b1066C7e43cAd94e2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000000f43fc2c04ee00000000',
1468
1312
  [
1469
- web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'),
1470
- web3Utils.toChecksumAddress('0x0413d212133AFaB8F2B829B1066c7E43cAd94E2c'),
1471
- 160, 220, 180, 110,
1472
- false,
1473
- false,
1474
- ],
1313
+ enums_1.Bundles.MainnetIds.MORPHO_BLUE_CLOSE,
1314
+ web3Utils.toChecksumAddress('0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'),
1315
+ web3Utils.toChecksumAddress('0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
1316
+ web3Utils.toChecksumAddress('0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC'),
1317
+ web3Utils.toChecksumAddress('0x0000000000000000000000000000000000000000'),
1318
+ '945000000000000000',
1319
+ web3Utils.toChecksumAddress('0x1031d218133AFaB8c2B819B1366c7E434Ad91E9c'),
1320
+ 1500,
1321
+ enums_1.CloseToAssetType.DEBT,
1322
+ 4000,
1323
+ enums_1.CloseToAssetType.COLLATERAL
1324
+ ]
1475
1325
  ],
1476
1326
  ];
1477
1327
  examples.forEach(([expected, actual]) => {
1478
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
1479
- (0, chai_1.expect)(strategySubService_1.compoundV3L2Encode.leverageManagement(...actual)).to.eql(expected);
1328
+ it(`Given ${JSON.stringify(actual)} should return expected value: ${JSON.stringify(expected)}`, () => {
1329
+ (0, chai_1.expect)(strategySubService_1.morphoBlueEncode.closeOnPrice(...actual)).to.eql(expected);
1480
1330
  });
1481
1331
  });
1482
1332
  });
1483
1333
  });
1484
1334
  describe('When testing strategySubService.sparkEncode', () => {
1485
- describe('leverageManagement()', () => {
1486
- const examples = [
1487
- [
1488
- '0x0000000000000000136dcc951d8c00000000000000000000214e8348c4f0000000000000000000001d24b2dfac52000000000000000000001a5e27eef13e000001',
1489
- [140, 240, 210, 190, true]
1490
- ],
1491
- [
1492
- '0x0000000000000000130337bdce49000000000000000000001988fe4052b800000000000000000000281b57b028e1000000000000000000002223acf76376000000',
1493
- [137, 184, 289, 246, false]
1494
- ]
1495
- ];
1496
- examples.forEach(([expected, actual]) => {
1497
- it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
1498
- (0, chai_1.expect)(strategySubService_1.sparkEncode.leverageManagement(...actual)).to.eql(expected);
1499
- });
1500
- });
1501
- });
1502
1335
  describe('leverageManagementOnPrice()', () => {
1503
1336
  const examples = [
1504
1337
  [
@@ -89,6 +89,13 @@ export declare const liquityLeverageManagementSubData: {
89
89
  targetRatio: number;
90
90
  };
91
91
  };
92
+ export declare const liquityLeverageManagementSubDataWithoutSubProxy: {
93
+ encode(targetRatio: number, ratioState: RatioState): string[];
94
+ decode(subData: string[]): {
95
+ targetRatio: number;
96
+ ratioState: RatioState;
97
+ };
98
+ };
92
99
  export declare const liquityCloseSubData: {
93
100
  encode(closeToAssetAddr: EthereumAddress, chainId?: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress): string[];
94
101
  decode(subData: string[]): {
@@ -177,6 +184,14 @@ export declare const aaveV2LeverageManagementSubData: {
177
184
  targetRatio: number;
178
185
  };
179
186
  };
187
+ export declare const aaveV2LeverageManagementSubDataWithoutSubProxy: {
188
+ encode(market: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
189
+ decode(subData: string[]): {
190
+ market: EthereumAddress;
191
+ targetRatio: number;
192
+ ratioState: RatioState;
193
+ };
194
+ };
180
195
  /**
181
196
  ___ ___ ____ ____ _______ ____ ____ ____
182
197
  / \ / \ \ \ / / | ____| \ \ / / |___ \
@@ -320,6 +335,13 @@ export declare const compoundV2LeverageManagementSubData: {
320
335
  targetRatio: number;
321
336
  };
322
337
  };
338
+ export declare const compoundV2LeverageManagementSubDataWithoutSubProxy: {
339
+ encode(targetRatio: number, ratioState: RatioState): string[];
340
+ decode(subData: string[]): {
341
+ targetRatio: number;
342
+ ratioState: RatioState;
343
+ };
344
+ };
323
345
  /**
324
346
  ______ ______ .___ ___. .______ ____ ____ ____
325
347
  / | / __ \ | \/ | | _ \ \ \ / / |___ \
@@ -334,10 +356,13 @@ export declare const compoundV3LeverageManagementSubData: {
334
356
  targetRatio: number;
335
357
  };
336
358
  };
337
- export declare const compoundV3L2LeverageManagementSubData: {
338
- encode(market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean, isEOA: boolean): string;
359
+ export declare const compoundV3LeverageManagementSubDataWithoutSubProxy: {
360
+ encode(market: EthereumAddress, baseToken: EthereumAddress, targetRatio: number, ratioState: RatioState): string[];
339
361
  decode(subData: string[]): {
362
+ market: EthereumAddress;
363
+ baseToken: EthereumAddress;
340
364
  targetRatio: number;
365
+ ratioState: RatioState;
341
366
  };
342
367
  };
343
368
  export declare const compoundV3LeverageManagementOnPriceSubData: {
@@ -386,6 +411,14 @@ export declare const exchangeLimitOrderSubData: {
386
411
  amount: string;
387
412
  };
388
413
  };
414
+ export declare const exchangeLimitOrderSubDataWithoutSubProxy: {
415
+ encode(fromToken: EthereumAddress, toToken: EthereumAddress, amount: string): string[];
416
+ decode: (subData: string[], chainId: ChainId) => {
417
+ fromToken: string;
418
+ toToken: string;
419
+ amount: string;
420
+ };
421
+ };
389
422
  /**
390
423
  _______..______ ___ .______ __ ___
391
424
  / || _ \ / \ | _ \ | |/ /
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.fluidLeverageManagementSubData = exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3L2LeverageManagementSubData = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
6
+ exports.morphoBlueCloseOnPriceSubData = exports.morphoBlueLeverageManagementOnPriceSubData = exports.morphoBlueLeverageManagementSubData = exports.crvUSDPaybackSubData = exports.crvUSDLeverageManagementSubData = exports.sparkCollateralSwitchSubData = exports.sparkLeverageManagementOnPriceSubData = exports.sparkCloseGenericSubData = exports.sparkLeverageManagementSubDataWithoutSubProxy = exports.sparkLeverageManagementSubData = exports.exchangeLimitOrderSubDataWithoutSubProxy = exports.exchangeLimitOrderSubData = exports.exchangeDcaSubData = exports.compoundV3CloseSubData = exports.compoundV3LeverageManagementOnPriceSubData = exports.compoundV3LeverageManagementSubDataWithoutSubProxy = exports.compoundV3LeverageManagementSubData = exports.compoundV2LeverageManagementSubDataWithoutSubProxy = exports.compoundV2LeverageManagementSubData = exports.aaveV4CollateralSwitchSubData = exports.aaveV4CloseSubData = exports.aaveV4LeverageManagementOnPriceSubData = exports.aaveV4LeverageManagementSubData = exports.aaveV3LeverageManagementOnPriceSubData = exports.aaveV3QuotePriceSubData = exports.aaveV3CollateralSwitchSubData = exports.aaveV3CloseGenericSubData = exports.aaveV3LeverageManagementOnPriceGeneric = exports.aaveV3LeverageManagementSubDataWithoutSubProxy = exports.aaveV3LeverageManagementSubData = exports.aaveV2LeverageManagementSubDataWithoutSubProxy = exports.aaveV2LeverageManagementSubData = exports.liquityV2PaybackSubData = exports.liquityV2LeverageManagementOnPriceSubData = exports.liquityV2CloseSubData = exports.liquityV2LeverageManagementSubData = exports.liquityDebtInFrontRepaySubData = exports.liquityDsrSupplySubData = exports.liquityDsrPaybackSubData = exports.liquityCloseSubData = exports.liquityLeverageManagementSubDataWithoutSubProxy = exports.liquityLeverageManagementSubData = exports.liquityRepayFromSavingsSubData = exports.makerLeverageManagementWithoutSubProxy = exports.makerLeverageManagementSubData = exports.makerCloseSubData = exports.makerRepayFromSavingsSubData = exports.liquityPaybackUsingChickenBondSubData = exports.cBondsRebondSubData = exports.morphoAaveV2LeverageManagementSubData = void 0;
7
+ exports.fluidLeverageManagementSubData = void 0;
7
8
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
9
  const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
9
10
  const web3_utils_1 = require("web3-utils");
@@ -167,6 +168,23 @@ exports.liquityLeverageManagementSubData = {
167
168
  return { targetRatio };
168
169
  },
169
170
  };
171
+ exports.liquityLeverageManagementSubDataWithoutSubProxy = {
172
+ encode(targetRatio, ratioState) {
173
+ const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
174
+ const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
175
+ const isRepay = ratioState === enums_1.RatioState.UNDER;
176
+ const collActionType = isRepay ? enums_1.CollActionType.WITHDRAW : enums_1.CollActionType.SUPPLY;
177
+ const debtActionType = isRepay ? enums_1.DebtActionType.PAYBACK : enums_1.DebtActionType.BORROW;
178
+ const collActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', collActionType);
179
+ const debtActionTypeEncoded = web3_eth_abi_1.default.encodeParameter('uint8', debtActionType);
180
+ return [encodedRatioState, encodedTargetRatio, collActionTypeEncoded, debtActionTypeEncoded];
181
+ },
182
+ decode(subData) {
183
+ const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[0]);
184
+ const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[1]));
185
+ return { targetRatio, ratioState };
186
+ },
187
+ };
170
188
  exports.liquityCloseSubData = {
171
189
  encode(closeToAssetAddr, chainId = enums_1.ChainId.Ethereum, collAddr, debtAddr) {
172
190
  const _collAddr = collAddr || (0, tokens_1.getAssetInfo)('WETH', chainId).address;
@@ -398,6 +416,25 @@ exports.aaveV2LeverageManagementSubData = {
398
416
  return { targetRatio };
399
417
  },
400
418
  };
419
+ exports.aaveV2LeverageManagementSubDataWithoutSubProxy = {
420
+ encode(market, targetRatio, ratioState) {
421
+ const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
422
+ const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
423
+ const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
424
+ const isBoost = ratioState === enums_1.RatioState.OVER;
425
+ if (isBoost) {
426
+ const enableAsCollEncoded = web3_eth_abi_1.default.encodeParameter('uint256', 1);
427
+ return [encodedMarket, encodedTargetRatio, encodedRatioState, enableAsCollEncoded];
428
+ }
429
+ return [encodedMarket, encodedTargetRatio, encodedRatioState];
430
+ },
431
+ decode(subData) {
432
+ const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
433
+ const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[1]));
434
+ const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[2]);
435
+ return { market, targetRatio, ratioState };
436
+ },
437
+ };
401
438
  /**
402
439
  ___ ___ ____ ____ _______ ____ ____ ____
403
440
  / \ / \ \ \ / / | ____| \ \ / / |___ \
@@ -752,6 +789,23 @@ exports.compoundV2LeverageManagementSubData = {
752
789
  return { targetRatio };
753
790
  },
754
791
  };
792
+ exports.compoundV2LeverageManagementSubDataWithoutSubProxy = {
793
+ encode(targetRatio, ratioState) {
794
+ const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
795
+ const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
796
+ const isBoost = ratioState === enums_1.RatioState.OVER;
797
+ if (isBoost) {
798
+ const enableAsCollEncoded = web3_eth_abi_1.default.encodeParameter('uint256', 1);
799
+ return [encodedTargetRatio, encodedRatioState, enableAsCollEncoded];
800
+ }
801
+ return [encodedTargetRatio, encodedRatioState];
802
+ },
803
+ decode(subData) {
804
+ const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[0]));
805
+ const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[1]);
806
+ return { targetRatio, ratioState };
807
+ },
808
+ };
755
809
  /**
756
810
  ______ ______ .___ ___. .______ ____ ____ ____
757
811
  / | / __ \ | \/ | | _ \ \ \ / / |___ \
@@ -779,27 +833,22 @@ exports.compoundV3LeverageManagementSubData = {
779
833
  return { targetRatio };
780
834
  },
781
835
  };
782
- exports.compoundV3L2LeverageManagementSubData = {
783
- encode(market, baseToken, triggerRepayRatio, triggerBoostRatio, targetBoostRatio, targetRepayRatio, boostEnabled, isEOA) {
784
- let subInput = '0x';
785
- subInput = subInput.concat(market.slice(2));
786
- subInput = subInput.concat(baseToken.slice(2));
787
- subInput = subInput.concat(new decimal_js_1.default(triggerRepayRatio).mul(1e16).toHex().slice(2)
788
- .padStart(32, '0'));
789
- subInput = subInput.concat(new decimal_js_1.default(triggerBoostRatio).mul(1e16).toHex().slice(2)
790
- .padStart(32, '0'));
791
- subInput = subInput.concat(new decimal_js_1.default(targetBoostRatio).mul(1e16).toHex().slice(2)
792
- .padStart(32, '0'));
793
- subInput = subInput.concat(new decimal_js_1.default(targetRepayRatio).mul(1e16).toHex().slice(2)
794
- .padStart(32, '0'));
795
- subInput = subInput.concat(boostEnabled ? '01' : '00');
796
- subInput = subInput.concat(isEOA ? '01' : '00');
797
- return subInput;
836
+ exports.compoundV3LeverageManagementSubDataWithoutSubProxy = {
837
+ encode(market, baseToken, targetRatio, ratioState) {
838
+ const encodedMarket = web3_eth_abi_1.default.encodeParameter('address', market);
839
+ const encodedBaseToken = web3_eth_abi_1.default.encodeParameter('address', baseToken);
840
+ const encodedRatioState = web3_eth_abi_1.default.encodeParameter('uint8', ratioState);
841
+ const encodedTargetRatio = web3_eth_abi_1.default.encodeParameter('uint256', (0, utils_1.ratioPercentageToWei)(targetRatio));
842
+ return [encodedMarket, encodedBaseToken, encodedRatioState, encodedTargetRatio];
798
843
  },
799
844
  decode(subData) {
800
- const ratioWei = web3_eth_abi_1.default.decodeParameter('uint256', subData[3]);
801
- const targetRatio = (0, utils_1.weiToRatioPercentage)(ratioWei);
802
- return { targetRatio };
845
+ const market = web3_eth_abi_1.default.decodeParameter('address', subData[0]);
846
+ const baseToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]);
847
+ const ratioState = web3_eth_abi_1.default.decodeParameter('uint8', subData[2]);
848
+ const targetRatio = (0, utils_1.weiToRatioPercentage)(web3_eth_abi_1.default.decodeParameter('uint256', subData[3]));
849
+ return {
850
+ market, baseToken, targetRatio, ratioState,
851
+ };
803
852
  },
804
853
  };
805
854
  exports.compoundV3LeverageManagementOnPriceSubData = {
@@ -905,6 +954,21 @@ exports.exchangeLimitOrderSubData = {
905
954
  return { fromToken, toToken, amount };
906
955
  },
907
956
  };
957
+ exports.exchangeLimitOrderSubDataWithoutSubProxy = {
958
+ encode(fromToken, toToken, amount) {
959
+ return [
960
+ web3_eth_abi_1.default.encodeParameter('address', fromToken),
961
+ web3_eth_abi_1.default.encodeParameter('address', toToken),
962
+ web3_eth_abi_1.default.encodeParameter('uint256', amount),
963
+ ];
964
+ },
965
+ decode: (subData, chainId) => {
966
+ const fromToken = web3_eth_abi_1.default.decodeParameter('address', subData[0]).toString();
967
+ const toToken = web3_eth_abi_1.default.decodeParameter('address', subData[1]).toString();
968
+ const amount = (0, tokens_1.assetAmountInEth)(web3_eth_abi_1.default.decodeParameter('uint256', subData[2]).toString(), (0, tokens_1.getAssetInfoByAddress)(fromToken, chainId).symbol);
969
+ return { fromToken, toToken, amount };
970
+ },
971
+ };
908
972
  /**
909
973
  _______..______ ___ .______ __ ___
910
974
  / || _ \ / \ | _ \ | |/ /