@metadaoproject/futarchy 0.4.0-alpha.72 → 0.4.0-alpha.74

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.
@@ -0,0 +1,1755 @@
1
+ export type SharedLiquidityManager = {
2
+ version: "0.1.0";
3
+ name: "shared_liquidity_manager";
4
+ docs: ["TODO:", "- add unstake", "- add unit tests"];
5
+ instructions: [
6
+ {
7
+ name: "initializeSharedLiquidityPool";
8
+ accounts: [
9
+ {
10
+ name: "slPool";
11
+ isMut: true;
12
+ isSigner: false;
13
+ },
14
+ {
15
+ name: "dao";
16
+ isMut: false;
17
+ isSigner: false;
18
+ },
19
+ {
20
+ name: "creator";
21
+ isMut: true;
22
+ isSigner: true;
23
+ },
24
+ {
25
+ name: "creatorSlPoolPosition";
26
+ isMut: true;
27
+ isSigner: false;
28
+ },
29
+ {
30
+ name: "baseMint";
31
+ isMut: false;
32
+ isSigner: false;
33
+ },
34
+ {
35
+ name: "quoteMint";
36
+ isMut: false;
37
+ isSigner: false;
38
+ },
39
+ {
40
+ name: "slPoolSpotLpVault";
41
+ isMut: true;
42
+ isSigner: false;
43
+ },
44
+ {
45
+ name: "creatorQuoteTokenAccount";
46
+ isMut: true;
47
+ isSigner: false;
48
+ },
49
+ {
50
+ name: "creatorBaseTokenAccount";
51
+ isMut: true;
52
+ isSigner: false;
53
+ },
54
+ {
55
+ name: "creatorLpAccount";
56
+ isMut: true;
57
+ isSigner: false;
58
+ docs: ["so Raydium will create it"];
59
+ },
60
+ {
61
+ name: "raydiumInitPoolStatic";
62
+ accounts: [
63
+ {
64
+ name: "raydiumAuthority";
65
+ isMut: false;
66
+ isSigner: false;
67
+ },
68
+ {
69
+ name: "createPoolFee";
70
+ isMut: true;
71
+ isSigner: false;
72
+ },
73
+ {
74
+ name: "ammConfig";
75
+ isMut: true;
76
+ isSigner: false;
77
+ },
78
+ {
79
+ name: "cpSwapProgram";
80
+ isMut: false;
81
+ isSigner: false;
82
+ },
83
+ {
84
+ name: "rent";
85
+ isMut: false;
86
+ isSigner: false;
87
+ },
88
+ {
89
+ name: "associatedTokenProgram";
90
+ isMut: false;
91
+ isSigner: false;
92
+ },
93
+ {
94
+ name: "tokenProgram";
95
+ isMut: false;
96
+ isSigner: false;
97
+ }
98
+ ];
99
+ },
100
+ {
101
+ name: "spotPool";
102
+ isMut: true;
103
+ isSigner: false;
104
+ },
105
+ {
106
+ name: "spotPoolLpMint";
107
+ isMut: true;
108
+ isSigner: false;
109
+ },
110
+ {
111
+ name: "spotPoolBaseVault";
112
+ isMut: true;
113
+ isSigner: false;
114
+ },
115
+ {
116
+ name: "spotPoolQuoteVault";
117
+ isMut: true;
118
+ isSigner: false;
119
+ },
120
+ {
121
+ name: "spotPoolObservationState";
122
+ isMut: true;
123
+ isSigner: false;
124
+ },
125
+ {
126
+ name: "slPoolSigner";
127
+ isMut: false;
128
+ isSigner: false;
129
+ },
130
+ {
131
+ name: "slPoolBaseVault";
132
+ isMut: false;
133
+ isSigner: false;
134
+ },
135
+ {
136
+ name: "slPoolQuoteVault";
137
+ isMut: false;
138
+ isSigner: false;
139
+ },
140
+ {
141
+ name: "systemProgram";
142
+ isMut: false;
143
+ isSigner: false;
144
+ },
145
+ {
146
+ name: "cpSwapProgram";
147
+ isMut: false;
148
+ isSigner: false;
149
+ },
150
+ {
151
+ name: "eventAuthority";
152
+ isMut: false;
153
+ isSigner: false;
154
+ },
155
+ {
156
+ name: "program";
157
+ isMut: false;
158
+ isSigner: false;
159
+ }
160
+ ];
161
+ args: [
162
+ {
163
+ name: "params";
164
+ type: {
165
+ defined: "InitializeSharedLiquidityPoolParams";
166
+ };
167
+ }
168
+ ];
169
+ },
170
+ {
171
+ name: "initializeDraftProposal";
172
+ accounts: [
173
+ {
174
+ name: "draftProposal";
175
+ isMut: true;
176
+ isSigner: false;
177
+ },
178
+ {
179
+ name: "sharedLiquidityPool";
180
+ isMut: false;
181
+ isSigner: false;
182
+ },
183
+ {
184
+ name: "baseMint";
185
+ isMut: false;
186
+ isSigner: false;
187
+ },
188
+ {
189
+ name: "stakedTokenVault";
190
+ isMut: true;
191
+ isSigner: false;
192
+ },
193
+ {
194
+ name: "payer";
195
+ isMut: true;
196
+ isSigner: true;
197
+ },
198
+ {
199
+ name: "tokenProgram";
200
+ isMut: false;
201
+ isSigner: false;
202
+ },
203
+ {
204
+ name: "associatedTokenProgram";
205
+ isMut: false;
206
+ isSigner: false;
207
+ },
208
+ {
209
+ name: "systemProgram";
210
+ isMut: false;
211
+ isSigner: false;
212
+ },
213
+ {
214
+ name: "eventAuthority";
215
+ isMut: false;
216
+ isSigner: false;
217
+ },
218
+ {
219
+ name: "program";
220
+ isMut: false;
221
+ isSigner: false;
222
+ }
223
+ ];
224
+ args: [
225
+ {
226
+ name: "params";
227
+ type: {
228
+ defined: "InitializeDraftProposalParams";
229
+ };
230
+ }
231
+ ];
232
+ },
233
+ {
234
+ name: "stakeToDraftProposal";
235
+ accounts: [
236
+ {
237
+ name: "draftProposal";
238
+ isMut: true;
239
+ isSigner: false;
240
+ },
241
+ {
242
+ name: "staker";
243
+ isMut: false;
244
+ isSigner: true;
245
+ },
246
+ {
247
+ name: "stakerTokenAccount";
248
+ isMut: true;
249
+ isSigner: false;
250
+ },
251
+ {
252
+ name: "stakedTokenVault";
253
+ isMut: true;
254
+ isSigner: false;
255
+ },
256
+ {
257
+ name: "payer";
258
+ isMut: true;
259
+ isSigner: true;
260
+ },
261
+ {
262
+ name: "stakeRecord";
263
+ isMut: true;
264
+ isSigner: false;
265
+ },
266
+ {
267
+ name: "tokenProgram";
268
+ isMut: false;
269
+ isSigner: false;
270
+ },
271
+ {
272
+ name: "systemProgram";
273
+ isMut: false;
274
+ isSigner: false;
275
+ },
276
+ {
277
+ name: "eventAuthority";
278
+ isMut: false;
279
+ isSigner: false;
280
+ },
281
+ {
282
+ name: "program";
283
+ isMut: false;
284
+ isSigner: false;
285
+ }
286
+ ];
287
+ args: [
288
+ {
289
+ name: "params";
290
+ type: {
291
+ defined: "StakeToDraftProposalParams";
292
+ };
293
+ }
294
+ ];
295
+ },
296
+ {
297
+ name: "unstakeFromDraftProposal";
298
+ accounts: [
299
+ {
300
+ name: "draftProposal";
301
+ isMut: true;
302
+ isSigner: false;
303
+ },
304
+ {
305
+ name: "staker";
306
+ isMut: false;
307
+ isSigner: true;
308
+ },
309
+ {
310
+ name: "stakerTokenAccount";
311
+ isMut: true;
312
+ isSigner: false;
313
+ },
314
+ {
315
+ name: "stakedTokenVault";
316
+ isMut: true;
317
+ isSigner: false;
318
+ },
319
+ {
320
+ name: "stakeRecord";
321
+ isMut: true;
322
+ isSigner: false;
323
+ },
324
+ {
325
+ name: "tokenProgram";
326
+ isMut: false;
327
+ isSigner: false;
328
+ },
329
+ {
330
+ name: "eventAuthority";
331
+ isMut: false;
332
+ isSigner: false;
333
+ },
334
+ {
335
+ name: "program";
336
+ isMut: false;
337
+ isSigner: false;
338
+ }
339
+ ];
340
+ args: [
341
+ {
342
+ name: "params";
343
+ type: {
344
+ defined: "UnstakeFromDraftProposalParams";
345
+ };
346
+ }
347
+ ];
348
+ },
349
+ {
350
+ name: "depositSharedLiquidity";
351
+ accounts: [
352
+ {
353
+ name: "slPool";
354
+ isMut: true;
355
+ isSigner: false;
356
+ },
357
+ {
358
+ name: "activeSpotPool";
359
+ isMut: true;
360
+ isSigner: false;
361
+ },
362
+ {
363
+ name: "slPoolSpotLpVault";
364
+ isMut: true;
365
+ isSigner: false;
366
+ },
367
+ {
368
+ name: "userQuoteTokenAccount";
369
+ isMut: true;
370
+ isSigner: false;
371
+ },
372
+ {
373
+ name: "userBaseTokenAccount";
374
+ isMut: true;
375
+ isSigner: false;
376
+ },
377
+ {
378
+ name: "spotPoolBaseVault";
379
+ isMut: true;
380
+ isSigner: false;
381
+ },
382
+ {
383
+ name: "spotPoolQuoteVault";
384
+ isMut: true;
385
+ isSigner: false;
386
+ },
387
+ {
388
+ name: "baseMint";
389
+ isMut: false;
390
+ isSigner: false;
391
+ },
392
+ {
393
+ name: "quoteMint";
394
+ isMut: false;
395
+ isSigner: false;
396
+ },
397
+ {
398
+ name: "spotPoolLpMint";
399
+ isMut: true;
400
+ isSigner: false;
401
+ },
402
+ {
403
+ name: "userLpTokenAccount";
404
+ isMut: true;
405
+ isSigner: false;
406
+ },
407
+ {
408
+ name: "userSlPoolPosition";
409
+ isMut: true;
410
+ isSigner: false;
411
+ },
412
+ {
413
+ name: "user";
414
+ isMut: false;
415
+ isSigner: true;
416
+ },
417
+ {
418
+ name: "payer";
419
+ isMut: true;
420
+ isSigner: true;
421
+ },
422
+ {
423
+ name: "raydiumAuthority";
424
+ isMut: false;
425
+ isSigner: false;
426
+ },
427
+ {
428
+ name: "associatedTokenProgram";
429
+ isMut: false;
430
+ isSigner: false;
431
+ },
432
+ {
433
+ name: "tokenProgram";
434
+ isMut: false;
435
+ isSigner: false;
436
+ },
437
+ {
438
+ name: "tokenProgram2022";
439
+ isMut: false;
440
+ isSigner: false;
441
+ },
442
+ {
443
+ name: "cpSwapProgram";
444
+ isMut: false;
445
+ isSigner: false;
446
+ },
447
+ {
448
+ name: "systemProgram";
449
+ isMut: false;
450
+ isSigner: false;
451
+ },
452
+ {
453
+ name: "eventAuthority";
454
+ isMut: false;
455
+ isSigner: false;
456
+ },
457
+ {
458
+ name: "program";
459
+ isMut: false;
460
+ isSigner: false;
461
+ }
462
+ ];
463
+ args: [
464
+ {
465
+ name: "params";
466
+ type: {
467
+ defined: "DepositSharedLiquidityParams";
468
+ };
469
+ }
470
+ ];
471
+ },
472
+ {
473
+ name: "withdrawSharedLiquidity";
474
+ accounts: [
475
+ {
476
+ name: "slPool";
477
+ isMut: true;
478
+ isSigner: false;
479
+ },
480
+ {
481
+ name: "slPoolSigner";
482
+ isMut: false;
483
+ isSigner: false;
484
+ },
485
+ {
486
+ name: "activeSpotPool";
487
+ isMut: true;
488
+ isSigner: false;
489
+ },
490
+ {
491
+ name: "slPoolSpotLpVault";
492
+ isMut: true;
493
+ isSigner: false;
494
+ },
495
+ {
496
+ name: "userQuoteTokenAccount";
497
+ isMut: true;
498
+ isSigner: false;
499
+ },
500
+ {
501
+ name: "userBaseTokenAccount";
502
+ isMut: true;
503
+ isSigner: false;
504
+ },
505
+ {
506
+ name: "spotPoolBaseVault";
507
+ isMut: true;
508
+ isSigner: false;
509
+ },
510
+ {
511
+ name: "spotPoolQuoteVault";
512
+ isMut: true;
513
+ isSigner: false;
514
+ },
515
+ {
516
+ name: "baseMint";
517
+ isMut: false;
518
+ isSigner: false;
519
+ },
520
+ {
521
+ name: "quoteMint";
522
+ isMut: false;
523
+ isSigner: false;
524
+ },
525
+ {
526
+ name: "spotPoolLpMint";
527
+ isMut: true;
528
+ isSigner: false;
529
+ },
530
+ {
531
+ name: "userLpTokenAccount";
532
+ isMut: true;
533
+ isSigner: false;
534
+ },
535
+ {
536
+ name: "userSlPoolPosition";
537
+ isMut: true;
538
+ isSigner: false;
539
+ },
540
+ {
541
+ name: "user";
542
+ isMut: true;
543
+ isSigner: true;
544
+ },
545
+ {
546
+ name: "feeReceiver";
547
+ isMut: false;
548
+ isSigner: false;
549
+ },
550
+ {
551
+ name: "raydiumAuthority";
552
+ isMut: false;
553
+ isSigner: false;
554
+ },
555
+ {
556
+ name: "tokenProgram";
557
+ isMut: false;
558
+ isSigner: false;
559
+ },
560
+ {
561
+ name: "tokenProgram2022";
562
+ isMut: false;
563
+ isSigner: false;
564
+ },
565
+ {
566
+ name: "cpSwapProgram";
567
+ isMut: false;
568
+ isSigner: false;
569
+ },
570
+ {
571
+ name: "memoProgram";
572
+ isMut: false;
573
+ isSigner: false;
574
+ },
575
+ {
576
+ name: "eventAuthority";
577
+ isMut: false;
578
+ isSigner: false;
579
+ },
580
+ {
581
+ name: "program";
582
+ isMut: false;
583
+ isSigner: false;
584
+ }
585
+ ];
586
+ args: [
587
+ {
588
+ name: "params";
589
+ type: {
590
+ defined: "WithdrawSharedLiquidityParams";
591
+ };
592
+ }
593
+ ];
594
+ },
595
+ {
596
+ name: "initializeProposalWithLiquidity";
597
+ accounts: [
598
+ {
599
+ name: "sharedLiquidityPool";
600
+ isMut: true;
601
+ isSigner: false;
602
+ },
603
+ {
604
+ name: "proposalCreator";
605
+ isMut: false;
606
+ isSigner: true;
607
+ },
608
+ {
609
+ name: "proposal";
610
+ isMut: true;
611
+ isSigner: false;
612
+ },
613
+ {
614
+ name: "slPoolBaseVault";
615
+ isMut: true;
616
+ isSigner: false;
617
+ },
618
+ {
619
+ name: "slPoolQuoteVault";
620
+ isMut: true;
621
+ isSigner: false;
622
+ },
623
+ {
624
+ name: "slPoolSpotLpVault";
625
+ isMut: true;
626
+ isSigner: false;
627
+ },
628
+ {
629
+ name: "baseMint";
630
+ isMut: false;
631
+ isSigner: false;
632
+ },
633
+ {
634
+ name: "quoteMint";
635
+ isMut: false;
636
+ isSigner: false;
637
+ },
638
+ {
639
+ name: "raydium";
640
+ accounts: [
641
+ {
642
+ name: "spotPool";
643
+ isMut: true;
644
+ isSigner: false;
645
+ },
646
+ {
647
+ name: "spotPoolBaseVault";
648
+ isMut: true;
649
+ isSigner: false;
650
+ },
651
+ {
652
+ name: "spotPoolQuoteVault";
653
+ isMut: true;
654
+ isSigner: false;
655
+ },
656
+ {
657
+ name: "lpMint";
658
+ isMut: true;
659
+ isSigner: false;
660
+ },
661
+ {
662
+ name: "raydiumAuthority";
663
+ isMut: false;
664
+ isSigner: false;
665
+ },
666
+ {
667
+ name: "tokenProgram";
668
+ isMut: false;
669
+ isSigner: false;
670
+ },
671
+ {
672
+ name: "tokenProgram2022";
673
+ isMut: false;
674
+ isSigner: false;
675
+ },
676
+ {
677
+ name: "cpSwapProgram";
678
+ isMut: false;
679
+ isSigner: false;
680
+ },
681
+ {
682
+ name: "memoProgram";
683
+ isMut: false;
684
+ isSigner: false;
685
+ }
686
+ ];
687
+ },
688
+ {
689
+ name: "conditionalVault";
690
+ accounts: [
691
+ {
692
+ name: "question";
693
+ isMut: true;
694
+ isSigner: false;
695
+ },
696
+ {
697
+ name: "baseVault";
698
+ isMut: true;
699
+ isSigner: false;
700
+ },
701
+ {
702
+ name: "quoteVault";
703
+ isMut: true;
704
+ isSigner: false;
705
+ },
706
+ {
707
+ name: "baseVaultUnderlyingTokenAccount";
708
+ isMut: true;
709
+ isSigner: false;
710
+ },
711
+ {
712
+ name: "quoteVaultUnderlyingTokenAccount";
713
+ isMut: true;
714
+ isSigner: false;
715
+ },
716
+ {
717
+ name: "conditionalVaultProgram";
718
+ isMut: false;
719
+ isSigner: false;
720
+ },
721
+ {
722
+ name: "passBaseMint";
723
+ isMut: true;
724
+ isSigner: false;
725
+ },
726
+ {
727
+ name: "failBaseMint";
728
+ isMut: true;
729
+ isSigner: false;
730
+ },
731
+ {
732
+ name: "passQuoteMint";
733
+ isMut: true;
734
+ isSigner: false;
735
+ },
736
+ {
737
+ name: "failQuoteMint";
738
+ isMut: true;
739
+ isSigner: false;
740
+ },
741
+ {
742
+ name: "slPoolPassBaseVault";
743
+ isMut: true;
744
+ isSigner: true;
745
+ },
746
+ {
747
+ name: "slPoolFailBaseVault";
748
+ isMut: true;
749
+ isSigner: true;
750
+ },
751
+ {
752
+ name: "slPoolPassQuoteVault";
753
+ isMut: true;
754
+ isSigner: true;
755
+ },
756
+ {
757
+ name: "slPoolFailQuoteVault";
758
+ isMut: true;
759
+ isSigner: true;
760
+ },
761
+ {
762
+ name: "vaultEventAuthority";
763
+ isMut: false;
764
+ isSigner: false;
765
+ },
766
+ {
767
+ name: "payer";
768
+ isMut: true;
769
+ isSigner: true;
770
+ },
771
+ {
772
+ name: "tokenProgram";
773
+ isMut: false;
774
+ isSigner: false;
775
+ },
776
+ {
777
+ name: "systemProgram";
778
+ isMut: false;
779
+ isSigner: false;
780
+ },
781
+ {
782
+ name: "slPoolSigner";
783
+ isMut: true;
784
+ isSigner: false;
785
+ }
786
+ ];
787
+ },
788
+ {
789
+ name: "amm";
790
+ accounts: [
791
+ {
792
+ name: "passAmm";
793
+ isMut: true;
794
+ isSigner: false;
795
+ },
796
+ {
797
+ name: "failAmm";
798
+ isMut: true;
799
+ isSigner: false;
800
+ },
801
+ {
802
+ name: "passLpMint";
803
+ isMut: true;
804
+ isSigner: false;
805
+ },
806
+ {
807
+ name: "failLpMint";
808
+ isMut: true;
809
+ isSigner: false;
810
+ },
811
+ {
812
+ name: "slPoolPassLpAccount";
813
+ isMut: true;
814
+ isSigner: false;
815
+ },
816
+ {
817
+ name: "slPoolFailLpAccount";
818
+ isMut: true;
819
+ isSigner: false;
820
+ },
821
+ {
822
+ name: "passAmmVaultAtaBase";
823
+ isMut: true;
824
+ isSigner: false;
825
+ },
826
+ {
827
+ name: "passAmmVaultAtaQuote";
828
+ isMut: true;
829
+ isSigner: false;
830
+ },
831
+ {
832
+ name: "failAmmVaultAtaBase";
833
+ isMut: true;
834
+ isSigner: false;
835
+ },
836
+ {
837
+ name: "failAmmVaultAtaQuote";
838
+ isMut: true;
839
+ isSigner: false;
840
+ },
841
+ {
842
+ name: "proposalPassLpVault";
843
+ isMut: true;
844
+ isSigner: false;
845
+ },
846
+ {
847
+ name: "proposalFailLpVault";
848
+ isMut: true;
849
+ isSigner: false;
850
+ },
851
+ {
852
+ name: "ammProgram";
853
+ isMut: false;
854
+ isSigner: false;
855
+ },
856
+ {
857
+ name: "eventAuthority";
858
+ isMut: false;
859
+ isSigner: false;
860
+ },
861
+ {
862
+ name: "payer";
863
+ isMut: true;
864
+ isSigner: true;
865
+ },
866
+ {
867
+ name: "systemProgram";
868
+ isMut: false;
869
+ isSigner: false;
870
+ },
871
+ {
872
+ name: "tokenProgram";
873
+ isMut: false;
874
+ isSigner: false;
875
+ },
876
+ {
877
+ name: "associatedTokenProgram";
878
+ isMut: false;
879
+ isSigner: false;
880
+ },
881
+ {
882
+ name: "slPoolSigner";
883
+ isMut: false;
884
+ isSigner: false;
885
+ }
886
+ ];
887
+ },
888
+ {
889
+ name: "draftProposal";
890
+ isMut: true;
891
+ isSigner: false;
892
+ },
893
+ {
894
+ name: "dao";
895
+ isMut: true;
896
+ isSigner: false;
897
+ },
898
+ {
899
+ name: "autocratProgram";
900
+ isMut: false;
901
+ isSigner: false;
902
+ },
903
+ {
904
+ name: "systemProgram";
905
+ isMut: false;
906
+ isSigner: false;
907
+ },
908
+ {
909
+ name: "autocratEventAuthority";
910
+ isMut: false;
911
+ isSigner: false;
912
+ },
913
+ {
914
+ name: "eventAuthority";
915
+ isMut: false;
916
+ isSigner: false;
917
+ },
918
+ {
919
+ name: "program";
920
+ isMut: false;
921
+ isSigner: false;
922
+ }
923
+ ];
924
+ args: [
925
+ {
926
+ name: "params";
927
+ type: {
928
+ defined: "InitializeProposalWithLiquidityParams";
929
+ };
930
+ }
931
+ ];
932
+ },
933
+ {
934
+ name: "removeProposalLiquidity";
935
+ accounts: [
936
+ {
937
+ name: "slPool";
938
+ isMut: true;
939
+ isSigner: false;
940
+ },
941
+ {
942
+ name: "proposal";
943
+ isMut: false;
944
+ isSigner: false;
945
+ },
946
+ {
947
+ name: "slPoolBaseVault";
948
+ isMut: true;
949
+ isSigner: false;
950
+ },
951
+ {
952
+ name: "slPoolQuoteVault";
953
+ isMut: true;
954
+ isSigner: false;
955
+ },
956
+ {
957
+ name: "slPoolSpotLpVault";
958
+ isMut: true;
959
+ isSigner: false;
960
+ },
961
+ {
962
+ name: "baseMint";
963
+ isMut: false;
964
+ isSigner: false;
965
+ },
966
+ {
967
+ name: "quoteMint";
968
+ isMut: false;
969
+ isSigner: false;
970
+ },
971
+ {
972
+ name: "raydiumInitPoolStatic";
973
+ accounts: [
974
+ {
975
+ name: "raydiumAuthority";
976
+ isMut: false;
977
+ isSigner: false;
978
+ },
979
+ {
980
+ name: "createPoolFee";
981
+ isMut: true;
982
+ isSigner: false;
983
+ },
984
+ {
985
+ name: "ammConfig";
986
+ isMut: true;
987
+ isSigner: false;
988
+ },
989
+ {
990
+ name: "cpSwapProgram";
991
+ isMut: false;
992
+ isSigner: false;
993
+ },
994
+ {
995
+ name: "rent";
996
+ isMut: false;
997
+ isSigner: false;
998
+ },
999
+ {
1000
+ name: "associatedTokenProgram";
1001
+ isMut: false;
1002
+ isSigner: false;
1003
+ },
1004
+ {
1005
+ name: "tokenProgram";
1006
+ isMut: false;
1007
+ isSigner: false;
1008
+ }
1009
+ ];
1010
+ },
1011
+ {
1012
+ name: "raydium";
1013
+ accounts: [
1014
+ {
1015
+ name: "activeSpotPool";
1016
+ isMut: true;
1017
+ isSigner: false;
1018
+ },
1019
+ {
1020
+ name: "activeSpotPoolLpMint";
1021
+ isMut: true;
1022
+ isSigner: false;
1023
+ },
1024
+ {
1025
+ name: "activeSpotPoolBaseVault";
1026
+ isMut: true;
1027
+ isSigner: false;
1028
+ },
1029
+ {
1030
+ name: "activeSpotPoolQuoteVault";
1031
+ isMut: true;
1032
+ isSigner: false;
1033
+ },
1034
+ {
1035
+ name: "tokenProgram2022";
1036
+ isMut: false;
1037
+ isSigner: false;
1038
+ },
1039
+ {
1040
+ name: "cpSwapProgram";
1041
+ isMut: false;
1042
+ isSigner: false;
1043
+ },
1044
+ {
1045
+ name: "memoProgram";
1046
+ isMut: false;
1047
+ isSigner: false;
1048
+ },
1049
+ {
1050
+ name: "nextSpotPool";
1051
+ isMut: true;
1052
+ isSigner: false;
1053
+ },
1054
+ {
1055
+ name: "nextSpotPoolLpMint";
1056
+ isMut: true;
1057
+ isSigner: false;
1058
+ },
1059
+ {
1060
+ name: "nextSpotPoolBaseVault";
1061
+ isMut: true;
1062
+ isSigner: false;
1063
+ },
1064
+ {
1065
+ name: "nextSpotPoolQuoteVault";
1066
+ isMut: true;
1067
+ isSigner: false;
1068
+ },
1069
+ {
1070
+ name: "nextSpotPoolObservationState";
1071
+ isMut: true;
1072
+ isSigner: false;
1073
+ },
1074
+ {
1075
+ name: "slPoolNextSpotLpVault";
1076
+ isMut: true;
1077
+ isSigner: false;
1078
+ },
1079
+ {
1080
+ name: "slPool";
1081
+ isMut: false;
1082
+ isSigner: false;
1083
+ },
1084
+ {
1085
+ name: "slPoolSigner";
1086
+ isMut: false;
1087
+ isSigner: false;
1088
+ },
1089
+ {
1090
+ name: "baseMint";
1091
+ isMut: false;
1092
+ isSigner: false;
1093
+ },
1094
+ {
1095
+ name: "quoteMint";
1096
+ isMut: false;
1097
+ isSigner: false;
1098
+ }
1099
+ ];
1100
+ },
1101
+ {
1102
+ name: "conditionalVault";
1103
+ accounts: [
1104
+ {
1105
+ name: "question";
1106
+ isMut: true;
1107
+ isSigner: false;
1108
+ },
1109
+ {
1110
+ name: "baseVault";
1111
+ isMut: true;
1112
+ isSigner: false;
1113
+ },
1114
+ {
1115
+ name: "quoteVault";
1116
+ isMut: true;
1117
+ isSigner: false;
1118
+ },
1119
+ {
1120
+ name: "baseVaultUnderlyingTokenAccount";
1121
+ isMut: true;
1122
+ isSigner: false;
1123
+ },
1124
+ {
1125
+ name: "quoteVaultUnderlyingTokenAccount";
1126
+ isMut: true;
1127
+ isSigner: false;
1128
+ },
1129
+ {
1130
+ name: "conditionalVaultProgram";
1131
+ isMut: false;
1132
+ isSigner: false;
1133
+ },
1134
+ {
1135
+ name: "passBaseMint";
1136
+ isMut: true;
1137
+ isSigner: false;
1138
+ },
1139
+ {
1140
+ name: "failBaseMint";
1141
+ isMut: true;
1142
+ isSigner: false;
1143
+ },
1144
+ {
1145
+ name: "passQuoteMint";
1146
+ isMut: true;
1147
+ isSigner: false;
1148
+ },
1149
+ {
1150
+ name: "failQuoteMint";
1151
+ isMut: true;
1152
+ isSigner: false;
1153
+ },
1154
+ {
1155
+ name: "slPoolPassBaseVault";
1156
+ isMut: true;
1157
+ isSigner: false;
1158
+ },
1159
+ {
1160
+ name: "slPoolFailBaseVault";
1161
+ isMut: true;
1162
+ isSigner: false;
1163
+ },
1164
+ {
1165
+ name: "slPoolPassQuoteVault";
1166
+ isMut: true;
1167
+ isSigner: false;
1168
+ },
1169
+ {
1170
+ name: "slPoolFailQuoteVault";
1171
+ isMut: true;
1172
+ isSigner: false;
1173
+ },
1174
+ {
1175
+ name: "vaultEventAuthority";
1176
+ isMut: false;
1177
+ isSigner: false;
1178
+ },
1179
+ {
1180
+ name: "tokenProgram";
1181
+ isMut: false;
1182
+ isSigner: false;
1183
+ },
1184
+ {
1185
+ name: "slPoolSigner";
1186
+ isMut: true;
1187
+ isSigner: false;
1188
+ }
1189
+ ];
1190
+ },
1191
+ {
1192
+ name: "ammm";
1193
+ accounts: [
1194
+ {
1195
+ name: "passAmm";
1196
+ isMut: true;
1197
+ isSigner: false;
1198
+ },
1199
+ {
1200
+ name: "failAmm";
1201
+ isMut: true;
1202
+ isSigner: false;
1203
+ },
1204
+ {
1205
+ name: "passLpMint";
1206
+ isMut: true;
1207
+ isSigner: false;
1208
+ },
1209
+ {
1210
+ name: "failLpMint";
1211
+ isMut: true;
1212
+ isSigner: false;
1213
+ },
1214
+ {
1215
+ name: "slPoolPassLpAccount";
1216
+ isMut: true;
1217
+ isSigner: false;
1218
+ },
1219
+ {
1220
+ name: "slPoolFailLpAccount";
1221
+ isMut: true;
1222
+ isSigner: false;
1223
+ },
1224
+ {
1225
+ name: "passAmmVaultAtaBase";
1226
+ isMut: true;
1227
+ isSigner: false;
1228
+ },
1229
+ {
1230
+ name: "passAmmVaultAtaQuote";
1231
+ isMut: true;
1232
+ isSigner: false;
1233
+ },
1234
+ {
1235
+ name: "failAmmVaultAtaBase";
1236
+ isMut: true;
1237
+ isSigner: false;
1238
+ },
1239
+ {
1240
+ name: "failAmmVaultAtaQuote";
1241
+ isMut: true;
1242
+ isSigner: false;
1243
+ },
1244
+ {
1245
+ name: "ammProgram";
1246
+ isMut: false;
1247
+ isSigner: false;
1248
+ },
1249
+ {
1250
+ name: "eventAuthority";
1251
+ isMut: false;
1252
+ isSigner: false;
1253
+ },
1254
+ {
1255
+ name: "slPoolSigner";
1256
+ isMut: false;
1257
+ isSigner: false;
1258
+ }
1259
+ ];
1260
+ },
1261
+ {
1262
+ name: "systemProgram";
1263
+ isMut: false;
1264
+ isSigner: false;
1265
+ },
1266
+ {
1267
+ name: "tokenProgram";
1268
+ isMut: false;
1269
+ isSigner: false;
1270
+ },
1271
+ {
1272
+ name: "payer";
1273
+ isMut: true;
1274
+ isSigner: true;
1275
+ },
1276
+ {
1277
+ name: "eventAuthority";
1278
+ isMut: false;
1279
+ isSigner: false;
1280
+ },
1281
+ {
1282
+ name: "program";
1283
+ isMut: false;
1284
+ isSigner: false;
1285
+ }
1286
+ ];
1287
+ args: [];
1288
+ }
1289
+ ];
1290
+ accounts: [
1291
+ {
1292
+ name: "draftProposal";
1293
+ type: {
1294
+ kind: "struct";
1295
+ fields: [
1296
+ {
1297
+ name: "sharedLiquidityPool";
1298
+ type: "publicKey";
1299
+ },
1300
+ {
1301
+ name: "baseMint";
1302
+ type: "publicKey";
1303
+ },
1304
+ {
1305
+ name: "instruction";
1306
+ type: {
1307
+ defined: "ProposalInstruction";
1308
+ };
1309
+ },
1310
+ {
1311
+ name: "status";
1312
+ type: {
1313
+ defined: "DraftProposalStatus";
1314
+ };
1315
+ },
1316
+ {
1317
+ name: "stakedTokenAmount";
1318
+ docs: [
1319
+ "The amount of tokens that have been staked on this draft proposal"
1320
+ ];
1321
+ type: "u64";
1322
+ },
1323
+ {
1324
+ name: "stakedTokenVault";
1325
+ docs: ["The vault that holds the staked tokens"];
1326
+ type: "publicKey";
1327
+ },
1328
+ {
1329
+ name: "nonce";
1330
+ docs: ["The nonce used to create this draft proposal PDA"];
1331
+ type: "u64";
1332
+ },
1333
+ {
1334
+ name: "pdaBump";
1335
+ type: "u8";
1336
+ }
1337
+ ];
1338
+ };
1339
+ },
1340
+ {
1341
+ name: "liquidityPosition";
1342
+ type: {
1343
+ kind: "struct";
1344
+ fields: [
1345
+ {
1346
+ name: "owner";
1347
+ docs: ["The owner of this position"];
1348
+ type: "publicKey";
1349
+ },
1350
+ {
1351
+ name: "pool";
1352
+ docs: ["The shared liquidity pool this position belongs to"];
1353
+ type: "publicKey";
1354
+ },
1355
+ {
1356
+ name: "underlyingSpotLpShares";
1357
+ docs: [
1358
+ "The amount of underlying spot LP shares this position represents"
1359
+ ];
1360
+ type: "u64";
1361
+ },
1362
+ {
1363
+ name: "bump";
1364
+ docs: ["The PDA bump"];
1365
+ type: "u8";
1366
+ }
1367
+ ];
1368
+ };
1369
+ },
1370
+ {
1371
+ name: "sharedLiquidityPool";
1372
+ type: {
1373
+ kind: "struct";
1374
+ fields: [
1375
+ {
1376
+ name: "pdaBump";
1377
+ docs: ["The PDA bump."];
1378
+ type: "u8";
1379
+ },
1380
+ {
1381
+ name: "dao";
1382
+ docs: ["The DAO."];
1383
+ type: "publicKey";
1384
+ },
1385
+ {
1386
+ name: "baseMint";
1387
+ docs: ["The base mint."];
1388
+ type: "publicKey";
1389
+ },
1390
+ {
1391
+ name: "quoteMint";
1392
+ docs: ["The quote mint."];
1393
+ type: "publicKey";
1394
+ },
1395
+ {
1396
+ name: "slPoolSigner";
1397
+ docs: [
1398
+ "The signer of this pool, used because Raydium pools need a SOL payer and this PDA can't hold SOL."
1399
+ ];
1400
+ type: "publicKey";
1401
+ },
1402
+ {
1403
+ name: "slPoolSignerBump";
1404
+ docs: ["The pda bump of the signer."];
1405
+ type: "u8";
1406
+ },
1407
+ {
1408
+ name: "slPoolBaseVault";
1409
+ docs: [
1410
+ "Holds the base tokens for the shared liquidity pool when it's moving liquidity around."
1411
+ ];
1412
+ type: "publicKey";
1413
+ },
1414
+ {
1415
+ name: "slPoolQuoteVault";
1416
+ docs: [
1417
+ "Holds the quote tokens for the shared liquidity pool when it's moving liquidity around."
1418
+ ];
1419
+ type: "publicKey";
1420
+ },
1421
+ {
1422
+ name: "slPoolSpotLpVault";
1423
+ docs: ["Holds the LP tokens for the shared liquidity pool."];
1424
+ type: "publicKey";
1425
+ },
1426
+ {
1427
+ name: "activeProposal";
1428
+ docs: ["The proposal that's using liquidity from this pool."];
1429
+ type: {
1430
+ option: "publicKey";
1431
+ };
1432
+ },
1433
+ {
1434
+ name: "proposalStakeRateThresholdBps";
1435
+ docs: [
1436
+ "The percentage of a token's supply, in basis points, that needs to be",
1437
+ "staked to a draft proposal before it can be initialized."
1438
+ ];
1439
+ type: "u16";
1440
+ },
1441
+ {
1442
+ name: "seqNum";
1443
+ docs: [
1444
+ "The sequence number of this shared liquidity pool. Useful for sorting events."
1445
+ ];
1446
+ type: "u64";
1447
+ },
1448
+ {
1449
+ name: "activeSpotPool";
1450
+ docs: [
1451
+ "The current Raydium spot pool. Changes when a proposal is removed."
1452
+ ];
1453
+ type: "publicKey";
1454
+ },
1455
+ {
1456
+ name: "activeSpotPoolIndex";
1457
+ docs: [
1458
+ "The index of the current Raydium spot pool. Starts at 0 and increments by 1 for each new spot pool."
1459
+ ];
1460
+ type: "u32";
1461
+ },
1462
+ {
1463
+ name: "isBaseToken0";
1464
+ docs: [
1465
+ "Whether the base token is token0 in the current Raydium spot pool (otherwise it's token1)."
1466
+ ];
1467
+ type: "bool";
1468
+ }
1469
+ ];
1470
+ };
1471
+ },
1472
+ {
1473
+ name: "stakeRecord";
1474
+ type: {
1475
+ kind: "struct";
1476
+ fields: [
1477
+ {
1478
+ name: "staker";
1479
+ type: "publicKey";
1480
+ },
1481
+ {
1482
+ name: "amount";
1483
+ type: "u64";
1484
+ }
1485
+ ];
1486
+ };
1487
+ }
1488
+ ];
1489
+ types: [
1490
+ {
1491
+ name: "DepositSharedLiquidityParams";
1492
+ type: {
1493
+ kind: "struct";
1494
+ fields: [
1495
+ {
1496
+ name: "lpTokenAmount";
1497
+ docs: ["The amount of LP tokens to mint"];
1498
+ type: "u64";
1499
+ },
1500
+ {
1501
+ name: "maxQuoteTokenAmount";
1502
+ docs: ["The maximum amount of quote tokens to deposit"];
1503
+ type: "u64";
1504
+ },
1505
+ {
1506
+ name: "maxBaseTokenAmount";
1507
+ docs: ["The maximum amount of base tokens to deposit"];
1508
+ type: "u64";
1509
+ }
1510
+ ];
1511
+ };
1512
+ },
1513
+ {
1514
+ name: "InitializeDraftProposalParams";
1515
+ type: {
1516
+ kind: "struct";
1517
+ fields: [
1518
+ {
1519
+ name: "instruction";
1520
+ type: {
1521
+ defined: "ProposalInstruction";
1522
+ };
1523
+ },
1524
+ {
1525
+ name: "draftProposalNonce";
1526
+ docs: [
1527
+ "The nonce for the draft proposal, not used for anything aside from the PDA"
1528
+ ];
1529
+ type: "u64";
1530
+ }
1531
+ ];
1532
+ };
1533
+ },
1534
+ {
1535
+ name: "InitializeProposalWithLiquidityParams";
1536
+ type: {
1537
+ kind: "struct";
1538
+ fields: [
1539
+ {
1540
+ name: "nonce";
1541
+ type: "u64";
1542
+ }
1543
+ ];
1544
+ };
1545
+ },
1546
+ {
1547
+ name: "InitializeSharedLiquidityPoolParams";
1548
+ type: {
1549
+ kind: "struct";
1550
+ fields: [
1551
+ {
1552
+ name: "baseAmount";
1553
+ type: "u64";
1554
+ },
1555
+ {
1556
+ name: "quoteAmount";
1557
+ type: "u64";
1558
+ },
1559
+ {
1560
+ name: "proposalStakeRateThresholdBps";
1561
+ type: "u16";
1562
+ }
1563
+ ];
1564
+ };
1565
+ },
1566
+ {
1567
+ name: "StakeToDraftProposalParams";
1568
+ type: {
1569
+ kind: "struct";
1570
+ fields: [
1571
+ {
1572
+ name: "amount";
1573
+ type: "u64";
1574
+ }
1575
+ ];
1576
+ };
1577
+ },
1578
+ {
1579
+ name: "UnstakeFromDraftProposalParams";
1580
+ type: {
1581
+ kind: "struct";
1582
+ fields: [
1583
+ {
1584
+ name: "amount";
1585
+ type: "u64";
1586
+ }
1587
+ ];
1588
+ };
1589
+ },
1590
+ {
1591
+ name: "WithdrawSharedLiquidityParams";
1592
+ type: {
1593
+ kind: "struct";
1594
+ fields: [
1595
+ {
1596
+ name: "lpTokenAmount";
1597
+ docs: ["The amount of LP tokens to withdraw"];
1598
+ type: "u64";
1599
+ },
1600
+ {
1601
+ name: "minimumToken0Amount";
1602
+ docs: ["The minimum amount of token0 to receive"];
1603
+ type: "u64";
1604
+ },
1605
+ {
1606
+ name: "minimumToken1Amount";
1607
+ docs: ["The minimum amount of token1 to receive"];
1608
+ type: "u64";
1609
+ }
1610
+ ];
1611
+ };
1612
+ },
1613
+ {
1614
+ name: "ProposalAccount";
1615
+ type: {
1616
+ kind: "struct";
1617
+ fields: [
1618
+ {
1619
+ name: "pubkey";
1620
+ type: "publicKey";
1621
+ },
1622
+ {
1623
+ name: "isSigner";
1624
+ type: "bool";
1625
+ },
1626
+ {
1627
+ name: "isWritable";
1628
+ type: "bool";
1629
+ }
1630
+ ];
1631
+ };
1632
+ },
1633
+ {
1634
+ name: "ProposalInstruction";
1635
+ type: {
1636
+ kind: "struct";
1637
+ fields: [
1638
+ {
1639
+ name: "programId";
1640
+ type: "publicKey";
1641
+ },
1642
+ {
1643
+ name: "accounts";
1644
+ type: {
1645
+ vec: {
1646
+ defined: "ProposalAccount";
1647
+ };
1648
+ };
1649
+ },
1650
+ {
1651
+ name: "data";
1652
+ type: "bytes";
1653
+ }
1654
+ ];
1655
+ };
1656
+ },
1657
+ {
1658
+ name: "DraftProposalStatus";
1659
+ type: {
1660
+ kind: "enum";
1661
+ variants: [
1662
+ {
1663
+ name: "Draft";
1664
+ },
1665
+ {
1666
+ name: "Initialized";
1667
+ }
1668
+ ];
1669
+ };
1670
+ }
1671
+ ];
1672
+ errors: [
1673
+ {
1674
+ code: 6000;
1675
+ name: "InsufficientStake";
1676
+ msg: "Insufficient stake amount";
1677
+ },
1678
+ {
1679
+ code: 6001;
1680
+ name: "ProposalNotFinalized";
1681
+ msg: "Proposal is not finalized";
1682
+ },
1683
+ {
1684
+ code: 6002;
1685
+ name: "NoLpTokensToRemove";
1686
+ msg: "No LP tokens to remove from AMM";
1687
+ },
1688
+ {
1689
+ code: 6003;
1690
+ name: "NoTokensFromAmm";
1691
+ msg: "No tokens received from AMM removal";
1692
+ },
1693
+ {
1694
+ code: 6004;
1695
+ name: "InsufficientReservesReturned";
1696
+ msg: "Insufficient reserves returned to spot AMM (less than 99.5%)";
1697
+ },
1698
+ {
1699
+ code: 6005;
1700
+ name: "PoolInUse";
1701
+ msg: "Pool is currently being used by an active proposal";
1702
+ },
1703
+ {
1704
+ code: 6006;
1705
+ name: "InsufficientLpShares";
1706
+ msg: "User does not have enough LP shares to withdraw";
1707
+ },
1708
+ {
1709
+ code: 6007;
1710
+ name: "SlippageExceeded";
1711
+ msg: "Slippage exceeded minimum token amounts";
1712
+ },
1713
+ {
1714
+ code: 6008;
1715
+ name: "NoLpTokensInPool";
1716
+ msg: "No LP tokens in pool's LP token account";
1717
+ },
1718
+ {
1719
+ code: 6009;
1720
+ name: "NotEnoughLpTokens";
1721
+ msg: "Not enough LP tokens to provide liquidity to proposal";
1722
+ },
1723
+ {
1724
+ code: 6010;
1725
+ name: "InsufficientFunds";
1726
+ msg: "Insufficient funds";
1727
+ },
1728
+ {
1729
+ code: 6011;
1730
+ name: "NoActiveProposal";
1731
+ msg: "No active proposal";
1732
+ },
1733
+ {
1734
+ code: 6012;
1735
+ name: "ProposalNotInDraftStatus";
1736
+ msg: "Proposal is not in draft status";
1737
+ },
1738
+ {
1739
+ code: 6013;
1740
+ name: "ProposalAlreadyActive";
1741
+ msg: "Proposal already active";
1742
+ },
1743
+ {
1744
+ code: 6014;
1745
+ name: "AmmAlreadyHasLiquidity";
1746
+ msg: "AMM already has liquidity";
1747
+ },
1748
+ {
1749
+ code: 6015;
1750
+ name: "QuestionAlreadyResolved";
1751
+ msg: "Question already resolved";
1752
+ }
1753
+ ];
1754
+ };
1755
+ export declare const IDL: SharedLiquidityManager;