@theliem/xmarket-sdk 1.0.12

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,1859 @@
1
+ {
2
+ "address": "Cs4GY1yZVxjxhhyUum3AupMuS3bo4yKRXifgLTTAh1sf",
3
+ "metadata": {
4
+ "name": "clob_exchange",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "CLOB order-matching exchange for XMarket prediction platform"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "add_operator",
12
+ "docs": [
13
+ "Add an authorized operator (off-chain matching engine)."
14
+ ],
15
+ "discriminator": [
16
+ 149,
17
+ 142,
18
+ 187,
19
+ 68,
20
+ 33,
21
+ 250,
22
+ 87,
23
+ 105
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "owner",
28
+ "signer": true
29
+ },
30
+ {
31
+ "name": "payer",
32
+ "writable": true,
33
+ "signer": true
34
+ },
35
+ {
36
+ "name": "clob_config",
37
+ "writable": true,
38
+ "pda": {
39
+ "seeds": [
40
+ {
41
+ "kind": "const",
42
+ "value": [
43
+ 99,
44
+ 108,
45
+ 111,
46
+ 98,
47
+ 95,
48
+ 99,
49
+ 111,
50
+ 110,
51
+ 102,
52
+ 105,
53
+ 103
54
+ ]
55
+ }
56
+ ]
57
+ }
58
+ }
59
+ ],
60
+ "args": [
61
+ {
62
+ "name": "operator",
63
+ "type": "pubkey"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "name": "add_to_clob_whitelist",
69
+ "docs": [
70
+ "Add an address to the CLOB whitelist (owner only). Creates a ClobWhitelistEntry PDA."
71
+ ],
72
+ "discriminator": [
73
+ 229,
74
+ 130,
75
+ 2,
76
+ 92,
77
+ 113,
78
+ 78,
79
+ 248,
80
+ 199
81
+ ],
82
+ "accounts": [
83
+ {
84
+ "name": "owner",
85
+ "signer": true
86
+ },
87
+ {
88
+ "name": "payer",
89
+ "writable": true,
90
+ "signer": true
91
+ },
92
+ {
93
+ "name": "clob_config",
94
+ "pda": {
95
+ "seeds": [
96
+ {
97
+ "kind": "const",
98
+ "value": [
99
+ 99,
100
+ 108,
101
+ 111,
102
+ 98,
103
+ 95,
104
+ 99,
105
+ 111,
106
+ 110,
107
+ 102,
108
+ 105,
109
+ 103
110
+ ]
111
+ }
112
+ ]
113
+ }
114
+ },
115
+ {
116
+ "name": "whitelist_entry",
117
+ "writable": true,
118
+ "pda": {
119
+ "seeds": [
120
+ {
121
+ "kind": "const",
122
+ "value": [
123
+ 99,
124
+ 108,
125
+ 111,
126
+ 98,
127
+ 95,
128
+ 119,
129
+ 104,
130
+ 105,
131
+ 116,
132
+ 101,
133
+ 108,
134
+ 105,
135
+ 115,
136
+ 116
137
+ ]
138
+ },
139
+ {
140
+ "kind": "arg",
141
+ "path": "address"
142
+ }
143
+ ]
144
+ }
145
+ },
146
+ {
147
+ "name": "system_program",
148
+ "address": "11111111111111111111111111111111"
149
+ }
150
+ ],
151
+ "args": [
152
+ {
153
+ "name": "address",
154
+ "type": "pubkey"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "name": "add_to_clob_whitelist_batch",
160
+ "docs": [
161
+ "Batch-add addresses to the CLOB whitelist (owner only).",
162
+ "remaining_accounts must contain one ClobWhitelistEntry PDA per address, in same order."
163
+ ],
164
+ "discriminator": [
165
+ 99,
166
+ 96,
167
+ 179,
168
+ 225,
169
+ 89,
170
+ 18,
171
+ 134,
172
+ 31
173
+ ],
174
+ "accounts": [
175
+ {
176
+ "name": "owner",
177
+ "signer": true
178
+ },
179
+ {
180
+ "name": "payer",
181
+ "writable": true,
182
+ "signer": true
183
+ },
184
+ {
185
+ "name": "clob_config",
186
+ "pda": {
187
+ "seeds": [
188
+ {
189
+ "kind": "const",
190
+ "value": [
191
+ 99,
192
+ 108,
193
+ 111,
194
+ 98,
195
+ 95,
196
+ 99,
197
+ 111,
198
+ 110,
199
+ 102,
200
+ 105,
201
+ 103
202
+ ]
203
+ }
204
+ ]
205
+ }
206
+ },
207
+ {
208
+ "name": "system_program",
209
+ "address": "11111111111111111111111111111111"
210
+ }
211
+ ],
212
+ "args": [
213
+ {
214
+ "name": "addresses",
215
+ "type": {
216
+ "vec": "pubkey"
217
+ }
218
+ }
219
+ ]
220
+ },
221
+ {
222
+ "name": "cancel_order",
223
+ "docs": [
224
+ "Cancel an order — marks the maker's OrderStatus PDA as cancelled.",
225
+ "Can be called by the maker or any authorized operator."
226
+ ],
227
+ "discriminator": [
228
+ 95,
229
+ 129,
230
+ 237,
231
+ 240,
232
+ 8,
233
+ 49,
234
+ 223,
235
+ 132
236
+ ],
237
+ "accounts": [
238
+ {
239
+ "name": "signer",
240
+ "docs": [
241
+ "Either the maker themselves or an authorized operator"
242
+ ],
243
+ "writable": true,
244
+ "signer": true
245
+ },
246
+ {
247
+ "name": "clob_config",
248
+ "pda": {
249
+ "seeds": [
250
+ {
251
+ "kind": "const",
252
+ "value": [
253
+ 99,
254
+ 108,
255
+ 111,
256
+ 98,
257
+ 95,
258
+ 99,
259
+ 111,
260
+ 110,
261
+ 102,
262
+ 105,
263
+ 103
264
+ ]
265
+ }
266
+ ]
267
+ }
268
+ },
269
+ {
270
+ "name": "maker"
271
+ },
272
+ {
273
+ "name": "order_status",
274
+ "writable": true,
275
+ "pda": {
276
+ "seeds": [
277
+ {
278
+ "kind": "const",
279
+ "value": [
280
+ 111,
281
+ 114,
282
+ 100,
283
+ 101,
284
+ 114
285
+ ]
286
+ },
287
+ {
288
+ "kind": "account",
289
+ "path": "maker"
290
+ },
291
+ {
292
+ "kind": "arg",
293
+ "path": "nonce"
294
+ }
295
+ ]
296
+ }
297
+ },
298
+ {
299
+ "name": "system_program",
300
+ "address": "11111111111111111111111111111111"
301
+ }
302
+ ],
303
+ "args": [
304
+ {
305
+ "name": "nonce",
306
+ "type": "u64"
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "name": "force_reset_clob",
312
+ "docs": [
313
+ "Force-reset the CLOB config (upgrade authority only).",
314
+ "Use when the original owner keypair is lost."
315
+ ],
316
+ "discriminator": [
317
+ 96,
318
+ 95,
319
+ 187,
320
+ 95,
321
+ 65,
322
+ 135,
323
+ 120,
324
+ 204
325
+ ],
326
+ "accounts": [
327
+ {
328
+ "name": "upgrade_authority",
329
+ "writable": true,
330
+ "signer": true
331
+ },
332
+ {
333
+ "name": "program_data"
334
+ },
335
+ {
336
+ "name": "clob_config",
337
+ "writable": true,
338
+ "pda": {
339
+ "seeds": [
340
+ {
341
+ "kind": "const",
342
+ "value": [
343
+ 99,
344
+ 108,
345
+ 111,
346
+ 98,
347
+ 95,
348
+ 99,
349
+ 111,
350
+ 110,
351
+ 102,
352
+ 105,
353
+ 103
354
+ ]
355
+ }
356
+ ]
357
+ }
358
+ }
359
+ ],
360
+ "args": [
361
+ {
362
+ "name": "new_owner",
363
+ "type": "pubkey"
364
+ },
365
+ {
366
+ "name": "new_operators",
367
+ "type": {
368
+ "vec": "pubkey"
369
+ }
370
+ },
371
+ {
372
+ "name": "new_fee_recipient",
373
+ "type": "pubkey"
374
+ },
375
+ {
376
+ "name": "new_fee_rate_bps",
377
+ "type": "u16"
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ "name": "initialize_clob",
383
+ "docs": [
384
+ "Initialize the CLOB global config."
385
+ ],
386
+ "discriminator": [
387
+ 35,
388
+ 69,
389
+ 176,
390
+ 37,
391
+ 234,
392
+ 108,
393
+ 187,
394
+ 10
395
+ ],
396
+ "accounts": [
397
+ {
398
+ "name": "owner",
399
+ "writable": true,
400
+ "signer": true
401
+ },
402
+ {
403
+ "name": "clob_config",
404
+ "writable": true,
405
+ "pda": {
406
+ "seeds": [
407
+ {
408
+ "kind": "const",
409
+ "value": [
410
+ 99,
411
+ 108,
412
+ 111,
413
+ 98,
414
+ 95,
415
+ 99,
416
+ 111,
417
+ 110,
418
+ 102,
419
+ 105,
420
+ 103
421
+ ]
422
+ }
423
+ ]
424
+ }
425
+ },
426
+ {
427
+ "name": "system_program",
428
+ "address": "11111111111111111111111111111111"
429
+ }
430
+ ],
431
+ "args": [
432
+ {
433
+ "name": "operators",
434
+ "type": {
435
+ "vec": "pubkey"
436
+ }
437
+ },
438
+ {
439
+ "name": "fee_recipient",
440
+ "type": "pubkey"
441
+ },
442
+ {
443
+ "name": "fee_rate_bps",
444
+ "type": "u16"
445
+ },
446
+ {
447
+ "name": "conditional_tokens_program",
448
+ "type": "pubkey"
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ "name": "match_complementary",
454
+ "docs": [
455
+ "COMPLEMENTARY match: 1 buyer (taker) + N sellers (makers), same tokenId.",
456
+ "maker_nonces[i] corresponds to Ed25519 ix[1+i] in the transaction.",
457
+ "Each maker fills their full remaining order; taker fills up to their remaining."
458
+ ],
459
+ "discriminator": [
460
+ 100,
461
+ 205,
462
+ 120,
463
+ 91,
464
+ 117,
465
+ 141,
466
+ 116,
467
+ 141
468
+ ],
469
+ "accounts": [
470
+ {
471
+ "name": "whitelisted",
472
+ "docs": [
473
+ "Authorized whitelisted operator (off-chain matching engine)"
474
+ ],
475
+ "signer": true
476
+ },
477
+ {
478
+ "name": "payer",
479
+ "docs": [
480
+ "Fee payer — pays rent for new OrderStatus / Position PDAs."
481
+ ],
482
+ "writable": true,
483
+ "signer": true
484
+ },
485
+ {
486
+ "name": "whitelist_entry",
487
+ "pda": {
488
+ "seeds": [
489
+ {
490
+ "kind": "const",
491
+ "value": [
492
+ 99,
493
+ 108,
494
+ 111,
495
+ 98,
496
+ 95,
497
+ 119,
498
+ 104,
499
+ 105,
500
+ 116,
501
+ 101,
502
+ 108,
503
+ 105,
504
+ 115,
505
+ 116
506
+ ]
507
+ },
508
+ {
509
+ "kind": "account",
510
+ "path": "whitelisted"
511
+ }
512
+ ]
513
+ }
514
+ },
515
+ {
516
+ "name": "clob_config",
517
+ "docs": [
518
+ "CLOB config PDA — acts as the signing authority (clob_authority) for CTF CPIs."
519
+ ],
520
+ "pda": {
521
+ "seeds": [
522
+ {
523
+ "kind": "const",
524
+ "value": [
525
+ 99,
526
+ 108,
527
+ 111,
528
+ 98,
529
+ 95,
530
+ 99,
531
+ 111,
532
+ 110,
533
+ 102,
534
+ 105,
535
+ 103
536
+ ]
537
+ }
538
+ ]
539
+ }
540
+ },
541
+ {
542
+ "name": "ix_sysvar",
543
+ "address": "Sysvar1nstructions1111111111111111111111111"
544
+ },
545
+ {
546
+ "name": "condition"
547
+ },
548
+ {
549
+ "name": "buyer"
550
+ },
551
+ {
552
+ "name": "buyer_collateral",
553
+ "docs": [
554
+ "Buyer's USDC ATA — clob_authority is delegate"
555
+ ],
556
+ "writable": true
557
+ },
558
+ {
559
+ "name": "buyer_token_account",
560
+ "docs": [
561
+ "Buyer's YES/NO Token-2022 ATA — receives outcome tokens"
562
+ ],
563
+ "writable": true
564
+ },
565
+ {
566
+ "name": "buyer_position",
567
+ "writable": true
568
+ },
569
+ {
570
+ "name": "buy_order_status",
571
+ "writable": true,
572
+ "pda": {
573
+ "seeds": [
574
+ {
575
+ "kind": "const",
576
+ "value": [
577
+ 111,
578
+ 114,
579
+ 100,
580
+ 101,
581
+ 114
582
+ ]
583
+ },
584
+ {
585
+ "kind": "account",
586
+ "path": "buyer"
587
+ },
588
+ {
589
+ "kind": "arg",
590
+ "path": "buy_nonce"
591
+ }
592
+ ]
593
+ }
594
+ },
595
+ {
596
+ "name": "outcome_mint",
597
+ "writable": true
598
+ },
599
+ {
600
+ "name": "fee_recipient",
601
+ "writable": true
602
+ },
603
+ {
604
+ "name": "conditional_tokens_program",
605
+ "address": "A6N1F8MRsdgcojAx8p6FaECvw8mo8w6qJcWsbKQBANK4"
606
+ },
607
+ {
608
+ "name": "token_program",
609
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
610
+ },
611
+ {
612
+ "name": "token_2022_program",
613
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
614
+ },
615
+ {
616
+ "name": "system_program",
617
+ "address": "11111111111111111111111111111111"
618
+ }
619
+ ],
620
+ "args": [
621
+ {
622
+ "name": "buy_nonce",
623
+ "type": "u64"
624
+ },
625
+ {
626
+ "name": "maker_nonces",
627
+ "type": {
628
+ "vec": "u64"
629
+ }
630
+ }
631
+ ]
632
+ },
633
+ {
634
+ "name": "match_merge_orders",
635
+ "docs": [
636
+ "MERGE match: 1 YES seller (taker) + N NO sellers (makers).",
637
+ "Paired YES+NO tokens burned; USDC released to each party, spread stays in vault.",
638
+ "maker_nonces[i] corresponds to Ed25519 ix[1+i] in the transaction."
639
+ ],
640
+ "discriminator": [
641
+ 105,
642
+ 41,
643
+ 24,
644
+ 78,
645
+ 119,
646
+ 103,
647
+ 20,
648
+ 31
649
+ ],
650
+ "accounts": [
651
+ {
652
+ "name": "whitelisted",
653
+ "docs": [
654
+ "Authorized whitelisted operator"
655
+ ],
656
+ "signer": true
657
+ },
658
+ {
659
+ "name": "payer",
660
+ "writable": true,
661
+ "signer": true
662
+ },
663
+ {
664
+ "name": "whitelist_entry",
665
+ "pda": {
666
+ "seeds": [
667
+ {
668
+ "kind": "const",
669
+ "value": [
670
+ 99,
671
+ 108,
672
+ 111,
673
+ 98,
674
+ 95,
675
+ 119,
676
+ 104,
677
+ 105,
678
+ 116,
679
+ 101,
680
+ 108,
681
+ 105,
682
+ 115,
683
+ 116
684
+ ]
685
+ },
686
+ {
687
+ "kind": "account",
688
+ "path": "whitelisted"
689
+ }
690
+ ]
691
+ }
692
+ },
693
+ {
694
+ "name": "clob_config",
695
+ "pda": {
696
+ "seeds": [
697
+ {
698
+ "kind": "const",
699
+ "value": [
700
+ 99,
701
+ 108,
702
+ 111,
703
+ 98,
704
+ 95,
705
+ 99,
706
+ 111,
707
+ 110,
708
+ 102,
709
+ 105,
710
+ 103
711
+ ]
712
+ }
713
+ ]
714
+ }
715
+ },
716
+ {
717
+ "name": "ix_sysvar",
718
+ "address": "Sysvar1nstructions1111111111111111111111111"
719
+ },
720
+ {
721
+ "name": "condition",
722
+ "writable": true
723
+ },
724
+ {
725
+ "name": "seller_yes"
726
+ },
727
+ {
728
+ "name": "seller_yes_token_account",
729
+ "writable": true
730
+ },
731
+ {
732
+ "name": "seller_yes_position",
733
+ "writable": true
734
+ },
735
+ {
736
+ "name": "seller_yes_collateral",
737
+ "docs": [
738
+ "Taker receives USDC payout here"
739
+ ],
740
+ "writable": true
741
+ },
742
+ {
743
+ "name": "yes_order_status",
744
+ "writable": true,
745
+ "pda": {
746
+ "seeds": [
747
+ {
748
+ "kind": "const",
749
+ "value": [
750
+ 111,
751
+ 114,
752
+ 100,
753
+ 101,
754
+ 114
755
+ ]
756
+ },
757
+ {
758
+ "kind": "account",
759
+ "path": "seller_yes"
760
+ },
761
+ {
762
+ "kind": "arg",
763
+ "path": "yes_nonce"
764
+ }
765
+ ]
766
+ }
767
+ },
768
+ {
769
+ "name": "collateral_vault",
770
+ "writable": true,
771
+ "pda": {
772
+ "seeds": [
773
+ {
774
+ "kind": "const",
775
+ "value": [
776
+ 99,
777
+ 111,
778
+ 108,
779
+ 108,
780
+ 97,
781
+ 116,
782
+ 101,
783
+ 114,
784
+ 97,
785
+ 108,
786
+ 95,
787
+ 118,
788
+ 97,
789
+ 117,
790
+ 108,
791
+ 116
792
+ ]
793
+ },
794
+ {
795
+ "kind": "account",
796
+ "path": "condition.collateral_mint",
797
+ "account": "Condition"
798
+ }
799
+ ],
800
+ "program": {
801
+ "kind": "account",
802
+ "path": "conditional_tokens_program"
803
+ }
804
+ }
805
+ },
806
+ {
807
+ "name": "vault_token_account",
808
+ "writable": true
809
+ },
810
+ {
811
+ "name": "yes_mint",
812
+ "writable": true
813
+ },
814
+ {
815
+ "name": "no_mint",
816
+ "writable": true
817
+ },
818
+ {
819
+ "name": "clob_authority",
820
+ "pda": {
821
+ "seeds": [
822
+ {
823
+ "kind": "const",
824
+ "value": [
825
+ 99,
826
+ 108,
827
+ 111,
828
+ 98,
829
+ 95,
830
+ 99,
831
+ 111,
832
+ 110,
833
+ 102,
834
+ 105,
835
+ 103
836
+ ]
837
+ }
838
+ ]
839
+ }
840
+ },
841
+ {
842
+ "name": "conditional_tokens_program",
843
+ "address": "A6N1F8MRsdgcojAx8p6FaECvw8mo8w6qJcWsbKQBANK4"
844
+ },
845
+ {
846
+ "name": "collateral_token_program",
847
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
848
+ },
849
+ {
850
+ "name": "token_2022_program",
851
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
852
+ },
853
+ {
854
+ "name": "system_program",
855
+ "address": "11111111111111111111111111111111"
856
+ }
857
+ ],
858
+ "args": [
859
+ {
860
+ "name": "yes_nonce",
861
+ "type": "u64"
862
+ },
863
+ {
864
+ "name": "maker_nonces",
865
+ "type": {
866
+ "vec": "u64"
867
+ }
868
+ }
869
+ ]
870
+ },
871
+ {
872
+ "name": "match_mint_orders",
873
+ "docs": [
874
+ "MINT match: 1 YES buyer (taker) + N NO buyers (makers).",
875
+ "Combined USDC mints YES tokens for taker, NO tokens for each maker.",
876
+ "maker_nonces[i] corresponds to Ed25519 ix[1+i] in the transaction."
877
+ ],
878
+ "discriminator": [
879
+ 146,
880
+ 116,
881
+ 36,
882
+ 17,
883
+ 229,
884
+ 119,
885
+ 148,
886
+ 84
887
+ ],
888
+ "accounts": [
889
+ {
890
+ "name": "whitelisted",
891
+ "docs": [
892
+ "Authorized whitelisted operator"
893
+ ],
894
+ "signer": true
895
+ },
896
+ {
897
+ "name": "payer",
898
+ "writable": true,
899
+ "signer": true
900
+ },
901
+ {
902
+ "name": "whitelist_entry",
903
+ "pda": {
904
+ "seeds": [
905
+ {
906
+ "kind": "const",
907
+ "value": [
908
+ 99,
909
+ 108,
910
+ 111,
911
+ 98,
912
+ 95,
913
+ 119,
914
+ 104,
915
+ 105,
916
+ 116,
917
+ 101,
918
+ 108,
919
+ 105,
920
+ 115,
921
+ 116
922
+ ]
923
+ },
924
+ {
925
+ "kind": "account",
926
+ "path": "whitelisted"
927
+ }
928
+ ]
929
+ }
930
+ },
931
+ {
932
+ "name": "clob_config",
933
+ "pda": {
934
+ "seeds": [
935
+ {
936
+ "kind": "const",
937
+ "value": [
938
+ 99,
939
+ 108,
940
+ 111,
941
+ 98,
942
+ 95,
943
+ 99,
944
+ 111,
945
+ 110,
946
+ 102,
947
+ 105,
948
+ 103
949
+ ]
950
+ }
951
+ ]
952
+ }
953
+ },
954
+ {
955
+ "name": "ix_sysvar",
956
+ "address": "Sysvar1nstructions1111111111111111111111111"
957
+ },
958
+ {
959
+ "name": "condition",
960
+ "writable": true
961
+ },
962
+ {
963
+ "name": "buyer_yes"
964
+ },
965
+ {
966
+ "name": "buyer_yes_collateral",
967
+ "writable": true
968
+ },
969
+ {
970
+ "name": "buyer_yes_token_account",
971
+ "writable": true
972
+ },
973
+ {
974
+ "name": "buyer_yes_position",
975
+ "writable": true
976
+ },
977
+ {
978
+ "name": "yes_order_status",
979
+ "writable": true,
980
+ "pda": {
981
+ "seeds": [
982
+ {
983
+ "kind": "const",
984
+ "value": [
985
+ 111,
986
+ 114,
987
+ 100,
988
+ 101,
989
+ 114
990
+ ]
991
+ },
992
+ {
993
+ "kind": "account",
994
+ "path": "buyer_yes"
995
+ },
996
+ {
997
+ "kind": "arg",
998
+ "path": "yes_nonce"
999
+ }
1000
+ ]
1001
+ }
1002
+ },
1003
+ {
1004
+ "name": "collateral_vault",
1005
+ "writable": true,
1006
+ "pda": {
1007
+ "seeds": [
1008
+ {
1009
+ "kind": "const",
1010
+ "value": [
1011
+ 99,
1012
+ 111,
1013
+ 108,
1014
+ 108,
1015
+ 97,
1016
+ 116,
1017
+ 101,
1018
+ 114,
1019
+ 97,
1020
+ 108,
1021
+ 95,
1022
+ 118,
1023
+ 97,
1024
+ 117,
1025
+ 108,
1026
+ 116
1027
+ ]
1028
+ },
1029
+ {
1030
+ "kind": "account",
1031
+ "path": "condition.collateral_mint",
1032
+ "account": "Condition"
1033
+ }
1034
+ ],
1035
+ "program": {
1036
+ "kind": "account",
1037
+ "path": "conditional_tokens_program"
1038
+ }
1039
+ }
1040
+ },
1041
+ {
1042
+ "name": "vault_token_account",
1043
+ "writable": true
1044
+ },
1045
+ {
1046
+ "name": "yes_mint",
1047
+ "writable": true
1048
+ },
1049
+ {
1050
+ "name": "no_mint",
1051
+ "writable": true
1052
+ },
1053
+ {
1054
+ "name": "mint_authority",
1055
+ "writable": true
1056
+ },
1057
+ {
1058
+ "name": "clob_authority",
1059
+ "pda": {
1060
+ "seeds": [
1061
+ {
1062
+ "kind": "const",
1063
+ "value": [
1064
+ 99,
1065
+ 108,
1066
+ 111,
1067
+ 98,
1068
+ 95,
1069
+ 99,
1070
+ 111,
1071
+ 110,
1072
+ 102,
1073
+ 105,
1074
+ 103
1075
+ ]
1076
+ }
1077
+ ]
1078
+ }
1079
+ },
1080
+ {
1081
+ "name": "conditional_tokens_program",
1082
+ "address": "A6N1F8MRsdgcojAx8p6FaECvw8mo8w6qJcWsbKQBANK4"
1083
+ },
1084
+ {
1085
+ "name": "collateral_token_program",
1086
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
1087
+ },
1088
+ {
1089
+ "name": "token_2022_program",
1090
+ "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
1091
+ },
1092
+ {
1093
+ "name": "system_program",
1094
+ "address": "11111111111111111111111111111111"
1095
+ }
1096
+ ],
1097
+ "args": [
1098
+ {
1099
+ "name": "yes_nonce",
1100
+ "type": "u64"
1101
+ },
1102
+ {
1103
+ "name": "maker_nonces",
1104
+ "type": {
1105
+ "vec": "u64"
1106
+ }
1107
+ }
1108
+ ]
1109
+ },
1110
+ {
1111
+ "name": "remove_from_clob_whitelist",
1112
+ "docs": [
1113
+ "Remove an address from the CLOB whitelist (owner only). Closes the ClobWhitelistEntry PDA."
1114
+ ],
1115
+ "discriminator": [
1116
+ 41,
1117
+ 112,
1118
+ 184,
1119
+ 210,
1120
+ 165,
1121
+ 121,
1122
+ 4,
1123
+ 177
1124
+ ],
1125
+ "accounts": [
1126
+ {
1127
+ "name": "owner",
1128
+ "signer": true
1129
+ },
1130
+ {
1131
+ "name": "rent_receiver",
1132
+ "docs": [
1133
+ "Rent reclaimed to this account"
1134
+ ],
1135
+ "writable": true
1136
+ },
1137
+ {
1138
+ "name": "clob_config",
1139
+ "pda": {
1140
+ "seeds": [
1141
+ {
1142
+ "kind": "const",
1143
+ "value": [
1144
+ 99,
1145
+ 108,
1146
+ 111,
1147
+ 98,
1148
+ 95,
1149
+ 99,
1150
+ 111,
1151
+ 110,
1152
+ 102,
1153
+ 105,
1154
+ 103
1155
+ ]
1156
+ }
1157
+ ]
1158
+ }
1159
+ },
1160
+ {
1161
+ "name": "whitelist_entry",
1162
+ "writable": true,
1163
+ "pda": {
1164
+ "seeds": [
1165
+ {
1166
+ "kind": "const",
1167
+ "value": [
1168
+ 99,
1169
+ 108,
1170
+ 111,
1171
+ 98,
1172
+ 95,
1173
+ 119,
1174
+ 104,
1175
+ 105,
1176
+ 116,
1177
+ 101,
1178
+ 108,
1179
+ 105,
1180
+ 115,
1181
+ 116
1182
+ ]
1183
+ },
1184
+ {
1185
+ "kind": "arg",
1186
+ "path": "address"
1187
+ }
1188
+ ]
1189
+ }
1190
+ }
1191
+ ],
1192
+ "args": [
1193
+ {
1194
+ "name": "address",
1195
+ "type": "pubkey"
1196
+ }
1197
+ ]
1198
+ },
1199
+ {
1200
+ "name": "remove_operator",
1201
+ "docs": [
1202
+ "Remove an operator."
1203
+ ],
1204
+ "discriminator": [
1205
+ 84,
1206
+ 183,
1207
+ 126,
1208
+ 251,
1209
+ 137,
1210
+ 150,
1211
+ 214,
1212
+ 134
1213
+ ],
1214
+ "accounts": [
1215
+ {
1216
+ "name": "owner",
1217
+ "signer": true
1218
+ },
1219
+ {
1220
+ "name": "payer",
1221
+ "writable": true,
1222
+ "signer": true
1223
+ },
1224
+ {
1225
+ "name": "clob_config",
1226
+ "writable": true,
1227
+ "pda": {
1228
+ "seeds": [
1229
+ {
1230
+ "kind": "const",
1231
+ "value": [
1232
+ 99,
1233
+ 108,
1234
+ 111,
1235
+ 98,
1236
+ 95,
1237
+ 99,
1238
+ 111,
1239
+ 110,
1240
+ 102,
1241
+ 105,
1242
+ 103
1243
+ ]
1244
+ }
1245
+ ]
1246
+ }
1247
+ }
1248
+ ],
1249
+ "args": [
1250
+ {
1251
+ "name": "operator",
1252
+ "type": "pubkey"
1253
+ }
1254
+ ]
1255
+ },
1256
+ {
1257
+ "name": "set_paused",
1258
+ "docs": [
1259
+ "Pause or unpause the CLOB (admin only)."
1260
+ ],
1261
+ "discriminator": [
1262
+ 91,
1263
+ 60,
1264
+ 125,
1265
+ 192,
1266
+ 176,
1267
+ 225,
1268
+ 166,
1269
+ 218
1270
+ ],
1271
+ "accounts": [
1272
+ {
1273
+ "name": "owner",
1274
+ "signer": true
1275
+ },
1276
+ {
1277
+ "name": "payer",
1278
+ "writable": true,
1279
+ "signer": true
1280
+ },
1281
+ {
1282
+ "name": "clob_config",
1283
+ "writable": true,
1284
+ "pda": {
1285
+ "seeds": [
1286
+ {
1287
+ "kind": "const",
1288
+ "value": [
1289
+ 99,
1290
+ 108,
1291
+ 111,
1292
+ 98,
1293
+ 95,
1294
+ 99,
1295
+ 111,
1296
+ 110,
1297
+ 102,
1298
+ 105,
1299
+ 103
1300
+ ]
1301
+ }
1302
+ ]
1303
+ }
1304
+ }
1305
+ ],
1306
+ "args": [
1307
+ {
1308
+ "name": "paused",
1309
+ "type": "bool"
1310
+ }
1311
+ ]
1312
+ }
1313
+ ],
1314
+ "accounts": [
1315
+ {
1316
+ "name": "ClobConfig",
1317
+ "discriminator": [
1318
+ 232,
1319
+ 137,
1320
+ 70,
1321
+ 131,
1322
+ 139,
1323
+ 180,
1324
+ 99,
1325
+ 160
1326
+ ]
1327
+ },
1328
+ {
1329
+ "name": "ClobWhitelistEntry",
1330
+ "discriminator": [
1331
+ 20,
1332
+ 185,
1333
+ 17,
1334
+ 14,
1335
+ 245,
1336
+ 122,
1337
+ 209,
1338
+ 206
1339
+ ]
1340
+ },
1341
+ {
1342
+ "name": "OrderStatus",
1343
+ "discriminator": [
1344
+ 46,
1345
+ 90,
1346
+ 241,
1347
+ 73,
1348
+ 178,
1349
+ 104,
1350
+ 65,
1351
+ 3
1352
+ ]
1353
+ }
1354
+ ],
1355
+ "events": [
1356
+ {
1357
+ "name": "ComplementaryMatchEvent",
1358
+ "discriminator": [
1359
+ 119,
1360
+ 80,
1361
+ 38,
1362
+ 83,
1363
+ 91,
1364
+ 51,
1365
+ 194,
1366
+ 114
1367
+ ]
1368
+ },
1369
+ {
1370
+ "name": "MergeMatchEvent",
1371
+ "discriminator": [
1372
+ 168,
1373
+ 213,
1374
+ 228,
1375
+ 238,
1376
+ 136,
1377
+ 1,
1378
+ 205,
1379
+ 8
1380
+ ]
1381
+ },
1382
+ {
1383
+ "name": "MintMatchEvent",
1384
+ "discriminator": [
1385
+ 100,
1386
+ 181,
1387
+ 33,
1388
+ 71,
1389
+ 124,
1390
+ 61,
1391
+ 130,
1392
+ 23
1393
+ ]
1394
+ },
1395
+ {
1396
+ "name": "OrderCancelledEvent",
1397
+ "discriminator": [
1398
+ 200,
1399
+ 73,
1400
+ 179,
1401
+ 145,
1402
+ 247,
1403
+ 176,
1404
+ 10,
1405
+ 101
1406
+ ]
1407
+ }
1408
+ ],
1409
+ "types": [
1410
+ {
1411
+ "name": "ClobConfig",
1412
+ "type": {
1413
+ "kind": "struct",
1414
+ "fields": [
1415
+ {
1416
+ "name": "version",
1417
+ "type": "u8"
1418
+ },
1419
+ {
1420
+ "name": "owner",
1421
+ "type": "pubkey"
1422
+ },
1423
+ {
1424
+ "name": "operators",
1425
+ "type": {
1426
+ "array": [
1427
+ "pubkey",
1428
+ 5
1429
+ ]
1430
+ }
1431
+ },
1432
+ {
1433
+ "name": "operators_len",
1434
+ "type": "u8"
1435
+ },
1436
+ {
1437
+ "name": "fee_recipient",
1438
+ "type": "pubkey"
1439
+ },
1440
+ {
1441
+ "name": "fee_rate_bps",
1442
+ "type": "u16"
1443
+ },
1444
+ {
1445
+ "name": "conditional_tokens_program",
1446
+ "type": "pubkey"
1447
+ },
1448
+ {
1449
+ "name": "is_paused",
1450
+ "type": "bool"
1451
+ },
1452
+ {
1453
+ "name": "bump",
1454
+ "type": "u8"
1455
+ },
1456
+ {
1457
+ "name": "_reserved",
1458
+ "type": {
1459
+ "array": [
1460
+ "u8",
1461
+ 64
1462
+ ]
1463
+ }
1464
+ }
1465
+ ]
1466
+ }
1467
+ },
1468
+ {
1469
+ "name": "ClobWhitelistEntry",
1470
+ "docs": [
1471
+ "Whitelist entry PDA — existence proves the address is whitelisted for CLOB operations.",
1472
+ "seeds: [b\"clob_whitelist\", address]"
1473
+ ],
1474
+ "type": {
1475
+ "kind": "struct",
1476
+ "fields": [
1477
+ {
1478
+ "name": "address",
1479
+ "type": "pubkey"
1480
+ },
1481
+ {
1482
+ "name": "bump",
1483
+ "type": "u8"
1484
+ }
1485
+ ]
1486
+ }
1487
+ },
1488
+ {
1489
+ "name": "CollateralVault",
1490
+ "docs": [
1491
+ "Global collateral vault - ONE vault per collateral type (e.g., USDC)",
1492
+ "Shared by ALL conditions using this collateral",
1493
+ "Similar to how EVM CTF contract holds all collateral in one place"
1494
+ ],
1495
+ "type": {
1496
+ "kind": "struct",
1497
+ "fields": [
1498
+ {
1499
+ "name": "version",
1500
+ "type": "u8"
1501
+ },
1502
+ {
1503
+ "name": "collateral_mint",
1504
+ "type": "pubkey"
1505
+ },
1506
+ {
1507
+ "name": "vault_token_account",
1508
+ "docs": [
1509
+ "The token account holding all collateral"
1510
+ ],
1511
+ "type": "pubkey"
1512
+ },
1513
+ {
1514
+ "name": "total_locked",
1515
+ "docs": [
1516
+ "Total collateral locked across ALL conditions"
1517
+ ],
1518
+ "type": "u64"
1519
+ },
1520
+ {
1521
+ "name": "condition_count",
1522
+ "docs": [
1523
+ "Number of conditions using this vault"
1524
+ ],
1525
+ "type": "u64"
1526
+ },
1527
+ {
1528
+ "name": "bump",
1529
+ "docs": [
1530
+ "Bump seed for this PDA"
1531
+ ],
1532
+ "type": "u8"
1533
+ },
1534
+ {
1535
+ "name": "vault_bump",
1536
+ "docs": [
1537
+ "Bump seed for the vault token account PDA"
1538
+ ],
1539
+ "type": "u8"
1540
+ },
1541
+ {
1542
+ "name": "_reserved",
1543
+ "docs": [
1544
+ "Reserved for future use"
1545
+ ],
1546
+ "type": {
1547
+ "array": [
1548
+ "u8",
1549
+ 64
1550
+ ]
1551
+ }
1552
+ }
1553
+ ]
1554
+ }
1555
+ },
1556
+ {
1557
+ "name": "ComplementaryMatchEvent",
1558
+ "type": {
1559
+ "kind": "struct",
1560
+ "fields": [
1561
+ {
1562
+ "name": "condition",
1563
+ "type": "pubkey"
1564
+ },
1565
+ {
1566
+ "name": "buyer",
1567
+ "type": "pubkey"
1568
+ },
1569
+ {
1570
+ "name": "seller",
1571
+ "type": "pubkey"
1572
+ },
1573
+ {
1574
+ "name": "token_id",
1575
+ "type": "u8"
1576
+ },
1577
+ {
1578
+ "name": "fill_amount",
1579
+ "type": "u64"
1580
+ },
1581
+ {
1582
+ "name": "sell_maker_amount",
1583
+ "type": "u64"
1584
+ },
1585
+ {
1586
+ "name": "sell_taker_amount",
1587
+ "type": "u64"
1588
+ },
1589
+ {
1590
+ "name": "usdc_transferred",
1591
+ "type": "u64"
1592
+ },
1593
+ {
1594
+ "name": "fee",
1595
+ "type": "u64"
1596
+ }
1597
+ ]
1598
+ }
1599
+ },
1600
+ {
1601
+ "name": "Condition",
1602
+ "type": {
1603
+ "kind": "struct",
1604
+ "fields": [
1605
+ {
1606
+ "name": "version",
1607
+ "type": "u8"
1608
+ },
1609
+ {
1610
+ "name": "oracle",
1611
+ "type": "pubkey"
1612
+ },
1613
+ {
1614
+ "name": "question_id",
1615
+ "type": {
1616
+ "array": [
1617
+ "u8",
1618
+ 32
1619
+ ]
1620
+ }
1621
+ },
1622
+ {
1623
+ "name": "outcome_slot_count",
1624
+ "type": "u8"
1625
+ },
1626
+ {
1627
+ "name": "payout_numerators",
1628
+ "docs": [
1629
+ "Fixed-size payout array (binary only: index 0=NO, 1=YES)."
1630
+ ],
1631
+ "type": {
1632
+ "array": [
1633
+ "u64",
1634
+ 2
1635
+ ]
1636
+ }
1637
+ },
1638
+ {
1639
+ "name": "payout_denominator",
1640
+ "type": "u64"
1641
+ },
1642
+ {
1643
+ "name": "total_collateral",
1644
+ "type": "u64"
1645
+ },
1646
+ {
1647
+ "name": "collateral_mint",
1648
+ "type": "pubkey"
1649
+ },
1650
+ {
1651
+ "name": "collateral_vault",
1652
+ "type": "pubkey"
1653
+ },
1654
+ {
1655
+ "name": "yes_mint",
1656
+ "type": "pubkey"
1657
+ },
1658
+ {
1659
+ "name": "no_mint",
1660
+ "type": "pubkey"
1661
+ },
1662
+ {
1663
+ "name": "hook_program",
1664
+ "type": "pubkey"
1665
+ },
1666
+ {
1667
+ "name": "authorized_clob",
1668
+ "type": "pubkey"
1669
+ },
1670
+ {
1671
+ "name": "is_resolved",
1672
+ "type": "bool"
1673
+ },
1674
+ {
1675
+ "name": "resolved_at",
1676
+ "type": "i64"
1677
+ },
1678
+ {
1679
+ "name": "bump",
1680
+ "type": "u8"
1681
+ },
1682
+ {
1683
+ "name": "_reserved",
1684
+ "type": {
1685
+ "array": [
1686
+ "u8",
1687
+ 64
1688
+ ]
1689
+ }
1690
+ }
1691
+ ]
1692
+ }
1693
+ },
1694
+ {
1695
+ "name": "MergeMatchEvent",
1696
+ "type": {
1697
+ "kind": "struct",
1698
+ "fields": [
1699
+ {
1700
+ "name": "condition",
1701
+ "type": "pubkey"
1702
+ },
1703
+ {
1704
+ "name": "seller_yes",
1705
+ "type": "pubkey"
1706
+ },
1707
+ {
1708
+ "name": "seller_no",
1709
+ "type": "pubkey"
1710
+ },
1711
+ {
1712
+ "name": "fill_amount",
1713
+ "type": "u64"
1714
+ },
1715
+ {
1716
+ "name": "yes_maker_amount",
1717
+ "type": "u64"
1718
+ },
1719
+ {
1720
+ "name": "yes_taker_amount",
1721
+ "type": "u64"
1722
+ },
1723
+ {
1724
+ "name": "no_maker_amount",
1725
+ "type": "u64"
1726
+ },
1727
+ {
1728
+ "name": "no_taker_amount",
1729
+ "type": "u64"
1730
+ },
1731
+ {
1732
+ "name": "yes_payout",
1733
+ "type": "u64"
1734
+ },
1735
+ {
1736
+ "name": "no_payout",
1737
+ "type": "u64"
1738
+ },
1739
+ {
1740
+ "name": "fee",
1741
+ "type": "u64"
1742
+ }
1743
+ ]
1744
+ }
1745
+ },
1746
+ {
1747
+ "name": "MintMatchEvent",
1748
+ "type": {
1749
+ "kind": "struct",
1750
+ "fields": [
1751
+ {
1752
+ "name": "condition",
1753
+ "type": "pubkey"
1754
+ },
1755
+ {
1756
+ "name": "buyer_yes",
1757
+ "type": "pubkey"
1758
+ },
1759
+ {
1760
+ "name": "buyer_no",
1761
+ "type": "pubkey"
1762
+ },
1763
+ {
1764
+ "name": "fill_amount",
1765
+ "type": "u64"
1766
+ },
1767
+ {
1768
+ "name": "yes_maker_amount",
1769
+ "type": "u64"
1770
+ },
1771
+ {
1772
+ "name": "yes_taker_amount",
1773
+ "type": "u64"
1774
+ },
1775
+ {
1776
+ "name": "no_maker_amount",
1777
+ "type": "u64"
1778
+ },
1779
+ {
1780
+ "name": "no_taker_amount",
1781
+ "type": "u64"
1782
+ },
1783
+ {
1784
+ "name": "yes_cost",
1785
+ "type": "u64"
1786
+ },
1787
+ {
1788
+ "name": "no_cost",
1789
+ "type": "u64"
1790
+ }
1791
+ ]
1792
+ }
1793
+ },
1794
+ {
1795
+ "name": "OrderCancelledEvent",
1796
+ "type": {
1797
+ "kind": "struct",
1798
+ "fields": [
1799
+ {
1800
+ "name": "maker",
1801
+ "type": "pubkey"
1802
+ },
1803
+ {
1804
+ "name": "nonce",
1805
+ "type": "u64"
1806
+ }
1807
+ ]
1808
+ }
1809
+ },
1810
+ {
1811
+ "name": "OrderStatus",
1812
+ "docs": [
1813
+ "Tracks the fill state of an order for replay protection.",
1814
+ "PDA seeds: [b\"order\", maker_pubkey, nonce_le_bytes]",
1815
+ "",
1816
+ "Created on first fill (init_if_needed). A missing PDA means the order",
1817
+ "has never been touched (remaining = order.amount)."
1818
+ ],
1819
+ "type": {
1820
+ "kind": "struct",
1821
+ "fields": [
1822
+ {
1823
+ "name": "version",
1824
+ "type": "u8"
1825
+ },
1826
+ {
1827
+ "name": "maker",
1828
+ "type": "pubkey"
1829
+ },
1830
+ {
1831
+ "name": "nonce",
1832
+ "type": "u64"
1833
+ },
1834
+ {
1835
+ "name": "filled_amount",
1836
+ "type": "u64"
1837
+ },
1838
+ {
1839
+ "name": "is_cancelled",
1840
+ "type": "bool"
1841
+ },
1842
+ {
1843
+ "name": "bump",
1844
+ "type": "u8"
1845
+ },
1846
+ {
1847
+ "name": "_reserved",
1848
+ "type": {
1849
+ "array": [
1850
+ "u8",
1851
+ 32
1852
+ ]
1853
+ }
1854
+ }
1855
+ ]
1856
+ }
1857
+ }
1858
+ ]
1859
+ }