@defisaver/automation-sdk 2.1.3 → 2.1.5
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/.env +4 -0
- package/esm/constants/index.js +10 -0
- package/esm/services/strategiesService.js +4 -1
- package/esm/services/strategySubService.d.ts +3 -0
- package/esm/services/strategySubService.js +6 -1
- package/esm/services/strategySubService.test.js +29 -0
- package/esm/services/subDataService.d.ts +6 -0
- package/esm/services/subDataService.js +24 -1
- package/esm/services/subDataService.test.js +165 -123
- package/esm/types/enums.d.ts +3 -1
- package/esm/types/enums.js +2 -0
- package/package.json +1 -1
- package/src/constants/index.ts +10 -0
- package/src/services/strategiesService.ts +5 -1
- package/src/services/strategySubService.test.ts +33 -1
- package/src/services/strategySubService.ts +14 -0
- package/src/services/subDataService.test.ts +174 -123
- package/src/services/subDataService.ts +36 -1
- package/src/types/enums.ts +2 -0
- package/umd/index.js +42 -1
|
@@ -29,6 +29,7 @@ import {
|
|
|
29
29
|
sparkLeverageManagementSubData,
|
|
30
30
|
sparkQuotePriceSubData,
|
|
31
31
|
crvUSDLeverageManagementSubData,
|
|
32
|
+
compoundV3L2LeverageManagementSubData,
|
|
32
33
|
} from './subDataService';
|
|
33
34
|
|
|
34
35
|
describe('Feature: subDataService.ts', () => {
|
|
@@ -38,8 +39,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
38
39
|
const examples: Array<[SubData, [vaultId: number, targetRatioPercentage: number, chainId: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress]]> = [
|
|
39
40
|
[
|
|
40
41
|
[
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
'0x000000000000000000000000000000000000000000000000000000000000007b', '0x00000000000000000000000000000000000000000000000010a741a462780000',
|
|
43
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e',
|
|
43
44
|
],
|
|
44
45
|
[123, 120, ChainId.Ethereum, web3Utils.toChecksumAddress(getAssetInfo('DAI', ChainId.Ethereum).address), web3Utils.toChecksumAddress('0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e')]
|
|
45
46
|
],
|
|
@@ -62,8 +63,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
62
63
|
targetRatio: 120,
|
|
63
64
|
},
|
|
64
65
|
[
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
'0x000000000000000000000000000000000000000000000000000000000000007b', '0x00000000000000000000000000000000000000000000000010a741a462780000',
|
|
67
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e',
|
|
67
68
|
],
|
|
68
69
|
],
|
|
69
70
|
];
|
|
@@ -82,8 +83,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
82
83
|
[
|
|
83
84
|
{ targetRatio: 120 },
|
|
84
85
|
[
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x00000000000000000000000000000000000000000000000010a741a462780000',
|
|
87
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
87
88
|
],
|
|
88
89
|
],
|
|
89
90
|
];
|
|
@@ -101,15 +102,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
101
102
|
const examples: Array<[SubData, [vaultId: number, closeToAssetAddr: EthereumAddress, chainId: ChainId, daiAddr?: EthereumAddress, mcdCdpManagerAddr?: EthereumAddress]]> = [
|
|
102
103
|
[
|
|
103
104
|
[
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
'0x0000000000000000000000000000000000000000000000000000000000000141', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
106
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e',
|
|
106
107
|
],
|
|
107
108
|
[321, web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address), ChainId.Ethereum, web3Utils.toChecksumAddress(getAssetInfo('DAI', ChainId.Ethereum).address), web3Utils.toChecksumAddress('0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e')]
|
|
108
109
|
],
|
|
109
110
|
[
|
|
110
111
|
[
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
'0x00000000000000000000000000000000000000000000000000000000000001a4', '0x0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599',
|
|
113
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002439d218133afab8f2b819b1066c7e434ad94e9e',
|
|
113
114
|
],
|
|
114
115
|
[420, web3Utils.toChecksumAddress(getAssetInfo('WBTC', ChainId.Ethereum).address), ChainId.Ethereum, web3Utils.toChecksumAddress(getAssetInfo('DAI', ChainId.Ethereum).address), web3Utils.toChecksumAddress('0x2439d218133AFaB8F2B819B1066c7E434Ad94E9e')]
|
|
115
116
|
],
|
|
@@ -130,8 +131,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
130
131
|
closeToAssetAddr: web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address),
|
|
131
132
|
},
|
|
132
133
|
[
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
'0x0000000000000000000000000000000000000000000000000000000000000141', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
135
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002f39d218133afab8f2b819b1066c7e434ad94e9e',
|
|
135
136
|
],
|
|
136
137
|
],
|
|
137
138
|
[
|
|
@@ -140,8 +141,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
140
141
|
closeToAssetAddr: web3Utils.toChecksumAddress(getAssetInfo('WBTC', ChainId.Ethereum).address),
|
|
141
142
|
},
|
|
142
143
|
[
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
'0x00000000000000000000000000000000000000000000000000000000000001a4', '0x0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599',
|
|
145
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000002439d218133afab8f2b819b1066c7e434ad94e9e',
|
|
145
146
|
],
|
|
146
147
|
],
|
|
147
148
|
];
|
|
@@ -199,13 +200,13 @@ describe('Feature: subDataService.ts', () => {
|
|
|
199
200
|
const examples: Array<[SubData, [closeToAssetAddr: EthereumAddress, chainId: ChainId, collAddr?: EthereumAddress, debtAddr?: EthereumAddress]]> = [
|
|
200
201
|
[
|
|
201
202
|
[
|
|
202
|
-
|
|
203
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
203
204
|
],
|
|
204
205
|
[web3Utils.toChecksumAddress(getAssetInfo('LUSD', ChainId.Ethereum).address), ChainId.Ethereum, web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address), web3Utils.toChecksumAddress(getAssetInfo('LUSD', ChainId.Ethereum).address)]
|
|
205
206
|
],
|
|
206
207
|
[
|
|
207
208
|
[
|
|
208
|
-
|
|
209
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
209
210
|
],
|
|
210
211
|
[web3Utils.toChecksumAddress(getAssetInfo('LUSD', ChainId.Ethereum).address), ChainId.Ethereum]
|
|
211
212
|
],
|
|
@@ -226,7 +227,7 @@ describe('Feature: subDataService.ts', () => {
|
|
|
226
227
|
debtAddr: web3Utils.toChecksumAddress(getAssetInfo('LUSD', ChainId.Ethereum).address),
|
|
227
228
|
},
|
|
228
229
|
[
|
|
229
|
-
|
|
230
|
+
'0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
230
231
|
],
|
|
231
232
|
],
|
|
232
233
|
[
|
|
@@ -235,7 +236,7 @@ describe('Feature: subDataService.ts', () => {
|
|
|
235
236
|
debtAddr: web3Utils.toChecksumAddress(getAssetInfo('LUSD', ChainId.Ethereum).address),
|
|
236
237
|
},
|
|
237
238
|
[
|
|
238
|
-
|
|
239
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
239
240
|
],
|
|
240
241
|
],
|
|
241
242
|
];
|
|
@@ -272,11 +273,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
272
273
|
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
273
274
|
[
|
|
274
275
|
{ targetRatio: 200 },
|
|
275
|
-
[
|
|
276
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000'],
|
|
276
277
|
],
|
|
277
278
|
[
|
|
278
279
|
{ targetRatio: 123 },
|
|
279
|
-
[
|
|
280
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000'],
|
|
280
281
|
],
|
|
281
282
|
];
|
|
282
283
|
|
|
@@ -293,11 +294,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
293
294
|
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
294
295
|
[
|
|
295
296
|
{ targetRatio: 200 },
|
|
296
|
-
[
|
|
297
|
+
['0x0000000000000000000000000000000000000000000000001bc16d674ec80000'],
|
|
297
298
|
],
|
|
298
299
|
[
|
|
299
300
|
{ targetRatio: 123 },
|
|
300
|
-
[
|
|
301
|
+
['0x0000000000000000000000000000000000000000000000001111d67bb1bb0000'],
|
|
301
302
|
],
|
|
302
303
|
];
|
|
303
304
|
|
|
@@ -314,9 +315,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
314
315
|
const examples: Array<[SubData, [collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, nullAddress?: EthereumAddress]]> = [
|
|
315
316
|
[
|
|
316
317
|
[
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
318
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
319
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000000000000000000000000000000000000000000004',
|
|
320
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
320
321
|
],
|
|
321
322
|
[
|
|
322
323
|
web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address),
|
|
@@ -327,9 +328,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
327
328
|
],
|
|
328
329
|
[
|
|
329
330
|
[
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
'0x0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529', '0x0000000000000000000000000000000000000000000000000000000000000006',
|
|
332
|
+
'0x000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
333
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
333
334
|
],
|
|
334
335
|
[
|
|
335
336
|
web3Utils.toChecksumAddress(getAssetInfo('wstETH', ChainId.Arbitrum).address),
|
|
@@ -357,9 +358,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
357
358
|
debtAssetId: 4,
|
|
358
359
|
},
|
|
359
360
|
[
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
361
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
362
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000000000000000000000000000000000000000000004',
|
|
363
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
363
364
|
],
|
|
364
365
|
],
|
|
365
366
|
[
|
|
@@ -370,9 +371,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
370
371
|
debtAssetId: 2,
|
|
371
372
|
},
|
|
372
373
|
[
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
374
|
+
'0x0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529', '0x0000000000000000000000000000000000000000000000000000000000000006',
|
|
375
|
+
'0x000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
376
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
376
377
|
],
|
|
377
378
|
],
|
|
378
379
|
];
|
|
@@ -409,11 +410,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
409
410
|
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
410
411
|
[
|
|
411
412
|
{ targetRatio: 200 },
|
|
412
|
-
[
|
|
413
|
+
['0x0000000000000000000000000000000000000000000000001bc16d674ec80000'],
|
|
413
414
|
],
|
|
414
415
|
[
|
|
415
416
|
{ targetRatio: 123 },
|
|
416
|
-
[
|
|
417
|
+
['0x0000000000000000000000000000000000000000000000001111d67bb1bb0000'],
|
|
417
418
|
],
|
|
418
419
|
];
|
|
419
420
|
|
|
@@ -476,15 +477,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
476
477
|
[
|
|
477
478
|
{ targetRatio: 123 },
|
|
478
479
|
[
|
|
479
|
-
|
|
480
|
-
|
|
480
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
481
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
481
482
|
],
|
|
482
483
|
],
|
|
483
484
|
[
|
|
484
485
|
{ targetRatio: 200 },
|
|
485
486
|
[
|
|
486
|
-
|
|
487
|
-
|
|
487
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
488
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
|
|
488
489
|
],
|
|
489
490
|
],
|
|
490
491
|
];
|
|
@@ -521,11 +522,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
521
522
|
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
522
523
|
[
|
|
523
524
|
{ targetRatio: 200 },
|
|
524
|
-
[
|
|
525
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000'],
|
|
525
526
|
],
|
|
526
527
|
[
|
|
527
528
|
{ targetRatio: 123 },
|
|
528
|
-
[
|
|
529
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000'],
|
|
529
530
|
],
|
|
530
531
|
];
|
|
531
532
|
|
|
@@ -541,11 +542,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
541
542
|
describe('encode()', () => {
|
|
542
543
|
const examples: Array<[SubData, [bondId: number | string]]> = [
|
|
543
544
|
[
|
|
544
|
-
[
|
|
545
|
+
['0x00000000000000000000000000000000000000000000000000000000000000c8'],
|
|
545
546
|
[200]
|
|
546
547
|
],
|
|
547
548
|
[
|
|
548
|
-
[
|
|
549
|
+
['0x000000000000000000000000000000000000000000000000000000000000a119'],
|
|
549
550
|
[41241]
|
|
550
551
|
],
|
|
551
552
|
];
|
|
@@ -561,11 +562,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
561
562
|
const examples: Array<[{ bondId: string }, SubData]> = [
|
|
562
563
|
[
|
|
563
564
|
{ bondId: '200' },
|
|
564
|
-
[
|
|
565
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x00000000000000000000000000000000000000000000000000000000000000c8'],
|
|
565
566
|
],
|
|
566
567
|
[
|
|
567
568
|
{ bondId: '41241' },
|
|
568
|
-
[
|
|
569
|
+
['0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000000000000000000000000000000000000000a119'],
|
|
569
570
|
],
|
|
570
571
|
];
|
|
571
572
|
|
|
@@ -582,15 +583,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
582
583
|
const examples: Array<[SubData, [sourceId: string, sourceType: number, chainId?: ChainId]]> = [
|
|
583
584
|
[
|
|
584
585
|
[
|
|
585
|
-
|
|
586
|
-
|
|
586
|
+
'0x0000000000000000000000000000000000000000000000000000000000001076', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
587
|
+
'0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0', '0x000000000000000000000000b9d7dddca9a4ac480991865efef82e01273f79c3',
|
|
587
588
|
],
|
|
588
589
|
['4214', 0, ChainId.Ethereum]
|
|
589
590
|
],
|
|
590
591
|
[
|
|
591
592
|
[
|
|
592
|
-
|
|
593
|
-
|
|
593
|
+
'0x00000000000000000000000000000000000000000000000000000000000002b8', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
594
|
+
'0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0', '0x000000000000000000000000b9d7dddca9a4ac480991865efef82e01273f79c3',
|
|
594
595
|
],
|
|
595
596
|
['696', 1]
|
|
596
597
|
],
|
|
@@ -608,15 +609,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
608
609
|
[
|
|
609
610
|
{ sourceId: '4214', sourceType: '0' },
|
|
610
611
|
[
|
|
611
|
-
|
|
612
|
-
|
|
612
|
+
'0x0000000000000000000000000000000000000000000000000000000000001076', '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
613
|
+
'0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0', '0x000000000000000000000000b9d7dddca9a4ac480991865efef82e01273f79c3',
|
|
613
614
|
],
|
|
614
615
|
],
|
|
615
616
|
[
|
|
616
617
|
{ sourceId: '696', sourceType: '1' },
|
|
617
618
|
[
|
|
618
|
-
|
|
619
|
-
|
|
619
|
+
'0x00000000000000000000000000000000000000000000000000000000000002b8', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
620
|
+
'0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0', '0x000000000000000000000000b9d7dddca9a4ac480991865efef82e01273f79c3',
|
|
620
621
|
],
|
|
621
622
|
],
|
|
622
623
|
];
|
|
@@ -634,8 +635,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
634
635
|
const examples: Array<[SubData, [fromToken: EthereumAddress, toToken: EthereumAddress, amount: string, interval: number]]> = [
|
|
635
636
|
[
|
|
636
637
|
[
|
|
637
|
-
|
|
638
|
-
|
|
638
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f',
|
|
639
|
+
'0x0000000000000000000000000000000000000000000000000000000000000853', '0x0000000000000000000000000000000000000000000000000000000000231860'
|
|
639
640
|
],
|
|
640
641
|
[
|
|
641
642
|
web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address),
|
|
@@ -646,8 +647,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
646
647
|
],
|
|
647
648
|
[
|
|
648
649
|
[
|
|
649
|
-
|
|
650
|
-
|
|
650
|
+
'0x0000000000000000000000002f2a2543b76a4166549f7aab2e75bef0aefc5b0f', '0x000000000000000000000000f97f4df75117a78c1a5a0dbb814af92458539fb4',
|
|
651
|
+
'0x00000000000000000000000000000000000000000000000000000000003eddd7', '0x0000000000000000000000000000000000000000000000000000000008f57500'
|
|
651
652
|
],
|
|
652
653
|
[
|
|
653
654
|
web3Utils.toChecksumAddress(getAssetInfo('WBTC', ChainId.Arbitrum).address),
|
|
@@ -676,8 +677,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
676
677
|
},
|
|
677
678
|
[
|
|
678
679
|
[
|
|
679
|
-
|
|
680
|
-
|
|
680
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f',
|
|
681
|
+
'0x0000000000000000000000000000000000000000000000000000000000000853', '0x0000000000000000000000000000000000000000000000000000000000231860'
|
|
681
682
|
],
|
|
682
683
|
ChainId.Ethereum
|
|
683
684
|
],
|
|
@@ -691,8 +692,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
691
692
|
},
|
|
692
693
|
[
|
|
693
694
|
[
|
|
694
|
-
|
|
695
|
-
|
|
695
|
+
'0x0000000000000000000000002f2a2543b76a4166549f7aab2e75bef0aefc5b0f', '0x000000000000000000000000f97f4df75117a78c1a5a0dbb814af92458539fb4',
|
|
696
|
+
'0x00000000000000000000000000000000000000000000000000000000003eddd7', '0x0000000000000000000000000000000000000000000000000000000008f57500'
|
|
696
697
|
],
|
|
697
698
|
ChainId.Arbitrum
|
|
698
699
|
]
|
|
@@ -765,8 +766,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
765
766
|
},
|
|
766
767
|
[
|
|
767
768
|
[
|
|
768
|
-
|
|
769
|
-
|
|
769
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f',
|
|
770
|
+
'0x0000000000000000000000000000000000000000000000000000000000000853', '0x0000000000000000000000000000000000000000000000000000000000231860'
|
|
770
771
|
],
|
|
771
772
|
ChainId.Ethereum
|
|
772
773
|
],
|
|
@@ -779,8 +780,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
779
780
|
},
|
|
780
781
|
[
|
|
781
782
|
[
|
|
782
|
-
|
|
783
|
-
|
|
783
|
+
'0x0000000000000000000000002f2a2543b76a4166549f7aab2e75bef0aefc5b0f', '0x000000000000000000000000f97f4df75117a78c1a5a0dbb814af92458539fb4',
|
|
784
|
+
'0x00000000000000000000000000000000000000000000000000000000003eddd7', '0x0000000000000000000000000000000000000000000000000000000008f57500'
|
|
784
785
|
],
|
|
785
786
|
ChainId.Arbitrum
|
|
786
787
|
]
|
|
@@ -800,11 +801,11 @@ describe('Feature: subDataService.ts', () => {
|
|
|
800
801
|
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
801
802
|
[
|
|
802
803
|
{ targetRatio: 200 },
|
|
803
|
-
[
|
|
804
|
+
['0x0000000000000000000000000000000000000000000000001bc16d674ec80000'],
|
|
804
805
|
],
|
|
805
806
|
[
|
|
806
807
|
{ targetRatio: 123 },
|
|
807
|
-
[
|
|
808
|
+
['0x0000000000000000000000000000000000000000000000001111d67bb1bb0000'],
|
|
808
809
|
],
|
|
809
810
|
];
|
|
810
811
|
|
|
@@ -821,9 +822,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
821
822
|
const examples: Array<[SubData, [collAsset: EthereumAddress, collAssetId: number, debtAsset: EthereumAddress, debtAssetId: number, nullAddress?: EthereumAddress]]> = [
|
|
822
823
|
[
|
|
823
824
|
[
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
825
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
826
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000000000000000000000000000000000000000000004',
|
|
827
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
827
828
|
],
|
|
828
829
|
[
|
|
829
830
|
web3Utils.toChecksumAddress(getAssetInfo('WETH', ChainId.Ethereum).address),
|
|
@@ -834,9 +835,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
834
835
|
],
|
|
835
836
|
[
|
|
836
837
|
[
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
838
|
+
'0x0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529', '0x0000000000000000000000000000000000000000000000000000000000000006',
|
|
839
|
+
'0x000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
840
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
840
841
|
],
|
|
841
842
|
[
|
|
842
843
|
web3Utils.toChecksumAddress(getAssetInfo('wstETH', ChainId.Arbitrum).address),
|
|
@@ -864,9 +865,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
864
865
|
debtAssetId: 4,
|
|
865
866
|
},
|
|
866
867
|
[
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
868
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
869
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000000000000000000000000000000000000000000004',
|
|
870
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
870
871
|
],
|
|
871
872
|
],
|
|
872
873
|
[
|
|
@@ -877,9 +878,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
877
878
|
debtAssetId: 2,
|
|
878
879
|
},
|
|
879
880
|
[
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
881
|
+
'0x0000000000000000000000005979d7b546e38e414f7e9822514be443a4800529', '0x0000000000000000000000000000000000000000000000000000000000000006',
|
|
882
|
+
'0x000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831', '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
883
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
883
884
|
],
|
|
884
885
|
],
|
|
885
886
|
];
|
|
@@ -897,15 +898,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
897
898
|
const examples: Array<[SubData, [targetRatio: number]]> = [
|
|
898
899
|
[
|
|
899
900
|
[
|
|
900
|
-
|
|
901
|
-
|
|
901
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
902
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
902
903
|
],
|
|
903
904
|
[123]
|
|
904
905
|
],
|
|
905
906
|
[
|
|
906
907
|
[
|
|
907
|
-
|
|
908
|
-
|
|
908
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000003a4965bf58a40000',
|
|
909
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
909
910
|
],
|
|
910
911
|
[420]
|
|
911
912
|
],
|
|
@@ -925,8 +926,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
925
926
|
targetRatio: 123,
|
|
926
927
|
},
|
|
927
928
|
[
|
|
928
|
-
|
|
929
|
-
|
|
929
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
930
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
930
931
|
],
|
|
931
932
|
],
|
|
932
933
|
[
|
|
@@ -934,8 +935,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
934
935
|
targetRatio: 420,
|
|
935
936
|
},
|
|
936
937
|
[
|
|
937
|
-
|
|
938
|
-
|
|
938
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000003a4965bf58a40000',
|
|
939
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
939
940
|
],
|
|
940
941
|
],
|
|
941
942
|
];
|
|
@@ -953,15 +954,15 @@ describe('Feature: subDataService.ts', () => {
|
|
|
953
954
|
const examples: Array<[SubData, [targetRatio: number]]> = [
|
|
954
955
|
[
|
|
955
956
|
[
|
|
956
|
-
|
|
957
|
-
|
|
957
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000002c68af0bb1400000',
|
|
958
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
958
959
|
],
|
|
959
960
|
[320]
|
|
960
961
|
],
|
|
961
962
|
[
|
|
962
963
|
[
|
|
963
|
-
|
|
964
|
-
|
|
964
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001eab7f4a799d0000',
|
|
965
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
965
966
|
],
|
|
966
967
|
[221]
|
|
967
968
|
],
|
|
@@ -981,8 +982,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
981
982
|
targetRatio: 320,
|
|
982
983
|
},
|
|
983
984
|
[
|
|
984
|
-
|
|
985
|
-
|
|
985
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000002c68af0bb1400000',
|
|
986
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
986
987
|
],
|
|
987
988
|
],
|
|
988
989
|
[
|
|
@@ -990,8 +991,8 @@ describe('Feature: subDataService.ts', () => {
|
|
|
990
991
|
targetRatio: 221,
|
|
991
992
|
},
|
|
992
993
|
[
|
|
993
|
-
|
|
994
|
-
|
|
994
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001eab7f4a799d0000',
|
|
995
|
+
'0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
995
996
|
],
|
|
996
997
|
],
|
|
997
998
|
];
|
|
@@ -1009,17 +1010,17 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1009
1010
|
const examples: Array<[SubData, [targetRatioIncrease: number]]> = [
|
|
1010
1011
|
[
|
|
1011
1012
|
[
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1013
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
1014
|
+
'0x000000000000000000000000000000000000000000000000016345785d8a0000', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
1015
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1015
1016
|
],
|
|
1016
1017
|
[10]
|
|
1017
1018
|
],
|
|
1018
1019
|
[
|
|
1019
1020
|
[
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1021
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
1022
|
+
'0x000000000000000000000000000000000000000000000000063eb89da4ed0000', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
1023
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1023
1024
|
],
|
|
1024
1025
|
[45]
|
|
1025
1026
|
],
|
|
@@ -1039,9 +1040,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1039
1040
|
targetRatioIncrease: 10,
|
|
1040
1041
|
},
|
|
1041
1042
|
[
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1043
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
1044
|
+
'0x000000000000000000000000000000000000000000000000016345785d8a0000', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
1045
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1045
1046
|
],
|
|
1046
1047
|
],
|
|
1047
1048
|
[
|
|
@@ -1049,9 +1050,9 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1049
1050
|
targetRatioIncrease: 45,
|
|
1050
1051
|
},
|
|
1051
1052
|
[
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1053
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x0000000000000000000000005f98805a4e8be255a32880fdec7f6728c6568ba0',
|
|
1054
|
+
'0x000000000000000000000000000000000000000000000000063eb89da4ed0000', '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
1055
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1055
1056
|
],
|
|
1056
1057
|
],
|
|
1057
1058
|
];
|
|
@@ -1063,28 +1064,29 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1063
1064
|
});
|
|
1064
1065
|
});
|
|
1065
1066
|
});
|
|
1067
|
+
|
|
1066
1068
|
describe('When testing subDataService.crvUSDLeverageManagementSubData', () => {
|
|
1067
1069
|
describe('encode()', () => {
|
|
1068
1070
|
const examples: Array<[SubData, [controller: EthereumAddress, ratioState: RatioState, targetRatio: number, collToken: EthereumAddress, crvUSD: EthereumAddress]]> = [
|
|
1069
1071
|
[
|
|
1070
1072
|
[
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1073
|
+
'0x000000000000000000000000a920de414ea4ab66b97da1bfe9e6eca7d4219635',
|
|
1074
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
1075
|
+
'0x00000000000000000000000000000000000000000000000010a741a462780000',
|
|
1076
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
1077
|
+
'0x000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e',
|
|
1076
1078
|
],
|
|
1077
|
-
[
|
|
1079
|
+
['0xa920de414ea4ab66b97da1bfe9e6eca7d4219635', RatioState.UNDER, 120, '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', '0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E'],
|
|
1078
1080
|
],
|
|
1079
1081
|
[
|
|
1080
1082
|
[
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1083
|
+
'0x000000000000000000000000a920de414ea4ab66b97da1bfe9e6eca7d4219635',
|
|
1084
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1085
|
+
'0x00000000000000000000000000000000000000000000000018fae27693b40000',
|
|
1086
|
+
'0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
1087
|
+
'0x000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e',
|
|
1086
1088
|
],
|
|
1087
|
-
[
|
|
1089
|
+
['0xa920de414ea4ab66b97da1bfe9e6eca7d4219635', RatioState.OVER, 180, '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', '0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E']
|
|
1088
1090
|
],
|
|
1089
1091
|
];
|
|
1090
1092
|
examples.forEach(([expected, actual]) => {
|
|
@@ -1103,14 +1105,14 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1103
1105
|
controller: '0xA920De414eA4Ab66b97dA1bFE9e6EcA7d4219635',
|
|
1104
1106
|
targetRatio: 120,
|
|
1105
1107
|
},
|
|
1106
|
-
[
|
|
1108
|
+
['0x000000000000000000000000a920de414ea4ab66b97da1bfe9e6eca7d4219635', '0x0000000000000000000000000000000000000000000000000000000000000001', '0x00000000000000000000000000000000000000000000000010a741a462780000', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e',],
|
|
1107
1109
|
],
|
|
1108
1110
|
[
|
|
1109
1111
|
{
|
|
1110
|
-
controller:
|
|
1112
|
+
controller: '0xA920De414eA4Ab66b97dA1bFE9e6EcA7d4219635',
|
|
1111
1113
|
targetRatio: 180,
|
|
1112
1114
|
},
|
|
1113
|
-
[
|
|
1115
|
+
['0x000000000000000000000000a920de414ea4ab66b97da1bfe9e6eca7d4219635', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x00000000000000000000000000000000000000000000000018fae27693b40000', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0x000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e',],
|
|
1114
1116
|
],
|
|
1115
1117
|
];
|
|
1116
1118
|
|
|
@@ -1122,4 +1124,53 @@ describe('Feature: subDataService.ts', () => {
|
|
|
1122
1124
|
});
|
|
1123
1125
|
});
|
|
1124
1126
|
|
|
1127
|
+
describe('When testing subDataService.compoundV3L2LeverageManagementSubData', () => {
|
|
1128
|
+
describe('encode()', () => {
|
|
1129
|
+
const examples: Array<[
|
|
1130
|
+
string,
|
|
1131
|
+
[market: EthereumAddress, baseToken: EthereumAddress, triggerRepayRatio: number, triggerBoostRatio: number, targetBoostRatio: number, targetRepayRatio: number, boostEnabled: boolean],
|
|
1132
|
+
]> = [
|
|
1133
|
+
[
|
|
1134
|
+
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0213D212133AfaB8F2b829B1066C7E43cAD94E2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000001a5e27eef13e000001',
|
|
1135
|
+
[web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'), web3Utils.toChecksumAddress('0x0213d212133AFaB8F2B829B1066c7E43cAd94E2c'), 160, 220, 180, 190, true]
|
|
1136
|
+
],
|
|
1137
|
+
[
|
|
1138
|
+
'0x0313D212133AFab8F2b829B1066c7e43caD94e2c0413d212133afAb8F2B829b1066C7e43cAd94e2c000000000000000016345785d8a0000000000000000000001e87f85809dc0000000000000000000018fae27693b4000000000000000000000f43fc2c04ee000000',
|
|
1139
|
+
[web3Utils.toChecksumAddress('0x0313d212133AFaB8F2B829B1066c7E43cAd94E2c'), web3Utils.toChecksumAddress('0x0413d212133AFaB8F2B829B1066c7E43cAd94E2c'), 160, 220, 180, 110, false]
|
|
1140
|
+
],
|
|
1141
|
+
];
|
|
1142
|
+
|
|
1143
|
+
examples.forEach(([expected, actual]) => {
|
|
1144
|
+
it(`Given ${actual} should return expected value: ${expected}`, () => {
|
|
1145
|
+
expect(compoundV3L2LeverageManagementSubData.encode(...actual)).to.eql(expected);
|
|
1146
|
+
});
|
|
1147
|
+
});
|
|
1148
|
+
});
|
|
1149
|
+
describe('decode()', () => {
|
|
1150
|
+
const examples: Array<[{ targetRatio: number }, SubData]> = [
|
|
1151
|
+
[
|
|
1152
|
+
{ targetRatio: 200 },
|
|
1153
|
+
[
|
|
1154
|
+
'0x0000000000000000000000000313d212133AFaB8F2B829B1066c7E43cAd94E2c', '0x0000000000000000000000000213d212133AFaB8F2B829B1066c7E43cAd94E2c',
|
|
1155
|
+
'0x0000000000000000000000000000000000000000000000000000000000000001', '0x0000000000000000000000000000000000000000000000001bc16d674ec80000',
|
|
1156
|
+
],
|
|
1157
|
+
],
|
|
1158
|
+
[
|
|
1159
|
+
{ targetRatio: 123 },
|
|
1160
|
+
[
|
|
1161
|
+
'0x0000000000000000000000000313d212133AFaB8F2B829B1066c7E43cAd94E2c', '0x0000000000000000000000000413d212133AFaB8F2B829B1066c7E43cAd94E2c',
|
|
1162
|
+
'0x0000000000000000000000000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000001111d67bb1bb0000',
|
|
1163
|
+
],
|
|
1164
|
+
],
|
|
1165
|
+
];
|
|
1166
|
+
|
|
1167
|
+
examples.forEach(([expected, actual]) => {
|
|
1168
|
+
it(`Given ${actual} should return expected value: ${JSON.stringify(expected)}`, () => {
|
|
1169
|
+
expect(compoundV3L2LeverageManagementSubData.decode(actual)).to.eql(expected);
|
|
1170
|
+
});
|
|
1171
|
+
});
|
|
1172
|
+
});
|
|
1173
|
+
});
|
|
1174
|
+
|
|
1175
|
+
|
|
1125
1176
|
});
|