@indigo-labs/indigo-sdk 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +102 -40
- package/dist/index.d.ts +102 -40
- package/dist/index.js +900 -801
- package/dist/index.mjs +339 -256
- package/package.json +2 -2
- package/src/contracts/cdp/helpers.ts +7 -6
- package/src/contracts/cdp/transactions.ts +8 -29
- package/src/contracts/gov/transactions.ts +12 -16
- package/src/contracts/iasset/helpers.ts +2 -7
- package/src/contracts/initialize/actions.ts +0 -2
- package/src/contracts/initialize/helpers.ts +0 -4
- package/src/contracts/interest-collection/transactions.ts +2 -5
- package/src/contracts/interest-oracle/helpers.ts +4 -0
- package/src/contracts/interest-oracle/transactions.ts +1 -4
- package/src/contracts/price-oracle/helpers.ts +5 -11
- package/src/contracts/price-oracle/transactions.ts +2 -7
- package/src/contracts/rob/transactions.ts +0 -2
- package/src/contracts/rob-leverage/transactions.ts +1 -4
- package/src/contracts/stability-pool/transactions.ts +2 -8
- package/src/contracts/stableswap/helpers.ts +369 -1
- package/src/contracts/stableswap/transactions.ts +43 -191
- package/src/contracts/staking/transactions.ts +2 -7
- package/tests/cdp/actions.ts +0 -11
- package/tests/cdp/cdp-helpers.ts +2 -2
- package/tests/cdp/cdp-queries.ts +1 -3
- package/tests/cdp/cdp.test.ts +409 -620
- package/tests/cdp/transactions-mutated.ts +30 -25
- package/tests/endpoints/initialize.ts +0 -2
- package/tests/gov/actions.ts +7 -32
- package/tests/gov/gov.test.ts +169 -401
- package/tests/indigo-test-helpers.ts +0 -1
- package/tests/initialize.test.ts +15 -20
- package/tests/interest-collection/interest-collection.test.ts +0 -4
- package/tests/interest-oracle.test.ts +1 -8
- package/tests/price-oracle/actions.ts +6 -8
- package/tests/price-oracle/price-oracle.test.ts +1 -13
- package/tests/price-oracle/transactions-mutated.ts +1 -4
- package/tests/pyth/pyth-indigo.test.ts +8 -12
- package/tests/pyth/pyth.test.ts +1 -2
- package/tests/rob/actions.ts +0 -2
- package/tests/rob/rob-leverage.test.ts +164 -220
- package/tests/rob/rob.test.ts +158 -263
- package/tests/rob/transactions-mutated.ts +7 -18
- package/tests/stability-pool/actions.ts +4 -8
- package/tests/stability-pool.test.ts +164 -255
- package/tests/stableswap/stableswap-actions.ts +0 -1
- package/tests/stableswap/stableswap.test.ts +226 -4
- package/tests/staking.test.ts +2 -13
- package/tests/treasury/treasury.test.ts +6 -30
package/tests/cdp/cdp.test.ts
CHANGED
|
@@ -148,14 +148,13 @@ describe('CDP', () => {
|
|
|
148
148
|
context.lucid = await Lucid(context.emulator, 'Custom');
|
|
149
149
|
});
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
// eslint-disable-next-line vitest/no-focused-tests
|
|
152
|
+
test.only<MyContext>('Open CDP; ADA collateral', async (context: MyContext) => {
|
|
152
153
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
153
154
|
|
|
154
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
context.emulator.slot,
|
|
158
|
-
);
|
|
155
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
156
|
+
iusdInitialAssetCfg(),
|
|
157
|
+
]);
|
|
159
158
|
|
|
160
159
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
161
160
|
|
|
@@ -200,19 +199,17 @@ describe('CDP', () => {
|
|
|
200
199
|
'Unexpected value received by the treasury',
|
|
201
200
|
);
|
|
202
201
|
|
|
203
|
-
assertValueInRange(
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
);
|
|
202
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
203
|
+
min: 199,
|
|
204
|
+
max: 200,
|
|
205
|
+
});
|
|
207
206
|
});
|
|
208
207
|
test<MyContext>('Open CDP; ADA collateral - direct treasury payment', async (context: MyContext) => {
|
|
209
208
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
210
209
|
|
|
211
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
context.emulator.slot,
|
|
215
|
-
);
|
|
210
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
211
|
+
iusdInitialAssetCfg(),
|
|
212
|
+
]);
|
|
216
213
|
|
|
217
214
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
218
215
|
|
|
@@ -259,24 +256,20 @@ describe('CDP', () => {
|
|
|
259
256
|
'Unexpected value received by the treasury',
|
|
260
257
|
);
|
|
261
258
|
|
|
262
|
-
assertValueInRange(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
);
|
|
259
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
260
|
+
min: 199,
|
|
261
|
+
max: 200,
|
|
262
|
+
});
|
|
266
263
|
});
|
|
267
264
|
test<MyContext>('Open CDP; non-ADA collateral asset', async (context: MyContext) => {
|
|
268
265
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
269
266
|
|
|
270
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
},
|
|
277
|
-
],
|
|
278
|
-
context.emulator.slot,
|
|
279
|
-
);
|
|
267
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
268
|
+
{
|
|
269
|
+
...iusdInitialAssetCfg(),
|
|
270
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
271
|
+
},
|
|
272
|
+
]);
|
|
280
273
|
|
|
281
274
|
const [_, addedValueInTreasury] = await getValueChangeAtAddressAfterAction(
|
|
282
275
|
context.lucid,
|
|
@@ -319,25 +312,21 @@ describe('CDP', () => {
|
|
|
319
312
|
'Unexpected value received by the treasury',
|
|
320
313
|
);
|
|
321
314
|
|
|
322
|
-
assertValueInRange(
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
);
|
|
315
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
316
|
+
min: 199,
|
|
317
|
+
max: 200,
|
|
318
|
+
});
|
|
326
319
|
});
|
|
327
320
|
|
|
328
321
|
test<MyContext>('Open CDP; non-ADA collateral asset - direct treasury payment', async (context: MyContext) => {
|
|
329
322
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
330
323
|
|
|
331
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
},
|
|
338
|
-
],
|
|
339
|
-
context.emulator.slot,
|
|
340
|
-
);
|
|
324
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
325
|
+
{
|
|
326
|
+
...iusdInitialAssetCfg(),
|
|
327
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
328
|
+
},
|
|
329
|
+
]);
|
|
341
330
|
|
|
342
331
|
const [_, addedValueInTreasury] = await getValueChangeAtAddressAfterAction(
|
|
343
332
|
context.lucid,
|
|
@@ -382,33 +371,24 @@ describe('CDP', () => {
|
|
|
382
371
|
'Unexpected value received by the treasury',
|
|
383
372
|
);
|
|
384
373
|
|
|
385
|
-
assertValueInRange(
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
);
|
|
374
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
375
|
+
min: 199,
|
|
376
|
+
max: 200,
|
|
377
|
+
});
|
|
389
378
|
});
|
|
390
379
|
|
|
391
380
|
// This tests opening a CDP with a collateral asset with 8 decimals, such as xBTC.
|
|
392
381
|
test<MyContext>('Open CDP; non-ADA collateral asset with more decimals', async (context: MyContext) => {
|
|
393
382
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
394
383
|
|
|
395
|
-
const [sysParams, _] = await init(
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
0n,
|
|
404
|
-
rationalFromInt(1n),
|
|
405
|
-
2n,
|
|
406
|
-
),
|
|
407
|
-
],
|
|
408
|
-
},
|
|
409
|
-
],
|
|
410
|
-
context.emulator.slot,
|
|
411
|
-
);
|
|
384
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
385
|
+
{
|
|
386
|
+
...iusdInitialAssetCfg(),
|
|
387
|
+
collateralAssets: [
|
|
388
|
+
mkBaseCollateralAsset(collateralAssetA, 0n, rationalFromInt(1n), 2n),
|
|
389
|
+
],
|
|
390
|
+
},
|
|
391
|
+
]);
|
|
412
392
|
|
|
413
393
|
await runAndAwaitTx(
|
|
414
394
|
context.lucid,
|
|
@@ -429,10 +409,10 @@ describe('CDP', () => {
|
|
|
429
409
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
430
410
|
);
|
|
431
411
|
|
|
432
|
-
assertValueInRange(
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
);
|
|
412
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
413
|
+
min: 149,
|
|
414
|
+
max: 151,
|
|
415
|
+
});
|
|
436
416
|
|
|
437
417
|
await expectScriptFailure(
|
|
438
418
|
'Undercollaterized',
|
|
@@ -452,23 +432,14 @@ describe('CDP', () => {
|
|
|
452
432
|
test<MyContext>('Open CDP; non-ADA collateral asset with less decimals', async (context: MyContext) => {
|
|
453
433
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
454
434
|
|
|
455
|
-
const [sysParams, _] = await init(
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
0n,
|
|
464
|
-
rationalFromInt(1n),
|
|
465
|
-
-2n,
|
|
466
|
-
),
|
|
467
|
-
],
|
|
468
|
-
},
|
|
469
|
-
],
|
|
470
|
-
context.emulator.slot,
|
|
471
|
-
);
|
|
435
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
436
|
+
{
|
|
437
|
+
...iusdInitialAssetCfg(),
|
|
438
|
+
collateralAssets: [
|
|
439
|
+
mkBaseCollateralAsset(collateralAssetA, 0n, rationalFromInt(1n), -2n),
|
|
440
|
+
],
|
|
441
|
+
},
|
|
442
|
+
]);
|
|
472
443
|
|
|
473
444
|
await runAndAwaitTx(
|
|
474
445
|
context.lucid,
|
|
@@ -489,10 +460,10 @@ describe('CDP', () => {
|
|
|
489
460
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
490
461
|
);
|
|
491
462
|
|
|
492
|
-
assertValueInRange(
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
);
|
|
463
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
464
|
+
min: 149,
|
|
465
|
+
max: 151,
|
|
466
|
+
});
|
|
496
467
|
|
|
497
468
|
await expectScriptFailure(
|
|
498
469
|
'Undercollaterized',
|
|
@@ -511,11 +482,9 @@ describe('CDP', () => {
|
|
|
511
482
|
test<IndigoTestContext>('Open CDP with large rational price oracle', async (context: IndigoTestContext) => {
|
|
512
483
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
513
484
|
|
|
514
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
context.emulator.slot,
|
|
518
|
-
);
|
|
485
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
486
|
+
iusdInitialAssetCfg(),
|
|
487
|
+
]);
|
|
519
488
|
|
|
520
489
|
const orefs = await findAllNecessaryOrefs(
|
|
521
490
|
context.lucid,
|
|
@@ -539,7 +508,6 @@ describe('CDP', () => {
|
|
|
539
508
|
priceOracleUtxo!,
|
|
540
509
|
{ numerator: largeBigInt, denominator: largeBigInt },
|
|
541
510
|
iusdAssetInfo.collateralAssets[0].oracleParams!,
|
|
542
|
-
context.emulator.slot,
|
|
543
511
|
),
|
|
544
512
|
);
|
|
545
513
|
|
|
@@ -563,11 +531,9 @@ describe('CDP', () => {
|
|
|
563
531
|
test<IndigoTestContext>('Open CDP with large auxilary data oracle', async (context: IndigoTestContext) => {
|
|
564
532
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
565
533
|
|
|
566
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
context.emulator.slot,
|
|
570
|
-
);
|
|
534
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
535
|
+
iusdInitialAssetCfg(),
|
|
536
|
+
]);
|
|
571
537
|
|
|
572
538
|
const orefs = await findAllNecessaryOrefs(
|
|
573
539
|
context.lucid,
|
|
@@ -592,7 +558,7 @@ describe('CDP', () => {
|
|
|
592
558
|
priceOracleUtxo!,
|
|
593
559
|
{ numerator: 1n, denominator: 1n },
|
|
594
560
|
iusdAssetInfo.collateralAssets[0].oracleParams!,
|
|
595
|
-
|
|
561
|
+
|
|
596
562
|
Core.Data.fromCBORHex(
|
|
597
563
|
Data.to(Data.fromJson(oneKbBuf.toString('ascii'))),
|
|
598
564
|
),
|
|
@@ -619,11 +585,9 @@ describe('CDP', () => {
|
|
|
619
585
|
test<IndigoTestContext>('Open CDP with expired oracle fails', async (context: IndigoTestContext) => {
|
|
620
586
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
621
587
|
|
|
622
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
context.emulator.slot,
|
|
626
|
-
);
|
|
588
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
589
|
+
iusdInitialAssetCfg(),
|
|
590
|
+
]);
|
|
627
591
|
|
|
628
592
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
629
593
|
|
|
@@ -649,16 +613,12 @@ describe('CDP', () => {
|
|
|
649
613
|
test<IndigoTestContext>('Open CDP with delisted iAsset fails', async (context: IndigoTestContext) => {
|
|
650
614
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
651
615
|
|
|
652
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
},
|
|
659
|
-
],
|
|
660
|
-
context.emulator.slot,
|
|
661
|
-
);
|
|
616
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
617
|
+
{
|
|
618
|
+
...iusdInitialAssetCfg(),
|
|
619
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
620
|
+
},
|
|
621
|
+
]);
|
|
662
622
|
|
|
663
623
|
const govUtxo = await findGov(
|
|
664
624
|
context.lucid,
|
|
@@ -695,7 +655,6 @@ describe('CDP', () => {
|
|
|
695
655
|
null,
|
|
696
656
|
sysParams,
|
|
697
657
|
context.lucid,
|
|
698
|
-
context.emulator.slot,
|
|
699
658
|
govUtxo.utxo,
|
|
700
659
|
[],
|
|
701
660
|
);
|
|
@@ -732,11 +691,9 @@ describe('CDP', () => {
|
|
|
732
691
|
test<MyContext>('Open CDP with hybrid oracle', async (context: MyContext) => {
|
|
733
692
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
734
693
|
|
|
735
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
context.emulator.slot,
|
|
739
|
-
);
|
|
694
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
695
|
+
iusdInitialAssetCfg(),
|
|
696
|
+
]);
|
|
740
697
|
|
|
741
698
|
const [_, addedValueInTreasury] = await getValueChangeAtAddressAfterAction(
|
|
742
699
|
context.lucid,
|
|
@@ -781,20 +738,16 @@ describe('CDP', () => {
|
|
|
781
738
|
'Unexpected value received by the treasury',
|
|
782
739
|
);
|
|
783
740
|
|
|
784
|
-
assertValueInRange(
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
);
|
|
741
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
742
|
+
min: 199,
|
|
743
|
+
max: 200,
|
|
744
|
+
});
|
|
788
745
|
});
|
|
789
746
|
|
|
790
747
|
test<MyContext>('Deposit CDP; ADA collateral', async (context: MyContext) => {
|
|
791
748
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
792
749
|
|
|
793
|
-
const [sysParams, _] = await init(
|
|
794
|
-
context.lucid,
|
|
795
|
-
[iusdInitialAssetCfg()],
|
|
796
|
-
context.emulator.slot,
|
|
797
|
-
);
|
|
750
|
+
const [sysParams, _] = await init(context.lucid, [iusdInitialAssetCfg()]);
|
|
798
751
|
|
|
799
752
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
800
753
|
await runAndAwaitTx(
|
|
@@ -820,16 +773,12 @@ describe('CDP', () => {
|
|
|
820
773
|
test<MyContext>('Deposit CDP; non-ADA collateral', async (context: MyContext) => {
|
|
821
774
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
822
775
|
|
|
823
|
-
const [sysParams, _] = await init(
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
},
|
|
830
|
-
],
|
|
831
|
-
context.emulator.slot,
|
|
832
|
-
);
|
|
776
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
777
|
+
{
|
|
778
|
+
...iusdInitialAssetCfg(),
|
|
779
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
780
|
+
},
|
|
781
|
+
]);
|
|
833
782
|
|
|
834
783
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
835
784
|
await runAndAwaitTx(
|
|
@@ -855,11 +804,9 @@ describe('CDP', () => {
|
|
|
855
804
|
test<IndigoTestContext>('Deposit CDP w/ interest; ADA collateral', async (context: IndigoTestContext) => {
|
|
856
805
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
857
806
|
|
|
858
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
context.emulator.slot,
|
|
862
|
-
);
|
|
807
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
808
|
+
iusdInitialAssetCfg(),
|
|
809
|
+
]);
|
|
863
810
|
|
|
864
811
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
865
812
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
@@ -951,16 +898,12 @@ describe('CDP', () => {
|
|
|
951
898
|
test<MyContext>('Deposit CDP w/ interest; non-ADA collateral', async (context: MyContext) => {
|
|
952
899
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
953
900
|
|
|
954
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
},
|
|
961
|
-
],
|
|
962
|
-
context.emulator.slot,
|
|
963
|
-
);
|
|
901
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
902
|
+
{
|
|
903
|
+
...iusdInitialAssetCfg(),
|
|
904
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
905
|
+
},
|
|
906
|
+
]);
|
|
964
907
|
|
|
965
908
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
966
909
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
@@ -1053,11 +996,9 @@ describe('CDP', () => {
|
|
|
1053
996
|
test<IndigoTestContext>('Deposit CDP with expired oracle succeeds', async (context: IndigoTestContext) => {
|
|
1054
997
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1055
998
|
|
|
1056
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
context.emulator.slot,
|
|
1060
|
-
);
|
|
999
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1000
|
+
iusdInitialAssetCfg(),
|
|
1001
|
+
]);
|
|
1061
1002
|
|
|
1062
1003
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1063
1004
|
await runAndAwaitTx(
|
|
@@ -1087,16 +1028,12 @@ describe('CDP', () => {
|
|
|
1087
1028
|
test<IndigoTestContext>('Deposit CDP with delisted iAsset fails', async (context: IndigoTestContext) => {
|
|
1088
1029
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1089
1030
|
|
|
1090
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
},
|
|
1097
|
-
],
|
|
1098
|
-
context.emulator.slot,
|
|
1099
|
-
);
|
|
1031
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
1032
|
+
{
|
|
1033
|
+
...iusdInitialAssetCfg(),
|
|
1034
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1035
|
+
},
|
|
1036
|
+
]);
|
|
1100
1037
|
|
|
1101
1038
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1102
1039
|
await runAndAwaitTx(
|
|
@@ -1146,7 +1083,7 @@ describe('CDP', () => {
|
|
|
1146
1083
|
null,
|
|
1147
1084
|
sysParams,
|
|
1148
1085
|
context.lucid,
|
|
1149
|
-
|
|
1086
|
+
|
|
1150
1087
|
govUtxo.utxo,
|
|
1151
1088
|
[],
|
|
1152
1089
|
);
|
|
@@ -1182,11 +1119,7 @@ describe('CDP', () => {
|
|
|
1182
1119
|
|
|
1183
1120
|
test<MyContext>('Withdraw CDP; ADA collateral', async (context: MyContext) => {
|
|
1184
1121
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1185
|
-
const [sysParams, _] = await init(
|
|
1186
|
-
context.lucid,
|
|
1187
|
-
[iusdInitialAssetCfg()],
|
|
1188
|
-
context.emulator.slot,
|
|
1189
|
-
);
|
|
1122
|
+
const [sysParams, _] = await init(context.lucid, [iusdInitialAssetCfg()]);
|
|
1190
1123
|
|
|
1191
1124
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1192
1125
|
await runAndAwaitTx(
|
|
@@ -1211,16 +1144,12 @@ describe('CDP', () => {
|
|
|
1211
1144
|
|
|
1212
1145
|
test<MyContext>('Withdraw CDP; non-ADA collateral', async (context: MyContext) => {
|
|
1213
1146
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1214
|
-
const [sysParams, _] = await init(
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
},
|
|
1221
|
-
],
|
|
1222
|
-
context.emulator.slot,
|
|
1223
|
-
);
|
|
1147
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
1148
|
+
{
|
|
1149
|
+
...iusdInitialAssetCfg(),
|
|
1150
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1151
|
+
},
|
|
1152
|
+
]);
|
|
1224
1153
|
|
|
1225
1154
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1226
1155
|
await runAndAwaitTx(
|
|
@@ -1246,11 +1175,9 @@ describe('CDP', () => {
|
|
|
1246
1175
|
test<IndigoTestContext>('Withdraw CDP w/ interest; ADA collateral', async (context: IndigoTestContext) => {
|
|
1247
1176
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1248
1177
|
|
|
1249
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
context.emulator.slot,
|
|
1253
|
-
);
|
|
1178
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1179
|
+
iusdInitialAssetCfg(),
|
|
1180
|
+
]);
|
|
1254
1181
|
|
|
1255
1182
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1256
1183
|
const iasset = 'iUSD';
|
|
@@ -1339,16 +1266,12 @@ describe('CDP', () => {
|
|
|
1339
1266
|
|
|
1340
1267
|
test<MyContext>('Withdraw CDP w/ interest; non-ADA collateral', async (context: MyContext) => {
|
|
1341
1268
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1342
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
},
|
|
1349
|
-
],
|
|
1350
|
-
context.emulator.slot,
|
|
1351
|
-
);
|
|
1269
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1270
|
+
{
|
|
1271
|
+
...iusdInitialAssetCfg(),
|
|
1272
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1273
|
+
},
|
|
1274
|
+
]);
|
|
1352
1275
|
|
|
1353
1276
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1354
1277
|
const iasset = 'iUSD';
|
|
@@ -1437,11 +1360,9 @@ describe('CDP', () => {
|
|
|
1437
1360
|
|
|
1438
1361
|
test<IndigoTestContext>('Withdraw CDP with expired oracle fails', async (context: IndigoTestContext) => {
|
|
1439
1362
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1440
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
context.emulator.slot,
|
|
1444
|
-
);
|
|
1363
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1364
|
+
iusdInitialAssetCfg(),
|
|
1365
|
+
]);
|
|
1445
1366
|
|
|
1446
1367
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1447
1368
|
await runAndAwaitTx(
|
|
@@ -1471,16 +1392,12 @@ describe('CDP', () => {
|
|
|
1471
1392
|
test<IndigoTestContext>('Withdraw from CDP with delisted iAsset succeeds', async (context: IndigoTestContext) => {
|
|
1472
1393
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1473
1394
|
|
|
1474
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
},
|
|
1481
|
-
],
|
|
1482
|
-
context.emulator.slot,
|
|
1483
|
-
);
|
|
1395
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
1396
|
+
{
|
|
1397
|
+
...iusdInitialAssetCfg(),
|
|
1398
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1399
|
+
},
|
|
1400
|
+
]);
|
|
1484
1401
|
|
|
1485
1402
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1486
1403
|
await runAndAwaitTx(
|
|
@@ -1530,7 +1447,7 @@ describe('CDP', () => {
|
|
|
1530
1447
|
null,
|
|
1531
1448
|
sysParams,
|
|
1532
1449
|
context.lucid,
|
|
1533
|
-
|
|
1450
|
+
|
|
1534
1451
|
govUtxo.utxo,
|
|
1535
1452
|
[],
|
|
1536
1453
|
);
|
|
@@ -1559,11 +1476,7 @@ describe('CDP', () => {
|
|
|
1559
1476
|
|
|
1560
1477
|
test<MyContext>('Mint CDP; ADA collateral', async (context: MyContext) => {
|
|
1561
1478
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1562
|
-
const [sysParams, _] = await init(
|
|
1563
|
-
context.lucid,
|
|
1564
|
-
[iusdInitialAssetCfg()],
|
|
1565
|
-
context.emulator.slot,
|
|
1566
|
-
);
|
|
1479
|
+
const [sysParams, _] = await init(context.lucid, [iusdInitialAssetCfg()]);
|
|
1567
1480
|
|
|
1568
1481
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1569
1482
|
await runAndAwaitTx(
|
|
@@ -1588,16 +1501,12 @@ describe('CDP', () => {
|
|
|
1588
1501
|
|
|
1589
1502
|
test<MyContext>('Mint CDP; non-ADA collateral', async (context: MyContext) => {
|
|
1590
1503
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1591
|
-
const [sysParams, _] = await init(
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
},
|
|
1598
|
-
],
|
|
1599
|
-
context.emulator.slot,
|
|
1600
|
-
);
|
|
1504
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
1505
|
+
{
|
|
1506
|
+
...iusdInitialAssetCfg(),
|
|
1507
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1508
|
+
},
|
|
1509
|
+
]);
|
|
1601
1510
|
|
|
1602
1511
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1603
1512
|
await runAndAwaitTx(
|
|
@@ -1623,11 +1532,9 @@ describe('CDP', () => {
|
|
|
1623
1532
|
test<IndigoTestContext>('Mint CDP w/ interest; ADA collateral', async (context: IndigoTestContext) => {
|
|
1624
1533
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1625
1534
|
|
|
1626
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
context.emulator.slot,
|
|
1630
|
-
);
|
|
1535
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1536
|
+
iusdInitialAssetCfg(),
|
|
1537
|
+
]);
|
|
1631
1538
|
|
|
1632
1539
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1633
1540
|
const iasset = 'iUSD';
|
|
@@ -1744,11 +1651,9 @@ describe('CDP', () => {
|
|
|
1744
1651
|
test<IndigoTestContext>('Mint CDP w/ interest; ADA collateral - direct treasury payment', async (context: IndigoTestContext) => {
|
|
1745
1652
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1746
1653
|
|
|
1747
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
context.emulator.slot,
|
|
1751
|
-
);
|
|
1654
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1655
|
+
iusdInitialAssetCfg(),
|
|
1656
|
+
]);
|
|
1752
1657
|
|
|
1753
1658
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1754
1659
|
const iasset = 'iUSD';
|
|
@@ -1866,16 +1771,12 @@ describe('CDP', () => {
|
|
|
1866
1771
|
|
|
1867
1772
|
test<MyContext>('Mint CDP w/ interest; non-ADA collateral', async (context: MyContext) => {
|
|
1868
1773
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1869
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
},
|
|
1876
|
-
],
|
|
1877
|
-
context.emulator.slot,
|
|
1878
|
-
);
|
|
1774
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1775
|
+
{
|
|
1776
|
+
...iusdInitialAssetCfg(),
|
|
1777
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1778
|
+
},
|
|
1779
|
+
]);
|
|
1879
1780
|
|
|
1880
1781
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
1881
1782
|
const iasset = 'iUSD';
|
|
@@ -1993,16 +1894,12 @@ describe('CDP', () => {
|
|
|
1993
1894
|
|
|
1994
1895
|
test<MyContext>('Mint CDP w/ interest; non-ADA collateral - direct treasury payment', async (context: MyContext) => {
|
|
1995
1896
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
1996
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
},
|
|
2003
|
-
],
|
|
2004
|
-
context.emulator.slot,
|
|
2005
|
-
);
|
|
1897
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
1898
|
+
{
|
|
1899
|
+
...iusdInitialAssetCfg(),
|
|
1900
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
1901
|
+
},
|
|
1902
|
+
]);
|
|
2006
1903
|
|
|
2007
1904
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2008
1905
|
const iasset = 'iUSD';
|
|
@@ -2122,11 +2019,9 @@ describe('CDP', () => {
|
|
|
2122
2019
|
|
|
2123
2020
|
test<IndigoTestContext>('Mint CDP with expired oracle fails', async (context: IndigoTestContext) => {
|
|
2124
2021
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2125
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
context.emulator.slot,
|
|
2129
|
-
);
|
|
2022
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2023
|
+
iusdInitialAssetCfg(),
|
|
2024
|
+
]);
|
|
2130
2025
|
|
|
2131
2026
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2132
2027
|
await runAndAwaitTx(
|
|
@@ -2155,16 +2050,12 @@ describe('CDP', () => {
|
|
|
2155
2050
|
|
|
2156
2051
|
test<IndigoTestContext>('Mint CDP with delisted iAsset fails', async (context: IndigoTestContext) => {
|
|
2157
2052
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2158
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
},
|
|
2165
|
-
],
|
|
2166
|
-
context.emulator.slot,
|
|
2167
|
-
);
|
|
2053
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
2054
|
+
{
|
|
2055
|
+
...iusdInitialAssetCfg(),
|
|
2056
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2057
|
+
},
|
|
2058
|
+
]);
|
|
2168
2059
|
|
|
2169
2060
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2170
2061
|
await runAndAwaitTx(
|
|
@@ -2214,7 +2105,7 @@ describe('CDP', () => {
|
|
|
2214
2105
|
null,
|
|
2215
2106
|
sysParams,
|
|
2216
2107
|
context.lucid,
|
|
2217
|
-
|
|
2108
|
+
|
|
2218
2109
|
govUtxo.utxo,
|
|
2219
2110
|
[],
|
|
2220
2111
|
);
|
|
@@ -2251,11 +2142,7 @@ describe('CDP', () => {
|
|
|
2251
2142
|
test<MyContext>('Burn CDP; ADA collateral', async (context: MyContext) => {
|
|
2252
2143
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2253
2144
|
|
|
2254
|
-
const [sysParams, _] = await init(
|
|
2255
|
-
context.lucid,
|
|
2256
|
-
[iusdInitialAssetCfg()],
|
|
2257
|
-
context.emulator.slot,
|
|
2258
|
-
);
|
|
2145
|
+
const [sysParams, _] = await init(context.lucid, [iusdInitialAssetCfg()]);
|
|
2259
2146
|
|
|
2260
2147
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2261
2148
|
await runAndAwaitTx(
|
|
@@ -2281,16 +2168,12 @@ describe('CDP', () => {
|
|
|
2281
2168
|
test<MyContext>('Burn CDP; non ADA collateral', async (context: MyContext) => {
|
|
2282
2169
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2283
2170
|
|
|
2284
|
-
const [sysParams, _] = await init(
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
},
|
|
2291
|
-
],
|
|
2292
|
-
context.emulator.slot,
|
|
2293
|
-
);
|
|
2171
|
+
const [sysParams, _] = await init(context.lucid, [
|
|
2172
|
+
{
|
|
2173
|
+
...iusdInitialAssetCfg(),
|
|
2174
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2175
|
+
},
|
|
2176
|
+
]);
|
|
2294
2177
|
|
|
2295
2178
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2296
2179
|
await runAndAwaitTx(
|
|
@@ -2316,11 +2199,9 @@ describe('CDP', () => {
|
|
|
2316
2199
|
test<IndigoTestContext>('Burn CDP w/ interest; ADA collateral', async (context: IndigoTestContext) => {
|
|
2317
2200
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2318
2201
|
|
|
2319
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
context.emulator.slot,
|
|
2323
|
-
);
|
|
2202
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2203
|
+
iusdInitialAssetCfg(),
|
|
2204
|
+
]);
|
|
2324
2205
|
|
|
2325
2206
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2326
2207
|
const iasset = 'iUSD';
|
|
@@ -2410,16 +2291,12 @@ describe('CDP', () => {
|
|
|
2410
2291
|
test<MyContext>('Burn CDP w/ interest; non-ADA collateral', async (context: MyContext) => {
|
|
2411
2292
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2412
2293
|
|
|
2413
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
},
|
|
2420
|
-
],
|
|
2421
|
-
context.emulator.slot,
|
|
2422
|
-
);
|
|
2294
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2295
|
+
{
|
|
2296
|
+
...iusdInitialAssetCfg(),
|
|
2297
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2298
|
+
},
|
|
2299
|
+
]);
|
|
2423
2300
|
|
|
2424
2301
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2425
2302
|
const iasset = 'iUSD';
|
|
@@ -2511,11 +2388,9 @@ describe('CDP', () => {
|
|
|
2511
2388
|
test<IndigoTestContext>('Burn CDP with expired oracle succeeds', async (context: IndigoTestContext) => {
|
|
2512
2389
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2513
2390
|
|
|
2514
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
context.emulator.slot,
|
|
2518
|
-
);
|
|
2391
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2392
|
+
iusdInitialAssetCfg(),
|
|
2393
|
+
]);
|
|
2519
2394
|
|
|
2520
2395
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2521
2396
|
await runAndAwaitTx(
|
|
@@ -2545,16 +2420,12 @@ describe('CDP', () => {
|
|
|
2545
2420
|
test<IndigoTestContext>('Burn delisted iAsset succeeds', async (context: IndigoTestContext) => {
|
|
2546
2421
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2547
2422
|
|
|
2548
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
},
|
|
2555
|
-
],
|
|
2556
|
-
context.emulator.slot,
|
|
2557
|
-
);
|
|
2423
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
2424
|
+
{
|
|
2425
|
+
...iusdInitialAssetCfg(),
|
|
2426
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2427
|
+
},
|
|
2428
|
+
]);
|
|
2558
2429
|
|
|
2559
2430
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
2560
2431
|
await runAndAwaitTx(
|
|
@@ -2604,7 +2475,7 @@ describe('CDP', () => {
|
|
|
2604
2475
|
null,
|
|
2605
2476
|
sysParams,
|
|
2606
2477
|
context.lucid,
|
|
2607
|
-
|
|
2478
|
+
|
|
2608
2479
|
govUtxo.utxo,
|
|
2609
2480
|
[],
|
|
2610
2481
|
);
|
|
@@ -2634,11 +2505,9 @@ describe('CDP', () => {
|
|
|
2634
2505
|
test<MyContext>('Close CDP; ADA collateral', async (context: MyContext) => {
|
|
2635
2506
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2636
2507
|
|
|
2637
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
context.emulator.slot,
|
|
2641
|
-
);
|
|
2508
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2509
|
+
iusdInitialAssetCfg(),
|
|
2510
|
+
]);
|
|
2642
2511
|
|
|
2643
2512
|
// Admin mints some iAsset to send to the user so the user can successfully
|
|
2644
2513
|
// close the CDP (the user has less iAsset than minted, as some was used to
|
|
@@ -2694,16 +2563,12 @@ describe('CDP', () => {
|
|
|
2694
2563
|
test<MyContext>('Close CDP; non-ADA collateral', async (context: MyContext) => {
|
|
2695
2564
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2696
2565
|
|
|
2697
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
},
|
|
2704
|
-
],
|
|
2705
|
-
context.emulator.slot,
|
|
2706
|
-
);
|
|
2566
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2567
|
+
{
|
|
2568
|
+
...iusdInitialAssetCfg(),
|
|
2569
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2570
|
+
},
|
|
2571
|
+
]);
|
|
2707
2572
|
|
|
2708
2573
|
// Admin mints some iAsset to send to the user so the user can successfully
|
|
2709
2574
|
// close the CDP (the user has less iAsset than minted, as some was used to
|
|
@@ -2759,11 +2624,9 @@ describe('CDP', () => {
|
|
|
2759
2624
|
test<IndigoTestContext>('Close CDP w/ interest, ADA collateral', async (context: IndigoTestContext) => {
|
|
2760
2625
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2761
2626
|
|
|
2762
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
context.emulator.slot,
|
|
2766
|
-
);
|
|
2627
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2628
|
+
iusdInitialAssetCfg(),
|
|
2629
|
+
]);
|
|
2767
2630
|
|
|
2768
2631
|
await runAndAwaitTx(
|
|
2769
2632
|
context.lucid,
|
|
@@ -2859,16 +2722,12 @@ describe('CDP', () => {
|
|
|
2859
2722
|
test<MyContext>('Close CDP w/ interest; non-ADA collateral', async (context: MyContext) => {
|
|
2860
2723
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2861
2724
|
|
|
2862
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
},
|
|
2869
|
-
],
|
|
2870
|
-
context.emulator.slot,
|
|
2871
|
-
);
|
|
2725
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2726
|
+
{
|
|
2727
|
+
...iusdInitialAssetCfg(),
|
|
2728
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2729
|
+
},
|
|
2730
|
+
]);
|
|
2872
2731
|
|
|
2873
2732
|
await runAndAwaitTx(
|
|
2874
2733
|
context.lucid,
|
|
@@ -2964,11 +2823,9 @@ describe('CDP', () => {
|
|
|
2964
2823
|
test<IndigoTestContext>('Close CDP with expired oracle succeeds', async (context: IndigoTestContext) => {
|
|
2965
2824
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
2966
2825
|
|
|
2967
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
context.emulator.slot,
|
|
2971
|
-
);
|
|
2826
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
2827
|
+
iusdInitialAssetCfg(),
|
|
2828
|
+
]);
|
|
2972
2829
|
|
|
2973
2830
|
await runAndAwaitTx(
|
|
2974
2831
|
context.lucid,
|
|
@@ -2976,7 +2833,7 @@ describe('CDP', () => {
|
|
|
2976
2833
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
2977
2834
|
0n,
|
|
2978
2835
|
context.lucid,
|
|
2979
|
-
|
|
2836
|
+
|
|
2980
2837
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
2981
2838
|
),
|
|
2982
2839
|
);
|
|
@@ -3039,16 +2896,12 @@ describe('CDP', () => {
|
|
|
3039
2896
|
test<IndigoTestContext>('Close CDP with delisted iAsset succeeds', async (context: IndigoTestContext) => {
|
|
3040
2897
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
3041
2898
|
|
|
3042
|
-
const [sysParams, [iUsdInfo]] = await init(
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
},
|
|
3049
|
-
],
|
|
3050
|
-
context.emulator.slot,
|
|
3051
|
-
);
|
|
2899
|
+
const [sysParams, [iUsdInfo]] = await init(context.lucid, [
|
|
2900
|
+
{
|
|
2901
|
+
...iusdInitialAssetCfg(),
|
|
2902
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
2903
|
+
},
|
|
2904
|
+
]);
|
|
3052
2905
|
|
|
3053
2906
|
await runAndAwaitTx(
|
|
3054
2907
|
context.lucid,
|
|
@@ -3125,7 +2978,7 @@ describe('CDP', () => {
|
|
|
3125
2978
|
null,
|
|
3126
2979
|
sysParams,
|
|
3127
2980
|
context.lucid,
|
|
3128
|
-
|
|
2981
|
+
|
|
3129
2982
|
govUtxo.utxo,
|
|
3130
2983
|
[],
|
|
3131
2984
|
);
|
|
@@ -3156,7 +3009,6 @@ describe('CDP', () => {
|
|
|
3156
3009
|
const [sysParams, [iusdAssetInfo, ieurAssetInfo]] = await init(
|
|
3157
3010
|
context.lucid,
|
|
3158
3011
|
[iusdInitialAssetCfg(), ieurInitialAssetCfg()],
|
|
3159
|
-
context.emulator.slot,
|
|
3160
3012
|
);
|
|
3161
3013
|
|
|
3162
3014
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
@@ -3223,7 +3075,7 @@ describe('CDP', () => {
|
|
|
3223
3075
|
'C',
|
|
3224
3076
|
runCloseCdpWrongOracle(
|
|
3225
3077
|
context.lucid,
|
|
3226
|
-
|
|
3078
|
+
|
|
3227
3079
|
sysParams,
|
|
3228
3080
|
'iUSD',
|
|
3229
3081
|
'iEUR',
|
|
@@ -3238,7 +3090,7 @@ describe('CDP', () => {
|
|
|
3238
3090
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
3239
3091
|
context.lucid,
|
|
3240
3092
|
[iusdInitialAssetCfg()],
|
|
3241
|
-
|
|
3093
|
+
|
|
3242
3094
|
() => [],
|
|
3243
3095
|
{
|
|
3244
3096
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3253,7 +3105,7 @@ describe('CDP', () => {
|
|
|
3253
3105
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3254
3106
|
0n,
|
|
3255
3107
|
context.lucid,
|
|
3256
|
-
|
|
3108
|
+
|
|
3257
3109
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3258
3110
|
),
|
|
3259
3111
|
);
|
|
@@ -3319,7 +3171,7 @@ describe('CDP', () => {
|
|
|
3319
3171
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
3320
3172
|
context.lucid,
|
|
3321
3173
|
[iusdInitialAssetCfg()],
|
|
3322
|
-
|
|
3174
|
+
|
|
3323
3175
|
() => [],
|
|
3324
3176
|
{
|
|
3325
3177
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3334,7 +3186,7 @@ describe('CDP', () => {
|
|
|
3334
3186
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3335
3187
|
0n,
|
|
3336
3188
|
context.lucid,
|
|
3337
|
-
|
|
3189
|
+
|
|
3338
3190
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3339
3191
|
),
|
|
3340
3192
|
);
|
|
@@ -3407,7 +3259,7 @@ describe('CDP', () => {
|
|
|
3407
3259
|
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
3408
3260
|
},
|
|
3409
3261
|
],
|
|
3410
|
-
|
|
3262
|
+
|
|
3411
3263
|
() => [],
|
|
3412
3264
|
{
|
|
3413
3265
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3422,7 +3274,7 @@ describe('CDP', () => {
|
|
|
3422
3274
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3423
3275
|
0n,
|
|
3424
3276
|
context.lucid,
|
|
3425
|
-
|
|
3277
|
+
|
|
3426
3278
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3427
3279
|
),
|
|
3428
3280
|
);
|
|
@@ -3506,7 +3358,7 @@ describe('CDP', () => {
|
|
|
3506
3358
|
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
3507
3359
|
},
|
|
3508
3360
|
],
|
|
3509
|
-
|
|
3361
|
+
|
|
3510
3362
|
() => [],
|
|
3511
3363
|
{
|
|
3512
3364
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3521,7 +3373,7 @@ describe('CDP', () => {
|
|
|
3521
3373
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3522
3374
|
0n,
|
|
3523
3375
|
context.lucid,
|
|
3524
|
-
|
|
3376
|
+
|
|
3525
3377
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3526
3378
|
),
|
|
3527
3379
|
);
|
|
@@ -3614,7 +3466,7 @@ describe('CDP', () => {
|
|
|
3614
3466
|
],
|
|
3615
3467
|
},
|
|
3616
3468
|
],
|
|
3617
|
-
|
|
3469
|
+
|
|
3618
3470
|
() => [],
|
|
3619
3471
|
{
|
|
3620
3472
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3629,7 +3481,7 @@ describe('CDP', () => {
|
|
|
3629
3481
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3630
3482
|
0n,
|
|
3631
3483
|
context.lucid,
|
|
3632
|
-
|
|
3484
|
+
|
|
3633
3485
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3634
3486
|
),
|
|
3635
3487
|
);
|
|
@@ -3718,7 +3570,7 @@ describe('CDP', () => {
|
|
|
3718
3570
|
],
|
|
3719
3571
|
},
|
|
3720
3572
|
],
|
|
3721
|
-
|
|
3573
|
+
|
|
3722
3574
|
() => [],
|
|
3723
3575
|
{
|
|
3724
3576
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3733,7 +3585,7 @@ describe('CDP', () => {
|
|
|
3733
3585
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3734
3586
|
0n,
|
|
3735
3587
|
context.lucid,
|
|
3736
|
-
|
|
3588
|
+
|
|
3737
3589
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3738
3590
|
),
|
|
3739
3591
|
);
|
|
@@ -3810,7 +3662,7 @@ describe('CDP', () => {
|
|
|
3810
3662
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
3811
3663
|
context.lucid,
|
|
3812
3664
|
[iusdInitialAssetCfg()],
|
|
3813
|
-
|
|
3665
|
+
|
|
3814
3666
|
() => [],
|
|
3815
3667
|
{
|
|
3816
3668
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -3825,7 +3677,7 @@ describe('CDP', () => {
|
|
|
3825
3677
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3826
3678
|
0n,
|
|
3827
3679
|
context.lucid,
|
|
3828
|
-
|
|
3680
|
+
|
|
3829
3681
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3830
3682
|
),
|
|
3831
3683
|
);
|
|
@@ -3906,7 +3758,6 @@ describe('CDP', () => {
|
|
|
3906
3758
|
orefs.govUtxo,
|
|
3907
3759
|
sysParams,
|
|
3908
3760
|
context.lucid,
|
|
3909
|
-
context.emulator.slot,
|
|
3910
3761
|
),
|
|
3911
3762
|
);
|
|
3912
3763
|
}
|
|
@@ -3915,11 +3766,9 @@ describe('CDP', () => {
|
|
|
3915
3766
|
test<IndigoTestContext>('Redeem CDP by anyone succeeds when required signer in protocol params is none', async (context: IndigoTestContext) => {
|
|
3916
3767
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
3917
3768
|
|
|
3918
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
context.emulator.slot,
|
|
3922
|
-
);
|
|
3769
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
3770
|
+
iusdInitialAssetCfg(),
|
|
3771
|
+
]);
|
|
3923
3772
|
|
|
3924
3773
|
await runAndAwaitTx(
|
|
3925
3774
|
context.lucid,
|
|
@@ -3927,7 +3776,7 @@ describe('CDP', () => {
|
|
|
3927
3776
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
3928
3777
|
0n,
|
|
3929
3778
|
context.lucid,
|
|
3930
|
-
|
|
3779
|
+
|
|
3931
3780
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
3932
3781
|
),
|
|
3933
3782
|
);
|
|
@@ -3990,11 +3839,9 @@ describe('CDP', () => {
|
|
|
3990
3839
|
test<IndigoTestContext>('Partial redeem CDP by anyone succeeds when required signer in protocol params is none; partial redemption is paid; ADA collateral', async (context: IndigoTestContext) => {
|
|
3991
3840
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
3992
3841
|
|
|
3993
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
context.emulator.slot,
|
|
3997
|
-
);
|
|
3842
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
3843
|
+
iusdInitialAssetCfg(),
|
|
3844
|
+
]);
|
|
3998
3845
|
|
|
3999
3846
|
await runAndAwaitTx(
|
|
4000
3847
|
context.lucid,
|
|
@@ -4002,7 +3849,7 @@ describe('CDP', () => {
|
|
|
4002
3849
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
4003
3850
|
0n,
|
|
4004
3851
|
context.lucid,
|
|
4005
|
-
|
|
3852
|
+
|
|
4006
3853
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
4007
3854
|
),
|
|
4008
3855
|
);
|
|
@@ -4063,7 +3910,7 @@ describe('CDP', () => {
|
|
|
4063
3910
|
).toBe(2.0);
|
|
4064
3911
|
|
|
4065
3912
|
assertValueInRange(
|
|
4066
|
-
await findCdpCR(context.lucid, sysParams, cdp
|
|
3913
|
+
await findCdpCR(context.lucid, sysParams, cdp),
|
|
4067
3914
|
|
|
4068
3915
|
{ min: 160, max: 161 },
|
|
4069
3916
|
);
|
|
@@ -4113,7 +3960,6 @@ describe('CDP', () => {
|
|
|
4113
3960
|
orefs.govUtxo,
|
|
4114
3961
|
sysParams,
|
|
4115
3962
|
context.lucid,
|
|
4116
|
-
context.emulator.slot,
|
|
4117
3963
|
),
|
|
4118
3964
|
),
|
|
4119
3965
|
);
|
|
@@ -4160,7 +4006,7 @@ describe('CDP', () => {
|
|
|
4160
4006
|
|
|
4161
4007
|
// Since partial redemption has happened, the CR is not the redemption ratio.
|
|
4162
4008
|
assertValueInRange(
|
|
4163
|
-
await findCdpCR(context.lucid, sysParams, cdp
|
|
4009
|
+
await findCdpCR(context.lucid, sysParams, cdp),
|
|
4164
4010
|
|
|
4165
4011
|
{ min: 170, max: 190 },
|
|
4166
4012
|
);
|
|
@@ -4170,16 +4016,12 @@ describe('CDP', () => {
|
|
|
4170
4016
|
test<IndigoTestContext>('Partial redeem CDP by anyone succeeds when required signer in protocol params is none; partial redemption is paid; non-ADA collateral', async (context: IndigoTestContext) => {
|
|
4171
4017
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
4172
4018
|
|
|
4173
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
},
|
|
4180
|
-
],
|
|
4181
|
-
context.emulator.slot,
|
|
4182
|
-
);
|
|
4019
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
4020
|
+
{
|
|
4021
|
+
...iusdInitialAssetCfg(),
|
|
4022
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
4023
|
+
},
|
|
4024
|
+
]);
|
|
4183
4025
|
|
|
4184
4026
|
await runAndAwaitTx(
|
|
4185
4027
|
context.lucid,
|
|
@@ -4187,7 +4029,7 @@ describe('CDP', () => {
|
|
|
4187
4029
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
4188
4030
|
0n,
|
|
4189
4031
|
context.lucid,
|
|
4190
|
-
|
|
4032
|
+
|
|
4191
4033
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
4192
4034
|
),
|
|
4193
4035
|
);
|
|
@@ -4248,7 +4090,7 @@ describe('CDP', () => {
|
|
|
4248
4090
|
).toBe(2.0);
|
|
4249
4091
|
|
|
4250
4092
|
assertValueInRange(
|
|
4251
|
-
await findCdpCR(context.lucid, sysParams, cdp
|
|
4093
|
+
await findCdpCR(context.lucid, sysParams, cdp),
|
|
4252
4094
|
|
|
4253
4095
|
{ min: 160, max: 161 },
|
|
4254
4096
|
);
|
|
@@ -4298,7 +4140,6 @@ describe('CDP', () => {
|
|
|
4298
4140
|
orefs.govUtxo,
|
|
4299
4141
|
sysParams,
|
|
4300
4142
|
context.lucid,
|
|
4301
|
-
context.emulator.slot,
|
|
4302
4143
|
),
|
|
4303
4144
|
),
|
|
4304
4145
|
);
|
|
@@ -4350,7 +4191,7 @@ describe('CDP', () => {
|
|
|
4350
4191
|
|
|
4351
4192
|
// Since partial redemption has happened, the CR is not the redemption ratio.
|
|
4352
4193
|
assertValueInRange(
|
|
4353
|
-
await findCdpCR(context.lucid, sysParams, cdp
|
|
4194
|
+
await findCdpCR(context.lucid, sysParams, cdp),
|
|
4354
4195
|
|
|
4355
4196
|
{ min: 170, max: 190 },
|
|
4356
4197
|
);
|
|
@@ -4363,7 +4204,7 @@ describe('CDP', () => {
|
|
|
4363
4204
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4364
4205
|
context.lucid,
|
|
4365
4206
|
[iusdInitialAssetCfg()],
|
|
4366
|
-
|
|
4207
|
+
|
|
4367
4208
|
() => [],
|
|
4368
4209
|
{
|
|
4369
4210
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -4484,7 +4325,7 @@ describe('CDP', () => {
|
|
|
4484
4325
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4485
4326
|
context.lucid,
|
|
4486
4327
|
[iusdInitialAssetCfg()],
|
|
4487
|
-
|
|
4328
|
+
|
|
4488
4329
|
() => [],
|
|
4489
4330
|
{
|
|
4490
4331
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -4583,7 +4424,6 @@ describe('CDP', () => {
|
|
|
4583
4424
|
orefs.govUtxo,
|
|
4584
4425
|
sysParams,
|
|
4585
4426
|
context.lucid,
|
|
4586
|
-
context.emulator.slot,
|
|
4587
4427
|
),
|
|
4588
4428
|
),
|
|
4589
4429
|
);
|
|
@@ -4621,7 +4461,7 @@ describe('CDP', () => {
|
|
|
4621
4461
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4622
4462
|
context.lucid,
|
|
4623
4463
|
[iusdInitialAssetCfg()],
|
|
4624
|
-
|
|
4464
|
+
|
|
4625
4465
|
() => [],
|
|
4626
4466
|
{
|
|
4627
4467
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -4666,10 +4506,10 @@ describe('CDP', () => {
|
|
|
4666
4506
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
4667
4507
|
);
|
|
4668
4508
|
|
|
4669
|
-
assertValueInRange(
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
);
|
|
4509
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4510
|
+
min: 199,
|
|
4511
|
+
max: 200,
|
|
4512
|
+
});
|
|
4673
4513
|
|
|
4674
4514
|
const orefs = await findAllNecessaryOrefs(
|
|
4675
4515
|
context.lucid,
|
|
@@ -4691,15 +4531,14 @@ describe('CDP', () => {
|
|
|
4691
4531
|
priceOracleUtxo!,
|
|
4692
4532
|
{ numerator: 125n, denominator: 100n },
|
|
4693
4533
|
iusdAssetInfo.collateralAssets[0].oracleParams!,
|
|
4694
|
-
context.emulator.slot,
|
|
4695
4534
|
),
|
|
4696
4535
|
);
|
|
4697
4536
|
|
|
4698
4537
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
4699
|
-
assertValueInRange(
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
);
|
|
4538
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4539
|
+
min: 159,
|
|
4540
|
+
max: 160,
|
|
4541
|
+
});
|
|
4703
4542
|
}
|
|
4704
4543
|
|
|
4705
4544
|
{
|
|
@@ -4745,7 +4584,6 @@ describe('CDP', () => {
|
|
|
4745
4584
|
orefs.govUtxo,
|
|
4746
4585
|
sysParams,
|
|
4747
4586
|
context.lucid,
|
|
4748
|
-
context.emulator.slot,
|
|
4749
4587
|
),
|
|
4750
4588
|
);
|
|
4751
4589
|
}
|
|
@@ -4758,10 +4596,10 @@ describe('CDP', () => {
|
|
|
4758
4596
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
4759
4597
|
);
|
|
4760
4598
|
|
|
4761
|
-
assertValueInRange(
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
);
|
|
4599
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4600
|
+
min: 199,
|
|
4601
|
+
max: 201,
|
|
4602
|
+
});
|
|
4765
4603
|
}
|
|
4766
4604
|
});
|
|
4767
4605
|
|
|
@@ -4771,7 +4609,7 @@ describe('CDP', () => {
|
|
|
4771
4609
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4772
4610
|
context.lucid,
|
|
4773
4611
|
[iusdInitialAssetCfg()],
|
|
4774
|
-
|
|
4612
|
+
|
|
4775
4613
|
() => [],
|
|
4776
4614
|
{
|
|
4777
4615
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -4816,10 +4654,10 @@ describe('CDP', () => {
|
|
|
4816
4654
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
4817
4655
|
);
|
|
4818
4656
|
|
|
4819
|
-
assertValueInRange(
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
);
|
|
4657
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4658
|
+
min: 199,
|
|
4659
|
+
max: 200,
|
|
4660
|
+
});
|
|
4823
4661
|
|
|
4824
4662
|
const orefs = await findAllNecessaryOrefs(
|
|
4825
4663
|
context.lucid,
|
|
@@ -4841,15 +4679,14 @@ describe('CDP', () => {
|
|
|
4841
4679
|
priceOracleUtxo!,
|
|
4842
4680
|
{ numerator: 1_999_990n, denominator: 1_000_000n },
|
|
4843
4681
|
iusdAssetInfo.collateralAssets[0].oracleParams!,
|
|
4844
|
-
context.emulator.slot,
|
|
4845
4682
|
),
|
|
4846
4683
|
);
|
|
4847
4684
|
|
|
4848
4685
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
4849
|
-
assertValueInRange(
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
);
|
|
4686
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4687
|
+
min: 100,
|
|
4688
|
+
max: 101,
|
|
4689
|
+
});
|
|
4853
4690
|
}
|
|
4854
4691
|
|
|
4855
4692
|
{
|
|
@@ -4890,7 +4727,6 @@ describe('CDP', () => {
|
|
|
4890
4727
|
orefs.govUtxo,
|
|
4891
4728
|
sysParams,
|
|
4892
4729
|
context.lucid,
|
|
4893
|
-
context.emulator.slot,
|
|
4894
4730
|
),
|
|
4895
4731
|
);
|
|
4896
4732
|
}
|
|
@@ -4902,7 +4738,7 @@ describe('CDP', () => {
|
|
|
4902
4738
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
4903
4739
|
context.lucid,
|
|
4904
4740
|
[iusdInitialAssetCfg()],
|
|
4905
|
-
|
|
4741
|
+
|
|
4906
4742
|
() => [],
|
|
4907
4743
|
{
|
|
4908
4744
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -4917,7 +4753,7 @@ describe('CDP', () => {
|
|
|
4917
4753
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
4918
4754
|
0n,
|
|
4919
4755
|
context.lucid,
|
|
4920
|
-
|
|
4756
|
+
|
|
4921
4757
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
4922
4758
|
),
|
|
4923
4759
|
);
|
|
@@ -4958,10 +4794,10 @@ describe('CDP', () => {
|
|
|
4958
4794
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
4959
4795
|
);
|
|
4960
4796
|
|
|
4961
|
-
assertValueInRange(
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
);
|
|
4797
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4798
|
+
min: 199,
|
|
4799
|
+
max: 200,
|
|
4800
|
+
});
|
|
4965
4801
|
|
|
4966
4802
|
const orefs = await findAllNecessaryOrefs(
|
|
4967
4803
|
context.lucid,
|
|
@@ -4983,15 +4819,14 @@ describe('CDP', () => {
|
|
|
4983
4819
|
priceOracleUtxo!,
|
|
4984
4820
|
{ numerator: 125n, denominator: 100n },
|
|
4985
4821
|
iusdAssetInfo.collateralAssets[0].oracleParams!,
|
|
4986
|
-
context.emulator.slot,
|
|
4987
4822
|
),
|
|
4988
4823
|
);
|
|
4989
4824
|
|
|
4990
4825
|
context.lucid.selectWallet.fromSeed(context.users.user.seedPhrase);
|
|
4991
|
-
assertValueInRange(
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
);
|
|
4826
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4827
|
+
min: 159,
|
|
4828
|
+
max: 160,
|
|
4829
|
+
});
|
|
4995
4830
|
}
|
|
4996
4831
|
|
|
4997
4832
|
{
|
|
@@ -5038,7 +4873,6 @@ describe('CDP', () => {
|
|
|
5038
4873
|
orefs.govUtxo,
|
|
5039
4874
|
sysParams,
|
|
5040
4875
|
context.lucid,
|
|
5041
|
-
context.emulator.slot,
|
|
5042
4876
|
),
|
|
5043
4877
|
context.lucid,
|
|
5044
4878
|
context.emulator,
|
|
@@ -5066,10 +4900,10 @@ describe('CDP', () => {
|
|
|
5066
4900
|
).toBe(2.0);
|
|
5067
4901
|
|
|
5068
4902
|
// Since partial redemption has happened, the CR is not the redemption ratio.
|
|
5069
|
-
assertValueInRange(
|
|
5070
|
-
|
|
5071
|
-
|
|
5072
|
-
);
|
|
4903
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
4904
|
+
min: 160,
|
|
4905
|
+
max: 190,
|
|
4906
|
+
});
|
|
5073
4907
|
}
|
|
5074
4908
|
});
|
|
5075
4909
|
|
|
@@ -5079,7 +4913,7 @@ describe('CDP', () => {
|
|
|
5079
4913
|
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5080
4914
|
context.lucid,
|
|
5081
4915
|
[iusdInitialAssetCfg()],
|
|
5082
|
-
|
|
4916
|
+
|
|
5083
4917
|
() => [],
|
|
5084
4918
|
{
|
|
5085
4919
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -5094,7 +4928,7 @@ describe('CDP', () => {
|
|
|
5094
4928
|
iusdAssetInfo.collateralAssets[0].interestOracleParams,
|
|
5095
4929
|
0n,
|
|
5096
4930
|
context.lucid,
|
|
5097
|
-
|
|
4931
|
+
|
|
5098
4932
|
iusdAssetInfo.collateralAssets[0].interestOracleNft,
|
|
5099
4933
|
),
|
|
5100
4934
|
);
|
|
@@ -5169,7 +5003,7 @@ describe('CDP', () => {
|
|
|
5169
5003
|
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
5170
5004
|
},
|
|
5171
5005
|
],
|
|
5172
|
-
|
|
5006
|
+
|
|
5173
5007
|
() => [],
|
|
5174
5008
|
{
|
|
5175
5009
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -5241,7 +5075,7 @@ describe('CDP', () => {
|
|
|
5241
5075
|
null,
|
|
5242
5076
|
sysParams,
|
|
5243
5077
|
context.lucid,
|
|
5244
|
-
|
|
5078
|
+
|
|
5245
5079
|
govUtxo.utxo,
|
|
5246
5080
|
[],
|
|
5247
5081
|
);
|
|
@@ -5279,7 +5113,7 @@ describe('CDP', () => {
|
|
|
5279
5113
|
const [sysParams, [iusdAssetInfo, ieurAssetInfo]] = await init(
|
|
5280
5114
|
context.lucid,
|
|
5281
5115
|
[iusdInitialAssetCfg(), ieurInitialAssetCfg()],
|
|
5282
|
-
|
|
5116
|
+
|
|
5283
5117
|
() => [],
|
|
5284
5118
|
{
|
|
5285
5119
|
cdpRedemptionRequiredSignature: fromHex(
|
|
@@ -5347,11 +5181,9 @@ describe('CDP', () => {
|
|
|
5347
5181
|
test<MyContext>('Freeze CDP; ADA collateral', async (context: MyContext) => {
|
|
5348
5182
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5349
5183
|
|
|
5350
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
context.emulator.slot,
|
|
5354
|
-
);
|
|
5184
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5185
|
+
iusdInitialAssetCfg(),
|
|
5186
|
+
]);
|
|
5355
5187
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
5356
5188
|
|
|
5357
5189
|
await runAndAwaitTx(
|
|
@@ -5384,10 +5216,10 @@ describe('CDP', () => {
|
|
|
5384
5216
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
5385
5217
|
);
|
|
5386
5218
|
|
|
5387
|
-
assertValueInRange(
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
);
|
|
5219
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5220
|
+
min: 111,
|
|
5221
|
+
max: 112,
|
|
5222
|
+
});
|
|
5391
5223
|
}
|
|
5392
5224
|
|
|
5393
5225
|
await benchmarkAndAwaitTx(
|
|
@@ -5426,16 +5258,12 @@ describe('CDP', () => {
|
|
|
5426
5258
|
test<MyContext>('Freeze CDP; non-ADA collateral', async (context: MyContext) => {
|
|
5427
5259
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5428
5260
|
|
|
5429
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
|
|
5435
|
-
},
|
|
5436
|
-
],
|
|
5437
|
-
context.emulator.slot,
|
|
5438
|
-
);
|
|
5261
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5262
|
+
{
|
|
5263
|
+
...iusdInitialAssetCfg(),
|
|
5264
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
5265
|
+
},
|
|
5266
|
+
]);
|
|
5439
5267
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
5440
5268
|
|
|
5441
5269
|
await runAndAwaitTx(
|
|
@@ -5468,10 +5296,10 @@ describe('CDP', () => {
|
|
|
5468
5296
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
5469
5297
|
);
|
|
5470
5298
|
|
|
5471
|
-
assertValueInRange(
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
);
|
|
5299
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5300
|
+
min: 111,
|
|
5301
|
+
max: 112,
|
|
5302
|
+
});
|
|
5475
5303
|
}
|
|
5476
5304
|
|
|
5477
5305
|
await benchmarkAndAwaitTx(
|
|
@@ -5510,11 +5338,9 @@ describe('CDP', () => {
|
|
|
5510
5338
|
test<IndigoTestContext>('Freeze CDP with expired oracle fails', async (context: IndigoTestContext) => {
|
|
5511
5339
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5512
5340
|
|
|
5513
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5514
|
-
|
|
5515
|
-
|
|
5516
|
-
context.emulator.slot,
|
|
5517
|
-
);
|
|
5341
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5342
|
+
iusdInitialAssetCfg(),
|
|
5343
|
+
]);
|
|
5518
5344
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
5519
5345
|
|
|
5520
5346
|
await runAndAwaitTx(
|
|
@@ -5547,10 +5373,10 @@ describe('CDP', () => {
|
|
|
5547
5373
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
5548
5374
|
);
|
|
5549
5375
|
|
|
5550
|
-
assertValueInRange(
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
);
|
|
5376
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5377
|
+
min: 111,
|
|
5378
|
+
max: 112,
|
|
5379
|
+
});
|
|
5554
5380
|
}
|
|
5555
5381
|
|
|
5556
5382
|
//Await until oracle is expired
|
|
@@ -5568,16 +5394,12 @@ describe('CDP', () => {
|
|
|
5568
5394
|
test<IndigoTestContext>('Freeze CDP with delisted iAsset succeeds', async (context: IndigoTestContext) => {
|
|
5569
5395
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5570
5396
|
|
|
5571
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5572
|
-
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
|
|
5577
|
-
},
|
|
5578
|
-
],
|
|
5579
|
-
context.emulator.slot,
|
|
5580
|
-
);
|
|
5397
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5398
|
+
{
|
|
5399
|
+
...iusdInitialAssetCfg(),
|
|
5400
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
5401
|
+
},
|
|
5402
|
+
]);
|
|
5581
5403
|
|
|
5582
5404
|
const [pkh, skh] = await addrDetails(context.lucid);
|
|
5583
5405
|
|
|
@@ -5626,7 +5448,7 @@ describe('CDP', () => {
|
|
|
5626
5448
|
null,
|
|
5627
5449
|
sysParams,
|
|
5628
5450
|
context.lucid,
|
|
5629
|
-
|
|
5451
|
+
|
|
5630
5452
|
govUtxo.utxo,
|
|
5631
5453
|
[],
|
|
5632
5454
|
);
|
|
@@ -5653,10 +5475,10 @@ describe('CDP', () => {
|
|
|
5653
5475
|
fromSystemParamsAsset(sysParams.cdpParams.cdpAuthToken),
|
|
5654
5476
|
);
|
|
5655
5477
|
|
|
5656
|
-
assertValueInRange(
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
);
|
|
5478
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5479
|
+
min: 99,
|
|
5480
|
+
max: 100,
|
|
5481
|
+
});
|
|
5660
5482
|
}
|
|
5661
5483
|
|
|
5662
5484
|
await runAndAwaitTx(
|
|
@@ -5668,11 +5490,9 @@ describe('CDP', () => {
|
|
|
5668
5490
|
test<MyContext>('Liquidate CDP; ADA collateral', async (context: MyContext) => {
|
|
5669
5491
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5670
5492
|
|
|
5671
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5672
|
-
|
|
5673
|
-
|
|
5674
|
-
context.emulator.slot,
|
|
5675
|
-
);
|
|
5493
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5494
|
+
iusdInitialAssetCfg(),
|
|
5495
|
+
]);
|
|
5676
5496
|
|
|
5677
5497
|
// Open CDP
|
|
5678
5498
|
// This is the position that will get liquidated.
|
|
@@ -5734,10 +5554,10 @@ describe('CDP', () => {
|
|
|
5734
5554
|
skh,
|
|
5735
5555
|
);
|
|
5736
5556
|
|
|
5737
|
-
assertValueInRange(
|
|
5738
|
-
|
|
5739
|
-
|
|
5740
|
-
);
|
|
5557
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5558
|
+
min: 111,
|
|
5559
|
+
max: 112,
|
|
5560
|
+
});
|
|
5741
5561
|
}
|
|
5742
5562
|
|
|
5743
5563
|
// We want user to do the freeze of admin's CDP
|
|
@@ -5813,11 +5633,9 @@ describe('CDP', () => {
|
|
|
5813
5633
|
test<MyContext>('Liquidate CDP; ADA collateral - direct treasury payment', async (context: MyContext) => {
|
|
5814
5634
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5815
5635
|
|
|
5816
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
context.emulator.slot,
|
|
5820
|
-
);
|
|
5636
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5637
|
+
iusdInitialAssetCfg(),
|
|
5638
|
+
]);
|
|
5821
5639
|
|
|
5822
5640
|
// Open CDP
|
|
5823
5641
|
// This is the position that will get liquidated.
|
|
@@ -5879,10 +5697,10 @@ describe('CDP', () => {
|
|
|
5879
5697
|
skh,
|
|
5880
5698
|
);
|
|
5881
5699
|
|
|
5882
|
-
assertValueInRange(
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
);
|
|
5700
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5701
|
+
min: 111,
|
|
5702
|
+
max: 112,
|
|
5703
|
+
});
|
|
5886
5704
|
}
|
|
5887
5705
|
|
|
5888
5706
|
// We want user to do the freeze of admin's CDP
|
|
@@ -5959,16 +5777,12 @@ describe('CDP', () => {
|
|
|
5959
5777
|
test<MyContext>('Liquidate CDP; non-ADA collateral', async (context: MyContext) => {
|
|
5960
5778
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
5961
5779
|
|
|
5962
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
},
|
|
5969
|
-
],
|
|
5970
|
-
context.emulator.slot,
|
|
5971
|
-
);
|
|
5780
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5781
|
+
{
|
|
5782
|
+
...iusdInitialAssetCfg(),
|
|
5783
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
5784
|
+
},
|
|
5785
|
+
]);
|
|
5972
5786
|
|
|
5973
5787
|
// Open CDP
|
|
5974
5788
|
// This is the position that will get liquidated.
|
|
@@ -6030,10 +5844,10 @@ describe('CDP', () => {
|
|
|
6030
5844
|
skh,
|
|
6031
5845
|
);
|
|
6032
5846
|
|
|
6033
|
-
assertValueInRange(
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
);
|
|
5847
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5848
|
+
min: 111,
|
|
5849
|
+
max: 112,
|
|
5850
|
+
});
|
|
6037
5851
|
}
|
|
6038
5852
|
|
|
6039
5853
|
// We want user to do the freeze of admin's CDP
|
|
@@ -6109,16 +5923,12 @@ describe('CDP', () => {
|
|
|
6109
5923
|
test<MyContext>('Liquidate CDP; non-ADA collateral - direct treasury payment', async (context: MyContext) => {
|
|
6110
5924
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6111
5925
|
|
|
6112
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
},
|
|
6119
|
-
],
|
|
6120
|
-
context.emulator.slot,
|
|
6121
|
-
);
|
|
5926
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
5927
|
+
{
|
|
5928
|
+
...iusdInitialAssetCfg(),
|
|
5929
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
5930
|
+
},
|
|
5931
|
+
]);
|
|
6122
5932
|
|
|
6123
5933
|
// Open CDP
|
|
6124
5934
|
// This is the position that will get liquidated.
|
|
@@ -6180,10 +5990,10 @@ describe('CDP', () => {
|
|
|
6180
5990
|
skh,
|
|
6181
5991
|
);
|
|
6182
5992
|
|
|
6183
|
-
assertValueInRange(
|
|
6184
|
-
|
|
6185
|
-
|
|
6186
|
-
);
|
|
5993
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
5994
|
+
min: 111,
|
|
5995
|
+
max: 112,
|
|
5996
|
+
});
|
|
6187
5997
|
}
|
|
6188
5998
|
|
|
6189
5999
|
// We want user to do the freeze of admin's CDP
|
|
@@ -6260,11 +6070,9 @@ describe('CDP', () => {
|
|
|
6260
6070
|
test<IndigoTestContext>('Partially liquidate CDP; ADA collateral', async (context: IndigoTestContext) => {
|
|
6261
6071
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6262
6072
|
|
|
6263
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6264
|
-
|
|
6265
|
-
|
|
6266
|
-
context.emulator.slot,
|
|
6267
|
-
);
|
|
6073
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6074
|
+
iusdInitialAssetCfg(),
|
|
6075
|
+
]);
|
|
6268
6076
|
|
|
6269
6077
|
// Open CDP
|
|
6270
6078
|
// This is the position that will get liquidated.
|
|
@@ -6337,10 +6145,10 @@ describe('CDP', () => {
|
|
|
6337
6145
|
skh,
|
|
6338
6146
|
);
|
|
6339
6147
|
|
|
6340
|
-
assertValueInRange(
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
);
|
|
6148
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
6149
|
+
min: 111,
|
|
6150
|
+
max: 112,
|
|
6151
|
+
});
|
|
6344
6152
|
}
|
|
6345
6153
|
|
|
6346
6154
|
// We want user to do the freeze of admin's CDP
|
|
@@ -6415,16 +6223,12 @@ describe('CDP', () => {
|
|
|
6415
6223
|
test<IndigoTestContext>('Partially liquidate CDP; non-ADA collateral', async (context: IndigoTestContext) => {
|
|
6416
6224
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6417
6225
|
|
|
6418
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
},
|
|
6425
|
-
],
|
|
6426
|
-
context.emulator.slot,
|
|
6427
|
-
);
|
|
6226
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6227
|
+
{
|
|
6228
|
+
...iusdInitialAssetCfg(),
|
|
6229
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
6230
|
+
},
|
|
6231
|
+
]);
|
|
6428
6232
|
|
|
6429
6233
|
// Open CDP
|
|
6430
6234
|
// This is the position that will get liquidated.
|
|
@@ -6497,10 +6301,10 @@ describe('CDP', () => {
|
|
|
6497
6301
|
skh,
|
|
6498
6302
|
);
|
|
6499
6303
|
|
|
6500
|
-
assertValueInRange(
|
|
6501
|
-
|
|
6502
|
-
|
|
6503
|
-
);
|
|
6304
|
+
assertValueInRange(await findCdpCR(context.lucid, sysParams, cdp), {
|
|
6305
|
+
min: 111,
|
|
6306
|
+
max: 112,
|
|
6307
|
+
});
|
|
6504
6308
|
}
|
|
6505
6309
|
|
|
6506
6310
|
// We want user to do the freeze of admin's CDP
|
|
@@ -6576,11 +6380,9 @@ describe('CDP', () => {
|
|
|
6576
6380
|
test<MyContext>('Merge 3 CDPs; ADA collateral', async (context: MyContext) => {
|
|
6577
6381
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6578
6382
|
|
|
6579
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
context.emulator.slot,
|
|
6583
|
-
);
|
|
6383
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6384
|
+
iusdInitialAssetCfg(),
|
|
6385
|
+
]);
|
|
6584
6386
|
|
|
6585
6387
|
await runCreateAndFreezeCdps(
|
|
6586
6388
|
context,
|
|
@@ -6613,16 +6415,12 @@ describe('CDP', () => {
|
|
|
6613
6415
|
test<MyContext>('Merge 3 CDPs; non-ADA collateral', async (context: MyContext) => {
|
|
6614
6416
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6615
6417
|
|
|
6616
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6617
|
-
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
},
|
|
6623
|
-
],
|
|
6624
|
-
context.emulator.slot,
|
|
6625
|
-
);
|
|
6418
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6419
|
+
{
|
|
6420
|
+
...iusdInitialAssetCfg(),
|
|
6421
|
+
collateralAssets: [mkBaseCollateralAsset(collateralAssetA)],
|
|
6422
|
+
},
|
|
6423
|
+
]);
|
|
6626
6424
|
|
|
6627
6425
|
await runCreateAndFreezeCdps(
|
|
6628
6426
|
context,
|
|
@@ -6655,11 +6453,9 @@ describe('CDP', () => {
|
|
|
6655
6453
|
test<IndigoTestContext>('Merge 5 CDPs', async (context: IndigoTestContext) => {
|
|
6656
6454
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6657
6455
|
|
|
6658
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
context.emulator.slot,
|
|
6662
|
-
);
|
|
6456
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6457
|
+
iusdInitialAssetCfg(),
|
|
6458
|
+
]);
|
|
6663
6459
|
|
|
6664
6460
|
await createUtxoAtTreasury(mkLovelacesOf(2_000_000n), sysParams, context);
|
|
6665
6461
|
|
|
@@ -6694,11 +6490,9 @@ describe('CDP', () => {
|
|
|
6694
6490
|
test<IndigoTestContext>('Merge 7 CDPs', async (context: IndigoTestContext) => {
|
|
6695
6491
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6696
6492
|
|
|
6697
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
context.emulator.slot,
|
|
6701
|
-
);
|
|
6493
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6494
|
+
iusdInitialAssetCfg(),
|
|
6495
|
+
]);
|
|
6702
6496
|
|
|
6703
6497
|
await createMultipleUtxosAtTreasury(
|
|
6704
6498
|
mkLovelacesOf(2_000_000n),
|
|
@@ -6738,11 +6532,9 @@ describe('CDP', () => {
|
|
|
6738
6532
|
test<IndigoTestContext>('Merge 9 CDPs', async (context: IndigoTestContext) => {
|
|
6739
6533
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6740
6534
|
|
|
6741
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6742
|
-
|
|
6743
|
-
|
|
6744
|
-
context.emulator.slot,
|
|
6745
|
-
);
|
|
6535
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6536
|
+
iusdInitialAssetCfg(),
|
|
6537
|
+
]);
|
|
6746
6538
|
|
|
6747
6539
|
await createMultipleUtxosAtTreasury(
|
|
6748
6540
|
mkLovelacesOf(2_000_000n),
|
|
@@ -6782,11 +6574,9 @@ describe('CDP', () => {
|
|
|
6782
6574
|
test<IndigoTestContext>('Merge CDPs and liquidate merged', async (context: IndigoTestContext) => {
|
|
6783
6575
|
context.lucid.selectWallet.fromSeed(context.users.admin.seedPhrase);
|
|
6784
6576
|
|
|
6785
|
-
const [sysParams, [iusdAssetInfo]] = await init(
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
context.emulator.slot,
|
|
6789
|
-
);
|
|
6577
|
+
const [sysParams, [iusdAssetInfo]] = await init(context.lucid, [
|
|
6578
|
+
iusdInitialAssetCfg(),
|
|
6579
|
+
]);
|
|
6790
6580
|
|
|
6791
6581
|
await runCreateAndFreezeCdps(
|
|
6792
6582
|
context,
|
|
@@ -6847,7 +6637,6 @@ describe('CDP', () => {
|
|
|
6847
6637
|
orefs.interestOracleUtxo,
|
|
6848
6638
|
orefs.treasuryUtxo,
|
|
6849
6639
|
context.lucid,
|
|
6850
|
-
context.emulator.slot,
|
|
6851
6640
|
),
|
|
6852
6641
|
);
|
|
6853
6642
|
|