@quartz-labs/sdk 0.4.3 → 0.6.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.
@@ -1,46 +1,45 @@
1
1
  export type Quartz = {
2
- "version": "0.2.7";
2
+ "version": "0.4.0";
3
3
  "name": "quartz";
4
4
  "instructions": [
5
5
  {
6
- "name": "initUser";
6
+ "name": "reclaimBridgeRent";
7
7
  "accounts": [
8
8
  {
9
- "name": "vault";
9
+ "name": "rentReclaimer";
10
+ "isMut": false;
11
+ "isSigner": true;
12
+ },
13
+ {
14
+ "name": "bridgeRentPayer";
10
15
  "isMut": true;
11
16
  "isSigner": false;
12
17
  },
13
18
  {
14
- "name": "owner";
19
+ "name": "messageTransmitter";
15
20
  "isMut": true;
16
- "isSigner": true;
21
+ "isSigner": false;
17
22
  },
18
23
  {
19
- "name": "systemProgram";
24
+ "name": "messageSentEventData";
25
+ "isMut": true;
26
+ "isSigner": false;
27
+ },
28
+ {
29
+ "name": "cctpMessageTransmitter";
20
30
  "isMut": false;
21
31
  "isSigner": false;
22
32
  }
23
33
  ];
24
- "args": [];
25
- },
26
- {
27
- "name": "closeUser";
28
- "accounts": [
29
- {
30
- "name": "vault";
31
- "isMut": true;
32
- "isSigner": false;
33
- },
34
+ "args": [
34
35
  {
35
- "name": "owner";
36
- "isMut": true;
37
- "isSigner": true;
36
+ "name": "attestation";
37
+ "type": "bytes";
38
38
  }
39
39
  ];
40
- "args": [];
41
40
  },
42
41
  {
43
- "name": "initDriftAccount";
42
+ "name": "initUser";
44
43
  "accounts": [
45
44
  {
46
45
  "name": "vault";
@@ -52,6 +51,11 @@ export type Quartz = {
52
51
  "isMut": true;
53
52
  "isSigner": true;
54
53
  },
54
+ {
55
+ "name": "initRentPayer";
56
+ "isMut": true;
57
+ "isSigner": false;
58
+ },
55
59
  {
56
60
  "name": "driftUser";
57
61
  "isMut": true;
@@ -72,6 +76,21 @@ export type Quartz = {
72
76
  "isMut": false;
73
77
  "isSigner": false;
74
78
  },
79
+ {
80
+ "name": "marginfiGroup";
81
+ "isMut": false;
82
+ "isSigner": false;
83
+ },
84
+ {
85
+ "name": "marginfiAccount";
86
+ "isMut": true;
87
+ "isSigner": true;
88
+ },
89
+ {
90
+ "name": "marginfiProgram";
91
+ "isMut": false;
92
+ "isSigner": false;
93
+ },
75
94
  {
76
95
  "name": "rent";
77
96
  "isMut": false;
@@ -83,10 +102,27 @@ export type Quartz = {
83
102
  "isSigner": false;
84
103
  }
85
104
  ];
86
- "args": [];
105
+ "args": [
106
+ {
107
+ "name": "requiresMarginfiAccount";
108
+ "type": "bool";
109
+ },
110
+ {
111
+ "name": "spendLimitPerTransaction";
112
+ "type": "u64";
113
+ },
114
+ {
115
+ "name": "spendLimitPerTimeframe";
116
+ "type": "u64";
117
+ },
118
+ {
119
+ "name": "extendSpendLimitPerTimeframeResetSlotAmount";
120
+ "type": "u64";
121
+ }
122
+ ];
87
123
  },
88
124
  {
89
- "name": "closeDriftAccount";
125
+ "name": "closeUser";
90
126
  "accounts": [
91
127
  {
92
128
  "name": "vault";
@@ -95,9 +131,14 @@ export type Quartz = {
95
131
  },
96
132
  {
97
133
  "name": "owner";
98
- "isMut": false;
134
+ "isMut": true;
99
135
  "isSigner": true;
100
136
  },
137
+ {
138
+ "name": "initRentPayer";
139
+ "isMut": true;
140
+ "isSigner": false;
141
+ },
101
142
  {
102
143
  "name": "driftUser";
103
144
  "isMut": true;
@@ -117,10 +158,54 @@ export type Quartz = {
117
158
  "name": "driftProgram";
118
159
  "isMut": false;
119
160
  "isSigner": false;
161
+ },
162
+ {
163
+ "name": "systemProgram";
164
+ "isMut": false;
165
+ "isSigner": false;
120
166
  }
121
167
  ];
122
168
  "args": [];
123
169
  },
170
+ {
171
+ "name": "upgradeVault";
172
+ "accounts": [
173
+ {
174
+ "name": "vault";
175
+ "isMut": true;
176
+ "isSigner": false;
177
+ },
178
+ {
179
+ "name": "owner";
180
+ "isMut": true;
181
+ "isSigner": true;
182
+ },
183
+ {
184
+ "name": "initRentPayer";
185
+ "isMut": true;
186
+ "isSigner": false;
187
+ },
188
+ {
189
+ "name": "systemProgram";
190
+ "isMut": false;
191
+ "isSigner": false;
192
+ }
193
+ ];
194
+ "args": [
195
+ {
196
+ "name": "spendLimitPerTransaction";
197
+ "type": "u64";
198
+ },
199
+ {
200
+ "name": "spendLimitPerTimeframe";
201
+ "type": "u64";
202
+ },
203
+ {
204
+ "name": "extendSpendLimitPerTimeframeResetSlotAmount";
205
+ "type": "u64";
206
+ }
207
+ ];
208
+ },
124
209
  {
125
210
  "name": "deposit";
126
211
  "accounts": [
@@ -295,122 +380,81 @@ export type Quartz = {
295
380
  ];
296
381
  },
297
382
  {
298
- "name": "startCollateralRepay";
383
+ "name": "topUpCard";
299
384
  "accounts": [
300
385
  {
301
- "name": "caller";
302
- "isMut": true;
303
- "isSigner": true;
304
- },
305
- {
306
- "name": "callerDepositSpl";
386
+ "name": "vault";
307
387
  "isMut": true;
308
388
  "isSigner": false;
309
389
  },
310
390
  {
311
- "name": "callerWithdrawSpl";
391
+ "name": "owner";
312
392
  "isMut": true;
313
- "isSigner": false;
393
+ "isSigner": true;
314
394
  },
315
395
  {
316
- "name": "owner";
317
- "isMut": false;
396
+ "name": "ownerUsdc";
397
+ "isMut": true;
318
398
  "isSigner": false;
319
399
  },
320
400
  {
321
- "name": "vault";
401
+ "name": "usdcMint";
322
402
  "isMut": true;
323
403
  "isSigner": false;
324
404
  },
325
405
  {
326
- "name": "mintDeposit";
327
- "isMut": false;
406
+ "name": "bridgeRentPayer";
407
+ "isMut": true;
328
408
  "isSigner": false;
329
409
  },
330
410
  {
331
- "name": "mintWithdraw";
411
+ "name": "senderAuthorityPda";
332
412
  "isMut": false;
333
413
  "isSigner": false;
334
414
  },
335
415
  {
336
- "name": "tokenProgramDeposit";
337
- "isMut": false;
416
+ "name": "messageTransmitter";
417
+ "isMut": true;
338
418
  "isSigner": false;
339
419
  },
340
420
  {
341
- "name": "tokenProgramWithdraw";
421
+ "name": "tokenMessenger";
342
422
  "isMut": false;
343
423
  "isSigner": false;
344
424
  },
345
425
  {
346
- "name": "systemProgram";
426
+ "name": "remoteTokenMessenger";
347
427
  "isMut": false;
348
428
  "isSigner": false;
349
429
  },
350
430
  {
351
- "name": "instructions";
431
+ "name": "tokenMinter";
352
432
  "isMut": false;
353
433
  "isSigner": false;
354
434
  },
355
435
  {
356
- "name": "ledger";
436
+ "name": "localToken";
357
437
  "isMut": true;
358
438
  "isSigner": false;
359
- }
360
- ];
361
- "args": [];
362
- },
363
- {
364
- "name": "depositCollateralRepay";
365
- "accounts": [
366
- {
367
- "name": "caller";
368
- "isMut": true;
369
- "isSigner": true;
370
439
  },
371
440
  {
372
- "name": "callerSpl";
441
+ "name": "messageSentEventData";
373
442
  "isMut": true;
374
- "isSigner": false;
443
+ "isSigner": true;
375
444
  },
376
445
  {
377
- "name": "owner";
446
+ "name": "eventAuthority";
378
447
  "isMut": false;
379
448
  "isSigner": false;
380
449
  },
381
450
  {
382
- "name": "vault";
383
- "isMut": true;
384
- "isSigner": false;
385
- },
386
- {
387
- "name": "vaultSpl";
388
- "isMut": true;
389
- "isSigner": false;
390
- },
391
- {
392
- "name": "splMint";
451
+ "name": "messageTransmitterProgram";
393
452
  "isMut": false;
394
453
  "isSigner": false;
395
454
  },
396
455
  {
397
- "name": "driftUser";
398
- "isMut": true;
399
- "isSigner": false;
400
- },
401
- {
402
- "name": "driftUserStats";
403
- "isMut": true;
404
- "isSigner": false;
405
- },
406
- {
407
- "name": "driftState";
408
- "isMut": true;
409
- "isSigner": false;
410
- },
411
- {
412
- "name": "spotMarketVault";
413
- "isMut": true;
456
+ "name": "tokenMessengerMinterProgram";
457
+ "isMut": false;
414
458
  "isSigner": false;
415
459
  },
416
460
  {
@@ -419,7 +463,7 @@ export type Quartz = {
419
463
  "isSigner": false;
420
464
  },
421
465
  {
422
- "name": "driftProgram";
466
+ "name": "associatedTokenProgram";
423
467
  "isMut": false;
424
468
  "isSigner": false;
425
469
  },
@@ -427,27 +471,17 @@ export type Quartz = {
427
471
  "name": "systemProgram";
428
472
  "isMut": false;
429
473
  "isSigner": false;
430
- },
431
- {
432
- "name": "instructions";
433
- "isMut": false;
434
- "isSigner": false;
435
- },
436
- {
437
- "name": "ledger";
438
- "isMut": true;
439
- "isSigner": false;
440
474
  }
441
475
  ];
442
476
  "args": [
443
477
  {
444
- "name": "depositMarketIndex";
445
- "type": "u16";
478
+ "name": "amountUsdcBaseUnits";
479
+ "type": "u64";
446
480
  }
447
481
  ];
448
482
  },
449
483
  {
450
- "name": "withdrawCollateralRepay";
484
+ "name": "startCollateralRepay";
451
485
  "accounts": [
452
486
  {
453
487
  "name": "caller";
@@ -455,77 +489,47 @@ export type Quartz = {
455
489
  "isSigner": true;
456
490
  },
457
491
  {
458
- "name": "callerSpl";
459
- "isMut": true;
460
- "isSigner": false;
461
- },
462
- {
463
- "name": "owner";
464
- "isMut": false;
465
- "isSigner": false;
466
- },
467
- {
468
- "name": "vault";
492
+ "name": "callerDepositSpl";
469
493
  "isMut": true;
470
494
  "isSigner": false;
471
495
  },
472
496
  {
473
- "name": "vaultSpl";
497
+ "name": "callerWithdrawSpl";
474
498
  "isMut": true;
475
499
  "isSigner": false;
476
500
  },
477
501
  {
478
- "name": "splMint";
502
+ "name": "owner";
479
503
  "isMut": false;
480
504
  "isSigner": false;
481
505
  },
482
506
  {
483
- "name": "driftUser";
484
- "isMut": true;
485
- "isSigner": false;
486
- },
487
- {
488
- "name": "driftUserStats";
489
- "isMut": true;
490
- "isSigner": false;
491
- },
492
- {
493
- "name": "driftState";
494
- "isMut": true;
495
- "isSigner": false;
496
- },
497
- {
498
- "name": "spotMarketVault";
507
+ "name": "vault";
499
508
  "isMut": true;
500
509
  "isSigner": false;
501
510
  },
502
511
  {
503
- "name": "driftSigner";
504
- "isMut": false;
505
- "isSigner": false;
506
- },
507
- {
508
- "name": "tokenProgram";
512
+ "name": "mintDeposit";
509
513
  "isMut": false;
510
514
  "isSigner": false;
511
515
  },
512
516
  {
513
- "name": "driftProgram";
517
+ "name": "mintWithdraw";
514
518
  "isMut": false;
515
519
  "isSigner": false;
516
520
  },
517
521
  {
518
- "name": "systemProgram";
522
+ "name": "tokenProgramDeposit";
519
523
  "isMut": false;
520
524
  "isSigner": false;
521
525
  },
522
526
  {
523
- "name": "depositPriceUpdate";
527
+ "name": "tokenProgramWithdraw";
524
528
  "isMut": false;
525
529
  "isSigner": false;
526
530
  },
527
531
  {
528
- "name": "withdrawPriceUpdate";
532
+ "name": "systemProgram";
529
533
  "isMut": false;
530
534
  "isSigner": false;
531
535
  },
@@ -540,15 +544,10 @@ export type Quartz = {
540
544
  "isSigner": false;
541
545
  }
542
546
  ];
543
- "args": [
544
- {
545
- "name": "withdrawMarketIndex";
546
- "type": "u16";
547
- }
548
- ];
547
+ "args": [];
549
548
  },
550
549
  {
551
- "name": "collateralRepayStart";
550
+ "name": "depositCollateralRepay";
552
551
  "accounts": [
553
552
  {
554
553
  "name": "caller";
@@ -556,22 +555,7 @@ export type Quartz = {
556
555
  "isSigner": true;
557
556
  },
558
557
  {
559
- "name": "callerWithdrawSpl";
560
- "isMut": true;
561
- "isSigner": false;
562
- },
563
- {
564
- "name": "withdrawMint";
565
- "isMut": false;
566
- "isSigner": false;
567
- },
568
- {
569
- "name": "vault";
570
- "isMut": true;
571
- "isSigner": false;
572
- },
573
- {
574
- "name": "vaultWithdrawSpl";
558
+ "name": "callerSpl";
575
559
  "isMut": true;
576
560
  "isSigner": false;
577
561
  },
@@ -580,37 +564,6 @@ export type Quartz = {
580
564
  "isMut": false;
581
565
  "isSigner": false;
582
566
  },
583
- {
584
- "name": "tokenProgram";
585
- "isMut": false;
586
- "isSigner": false;
587
- },
588
- {
589
- "name": "associatedTokenProgram";
590
- "isMut": false;
591
- "isSigner": false;
592
- },
593
- {
594
- "name": "systemProgram";
595
- "isMut": false;
596
- "isSigner": false;
597
- },
598
- {
599
- "name": "instructions";
600
- "isMut": false;
601
- "isSigner": false;
602
- }
603
- ];
604
- "args": [
605
- {
606
- "name": "startWithdrawBalance";
607
- "type": "u64";
608
- }
609
- ];
610
- },
611
- {
612
- "name": "collateralRepayDeposit";
613
- "accounts": [
614
567
  {
615
568
  "name": "vault";
616
569
  "isMut": true;
@@ -621,21 +574,6 @@ export type Quartz = {
621
574
  "isMut": true;
622
575
  "isSigner": false;
623
576
  },
624
- {
625
- "name": "owner";
626
- "isMut": false;
627
- "isSigner": false;
628
- },
629
- {
630
- "name": "caller";
631
- "isMut": true;
632
- "isSigner": true;
633
- },
634
- {
635
- "name": "callerSpl";
636
- "isMut": true;
637
- "isSigner": false;
638
- },
639
577
  {
640
578
  "name": "splMint";
641
579
  "isMut": false;
@@ -666,11 +604,6 @@ export type Quartz = {
666
604
  "isMut": false;
667
605
  "isSigner": false;
668
606
  },
669
- {
670
- "name": "associatedTokenProgram";
671
- "isMut": false;
672
- "isSigner": false;
673
- },
674
607
  {
675
608
  "name": "driftProgram";
676
609
  "isMut": false;
@@ -685,25 +618,30 @@ export type Quartz = {
685
618
  "name": "instructions";
686
619
  "isMut": false;
687
620
  "isSigner": false;
621
+ },
622
+ {
623
+ "name": "ledger";
624
+ "isMut": true;
625
+ "isSigner": false;
688
626
  }
689
627
  ];
690
628
  "args": [
691
629
  {
692
- "name": "driftMarketIndex";
630
+ "name": "depositMarketIndex";
693
631
  "type": "u16";
694
632
  }
695
633
  ];
696
634
  },
697
635
  {
698
- "name": "collateralRepayWithdraw";
636
+ "name": "withdrawCollateralRepay";
699
637
  "accounts": [
700
638
  {
701
- "name": "vault";
639
+ "name": "caller";
702
640
  "isMut": true;
703
- "isSigner": false;
641
+ "isSigner": true;
704
642
  },
705
643
  {
706
- "name": "vaultSpl";
644
+ "name": "callerSpl";
707
645
  "isMut": true;
708
646
  "isSigner": false;
709
647
  },
@@ -713,12 +651,12 @@ export type Quartz = {
713
651
  "isSigner": false;
714
652
  },
715
653
  {
716
- "name": "caller";
654
+ "name": "vault";
717
655
  "isMut": true;
718
- "isSigner": true;
656
+ "isSigner": false;
719
657
  },
720
658
  {
721
- "name": "callerSpl";
659
+ "name": "vaultSpl";
722
660
  "isMut": true;
723
661
  "isSigner": false;
724
662
  },
@@ -781,11 +719,16 @@ export type Quartz = {
781
719
  "name": "instructions";
782
720
  "isMut": false;
783
721
  "isSigner": false;
722
+ },
723
+ {
724
+ "name": "ledger";
725
+ "isMut": true;
726
+ "isSigner": false;
784
727
  }
785
728
  ];
786
729
  "args": [
787
730
  {
788
- "name": "driftMarketIndex";
731
+ "name": "withdrawMarketIndex";
789
732
  "type": "u16";
790
733
  }
791
734
  ];
@@ -804,6 +747,26 @@ export type Quartz = {
804
747
  {
805
748
  "name": "bump";
806
749
  "type": "u8";
750
+ },
751
+ {
752
+ "name": "spendLimitPerTransaction";
753
+ "type": "u64";
754
+ },
755
+ {
756
+ "name": "spendLimitPerTimeframe";
757
+ "type": "u64";
758
+ },
759
+ {
760
+ "name": "remainingSpendLimitPerTimeframe";
761
+ "type": "u64";
762
+ },
763
+ {
764
+ "name": "nextSpendLimitPerTimeframeResetSlot";
765
+ "type": "u64";
766
+ },
767
+ {
768
+ "name": "extendSpendLimitPerTimeframeResetSlotAmount";
769
+ "type": "u64";
807
770
  }
808
771
  ];
809
772
  };
@@ -828,103 +791,153 @@ export type Quartz = {
828
791
  "errors": [
829
792
  {
830
793
  "code": 6000;
794
+ "name": "VaultAlreadyInitialized";
795
+ "msg": "Vault already initialized";
796
+ },
797
+ {
798
+ "code": 6001;
831
799
  "name": "IllegalCollateralRepayInstructions";
832
800
  "msg": "Illegal collateral repay instructions";
833
801
  },
834
802
  {
835
- "code": 6001;
803
+ "code": 6002;
836
804
  "name": "InvalidMint";
837
805
  "msg": "Invalid mint provided";
838
806
  },
839
807
  {
840
- "code": 6002;
808
+ "code": 6003;
841
809
  "name": "MaxSlippageExceeded";
842
810
  "msg": "Price slippage is above maximum";
843
811
  },
844
812
  {
845
- "code": 6003;
813
+ "code": 6004;
846
814
  "name": "InvalidPlatformFee";
847
815
  "msg": "Swap platform fee must be zero";
848
816
  },
849
817
  {
850
- "code": 6004;
818
+ "code": 6005;
851
819
  "name": "InvalidUserAccounts";
852
820
  "msg": "User accounts for deposit and withdraw do not match";
853
821
  },
854
822
  {
855
- "code": 6005;
823
+ "code": 6006;
856
824
  "name": "InvalidSourceTokenAccount";
857
825
  "msg": "Swap source token account does not match withdraw";
858
826
  },
859
827
  {
860
- "code": 6006;
828
+ "code": 6007;
861
829
  "name": "InvalidDestinationTokenAccount";
862
830
  "msg": "Swap destination token account does not match deposit";
863
831
  },
864
832
  {
865
- "code": 6007;
833
+ "code": 6008;
866
834
  "name": "InvalidStartBalance";
867
835
  "msg": "Declared start balance is not accurate";
868
836
  },
869
837
  {
870
- "code": 6008;
838
+ "code": 6009;
871
839
  "name": "NegativeOraclePrice";
872
840
  "msg": "Price received from oracle should be a positive number";
873
841
  },
874
842
  {
875
- "code": 6009;
843
+ "code": 6010;
876
844
  "name": "InvalidMarketIndex";
877
845
  "msg": "Invalid market index";
878
846
  },
879
847
  {
880
- "code": 6010;
848
+ "code": 6011;
881
849
  "name": "MathOverflow";
882
850
  "msg": "Math overflow";
883
851
  },
884
852
  {
885
- "code": 6011;
853
+ "code": 6012;
886
854
  "name": "InvalidPriceExponent";
887
855
  "msg": "Price exponents received from oracle should be the same";
888
856
  },
889
857
  {
890
- "code": 6012;
858
+ "code": 6013;
891
859
  "name": "UnableToLoadAccountLoader";
892
860
  "msg": "Unable to load account loader";
893
861
  },
894
862
  {
895
- "code": 6013;
863
+ "code": 6014;
896
864
  "name": "DeserializationError";
897
865
  "msg": "Could not deserialize introspection instruction data";
898
866
  },
899
867
  {
900
- "code": 6014;
868
+ "code": 6015;
901
869
  "name": "NotReachedCollateralRepayThreshold";
902
870
  "msg": "Account health is not low enough for collateral_repay";
903
871
  },
904
872
  {
905
- "code": 6015;
873
+ "code": 6016;
906
874
  "name": "CollateralRepayHealthTooHigh";
907
875
  "msg": "Too much collateral sold in collateral_repay";
908
876
  },
909
877
  {
910
- "code": 6016;
878
+ "code": 6017;
911
879
  "name": "CollateralRepayHealthTooLow";
912
880
  "msg": "User health is still zero after collateral_repay";
913
881
  },
914
882
  {
915
- "code": 6017;
883
+ "code": 6018;
916
884
  "name": "IdenticalCollateralRepayMarkets";
917
885
  "msg": "Collateral repay deposit and withdraw markets must be different";
918
886
  },
919
887
  {
920
- "code": 6018;
888
+ "code": 6019;
921
889
  "name": "InvalidStartingVaultBalance";
922
890
  "msg": "Invalid starting vault balance";
923
891
  },
924
892
  {
925
- "code": 6019;
893
+ "code": 6020;
926
894
  "name": "FreshTokenLedgerRequired";
927
895
  "msg": "Provided token ledger is not empty";
896
+ },
897
+ {
898
+ "code": 6021;
899
+ "name": "InvalidEvmAddress";
900
+ "msg": "Provided EVM address does not match expected format";
901
+ },
902
+ {
903
+ "code": 6022;
904
+ "name": "InvalidVaultOwner";
905
+ "msg": "Invalid vault owner";
906
+ },
907
+ {
908
+ "code": 6023;
909
+ "name": "InvalidVaultAddress";
910
+ "msg": "Invalid vault address";
911
+ },
912
+ {
913
+ "code": 6024;
914
+ "name": "LookupTableAlreadyInitialized";
915
+ "msg": "Lookup table already initialized";
916
+ },
917
+ {
918
+ "code": 6025;
919
+ "name": "MissingTokenMint";
920
+ "msg": "Missing token mint";
921
+ },
922
+ {
923
+ "code": 6026;
924
+ "name": "InvalidTokenProgramId";
925
+ "msg": "Invalid token program id";
926
+ },
927
+ {
928
+ "code": 6027;
929
+ "name": "InvalidLookupTable";
930
+ "msg": "Invalid lookup table";
931
+ },
932
+ {
933
+ "code": 6028;
934
+ "name": "InvalidLookupTableContent";
935
+ "msg": "Invalid lookup table content";
936
+ },
937
+ {
938
+ "code": 6029;
939
+ "name": "InvalidLookupTableAuthority";
940
+ "msg": "Invalid lookup table authority";
928
941
  }
929
942
  ];
930
943
  };