yosoku 0.1.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.
Files changed (110) hide show
  1. package/dist/accounts/filllog.d.ts +5 -0
  2. package/dist/accounts/filllog.d.ts.map +1 -0
  3. package/dist/accounts/filllog.js +30 -0
  4. package/dist/accounts/filllog.js.map +1 -0
  5. package/dist/accounts/index.d.ts +42 -0
  6. package/dist/accounts/index.d.ts.map +1 -0
  7. package/dist/accounts/index.js +81 -0
  8. package/dist/accounts/index.js.map +1 -0
  9. package/dist/accounts/market.d.ts +14 -0
  10. package/dist/accounts/market.d.ts.map +1 -0
  11. package/dist/accounts/market.js +104 -0
  12. package/dist/accounts/market.js.map +1 -0
  13. package/dist/accounts/marketinfo.d.ts +9 -0
  14. package/dist/accounts/marketinfo.d.ts.map +1 -0
  15. package/dist/accounts/marketinfo.js +29 -0
  16. package/dist/accounts/marketinfo.js.map +1 -0
  17. package/dist/accounts/order.d.ts +11 -0
  18. package/dist/accounts/order.d.ts.map +1 -0
  19. package/dist/accounts/order.js +50 -0
  20. package/dist/accounts/order.js.map +1 -0
  21. package/dist/accounts/orderbook.d.ts +5 -0
  22. package/dist/accounts/orderbook.d.ts.map +1 -0
  23. package/dist/accounts/orderbook.js +80 -0
  24. package/dist/accounts/orderbook.js.map +1 -0
  25. package/dist/accounts/position.d.ts +11 -0
  26. package/dist/accounts/position.d.ts.map +1 -0
  27. package/dist/accounts/position.js +48 -0
  28. package/dist/accounts/position.js.map +1 -0
  29. package/dist/accounts/resolution.d.ts +13 -0
  30. package/dist/accounts/resolution.d.ts.map +1 -0
  31. package/dist/accounts/resolution.js +91 -0
  32. package/dist/accounts/resolution.js.map +1 -0
  33. package/dist/client.d.ts +50 -0
  34. package/dist/client.d.ts.map +1 -0
  35. package/dist/client.js +63 -0
  36. package/dist/client.js.map +1 -0
  37. package/dist/constants.d.ts +28 -0
  38. package/dist/constants.d.ts.map +1 -0
  39. package/dist/constants.js +32 -0
  40. package/dist/constants.js.map +1 -0
  41. package/dist/errors.d.ts +85 -0
  42. package/dist/errors.d.ts.map +1 -0
  43. package/dist/errors.js +186 -0
  44. package/dist/errors.js.map +1 -0
  45. package/dist/events/index.d.ts +22 -0
  46. package/dist/events/index.d.ts.map +1 -0
  47. package/dist/events/index.js +78 -0
  48. package/dist/events/index.js.map +1 -0
  49. package/dist/events/parser.d.ts +4 -0
  50. package/dist/events/parser.d.ts.map +1 -0
  51. package/dist/events/parser.js +111 -0
  52. package/dist/events/parser.js.map +1 -0
  53. package/dist/events/types.d.ts +85 -0
  54. package/dist/events/types.d.ts.map +1 -0
  55. package/dist/events/types.js +3 -0
  56. package/dist/events/types.js.map +1 -0
  57. package/dist/idl/pred_market.d.ts +4809 -0
  58. package/dist/idl/pred_market.d.ts.map +1 -0
  59. package/dist/idl/pred_market.js +3 -0
  60. package/dist/idl/pred_market.js.map +1 -0
  61. package/dist/idl/pred_market.json +4802 -0
  62. package/dist/index.d.ts +15 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +47 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/instructions/admin.d.ts +20 -0
  67. package/dist/instructions/admin.d.ts.map +1 -0
  68. package/dist/instructions/admin.js +89 -0
  69. package/dist/instructions/admin.js.map +1 -0
  70. package/dist/instructions/index.d.ts +14 -0
  71. package/dist/instructions/index.d.ts.map +1 -0
  72. package/dist/instructions/index.js +18 -0
  73. package/dist/instructions/index.js.map +1 -0
  74. package/dist/instructions/market-creation.d.ts +48 -0
  75. package/dist/instructions/market-creation.d.ts.map +1 -0
  76. package/dist/instructions/market-creation.js +270 -0
  77. package/dist/instructions/market-creation.js.map +1 -0
  78. package/dist/instructions/market-info.d.ts +48 -0
  79. package/dist/instructions/market-info.d.ts.map +1 -0
  80. package/dist/instructions/market-info.js +138 -0
  81. package/dist/instructions/market-info.js.map +1 -0
  82. package/dist/instructions/positions.d.ts +42 -0
  83. package/dist/instructions/positions.d.ts.map +1 -0
  84. package/dist/instructions/positions.js +122 -0
  85. package/dist/instructions/positions.js.map +1 -0
  86. package/dist/instructions/resolution.d.ts +32 -0
  87. package/dist/instructions/resolution.d.ts.map +1 -0
  88. package/dist/instructions/resolution.js +107 -0
  89. package/dist/instructions/resolution.js.map +1 -0
  90. package/dist/instructions/trading.d.ts +81 -0
  91. package/dist/instructions/trading.d.ts.map +1 -0
  92. package/dist/instructions/trading.js +195 -0
  93. package/dist/instructions/trading.js.map +1 -0
  94. package/dist/instructions/vote-resolution.d.ts +20 -0
  95. package/dist/instructions/vote-resolution.d.ts.map +1 -0
  96. package/dist/instructions/vote-resolution.js +58 -0
  97. package/dist/instructions/vote-resolution.js.map +1 -0
  98. package/dist/pda.d.ts +11 -0
  99. package/dist/pda.d.ts.map +1 -0
  100. package/dist/pda.js +68 -0
  101. package/dist/pda.js.map +1 -0
  102. package/dist/price.d.ts +48 -0
  103. package/dist/price.d.ts.map +1 -0
  104. package/dist/price.js +90 -0
  105. package/dist/price.js.map +1 -0
  106. package/dist/types.d.ts +198 -0
  107. package/dist/types.d.ts.map +1 -0
  108. package/dist/types.js +92 -0
  109. package/dist/types.js.map +1 -0
  110. package/package.json +40 -0
@@ -0,0 +1,4809 @@
1
+ /**
2
+ * Program IDL in camelCase format in order to be used in JS/TS.
3
+ *
4
+ * Note that this is only a type helper and is not the actual IDL. The original
5
+ * IDL can be found at `target/idl/pred_market.json`.
6
+ */
7
+ export type PredMarket = {
8
+ "address": "8p6MKtMGGugZMy2HGXtL3uBb11y7xuzXmbMbQgNmWVUQ";
9
+ "metadata": {
10
+ "name": "predMarket";
11
+ "version": "0.1.0";
12
+ "spec": "0.1.0";
13
+ "description": "Created with Anchor";
14
+ };
15
+ "instructions": [
16
+ {
17
+ "name": "addOrderbookSetToMarket";
18
+ "discriminator": [
19
+ 14,
20
+ 129,
21
+ 68,
22
+ 220,
23
+ 73,
24
+ 183,
25
+ 76,
26
+ 29
27
+ ];
28
+ "accounts": [
29
+ {
30
+ "name": "payer";
31
+ "writable": true;
32
+ "signer": true;
33
+ },
34
+ {
35
+ "name": "market";
36
+ "writable": true;
37
+ },
38
+ {
39
+ "name": "yesOrderBook";
40
+ "docs": [
41
+ "Order book for YES side - must be pre-created by client with correct size"
42
+ ];
43
+ "writable": true;
44
+ },
45
+ {
46
+ "name": "noOrderBook";
47
+ "docs": [
48
+ "Order book for NO side - must be pre-created by client with correct size"
49
+ ];
50
+ "writable": true;
51
+ },
52
+ {
53
+ "name": "yesFillLog";
54
+ "docs": [
55
+ "Fill log for YES side - must be pre-created by client with correct size"
56
+ ];
57
+ "writable": true;
58
+ },
59
+ {
60
+ "name": "noFillLog";
61
+ "docs": [
62
+ "Fill log for NO side - must be pre-created by client with correct size"
63
+ ];
64
+ "writable": true;
65
+ },
66
+ {
67
+ "name": "vault";
68
+ "docs": [
69
+ "Vault for this leg (seeded by index)"
70
+ ];
71
+ "writable": true;
72
+ },
73
+ {
74
+ "name": "usdcMint";
75
+ },
76
+ {
77
+ "name": "tokenProgram";
78
+ },
79
+ {
80
+ "name": "systemProgram";
81
+ }
82
+ ];
83
+ "args": [
84
+ {
85
+ "name": "params";
86
+ "type": {
87
+ "defined": {
88
+ "name": "addOrderbookSetParams";
89
+ };
90
+ };
91
+ }
92
+ ];
93
+ },
94
+ {
95
+ "name": "adminCloseAccount";
96
+ "docs": [
97
+ "Close any program-owned account (for cleaning up old/incompatible accounts)",
98
+ "Only the admin can call this instruction"
99
+ ];
100
+ "discriminator": [
101
+ 131,
102
+ 60,
103
+ 75,
104
+ 215,
105
+ 109,
106
+ 34,
107
+ 157,
108
+ 26
109
+ ];
110
+ "accounts": [
111
+ {
112
+ "name": "admin";
113
+ "writable": true;
114
+ "signer": true;
115
+ },
116
+ {
117
+ "name": "accountToClose";
118
+ "docs": [
119
+ "The account to close - must be owned by this program"
120
+ ];
121
+ "writable": true;
122
+ },
123
+ {
124
+ "name": "systemProgram";
125
+ }
126
+ ];
127
+ "args": [];
128
+ },
129
+ {
130
+ "name": "adminMigrateMarket";
131
+ "docs": [
132
+ "Migrate market data from old format (with resolving_deadline) to new format",
133
+ "Only the admin can call this instruction"
134
+ ];
135
+ "discriminator": [
136
+ 203,
137
+ 217,
138
+ 127,
139
+ 253,
140
+ 222,
141
+ 155,
142
+ 220,
143
+ 22
144
+ ];
145
+ "accounts": [
146
+ {
147
+ "name": "admin";
148
+ "writable": true;
149
+ "signer": true;
150
+ },
151
+ {
152
+ "name": "market";
153
+ "docs": [
154
+ "The market account to migrate"
155
+ ];
156
+ "writable": true;
157
+ },
158
+ {
159
+ "name": "systemProgram";
160
+ }
161
+ ];
162
+ "args": [];
163
+ },
164
+ {
165
+ "name": "appendDescription";
166
+ "docs": [
167
+ "Append to the description"
168
+ ];
169
+ "discriminator": [
170
+ 8,
171
+ 130,
172
+ 90,
173
+ 79,
174
+ 96,
175
+ 127,
176
+ 30,
177
+ 49
178
+ ];
179
+ "accounts": [
180
+ {
181
+ "name": "marketInfo";
182
+ "writable": true;
183
+ },
184
+ {
185
+ "name": "authority";
186
+ "writable": true;
187
+ "signer": true;
188
+ },
189
+ {
190
+ "name": "systemProgram";
191
+ }
192
+ ];
193
+ "args": [
194
+ {
195
+ "name": "chunk";
196
+ "type": "string";
197
+ }
198
+ ];
199
+ },
200
+ {
201
+ "name": "appendMarketQuestion";
202
+ "docs": [
203
+ "Append to the market question"
204
+ ];
205
+ "discriminator": [
206
+ 112,
207
+ 120,
208
+ 124,
209
+ 234,
210
+ 222,
211
+ 159,
212
+ 28,
213
+ 233
214
+ ];
215
+ "accounts": [
216
+ {
217
+ "name": "marketInfo";
218
+ "writable": true;
219
+ },
220
+ {
221
+ "name": "authority";
222
+ "writable": true;
223
+ "signer": true;
224
+ },
225
+ {
226
+ "name": "systemProgram";
227
+ }
228
+ ];
229
+ "args": [
230
+ {
231
+ "name": "chunk";
232
+ "type": "string";
233
+ }
234
+ ];
235
+ },
236
+ {
237
+ "name": "appendRules";
238
+ "docs": [
239
+ "Append to the rules"
240
+ ];
241
+ "discriminator": [
242
+ 130,
243
+ 43,
244
+ 72,
245
+ 96,
246
+ 141,
247
+ 180,
248
+ 52,
249
+ 46
250
+ ];
251
+ "accounts": [
252
+ {
253
+ "name": "marketInfo";
254
+ "writable": true;
255
+ },
256
+ {
257
+ "name": "authority";
258
+ "writable": true;
259
+ "signer": true;
260
+ },
261
+ {
262
+ "name": "systemProgram";
263
+ }
264
+ ];
265
+ "args": [
266
+ {
267
+ "name": "chunk";
268
+ "type": "string";
269
+ }
270
+ ];
271
+ },
272
+ {
273
+ "name": "cancelOrder";
274
+ "discriminator": [
275
+ 95,
276
+ 129,
277
+ 237,
278
+ 240,
279
+ 8,
280
+ 49,
281
+ 223,
282
+ 132
283
+ ];
284
+ "accounts": [
285
+ {
286
+ "name": "user";
287
+ "writable": true;
288
+ "signer": true;
289
+ },
290
+ {
291
+ "name": "market";
292
+ },
293
+ {
294
+ "name": "vault";
295
+ "writable": true;
296
+ },
297
+ {
298
+ "name": "yesOrderBook";
299
+ "writable": true;
300
+ },
301
+ {
302
+ "name": "noOrderBook";
303
+ "writable": true;
304
+ },
305
+ {
306
+ "name": "yesFillLog";
307
+ "docs": [
308
+ "YES fill log - validated in handler"
309
+ ];
310
+ },
311
+ {
312
+ "name": "noFillLog";
313
+ "docs": [
314
+ "NO fill log - validated in handler"
315
+ ];
316
+ },
317
+ {
318
+ "name": "userAta";
319
+ "writable": true;
320
+ },
321
+ {
322
+ "name": "tokenProgram";
323
+ },
324
+ {
325
+ "name": "systemProgram";
326
+ },
327
+ {
328
+ "name": "order";
329
+ "writable": true;
330
+ },
331
+ {
332
+ "name": "yesPosition";
333
+ "docs": [
334
+ "YES position - receives shares back when cancelling NO bid (CoveredBy::Shares)"
335
+ ];
336
+ "writable": true;
337
+ },
338
+ {
339
+ "name": "noPosition";
340
+ "docs": [
341
+ "NO position - receives shares back when cancelling YES bid (CoveredBy::Shares)"
342
+ ];
343
+ "writable": true;
344
+ }
345
+ ];
346
+ "args": [
347
+ {
348
+ "name": "index";
349
+ "type": "u8";
350
+ }
351
+ ];
352
+ },
353
+ {
354
+ "name": "claimCreatorFees";
355
+ "docs": [
356
+ "Claim accumulated creator fees from the creator vault",
357
+ "Only the market creator can call this instruction"
358
+ ];
359
+ "discriminator": [
360
+ 0,
361
+ 23,
362
+ 125,
363
+ 234,
364
+ 156,
365
+ 118,
366
+ 134,
367
+ 89
368
+ ];
369
+ "accounts": [
370
+ {
371
+ "name": "creator";
372
+ "docs": [
373
+ "Market creator - must sign"
374
+ ];
375
+ "writable": true;
376
+ "signer": true;
377
+ },
378
+ {
379
+ "name": "market";
380
+ "docs": [
381
+ "Market account - verifies creator and provides PDA signing authority"
382
+ ];
383
+ },
384
+ {
385
+ "name": "creatorVault";
386
+ "docs": [
387
+ "Creator vault (fee accumulator)"
388
+ ];
389
+ "writable": true;
390
+ },
391
+ {
392
+ "name": "creatorAta";
393
+ "docs": [
394
+ "Creator's USDC ATA (destination)"
395
+ ];
396
+ "writable": true;
397
+ },
398
+ {
399
+ "name": "tokenProgram";
400
+ }
401
+ ];
402
+ "args": [];
403
+ },
404
+ {
405
+ "name": "claimDisputeWinnings";
406
+ "docs": [
407
+ "Claim dispute winnings after UMA resolution",
408
+ "The winner (proposer or disputer) receives the total bonds minus protocol fee"
409
+ ];
410
+ "discriminator": [
411
+ 5,
412
+ 18,
413
+ 8,
414
+ 42,
415
+ 42,
416
+ 171,
417
+ 44,
418
+ 42
419
+ ];
420
+ "accounts": [
421
+ {
422
+ "name": "payer";
423
+ "docs": [
424
+ "Anyone can call this (permissionless), but funds go to winner"
425
+ ];
426
+ "writable": true;
427
+ "signer": true;
428
+ },
429
+ {
430
+ "name": "market";
431
+ "docs": [
432
+ "The resolved market"
433
+ ];
434
+ },
435
+ {
436
+ "name": "yesOrderBook";
437
+ "docs": [
438
+ "YES order book (for index validation)"
439
+ ];
440
+ },
441
+ {
442
+ "name": "noOrderBook";
443
+ "docs": [
444
+ "NO order book (for index validation)"
445
+ ];
446
+ },
447
+ {
448
+ "name": "resolutionProposal";
449
+ "docs": [
450
+ "The resolution proposal"
451
+ ];
452
+ "writable": true;
453
+ },
454
+ {
455
+ "name": "bondVault";
456
+ "docs": [
457
+ "Bond vault holding the bonds"
458
+ ];
459
+ "writable": true;
460
+ },
461
+ {
462
+ "name": "winnerTokenAccount";
463
+ "docs": [
464
+ "Winner's USDC token account to receive payout"
465
+ ];
466
+ "writable": true;
467
+ },
468
+ {
469
+ "name": "treasuryTokenAccount";
470
+ "docs": [
471
+ "Treasury USDC token account to receive protocol fee"
472
+ ];
473
+ "writable": true;
474
+ },
475
+ {
476
+ "name": "usdcMint";
477
+ "docs": [
478
+ "USDC mint"
479
+ ];
480
+ },
481
+ {
482
+ "name": "tokenProgram";
483
+ }
484
+ ];
485
+ "args": [
486
+ {
487
+ "name": "index";
488
+ "type": "u8";
489
+ }
490
+ ];
491
+ },
492
+ {
493
+ "name": "claimPosition";
494
+ "discriminator": [
495
+ 168,
496
+ 90,
497
+ 89,
498
+ 44,
499
+ 203,
500
+ 246,
501
+ 210,
502
+ 46
503
+ ];
504
+ "accounts": [
505
+ {
506
+ "name": "user";
507
+ "writable": true;
508
+ "signer": true;
509
+ },
510
+ {
511
+ "name": "market";
512
+ },
513
+ {
514
+ "name": "vault";
515
+ "writable": true;
516
+ },
517
+ {
518
+ "name": "yesOrderBook";
519
+ },
520
+ {
521
+ "name": "noOrderBook";
522
+ },
523
+ {
524
+ "name": "yesFillLog";
525
+ "docs": [
526
+ "YES fill log - validated in handler"
527
+ ];
528
+ "writable": true;
529
+ },
530
+ {
531
+ "name": "noFillLog";
532
+ "docs": [
533
+ "NO fill log - validated in handler"
534
+ ];
535
+ "writable": true;
536
+ },
537
+ {
538
+ "name": "userAta";
539
+ "writable": true;
540
+ },
541
+ {
542
+ "name": "tokenProgram";
543
+ },
544
+ {
545
+ "name": "systemProgram";
546
+ },
547
+ {
548
+ "name": "order";
549
+ "writable": true;
550
+ },
551
+ {
552
+ "name": "userPosition";
553
+ "docs": [
554
+ "User's position for this order's side (only needed for CoveredBy::Usdc)"
555
+ ];
556
+ "writable": true;
557
+ }
558
+ ];
559
+ "args": [
560
+ {
561
+ "name": "index";
562
+ "type": "u8";
563
+ }
564
+ ];
565
+ },
566
+ {
567
+ "name": "closeMarket";
568
+ "docs": [
569
+ "Close a market's vault and market account",
570
+ "Only the market creator or admin can call this instruction",
571
+ "Orderbooks must be closed first via close_orderbook"
572
+ ];
573
+ "discriminator": [
574
+ 88,
575
+ 154,
576
+ 248,
577
+ 186,
578
+ 48,
579
+ 14,
580
+ 123,
581
+ 244
582
+ ];
583
+ "accounts": [
584
+ {
585
+ "name": "caller";
586
+ "docs": [
587
+ "Creator or admin"
588
+ ];
589
+ "writable": true;
590
+ "signer": true;
591
+ },
592
+ {
593
+ "name": "market";
594
+ "writable": true;
595
+ },
596
+ {
597
+ "name": "vault";
598
+ "docs": [
599
+ "Vault to close"
600
+ ];
601
+ "writable": true;
602
+ },
603
+ {
604
+ "name": "callerAta";
605
+ "docs": [
606
+ "Caller's USDC ATA to receive any remaining vault funds"
607
+ ];
608
+ "writable": true;
609
+ },
610
+ {
611
+ "name": "tokenProgram";
612
+ },
613
+ {
614
+ "name": "systemProgram";
615
+ }
616
+ ];
617
+ "args": [
618
+ {
619
+ "name": "index";
620
+ "type": "u8";
621
+ }
622
+ ];
623
+ },
624
+ {
625
+ "name": "closeOrderbook";
626
+ "docs": [
627
+ "Close an order book after market resolution",
628
+ "Only the market creator or admin can call this instruction",
629
+ "Requires market is resolved and order_count == 0"
630
+ ];
631
+ "discriminator": [
632
+ 195,
633
+ 216,
634
+ 135,
635
+ 205,
636
+ 50,
637
+ 240,
638
+ 187,
639
+ 46
640
+ ];
641
+ "accounts": [
642
+ {
643
+ "name": "caller";
644
+ "docs": [
645
+ "Creator or admin"
646
+ ];
647
+ "writable": true;
648
+ "signer": true;
649
+ },
650
+ {
651
+ "name": "market";
652
+ },
653
+ {
654
+ "name": "orderBook";
655
+ "docs": [
656
+ "Order book to close - validated in handler"
657
+ ];
658
+ "writable": true;
659
+ },
660
+ {
661
+ "name": "systemProgram";
662
+ }
663
+ ];
664
+ "args": [
665
+ {
666
+ "name": "index";
667
+ "type": "u8";
668
+ },
669
+ {
670
+ "name": "side";
671
+ "type": {
672
+ "defined": {
673
+ "name": "orderSide";
674
+ };
675
+ };
676
+ }
677
+ ];
678
+ },
679
+ {
680
+ "name": "coveredBid";
681
+ "discriminator": [
682
+ 150,
683
+ 97,
684
+ 199,
685
+ 104,
686
+ 81,
687
+ 80,
688
+ 60,
689
+ 41
690
+ ];
691
+ "accounts": [
692
+ {
693
+ "name": "user";
694
+ "writable": true;
695
+ "signer": true;
696
+ },
697
+ {
698
+ "name": "market";
699
+ "writable": true;
700
+ },
701
+ {
702
+ "name": "vault";
703
+ "docs": [
704
+ "Vault for this leg - validated in handler"
705
+ ];
706
+ "writable": true;
707
+ },
708
+ {
709
+ "name": "creatorVault";
710
+ "docs": [
711
+ "Creator vault - receives creator fees on fills"
712
+ ];
713
+ "writable": true;
714
+ },
715
+ {
716
+ "name": "yesOrderBook";
717
+ "docs": [
718
+ "YES order book - validated in handler"
719
+ ];
720
+ "writable": true;
721
+ },
722
+ {
723
+ "name": "noOrderBook";
724
+ "docs": [
725
+ "NO order book - validated in handler"
726
+ ];
727
+ "writable": true;
728
+ },
729
+ {
730
+ "name": "yesFillLog";
731
+ "docs": [
732
+ "YES fill log - validated in handler"
733
+ ];
734
+ "writable": true;
735
+ },
736
+ {
737
+ "name": "noFillLog";
738
+ "docs": [
739
+ "NO fill log - validated in handler"
740
+ ];
741
+ "writable": true;
742
+ },
743
+ {
744
+ "name": "userAta";
745
+ "writable": true;
746
+ },
747
+ {
748
+ "name": "protocolTreasury";
749
+ "docs": [
750
+ "Protocol treasury - receives protocol fees on fills"
751
+ ];
752
+ "writable": true;
753
+ },
754
+ {
755
+ "name": "tokenProgram";
756
+ },
757
+ {
758
+ "name": "systemProgram";
759
+ },
760
+ {
761
+ "name": "order";
762
+ "writable": true;
763
+ },
764
+ {
765
+ "name": "yesPosition";
766
+ "docs": [
767
+ "YES position - receives shares when buying YES, used as collateral when bidding NO"
768
+ ];
769
+ "writable": true;
770
+ },
771
+ {
772
+ "name": "noPosition";
773
+ "docs": [
774
+ "NO position - receives shares when buying NO, used as collateral when bidding YES"
775
+ ];
776
+ "writable": true;
777
+ },
778
+ {
779
+ "name": "referralAccount";
780
+ }
781
+ ];
782
+ "args": [
783
+ {
784
+ "name": "index";
785
+ "type": "u8";
786
+ },
787
+ {
788
+ "name": "side";
789
+ "type": {
790
+ "defined": {
791
+ "name": "orderSide";
792
+ };
793
+ };
794
+ },
795
+ {
796
+ "name": "price";
797
+ "type": "u16";
798
+ },
799
+ {
800
+ "name": "shares";
801
+ "type": "u64";
802
+ },
803
+ {
804
+ "name": "seed";
805
+ "type": "u32";
806
+ },
807
+ {
808
+ "name": "coveredBy";
809
+ "type": {
810
+ "defined": {
811
+ "name": "coveredBy";
812
+ };
813
+ };
814
+ },
815
+ {
816
+ "name": "matchExisting";
817
+ "type": "bool";
818
+ }
819
+ ];
820
+ },
821
+ {
822
+ "name": "createMarketInfo";
823
+ "docs": [
824
+ "Create a new MarketInfo account with required fields"
825
+ ];
826
+ "discriminator": [
827
+ 126,
828
+ 213,
829
+ 167,
830
+ 67,
831
+ 10,
832
+ 162,
833
+ 90,
834
+ 208
835
+ ];
836
+ "accounts": [
837
+ {
838
+ "name": "marketInfo";
839
+ "writable": true;
840
+ "signer": true;
841
+ },
842
+ {
843
+ "name": "creator";
844
+ "writable": true;
845
+ "signer": true;
846
+ },
847
+ {
848
+ "name": "systemProgram";
849
+ }
850
+ ];
851
+ "args": [
852
+ {
853
+ "name": "marketType";
854
+ "type": {
855
+ "defined": {
856
+ "name": "marketInfoType";
857
+ };
858
+ };
859
+ },
860
+ {
861
+ "name": "resolverType";
862
+ "type": {
863
+ "defined": {
864
+ "name": "resolverType";
865
+ };
866
+ };
867
+ }
868
+ ];
869
+ },
870
+ {
871
+ "name": "createMultilegMarket";
872
+ "discriminator": [
873
+ 46,
874
+ 62,
875
+ 255,
876
+ 42,
877
+ 105,
878
+ 130,
879
+ 7,
880
+ 123
881
+ ];
882
+ "accounts": [
883
+ {
884
+ "name": "creator";
885
+ "writable": true;
886
+ "signer": true;
887
+ },
888
+ {
889
+ "name": "market";
890
+ "writable": true;
891
+ },
892
+ {
893
+ "name": "marketInfo";
894
+ "docs": [
895
+ "MarketInfo account containing market metadata (description, rules, resolver_type, etc.)",
896
+ "Must not be locked and must have market_type == MultiLeg with \"___\" in question"
897
+ ];
898
+ "writable": true;
899
+ },
900
+ {
901
+ "name": "creatorVault";
902
+ "docs": [
903
+ "Creator vault for fee accumulation"
904
+ ];
905
+ "writable": true;
906
+ },
907
+ {
908
+ "name": "usdcMint";
909
+ },
910
+ {
911
+ "name": "tokenProgram";
912
+ },
913
+ {
914
+ "name": "systemProgram";
915
+ }
916
+ ];
917
+ "args": [
918
+ {
919
+ "name": "params";
920
+ "type": {
921
+ "defined": {
922
+ "name": "createMarketParams";
923
+ };
924
+ };
925
+ }
926
+ ];
927
+ },
928
+ {
929
+ "name": "createRegularMarket";
930
+ "discriminator": [
931
+ 185,
932
+ 64,
933
+ 59,
934
+ 119,
935
+ 123,
936
+ 57,
937
+ 2,
938
+ 99
939
+ ];
940
+ "accounts": [
941
+ {
942
+ "name": "creator";
943
+ "writable": true;
944
+ "signer": true;
945
+ },
946
+ {
947
+ "name": "market";
948
+ "writable": true;
949
+ },
950
+ {
951
+ "name": "marketInfo";
952
+ "docs": [
953
+ "MarketInfo account containing market metadata (description, rules, resolver_type, etc.)",
954
+ "Must not be locked and must have market_type == Regular"
955
+ ];
956
+ "writable": true;
957
+ },
958
+ {
959
+ "name": "yesOrderBook";
960
+ "docs": [
961
+ "Order book for YES side - must be pre-created by client with correct size"
962
+ ];
963
+ "writable": true;
964
+ },
965
+ {
966
+ "name": "noOrderBook";
967
+ "docs": [
968
+ "Order book for NO side - must be pre-created by client with correct size"
969
+ ];
970
+ "writable": true;
971
+ },
972
+ {
973
+ "name": "yesFillLog";
974
+ "docs": [
975
+ "Fill log for YES side - must be pre-created by client with correct size"
976
+ ];
977
+ "writable": true;
978
+ },
979
+ {
980
+ "name": "noFillLog";
981
+ "docs": [
982
+ "Fill log for NO side - must be pre-created by client with correct size"
983
+ ];
984
+ "writable": true;
985
+ },
986
+ {
987
+ "name": "vault";
988
+ "docs": [
989
+ "Vault for this market (index 0 for regular markets)"
990
+ ];
991
+ "writable": true;
992
+ },
993
+ {
994
+ "name": "creatorVault";
995
+ "docs": [
996
+ "Creator vault for fee accumulation"
997
+ ];
998
+ "writable": true;
999
+ },
1000
+ {
1001
+ "name": "usdcMint";
1002
+ },
1003
+ {
1004
+ "name": "tokenProgram";
1005
+ },
1006
+ {
1007
+ "name": "systemProgram";
1008
+ }
1009
+ ];
1010
+ "args": [
1011
+ {
1012
+ "name": "params";
1013
+ "type": {
1014
+ "defined": {
1015
+ "name": "createMarketParams";
1016
+ };
1017
+ };
1018
+ }
1019
+ ];
1020
+ },
1021
+ {
1022
+ "name": "disputeResolution";
1023
+ "docs": [
1024
+ "Dispute a resolution proposal (escalate to UMA via LayerZero)",
1025
+ "Disputer posts a higher bond and the market is sent to UMA for final resolution"
1026
+ ];
1027
+ "discriminator": [
1028
+ 89,
1029
+ 169,
1030
+ 106,
1031
+ 71,
1032
+ 131,
1033
+ 77,
1034
+ 122,
1035
+ 232
1036
+ ];
1037
+ "accounts": [
1038
+ {
1039
+ "name": "disputer";
1040
+ "docs": [
1041
+ "The disputer submitting the dispute"
1042
+ ];
1043
+ "writable": true;
1044
+ "signer": true;
1045
+ },
1046
+ {
1047
+ "name": "market";
1048
+ "docs": [
1049
+ "The market being disputed (boxed to reduce stack size)"
1050
+ ];
1051
+ "writable": true;
1052
+ },
1053
+ {
1054
+ "name": "marketInfo";
1055
+ "docs": [
1056
+ "MarketInfo account containing resolver_type and rules"
1057
+ ];
1058
+ },
1059
+ {
1060
+ "name": "yesOrderBook";
1061
+ "docs": [
1062
+ "YES order book (for index validation)"
1063
+ ];
1064
+ },
1065
+ {
1066
+ "name": "noOrderBook";
1067
+ "docs": [
1068
+ "NO order book (for index validation)"
1069
+ ];
1070
+ },
1071
+ {
1072
+ "name": "resolutionProposal";
1073
+ "docs": [
1074
+ "The resolution proposal being disputed"
1075
+ ];
1076
+ "writable": true;
1077
+ },
1078
+ {
1079
+ "name": "bondVault";
1080
+ "docs": [
1081
+ "Bond vault holding the proposer's bond"
1082
+ ];
1083
+ "writable": true;
1084
+ },
1085
+ {
1086
+ "name": "disputerTokenAccount";
1087
+ "docs": [
1088
+ "Disputer's USDC token account"
1089
+ ];
1090
+ "writable": true;
1091
+ },
1092
+ {
1093
+ "name": "usdcMint";
1094
+ "docs": [
1095
+ "USDC mint"
1096
+ ];
1097
+ },
1098
+ {
1099
+ "name": "peer";
1100
+ },
1101
+ {
1102
+ "name": "store";
1103
+ },
1104
+ {
1105
+ "name": "endpoint";
1106
+ },
1107
+ {
1108
+ "name": "tokenProgram";
1109
+ },
1110
+ {
1111
+ "name": "systemProgram";
1112
+ }
1113
+ ];
1114
+ "args": [
1115
+ {
1116
+ "name": "index";
1117
+ "type": "u8";
1118
+ },
1119
+ {
1120
+ "name": "params";
1121
+ "type": {
1122
+ "defined": {
1123
+ "name": "disputeResolutionParams";
1124
+ };
1125
+ };
1126
+ }
1127
+ ];
1128
+ },
1129
+ {
1130
+ "name": "finalizeResolution";
1131
+ "docs": [
1132
+ "Finalize a resolution after dispute window expires (no dispute)",
1133
+ "Returns the proposer's bond and resolves the market to the proposed outcome"
1134
+ ];
1135
+ "discriminator": [
1136
+ 191,
1137
+ 74,
1138
+ 94,
1139
+ 214,
1140
+ 45,
1141
+ 150,
1142
+ 152,
1143
+ 125
1144
+ ];
1145
+ "accounts": [
1146
+ {
1147
+ "name": "payer";
1148
+ "docs": [
1149
+ "Anyone can call finalize after dispute window expires"
1150
+ ];
1151
+ "writable": true;
1152
+ "signer": true;
1153
+ },
1154
+ {
1155
+ "name": "market";
1156
+ "docs": [
1157
+ "The market being finalized"
1158
+ ];
1159
+ "writable": true;
1160
+ },
1161
+ {
1162
+ "name": "marketInfo";
1163
+ "docs": [
1164
+ "MarketInfo account containing resolver_type"
1165
+ ];
1166
+ },
1167
+ {
1168
+ "name": "yesOrderBook";
1169
+ "docs": [
1170
+ "YES order book (for index validation)"
1171
+ ];
1172
+ },
1173
+ {
1174
+ "name": "noOrderBook";
1175
+ "docs": [
1176
+ "NO order book (for index validation)"
1177
+ ];
1178
+ },
1179
+ {
1180
+ "name": "resolutionProposal";
1181
+ "docs": [
1182
+ "The resolution proposal"
1183
+ ];
1184
+ "writable": true;
1185
+ },
1186
+ {
1187
+ "name": "bondVault";
1188
+ "docs": [
1189
+ "Bond vault holding the proposer's bond"
1190
+ ];
1191
+ "writable": true;
1192
+ },
1193
+ {
1194
+ "name": "proposerTokenAccount";
1195
+ "docs": [
1196
+ "Proposer's USDC token account to receive bond back"
1197
+ ];
1198
+ "writable": true;
1199
+ },
1200
+ {
1201
+ "name": "usdcMint";
1202
+ "docs": [
1203
+ "USDC mint"
1204
+ ];
1205
+ },
1206
+ {
1207
+ "name": "tokenProgram";
1208
+ }
1209
+ ];
1210
+ "args": [
1211
+ {
1212
+ "name": "index";
1213
+ "type": "u8";
1214
+ }
1215
+ ];
1216
+ },
1217
+ {
1218
+ "name": "finalizeVoteResolution";
1219
+ "docs": [
1220
+ "Finalize vote resolution after deadline passes (WalletVoteResolver markets only)",
1221
+ "Anyone can call - resolves to 50/50 Split if no majority reached"
1222
+ ];
1223
+ "discriminator": [
1224
+ 20,
1225
+ 1,
1226
+ 225,
1227
+ 67,
1228
+ 222,
1229
+ 210,
1230
+ 227,
1231
+ 122
1232
+ ];
1233
+ "accounts": [
1234
+ {
1235
+ "name": "payer";
1236
+ "docs": [
1237
+ "Anyone can finalize after deadline"
1238
+ ];
1239
+ "writable": true;
1240
+ "signer": true;
1241
+ },
1242
+ {
1243
+ "name": "market";
1244
+ "docs": [
1245
+ "The market to finalize"
1246
+ ];
1247
+ "writable": true;
1248
+ },
1249
+ {
1250
+ "name": "marketInfo";
1251
+ "docs": [
1252
+ "MarketInfo account containing resolver_type"
1253
+ ];
1254
+ },
1255
+ {
1256
+ "name": "yesOrderBook";
1257
+ "docs": [
1258
+ "YES order book (for index validation)"
1259
+ ];
1260
+ },
1261
+ {
1262
+ "name": "noOrderBook";
1263
+ "docs": [
1264
+ "NO order book (for index validation)"
1265
+ ];
1266
+ },
1267
+ {
1268
+ "name": "voteState";
1269
+ "docs": [
1270
+ "Vote state account - must exist (initialized during voting)"
1271
+ ];
1272
+ "writable": true;
1273
+ },
1274
+ {
1275
+ "name": "systemProgram";
1276
+ }
1277
+ ];
1278
+ "args": [
1279
+ {
1280
+ "name": "index";
1281
+ "type": "u8";
1282
+ }
1283
+ ];
1284
+ },
1285
+ {
1286
+ "name": "initLzStore";
1287
+ "docs": [
1288
+ "Initialize the LayerZero OApp store"
1289
+ ];
1290
+ "discriminator": [
1291
+ 12,
1292
+ 217,
1293
+ 241,
1294
+ 53,
1295
+ 30,
1296
+ 39,
1297
+ 95,
1298
+ 98
1299
+ ];
1300
+ "accounts": [
1301
+ {
1302
+ "name": "payer";
1303
+ "writable": true;
1304
+ "signer": true;
1305
+ },
1306
+ {
1307
+ "name": "store";
1308
+ "writable": true;
1309
+ },
1310
+ {
1311
+ "name": "lzReceiveTypesAccounts";
1312
+ "writable": true;
1313
+ },
1314
+ {
1315
+ "name": "systemProgram";
1316
+ }
1317
+ ];
1318
+ "args": [
1319
+ {
1320
+ "name": "params";
1321
+ "type": {
1322
+ "defined": {
1323
+ "name": "initLzStoreParams";
1324
+ };
1325
+ };
1326
+ }
1327
+ ];
1328
+ },
1329
+ {
1330
+ "name": "limitAsk";
1331
+ "discriminator": [
1332
+ 59,
1333
+ 245,
1334
+ 60,
1335
+ 64,
1336
+ 14,
1337
+ 83,
1338
+ 233,
1339
+ 164
1340
+ ];
1341
+ "accounts": [
1342
+ {
1343
+ "name": "user";
1344
+ "writable": true;
1345
+ "signer": true;
1346
+ },
1347
+ {
1348
+ "name": "market";
1349
+ "writable": true;
1350
+ },
1351
+ {
1352
+ "name": "vault";
1353
+ "docs": [
1354
+ "Vault for this leg - validated in handler"
1355
+ ];
1356
+ "writable": true;
1357
+ },
1358
+ {
1359
+ "name": "creatorVault";
1360
+ "docs": [
1361
+ "Creator vault - receives creator fees on fills"
1362
+ ];
1363
+ "writable": true;
1364
+ },
1365
+ {
1366
+ "name": "yesOrderBook";
1367
+ "docs": [
1368
+ "YES order book - validated in handler"
1369
+ ];
1370
+ "writable": true;
1371
+ },
1372
+ {
1373
+ "name": "noOrderBook";
1374
+ "docs": [
1375
+ "NO order book - validated in handler"
1376
+ ];
1377
+ "writable": true;
1378
+ },
1379
+ {
1380
+ "name": "yesFillLog";
1381
+ "docs": [
1382
+ "YES fill log - validated in handler"
1383
+ ];
1384
+ "writable": true;
1385
+ },
1386
+ {
1387
+ "name": "noFillLog";
1388
+ "docs": [
1389
+ "NO fill log - validated in handler"
1390
+ ];
1391
+ "writable": true;
1392
+ },
1393
+ {
1394
+ "name": "userAta";
1395
+ "writable": true;
1396
+ },
1397
+ {
1398
+ "name": "protocolTreasury";
1399
+ "docs": [
1400
+ "Protocol treasury - receives protocol fees on fills"
1401
+ ];
1402
+ "writable": true;
1403
+ },
1404
+ {
1405
+ "name": "tokenProgram";
1406
+ },
1407
+ {
1408
+ "name": "systemProgram";
1409
+ },
1410
+ {
1411
+ "name": "order";
1412
+ "writable": true;
1413
+ },
1414
+ {
1415
+ "name": "yesPosition";
1416
+ "docs": [
1417
+ "YES position - receives shares when buying YES, used as collateral when bidding NO"
1418
+ ];
1419
+ "writable": true;
1420
+ },
1421
+ {
1422
+ "name": "noPosition";
1423
+ "docs": [
1424
+ "NO position - receives shares when buying NO, used as collateral when bidding YES"
1425
+ ];
1426
+ "writable": true;
1427
+ },
1428
+ {
1429
+ "name": "referralAccount";
1430
+ }
1431
+ ];
1432
+ "args": [
1433
+ {
1434
+ "name": "index";
1435
+ "type": "u8";
1436
+ },
1437
+ {
1438
+ "name": "side";
1439
+ "type": {
1440
+ "defined": {
1441
+ "name": "orderSide";
1442
+ };
1443
+ };
1444
+ },
1445
+ {
1446
+ "name": "price";
1447
+ "type": "u16";
1448
+ },
1449
+ {
1450
+ "name": "shares";
1451
+ "type": "u64";
1452
+ },
1453
+ {
1454
+ "name": "seed";
1455
+ "type": "u32";
1456
+ },
1457
+ {
1458
+ "name": "matchExisting";
1459
+ "type": "bool";
1460
+ }
1461
+ ];
1462
+ },
1463
+ {
1464
+ "name": "limitBid";
1465
+ "discriminator": [
1466
+ 188,
1467
+ 78,
1468
+ 103,
1469
+ 36,
1470
+ 196,
1471
+ 147,
1472
+ 156,
1473
+ 31
1474
+ ];
1475
+ "accounts": [
1476
+ {
1477
+ "name": "user";
1478
+ "writable": true;
1479
+ "signer": true;
1480
+ },
1481
+ {
1482
+ "name": "market";
1483
+ "writable": true;
1484
+ },
1485
+ {
1486
+ "name": "vault";
1487
+ "docs": [
1488
+ "Vault for this leg - validated in handler"
1489
+ ];
1490
+ "writable": true;
1491
+ },
1492
+ {
1493
+ "name": "creatorVault";
1494
+ "docs": [
1495
+ "Creator vault - receives creator fees on fills"
1496
+ ];
1497
+ "writable": true;
1498
+ },
1499
+ {
1500
+ "name": "yesOrderBook";
1501
+ "docs": [
1502
+ "YES order book - validated in handler"
1503
+ ];
1504
+ "writable": true;
1505
+ },
1506
+ {
1507
+ "name": "noOrderBook";
1508
+ "docs": [
1509
+ "NO order book - validated in handler"
1510
+ ];
1511
+ "writable": true;
1512
+ },
1513
+ {
1514
+ "name": "yesFillLog";
1515
+ "docs": [
1516
+ "YES fill log - validated in handler"
1517
+ ];
1518
+ "writable": true;
1519
+ },
1520
+ {
1521
+ "name": "noFillLog";
1522
+ "docs": [
1523
+ "NO fill log - validated in handler"
1524
+ ];
1525
+ "writable": true;
1526
+ },
1527
+ {
1528
+ "name": "userAta";
1529
+ "writable": true;
1530
+ },
1531
+ {
1532
+ "name": "protocolTreasury";
1533
+ "docs": [
1534
+ "Protocol treasury - receives protocol fees on fills"
1535
+ ];
1536
+ "writable": true;
1537
+ },
1538
+ {
1539
+ "name": "tokenProgram";
1540
+ },
1541
+ {
1542
+ "name": "systemProgram";
1543
+ },
1544
+ {
1545
+ "name": "order";
1546
+ "writable": true;
1547
+ },
1548
+ {
1549
+ "name": "yesPosition";
1550
+ "docs": [
1551
+ "YES position - receives shares when buying YES, used as collateral when bidding NO"
1552
+ ];
1553
+ "writable": true;
1554
+ },
1555
+ {
1556
+ "name": "noPosition";
1557
+ "docs": [
1558
+ "NO position - receives shares when buying NO, used as collateral when bidding YES"
1559
+ ];
1560
+ "writable": true;
1561
+ },
1562
+ {
1563
+ "name": "referralAccount";
1564
+ }
1565
+ ];
1566
+ "args": [
1567
+ {
1568
+ "name": "index";
1569
+ "type": "u8";
1570
+ },
1571
+ {
1572
+ "name": "side";
1573
+ "type": {
1574
+ "defined": {
1575
+ "name": "orderSide";
1576
+ };
1577
+ };
1578
+ },
1579
+ {
1580
+ "name": "price";
1581
+ "type": "u16";
1582
+ },
1583
+ {
1584
+ "name": "amount";
1585
+ "type": "u64";
1586
+ },
1587
+ {
1588
+ "name": "seed";
1589
+ "type": "u32";
1590
+ },
1591
+ {
1592
+ "name": "matchExisting";
1593
+ "type": "bool";
1594
+ }
1595
+ ];
1596
+ },
1597
+ {
1598
+ "name": "lzQuoteSend";
1599
+ "docs": [
1600
+ "Get quote for sending a cross-chain message"
1601
+ ];
1602
+ "discriminator": [
1603
+ 41,
1604
+ 213,
1605
+ 186,
1606
+ 170,
1607
+ 231,
1608
+ 239,
1609
+ 137,
1610
+ 64
1611
+ ];
1612
+ "accounts": [
1613
+ {
1614
+ "name": "store";
1615
+ },
1616
+ {
1617
+ "name": "peer";
1618
+ },
1619
+ {
1620
+ "name": "endpoint";
1621
+ }
1622
+ ];
1623
+ "args": [
1624
+ {
1625
+ "name": "params";
1626
+ "type": {
1627
+ "defined": {
1628
+ "name": "lzQuoteSendParams";
1629
+ };
1630
+ };
1631
+ }
1632
+ ];
1633
+ "returns": {
1634
+ "defined": {
1635
+ "name": "messagingFee";
1636
+ };
1637
+ };
1638
+ },
1639
+ {
1640
+ "name": "lzReceive";
1641
+ "docs": [
1642
+ "Handler for processing incoming cross-chain messages"
1643
+ ];
1644
+ "discriminator": [
1645
+ 8,
1646
+ 179,
1647
+ 120,
1648
+ 109,
1649
+ 33,
1650
+ 118,
1651
+ 189,
1652
+ 80
1653
+ ];
1654
+ "accounts": [
1655
+ {
1656
+ "name": "store";
1657
+ "writable": true;
1658
+ },
1659
+ {
1660
+ "name": "peer";
1661
+ }
1662
+ ];
1663
+ "args": [
1664
+ {
1665
+ "name": "params";
1666
+ "type": {
1667
+ "defined": {
1668
+ "name": "lzReceiveParams";
1669
+ };
1670
+ };
1671
+ }
1672
+ ];
1673
+ },
1674
+ {
1675
+ "name": "lzReceiveTypes";
1676
+ "docs": [
1677
+ "Handler that returns the list of accounts required to execute lz_receive"
1678
+ ];
1679
+ "discriminator": [
1680
+ 221,
1681
+ 17,
1682
+ 246,
1683
+ 159,
1684
+ 248,
1685
+ 128,
1686
+ 31,
1687
+ 96
1688
+ ];
1689
+ "accounts": [
1690
+ {
1691
+ "name": "store";
1692
+ }
1693
+ ];
1694
+ "args": [
1695
+ {
1696
+ "name": "params";
1697
+ "type": {
1698
+ "defined": {
1699
+ "name": "lzReceiveParams";
1700
+ };
1701
+ };
1702
+ }
1703
+ ];
1704
+ "returns": {
1705
+ "vec": {
1706
+ "defined": {
1707
+ "name": "lzAccount";
1708
+ };
1709
+ };
1710
+ };
1711
+ },
1712
+ {
1713
+ "name": "lzResolveMarket";
1714
+ "docs": [
1715
+ "Request market resolution via cross-chain message",
1716
+ "Sends market pubkey, index, and rules to the destination chain for resolution"
1717
+ ];
1718
+ "discriminator": [
1719
+ 139,
1720
+ 28,
1721
+ 240,
1722
+ 121,
1723
+ 199,
1724
+ 58,
1725
+ 67,
1726
+ 50
1727
+ ];
1728
+ "accounts": [
1729
+ {
1730
+ "name": "payer";
1731
+ "docs": [
1732
+ "Anyone can request UMA resolution at any time"
1733
+ ];
1734
+ "writable": true;
1735
+ "signer": true;
1736
+ },
1737
+ {
1738
+ "name": "market";
1739
+ "docs": [
1740
+ "The market to request resolution for"
1741
+ ];
1742
+ "writable": true;
1743
+ },
1744
+ {
1745
+ "name": "marketInfo";
1746
+ "docs": [
1747
+ "MarketInfo account containing rules"
1748
+ ];
1749
+ },
1750
+ {
1751
+ "name": "yesOrderBook";
1752
+ "docs": [
1753
+ "YES order book (for index validation)"
1754
+ ];
1755
+ },
1756
+ {
1757
+ "name": "noOrderBook";
1758
+ "docs": [
1759
+ "NO order book (for index validation)"
1760
+ ];
1761
+ },
1762
+ {
1763
+ "name": "peer";
1764
+ },
1765
+ {
1766
+ "name": "store";
1767
+ },
1768
+ {
1769
+ "name": "endpoint";
1770
+ }
1771
+ ];
1772
+ "args": [
1773
+ {
1774
+ "name": "index";
1775
+ "type": "u8";
1776
+ },
1777
+ {
1778
+ "name": "params";
1779
+ "type": {
1780
+ "defined": {
1781
+ "name": "lzResolveMarketParams";
1782
+ };
1783
+ };
1784
+ }
1785
+ ];
1786
+ },
1787
+ {
1788
+ "name": "marketBuy";
1789
+ "discriminator": [
1790
+ 90,
1791
+ 236,
1792
+ 106,
1793
+ 220,
1794
+ 221,
1795
+ 81,
1796
+ 108,
1797
+ 140
1798
+ ];
1799
+ "accounts": [
1800
+ {
1801
+ "name": "user";
1802
+ "writable": true;
1803
+ "signer": true;
1804
+ },
1805
+ {
1806
+ "name": "market";
1807
+ "writable": true;
1808
+ },
1809
+ {
1810
+ "name": "vault";
1811
+ "docs": [
1812
+ "Vault for this leg - validated in handler"
1813
+ ];
1814
+ "writable": true;
1815
+ },
1816
+ {
1817
+ "name": "yesOrderBook";
1818
+ "docs": [
1819
+ "YES order book - validated in handler"
1820
+ ];
1821
+ "writable": true;
1822
+ },
1823
+ {
1824
+ "name": "noOrderBook";
1825
+ "docs": [
1826
+ "NO order book - validated in handler"
1827
+ ];
1828
+ "writable": true;
1829
+ },
1830
+ {
1831
+ "name": "yesFillLog";
1832
+ "docs": [
1833
+ "YES fill log - validated in handler"
1834
+ ];
1835
+ "writable": true;
1836
+ },
1837
+ {
1838
+ "name": "noFillLog";
1839
+ "docs": [
1840
+ "NO fill log - validated in handler"
1841
+ ];
1842
+ "writable": true;
1843
+ },
1844
+ {
1845
+ "name": "userAta";
1846
+ "writable": true;
1847
+ },
1848
+ {
1849
+ "name": "creatorVault";
1850
+ "docs": [
1851
+ "Creator vault - receives creator fee"
1852
+ ];
1853
+ "writable": true;
1854
+ },
1855
+ {
1856
+ "name": "protocolTreasury";
1857
+ "docs": [
1858
+ "Protocol treasury - receives protocol fee"
1859
+ ];
1860
+ "writable": true;
1861
+ },
1862
+ {
1863
+ "name": "referralAccount";
1864
+ "docs": [
1865
+ "Referral account - optional (pass system program to skip)",
1866
+ "When this is a valid token account, it must be passed as writable from the client."
1867
+ ];
1868
+ },
1869
+ {
1870
+ "name": "tokenProgram";
1871
+ },
1872
+ {
1873
+ "name": "systemProgram";
1874
+ },
1875
+ {
1876
+ "name": "userPosition";
1877
+ "writable": true;
1878
+ }
1879
+ ];
1880
+ "args": [
1881
+ {
1882
+ "name": "index";
1883
+ "type": "u8";
1884
+ },
1885
+ {
1886
+ "name": "side";
1887
+ "type": {
1888
+ "defined": {
1889
+ "name": "orderSide";
1890
+ };
1891
+ };
1892
+ },
1893
+ {
1894
+ "name": "maxUsdc";
1895
+ "type": "u64";
1896
+ },
1897
+ {
1898
+ "name": "minShares";
1899
+ "type": "u64";
1900
+ }
1901
+ ];
1902
+ },
1903
+ {
1904
+ "name": "marketSell";
1905
+ "discriminator": [
1906
+ 11,
1907
+ 224,
1908
+ 159,
1909
+ 119,
1910
+ 129,
1911
+ 127,
1912
+ 145,
1913
+ 237
1914
+ ];
1915
+ "accounts": [
1916
+ {
1917
+ "name": "user";
1918
+ "writable": true;
1919
+ "signer": true;
1920
+ },
1921
+ {
1922
+ "name": "market";
1923
+ "writable": true;
1924
+ },
1925
+ {
1926
+ "name": "vault";
1927
+ "docs": [
1928
+ "Vault for this leg - validated in handler"
1929
+ ];
1930
+ "writable": true;
1931
+ },
1932
+ {
1933
+ "name": "yesOrderBook";
1934
+ "docs": [
1935
+ "YES order book - validated in handler"
1936
+ ];
1937
+ "writable": true;
1938
+ },
1939
+ {
1940
+ "name": "noOrderBook";
1941
+ "docs": [
1942
+ "NO order book - validated in handler"
1943
+ ];
1944
+ "writable": true;
1945
+ },
1946
+ {
1947
+ "name": "yesFillLog";
1948
+ "docs": [
1949
+ "YES fill log - validated in handler"
1950
+ ];
1951
+ "writable": true;
1952
+ },
1953
+ {
1954
+ "name": "noFillLog";
1955
+ "docs": [
1956
+ "NO fill log - validated in handler"
1957
+ ];
1958
+ "writable": true;
1959
+ },
1960
+ {
1961
+ "name": "userAta";
1962
+ "writable": true;
1963
+ },
1964
+ {
1965
+ "name": "creatorVault";
1966
+ "docs": [
1967
+ "Creator vault - receives creator fee"
1968
+ ];
1969
+ "writable": true;
1970
+ },
1971
+ {
1972
+ "name": "protocolTreasury";
1973
+ "docs": [
1974
+ "Protocol treasury - receives protocol fee"
1975
+ ];
1976
+ "writable": true;
1977
+ },
1978
+ {
1979
+ "name": "referralAccount";
1980
+ "docs": [
1981
+ "Referral account - optional (pass system program to skip)",
1982
+ "When this is a valid token account, it must be passed as writable from the client."
1983
+ ];
1984
+ },
1985
+ {
1986
+ "name": "tokenProgram";
1987
+ },
1988
+ {
1989
+ "name": "systemProgram";
1990
+ },
1991
+ {
1992
+ "name": "userPosition";
1993
+ "writable": true;
1994
+ }
1995
+ ];
1996
+ "args": [
1997
+ {
1998
+ "name": "index";
1999
+ "type": "u8";
2000
+ },
2001
+ {
2002
+ "name": "side";
2003
+ "type": {
2004
+ "defined": {
2005
+ "name": "orderSide";
2006
+ };
2007
+ };
2008
+ },
2009
+ {
2010
+ "name": "shares";
2011
+ "type": "u64";
2012
+ },
2013
+ {
2014
+ "name": "minUsdc";
2015
+ "type": "u64";
2016
+ }
2017
+ ];
2018
+ },
2019
+ {
2020
+ "name": "mergeShares";
2021
+ "discriminator": [
2022
+ 236,
2023
+ 47,
2024
+ 171,
2025
+ 1,
2026
+ 210,
2027
+ 167,
2028
+ 204,
2029
+ 0
2030
+ ];
2031
+ "accounts": [
2032
+ {
2033
+ "name": "user";
2034
+ "writable": true;
2035
+ "signer": true;
2036
+ },
2037
+ {
2038
+ "name": "market";
2039
+ "writable": true;
2040
+ },
2041
+ {
2042
+ "name": "vault";
2043
+ "writable": true;
2044
+ },
2045
+ {
2046
+ "name": "yesOrderBook";
2047
+ },
2048
+ {
2049
+ "name": "noOrderBook";
2050
+ },
2051
+ {
2052
+ "name": "userAta";
2053
+ "writable": true;
2054
+ },
2055
+ {
2056
+ "name": "tokenProgram";
2057
+ },
2058
+ {
2059
+ "name": "yesPosition";
2060
+ "writable": true;
2061
+ },
2062
+ {
2063
+ "name": "noPosition";
2064
+ "writable": true;
2065
+ }
2066
+ ];
2067
+ "args": [
2068
+ {
2069
+ "name": "index";
2070
+ "type": "u8";
2071
+ },
2072
+ {
2073
+ "name": "amount";
2074
+ "type": "u64";
2075
+ }
2076
+ ];
2077
+ },
2078
+ {
2079
+ "name": "proposeResolution";
2080
+ "docs": [
2081
+ "Propose a resolution for a market (first tier)",
2082
+ "Anyone can propose at any time after market creation with a USDC bond"
2083
+ ];
2084
+ "discriminator": [
2085
+ 19,
2086
+ 68,
2087
+ 181,
2088
+ 23,
2089
+ 194,
2090
+ 146,
2091
+ 152,
2092
+ 252
2093
+ ];
2094
+ "accounts": [
2095
+ {
2096
+ "name": "proposer";
2097
+ "docs": [
2098
+ "The proposer submitting the resolution"
2099
+ ];
2100
+ "writable": true;
2101
+ "signer": true;
2102
+ },
2103
+ {
2104
+ "name": "market";
2105
+ "docs": [
2106
+ "The market to propose resolution for"
2107
+ ];
2108
+ "writable": true;
2109
+ },
2110
+ {
2111
+ "name": "marketInfo";
2112
+ "docs": [
2113
+ "MarketInfo account containing resolver_type"
2114
+ ];
2115
+ },
2116
+ {
2117
+ "name": "yesOrderBook";
2118
+ "docs": [
2119
+ "YES order book (for index validation)"
2120
+ ];
2121
+ },
2122
+ {
2123
+ "name": "noOrderBook";
2124
+ "docs": [
2125
+ "NO order book (for index validation)"
2126
+ ];
2127
+ },
2128
+ {
2129
+ "name": "resolutionProposal";
2130
+ "docs": [
2131
+ "The resolution proposal account (PDA)"
2132
+ ];
2133
+ "writable": true;
2134
+ },
2135
+ {
2136
+ "name": "bondVault";
2137
+ "docs": [
2138
+ "Bond vault to hold proposer and disputer bonds"
2139
+ ];
2140
+ "writable": true;
2141
+ },
2142
+ {
2143
+ "name": "proposerTokenAccount";
2144
+ "docs": [
2145
+ "Proposer's USDC token account"
2146
+ ];
2147
+ "writable": true;
2148
+ },
2149
+ {
2150
+ "name": "usdcMint";
2151
+ "docs": [
2152
+ "USDC mint"
2153
+ ];
2154
+ },
2155
+ {
2156
+ "name": "tokenProgram";
2157
+ },
2158
+ {
2159
+ "name": "systemProgram";
2160
+ }
2161
+ ];
2162
+ "args": [
2163
+ {
2164
+ "name": "index";
2165
+ "type": "u8";
2166
+ },
2167
+ {
2168
+ "name": "params";
2169
+ "type": {
2170
+ "defined": {
2171
+ "name": "proposeResolutionParams";
2172
+ };
2173
+ };
2174
+ }
2175
+ ];
2176
+ },
2177
+ {
2178
+ "name": "redeemPosition";
2179
+ "docs": [
2180
+ "Redeem a position after market resolution",
2181
+ "Winners receive $1.00 per share, losers receive $0",
2182
+ "Split outcome: all shares receive $0.50 each",
2183
+ "Position account is closed after redemption"
2184
+ ];
2185
+ "discriminator": [
2186
+ 51,
2187
+ 138,
2188
+ 49,
2189
+ 229,
2190
+ 33,
2191
+ 216,
2192
+ 19,
2193
+ 97
2194
+ ];
2195
+ "accounts": [
2196
+ {
2197
+ "name": "user";
2198
+ "writable": true;
2199
+ "signer": true;
2200
+ },
2201
+ {
2202
+ "name": "market";
2203
+ "writable": true;
2204
+ },
2205
+ {
2206
+ "name": "vault";
2207
+ "writable": true;
2208
+ },
2209
+ {
2210
+ "name": "yesOrderBook";
2211
+ "docs": [
2212
+ "YES order book (for index validation)"
2213
+ ];
2214
+ },
2215
+ {
2216
+ "name": "noOrderBook";
2217
+ "docs": [
2218
+ "NO order book (for index validation)"
2219
+ ];
2220
+ },
2221
+ {
2222
+ "name": "userAta";
2223
+ "writable": true;
2224
+ },
2225
+ {
2226
+ "name": "tokenProgram";
2227
+ },
2228
+ {
2229
+ "name": "position";
2230
+ "writable": true;
2231
+ }
2232
+ ];
2233
+ "args": [
2234
+ {
2235
+ "name": "index";
2236
+ "type": "u8";
2237
+ }
2238
+ ];
2239
+ },
2240
+ {
2241
+ "name": "removeMarketInfo";
2242
+ "docs": [
2243
+ "Remove/close MarketInfo account (only when not locked)"
2244
+ ];
2245
+ "discriminator": [
2246
+ 102,
2247
+ 39,
2248
+ 28,
2249
+ 177,
2250
+ 126,
2251
+ 56,
2252
+ 33,
2253
+ 181
2254
+ ];
2255
+ "accounts": [
2256
+ {
2257
+ "name": "marketInfo";
2258
+ "writable": true;
2259
+ },
2260
+ {
2261
+ "name": "authority";
2262
+ "writable": true;
2263
+ "signer": true;
2264
+ }
2265
+ ];
2266
+ "args": [];
2267
+ },
2268
+ {
2269
+ "name": "resolveExpiredMarket";
2270
+ "docs": [
2271
+ "Resolve an expired market to a 50/50 split",
2272
+ "Anyone can call this after the deadline if no proposal exists",
2273
+ "Both YES and NO shares will redeem at $0.50 each"
2274
+ ];
2275
+ "discriminator": [
2276
+ 117,
2277
+ 81,
2278
+ 156,
2279
+ 211,
2280
+ 195,
2281
+ 11,
2282
+ 70,
2283
+ 194
2284
+ ];
2285
+ "accounts": [
2286
+ {
2287
+ "name": "market";
2288
+ "writable": true;
2289
+ }
2290
+ ];
2291
+ "args": [
2292
+ {
2293
+ "name": "index";
2294
+ "type": "u8";
2295
+ }
2296
+ ];
2297
+ },
2298
+ {
2299
+ "name": "setDescription";
2300
+ "docs": [
2301
+ "Set the description (replaces existing)"
2302
+ ];
2303
+ "discriminator": [
2304
+ 234,
2305
+ 4,
2306
+ 121,
2307
+ 243,
2308
+ 47,
2309
+ 60,
2310
+ 8,
2311
+ 236
2312
+ ];
2313
+ "accounts": [
2314
+ {
2315
+ "name": "marketInfo";
2316
+ "writable": true;
2317
+ },
2318
+ {
2319
+ "name": "authority";
2320
+ "writable": true;
2321
+ "signer": true;
2322
+ },
2323
+ {
2324
+ "name": "systemProgram";
2325
+ }
2326
+ ];
2327
+ "args": [
2328
+ {
2329
+ "name": "description";
2330
+ "type": "string";
2331
+ }
2332
+ ];
2333
+ },
2334
+ {
2335
+ "name": "setLzPeerConfig";
2336
+ "docs": [
2337
+ "Admin instruction to set or update cross-chain peer configuration"
2338
+ ];
2339
+ "discriminator": [
2340
+ 195,
2341
+ 23,
2342
+ 146,
2343
+ 164,
2344
+ 165,
2345
+ 236,
2346
+ 21,
2347
+ 120
2348
+ ];
2349
+ "accounts": [
2350
+ {
2351
+ "name": "admin";
2352
+ "writable": true;
2353
+ "signer": true;
2354
+ },
2355
+ {
2356
+ "name": "peer";
2357
+ "writable": true;
2358
+ },
2359
+ {
2360
+ "name": "store";
2361
+ },
2362
+ {
2363
+ "name": "systemProgram";
2364
+ }
2365
+ ];
2366
+ "args": [
2367
+ {
2368
+ "name": "params";
2369
+ "type": {
2370
+ "defined": {
2371
+ "name": "setLzPeerConfigParams";
2372
+ };
2373
+ };
2374
+ }
2375
+ ];
2376
+ },
2377
+ {
2378
+ "name": "setMarketQuestion";
2379
+ "docs": [
2380
+ "Set the market question (replaces existing)"
2381
+ ];
2382
+ "discriminator": [
2383
+ 204,
2384
+ 210,
2385
+ 3,
2386
+ 56,
2387
+ 222,
2388
+ 5,
2389
+ 254,
2390
+ 31
2391
+ ];
2392
+ "accounts": [
2393
+ {
2394
+ "name": "marketInfo";
2395
+ "writable": true;
2396
+ },
2397
+ {
2398
+ "name": "authority";
2399
+ "writable": true;
2400
+ "signer": true;
2401
+ },
2402
+ {
2403
+ "name": "systemProgram";
2404
+ }
2405
+ ];
2406
+ "args": [
2407
+ {
2408
+ "name": "question";
2409
+ "type": "string";
2410
+ }
2411
+ ];
2412
+ },
2413
+ {
2414
+ "name": "setMarketType";
2415
+ "docs": [
2416
+ "Set the market type (Regular or MultiLeg)"
2417
+ ];
2418
+ "discriminator": [
2419
+ 82,
2420
+ 91,
2421
+ 95,
2422
+ 4,
2423
+ 183,
2424
+ 89,
2425
+ 89,
2426
+ 5
2427
+ ];
2428
+ "accounts": [
2429
+ {
2430
+ "name": "marketInfo";
2431
+ "writable": true;
2432
+ },
2433
+ {
2434
+ "name": "authority";
2435
+ "signer": true;
2436
+ }
2437
+ ];
2438
+ "args": [
2439
+ {
2440
+ "name": "marketType";
2441
+ "type": {
2442
+ "defined": {
2443
+ "name": "marketInfoType";
2444
+ };
2445
+ };
2446
+ }
2447
+ ];
2448
+ },
2449
+ {
2450
+ "name": "setResolverType";
2451
+ "docs": [
2452
+ "Set the resolver type (UmaResolver or WalletVoteResolver)"
2453
+ ];
2454
+ "discriminator": [
2455
+ 178,
2456
+ 72,
2457
+ 177,
2458
+ 36,
2459
+ 149,
2460
+ 106,
2461
+ 53,
2462
+ 148
2463
+ ];
2464
+ "accounts": [
2465
+ {
2466
+ "name": "marketInfo";
2467
+ "writable": true;
2468
+ },
2469
+ {
2470
+ "name": "authority";
2471
+ "writable": true;
2472
+ "signer": true;
2473
+ },
2474
+ {
2475
+ "name": "systemProgram";
2476
+ }
2477
+ ];
2478
+ "args": [
2479
+ {
2480
+ "name": "resolverType";
2481
+ "type": {
2482
+ "defined": {
2483
+ "name": "resolverType";
2484
+ };
2485
+ };
2486
+ }
2487
+ ];
2488
+ },
2489
+ {
2490
+ "name": "setRules";
2491
+ "docs": [
2492
+ "Set the rules (replaces existing)"
2493
+ ];
2494
+ "discriminator": [
2495
+ 66,
2496
+ 148,
2497
+ 196,
2498
+ 43,
2499
+ 232,
2500
+ 210,
2501
+ 174,
2502
+ 169
2503
+ ];
2504
+ "accounts": [
2505
+ {
2506
+ "name": "marketInfo";
2507
+ "writable": true;
2508
+ },
2509
+ {
2510
+ "name": "authority";
2511
+ "writable": true;
2512
+ "signer": true;
2513
+ },
2514
+ {
2515
+ "name": "systemProgram";
2516
+ }
2517
+ ];
2518
+ "args": [
2519
+ {
2520
+ "name": "rules";
2521
+ "type": "string";
2522
+ }
2523
+ ];
2524
+ },
2525
+ {
2526
+ "name": "verifyMarket";
2527
+ "docs": [
2528
+ "Toggle verification status of a market",
2529
+ "Only the authorized verifier can call this instruction"
2530
+ ];
2531
+ "discriminator": [
2532
+ 117,
2533
+ 131,
2534
+ 234,
2535
+ 199,
2536
+ 26,
2537
+ 123,
2538
+ 63,
2539
+ 62
2540
+ ];
2541
+ "accounts": [
2542
+ {
2543
+ "name": "verifier";
2544
+ "docs": [
2545
+ "Verifier must match the constant VERIFIER_PUBKEY"
2546
+ ];
2547
+ "signer": true;
2548
+ },
2549
+ {
2550
+ "name": "market";
2551
+ "writable": true;
2552
+ }
2553
+ ];
2554
+ "args": [];
2555
+ },
2556
+ {
2557
+ "name": "voteResolution";
2558
+ "docs": [
2559
+ "Cast or change a vote on market resolution (WalletVoteResolver markets only)",
2560
+ "Auto-finalizes when majority (>50%) is reached"
2561
+ ];
2562
+ "discriminator": [
2563
+ 137,
2564
+ 137,
2565
+ 237,
2566
+ 83,
2567
+ 15,
2568
+ 30,
2569
+ 101,
2570
+ 248
2571
+ ];
2572
+ "accounts": [
2573
+ {
2574
+ "name": "voter";
2575
+ "docs": [
2576
+ "The voter casting a vote"
2577
+ ];
2578
+ "writable": true;
2579
+ "signer": true;
2580
+ },
2581
+ {
2582
+ "name": "market";
2583
+ "docs": [
2584
+ "The market being voted on"
2585
+ ];
2586
+ "writable": true;
2587
+ },
2588
+ {
2589
+ "name": "marketInfo";
2590
+ "docs": [
2591
+ "MarketInfo account containing resolver_type and voter list"
2592
+ ];
2593
+ },
2594
+ {
2595
+ "name": "yesOrderBook";
2596
+ "docs": [
2597
+ "YES order book (for index validation)"
2598
+ ];
2599
+ },
2600
+ {
2601
+ "name": "noOrderBook";
2602
+ "docs": [
2603
+ "NO order book (for index validation)"
2604
+ ];
2605
+ },
2606
+ {
2607
+ "name": "voteState";
2608
+ "docs": [
2609
+ "Vote state account (PDA) - initialized on first vote"
2610
+ ];
2611
+ "writable": true;
2612
+ },
2613
+ {
2614
+ "name": "systemProgram";
2615
+ }
2616
+ ];
2617
+ "args": [
2618
+ {
2619
+ "name": "index";
2620
+ "type": "u8";
2621
+ },
2622
+ {
2623
+ "name": "params";
2624
+ "type": {
2625
+ "defined": {
2626
+ "name": "voteResolutionParams";
2627
+ };
2628
+ };
2629
+ }
2630
+ ];
2631
+ }
2632
+ ];
2633
+ "accounts": [
2634
+ {
2635
+ "name": "endpointSettings";
2636
+ "discriminator": [
2637
+ 221,
2638
+ 232,
2639
+ 73,
2640
+ 56,
2641
+ 10,
2642
+ 66,
2643
+ 72,
2644
+ 14
2645
+ ];
2646
+ },
2647
+ {
2648
+ "name": "fillLog";
2649
+ "discriminator": [
2650
+ 117,
2651
+ 168,
2652
+ 16,
2653
+ 123,
2654
+ 102,
2655
+ 249,
2656
+ 153,
2657
+ 9
2658
+ ];
2659
+ },
2660
+ {
2661
+ "name": "lzReceiveTypesAccounts";
2662
+ "discriminator": [
2663
+ 248,
2664
+ 87,
2665
+ 167,
2666
+ 117,
2667
+ 5,
2668
+ 251,
2669
+ 21,
2670
+ 126
2671
+ ];
2672
+ },
2673
+ {
2674
+ "name": "lzStore";
2675
+ "discriminator": [
2676
+ 180,
2677
+ 175,
2678
+ 185,
2679
+ 198,
2680
+ 25,
2681
+ 242,
2682
+ 68,
2683
+ 31
2684
+ ];
2685
+ },
2686
+ {
2687
+ "name": "market";
2688
+ "discriminator": [
2689
+ 219,
2690
+ 190,
2691
+ 213,
2692
+ 55,
2693
+ 0,
2694
+ 227,
2695
+ 198,
2696
+ 154
2697
+ ];
2698
+ },
2699
+ {
2700
+ "name": "marketInfo";
2701
+ "discriminator": [
2702
+ 221,
2703
+ 22,
2704
+ 29,
2705
+ 59,
2706
+ 10,
2707
+ 180,
2708
+ 8,
2709
+ 190
2710
+ ];
2711
+ },
2712
+ {
2713
+ "name": "order";
2714
+ "discriminator": [
2715
+ 134,
2716
+ 173,
2717
+ 223,
2718
+ 185,
2719
+ 77,
2720
+ 86,
2721
+ 28,
2722
+ 51
2723
+ ];
2724
+ },
2725
+ {
2726
+ "name": "orderBook";
2727
+ "discriminator": [
2728
+ 55,
2729
+ 230,
2730
+ 125,
2731
+ 218,
2732
+ 149,
2733
+ 39,
2734
+ 65,
2735
+ 248
2736
+ ];
2737
+ },
2738
+ {
2739
+ "name": "peerConfig";
2740
+ "discriminator": [
2741
+ 181,
2742
+ 157,
2743
+ 86,
2744
+ 198,
2745
+ 33,
2746
+ 193,
2747
+ 94,
2748
+ 203
2749
+ ];
2750
+ },
2751
+ {
2752
+ "name": "position";
2753
+ "discriminator": [
2754
+ 170,
2755
+ 188,
2756
+ 143,
2757
+ 228,
2758
+ 122,
2759
+ 64,
2760
+ 247,
2761
+ 208
2762
+ ];
2763
+ },
2764
+ {
2765
+ "name": "resolutionProposal";
2766
+ "discriminator": [
2767
+ 188,
2768
+ 203,
2769
+ 94,
2770
+ 223,
2771
+ 208,
2772
+ 121,
2773
+ 225,
2774
+ 38
2775
+ ];
2776
+ },
2777
+ {
2778
+ "name": "voteState";
2779
+ "discriminator": [
2780
+ 100,
2781
+ 177,
2782
+ 100,
2783
+ 106,
2784
+ 158,
2785
+ 188,
2786
+ 195,
2787
+ 137
2788
+ ];
2789
+ }
2790
+ ];
2791
+ "events": [
2792
+ {
2793
+ "name": "orderCancelled";
2794
+ "discriminator": [
2795
+ 108,
2796
+ 56,
2797
+ 128,
2798
+ 68,
2799
+ 168,
2800
+ 113,
2801
+ 168,
2802
+ 239
2803
+ ];
2804
+ },
2805
+ {
2806
+ "name": "orderPlaced";
2807
+ "discriminator": [
2808
+ 96,
2809
+ 130,
2810
+ 204,
2811
+ 234,
2812
+ 169,
2813
+ 219,
2814
+ 216,
2815
+ 227
2816
+ ];
2817
+ },
2818
+ {
2819
+ "name": "positionClaimed";
2820
+ "discriminator": [
2821
+ 149,
2822
+ 250,
2823
+ 141,
2824
+ 45,
2825
+ 210,
2826
+ 198,
2827
+ 94,
2828
+ 148
2829
+ ];
2830
+ },
2831
+ {
2832
+ "name": "positionUpdated";
2833
+ "discriminator": [
2834
+ 208,
2835
+ 212,
2836
+ 54,
2837
+ 188,
2838
+ 246,
2839
+ 71,
2840
+ 235,
2841
+ 88
2842
+ ];
2843
+ },
2844
+ {
2845
+ "name": "sharesMerged";
2846
+ "discriminator": [
2847
+ 159,
2848
+ 116,
2849
+ 132,
2850
+ 13,
2851
+ 58,
2852
+ 218,
2853
+ 36,
2854
+ 86
2855
+ ];
2856
+ },
2857
+ {
2858
+ "name": "trade";
2859
+ "discriminator": [
2860
+ 24,
2861
+ 254,
2862
+ 218,
2863
+ 152,
2864
+ 253,
2865
+ 43,
2866
+ 18,
2867
+ 81
2868
+ ];
2869
+ }
2870
+ ];
2871
+ "errors": [
2872
+ {
2873
+ "code": 6000;
2874
+ "name": "invalidLength";
2875
+ },
2876
+ {
2877
+ "code": 6001;
2878
+ "name": "bodyTooShort";
2879
+ },
2880
+ {
2881
+ "code": 6002;
2882
+ "name": "invalidUtf8";
2883
+ },
2884
+ {
2885
+ "code": 6003;
2886
+ "name": "invalidMessageType";
2887
+ }
2888
+ ];
2889
+ "types": [
2890
+ {
2891
+ "name": "addOrderbookSetParams";
2892
+ "docs": [
2893
+ "Parameters for adding a new orderbook set (leg) to a market"
2894
+ ];
2895
+ "type": {
2896
+ "kind": "struct";
2897
+ "fields": [
2898
+ {
2899
+ "name": "index";
2900
+ "docs": [
2901
+ "Index for this leg (must match current legs.len())"
2902
+ ];
2903
+ "type": "u8";
2904
+ },
2905
+ {
2906
+ "name": "marketData";
2907
+ "type": {
2908
+ "defined": {
2909
+ "name": "marketData";
2910
+ };
2911
+ };
2912
+ }
2913
+ ];
2914
+ };
2915
+ },
2916
+ {
2917
+ "name": "coveredBy";
2918
+ "docs": [
2919
+ "What collateral backs an order"
2920
+ ];
2921
+ "repr": {
2922
+ "kind": "rust";
2923
+ };
2924
+ "type": {
2925
+ "kind": "enum";
2926
+ "variants": [
2927
+ {
2928
+ "name": "usdc";
2929
+ },
2930
+ {
2931
+ "name": "shares";
2932
+ }
2933
+ ];
2934
+ };
2935
+ },
2936
+ {
2937
+ "name": "createMarketParams";
2938
+ "docs": [
2939
+ "Parameters for creating a new market",
2940
+ "Note: description, rules, and resolver_type are now in MarketInfo account"
2941
+ ];
2942
+ "type": {
2943
+ "kind": "struct";
2944
+ "fields": [
2945
+ {
2946
+ "name": "marketId";
2947
+ "type": "u64";
2948
+ },
2949
+ {
2950
+ "name": "category";
2951
+ "type": "string";
2952
+ },
2953
+ {
2954
+ "name": "imageUri";
2955
+ "type": "string";
2956
+ },
2957
+ {
2958
+ "name": "minOrderSize";
2959
+ "type": "u64";
2960
+ },
2961
+ {
2962
+ "name": "eventDeadline";
2963
+ "type": "i64";
2964
+ },
2965
+ {
2966
+ "name": "marketType";
2967
+ "type": {
2968
+ "defined": {
2969
+ "name": "marketType";
2970
+ };
2971
+ };
2972
+ }
2973
+ ];
2974
+ };
2975
+ },
2976
+ {
2977
+ "name": "disputeResolutionParams";
2978
+ "docs": [
2979
+ "Parameters for disputing a resolution and escalating to UMA"
2980
+ ];
2981
+ "type": {
2982
+ "kind": "struct";
2983
+ "fields": [
2984
+ {
2985
+ "name": "dstEid";
2986
+ "docs": [
2987
+ "Destination endpoint ID (e.g., Sepolia testnet)"
2988
+ ];
2989
+ "type": "u32";
2990
+ },
2991
+ {
2992
+ "name": "options";
2993
+ "docs": [
2994
+ "LayerZero options"
2995
+ ];
2996
+ "type": "bytes";
2997
+ },
2998
+ {
2999
+ "name": "nativeFee";
3000
+ "docs": [
3001
+ "Native fee for LayerZero"
3002
+ ];
3003
+ "type": "u64";
3004
+ },
3005
+ {
3006
+ "name": "lzTokenFee";
3007
+ "docs": [
3008
+ "LZ token fee (usually 0)"
3009
+ ];
3010
+ "type": "u64";
3011
+ }
3012
+ ];
3013
+ };
3014
+ },
3015
+ {
3016
+ "name": "endpointSettings";
3017
+ "type": {
3018
+ "kind": "struct";
3019
+ "fields": [
3020
+ {
3021
+ "name": "eid";
3022
+ "type": "u32";
3023
+ },
3024
+ {
3025
+ "name": "bump";
3026
+ "type": "u8";
3027
+ },
3028
+ {
3029
+ "name": "admin";
3030
+ "type": "pubkey";
3031
+ },
3032
+ {
3033
+ "name": "lzTokenMint";
3034
+ "type": {
3035
+ "option": "pubkey";
3036
+ };
3037
+ }
3038
+ ];
3039
+ };
3040
+ },
3041
+ {
3042
+ "name": "enforcedOptions";
3043
+ "type": {
3044
+ "kind": "struct";
3045
+ "fields": [
3046
+ {
3047
+ "name": "send";
3048
+ "type": "bytes";
3049
+ },
3050
+ {
3051
+ "name": "sendAndCall";
3052
+ "type": "bytes";
3053
+ }
3054
+ ];
3055
+ };
3056
+ },
3057
+ {
3058
+ "name": "fillLog";
3059
+ "docs": [
3060
+ "Persistent fill tracking for a single order book",
3061
+ "This account stores settlement state and is never closed,",
3062
+ "allowing users to claim their filled orders even after the orderbook is closed",
3063
+ "",
3064
+ "Seeds: [b\"fill_log\", market.key(), &[index], &[side as u8]]"
3065
+ ];
3066
+ "serialization": "bytemuckunsafe";
3067
+ "repr": {
3068
+ "kind": "c";
3069
+ };
3070
+ "type": {
3071
+ "kind": "struct";
3072
+ "fields": [
3073
+ {
3074
+ "name": "market";
3075
+ "docs": [
3076
+ "The market this fill log belongs to"
3077
+ ];
3078
+ "type": "pubkey";
3079
+ },
3080
+ {
3081
+ "name": "index";
3082
+ "docs": [
3083
+ "Index identifying which leg of a multi-leg market"
3084
+ ];
3085
+ "type": "u8";
3086
+ },
3087
+ {
3088
+ "name": "side";
3089
+ "docs": [
3090
+ "Side (YES or NO)"
3091
+ ];
3092
+ "type": {
3093
+ "defined": {
3094
+ "name": "orderSide";
3095
+ };
3096
+ };
3097
+ },
3098
+ {
3099
+ "name": "padding";
3100
+ "docs": [
3101
+ "Padding for alignment"
3102
+ ];
3103
+ "type": {
3104
+ "array": [
3105
+ "u8",
3106
+ 6
3107
+ ];
3108
+ };
3109
+ },
3110
+ {
3111
+ "name": "ticks";
3112
+ "docs": [
3113
+ "Per-tick settlement tracking"
3114
+ ];
3115
+ "type": {
3116
+ "array": [
3117
+ {
3118
+ "defined": {
3119
+ "name": "fillTick";
3120
+ };
3121
+ },
3122
+ 999
3123
+ ];
3124
+ };
3125
+ }
3126
+ ];
3127
+ };
3128
+ },
3129
+ {
3130
+ "name": "fillTick";
3131
+ "type": {
3132
+ "kind": "struct";
3133
+ "fields": [
3134
+ {
3135
+ "name": "filledUpTo";
3136
+ "type": "u32";
3137
+ },
3138
+ {
3139
+ "name": "padding";
3140
+ "type": "u32";
3141
+ },
3142
+ {
3143
+ "name": "partialAmount";
3144
+ "type": "u64";
3145
+ }
3146
+ ];
3147
+ };
3148
+ },
3149
+ {
3150
+ "name": "initLzStoreParams";
3151
+ "type": {
3152
+ "kind": "struct";
3153
+ "fields": [
3154
+ {
3155
+ "name": "admin";
3156
+ "type": "pubkey";
3157
+ },
3158
+ {
3159
+ "name": "endpoint";
3160
+ "type": "pubkey";
3161
+ }
3162
+ ];
3163
+ };
3164
+ },
3165
+ {
3166
+ "name": "lzAccount";
3167
+ "docs": [
3168
+ "same to anchor_lang::prelude::AccountMeta"
3169
+ ];
3170
+ "type": {
3171
+ "kind": "struct";
3172
+ "fields": [
3173
+ {
3174
+ "name": "pubkey";
3175
+ "type": "pubkey";
3176
+ },
3177
+ {
3178
+ "name": "isSigner";
3179
+ "type": "bool";
3180
+ },
3181
+ {
3182
+ "name": "isWritable";
3183
+ "type": "bool";
3184
+ }
3185
+ ];
3186
+ };
3187
+ },
3188
+ {
3189
+ "name": "lzPeerConfigParam";
3190
+ "type": {
3191
+ "kind": "enum";
3192
+ "variants": [
3193
+ {
3194
+ "name": "peerAddress";
3195
+ "fields": [
3196
+ {
3197
+ "array": [
3198
+ "u8",
3199
+ 32
3200
+ ];
3201
+ }
3202
+ ];
3203
+ },
3204
+ {
3205
+ "name": "enforcedOptions";
3206
+ "fields": [
3207
+ {
3208
+ "name": "send";
3209
+ "type": "bytes";
3210
+ },
3211
+ {
3212
+ "name": "sendAndCall";
3213
+ "type": "bytes";
3214
+ }
3215
+ ];
3216
+ }
3217
+ ];
3218
+ };
3219
+ },
3220
+ {
3221
+ "name": "lzQuoteSendParams";
3222
+ "type": {
3223
+ "kind": "struct";
3224
+ "fields": [
3225
+ {
3226
+ "name": "dstEid";
3227
+ "type": "u32";
3228
+ },
3229
+ {
3230
+ "name": "receiver";
3231
+ "type": {
3232
+ "array": [
3233
+ "u8",
3234
+ 32
3235
+ ];
3236
+ };
3237
+ },
3238
+ {
3239
+ "name": "message";
3240
+ "type": "string";
3241
+ },
3242
+ {
3243
+ "name": "options";
3244
+ "type": "bytes";
3245
+ },
3246
+ {
3247
+ "name": "payInLzToken";
3248
+ "type": "bool";
3249
+ }
3250
+ ];
3251
+ };
3252
+ },
3253
+ {
3254
+ "name": "lzReceiveParams";
3255
+ "type": {
3256
+ "kind": "struct";
3257
+ "fields": [
3258
+ {
3259
+ "name": "srcEid";
3260
+ "type": "u32";
3261
+ },
3262
+ {
3263
+ "name": "sender";
3264
+ "type": {
3265
+ "array": [
3266
+ "u8",
3267
+ 32
3268
+ ];
3269
+ };
3270
+ },
3271
+ {
3272
+ "name": "nonce";
3273
+ "type": "u64";
3274
+ },
3275
+ {
3276
+ "name": "guid";
3277
+ "type": {
3278
+ "array": [
3279
+ "u8",
3280
+ 32
3281
+ ];
3282
+ };
3283
+ },
3284
+ {
3285
+ "name": "message";
3286
+ "type": "bytes";
3287
+ },
3288
+ {
3289
+ "name": "extraData";
3290
+ "type": "bytes";
3291
+ }
3292
+ ];
3293
+ };
3294
+ },
3295
+ {
3296
+ "name": "lzReceiveTypesAccounts";
3297
+ "docs": [
3298
+ "LzReceiveTypesAccounts PDA is used by the Executor as a prerequisite to calling `lz_receive`"
3299
+ ];
3300
+ "type": {
3301
+ "kind": "struct";
3302
+ "fields": [
3303
+ {
3304
+ "name": "store";
3305
+ "type": "pubkey";
3306
+ }
3307
+ ];
3308
+ };
3309
+ },
3310
+ {
3311
+ "name": "lzResolveMarketParams";
3312
+ "type": {
3313
+ "kind": "struct";
3314
+ "fields": [
3315
+ {
3316
+ "name": "dstEid";
3317
+ "type": "u32";
3318
+ },
3319
+ {
3320
+ "name": "options";
3321
+ "type": "bytes";
3322
+ },
3323
+ {
3324
+ "name": "nativeFee";
3325
+ "type": "u64";
3326
+ },
3327
+ {
3328
+ "name": "lzTokenFee";
3329
+ "type": "u64";
3330
+ }
3331
+ ];
3332
+ };
3333
+ },
3334
+ {
3335
+ "name": "lzStore";
3336
+ "docs": [
3337
+ "Store PDA for LayerZero OApp configuration",
3338
+ "This account represents the \"address\" of the OApp on Solana"
3339
+ ];
3340
+ "type": {
3341
+ "kind": "struct";
3342
+ "fields": [
3343
+ {
3344
+ "name": "admin";
3345
+ "type": "pubkey";
3346
+ },
3347
+ {
3348
+ "name": "bump";
3349
+ "type": "u8";
3350
+ },
3351
+ {
3352
+ "name": "endpointProgram";
3353
+ "type": "pubkey";
3354
+ },
3355
+ {
3356
+ "name": "lastMessage";
3357
+ "docs": [
3358
+ "Last received cross-chain message (for debugging/tracking)"
3359
+ ];
3360
+ "type": "string";
3361
+ }
3362
+ ];
3363
+ };
3364
+ },
3365
+ {
3366
+ "name": "market";
3367
+ "docs": [
3368
+ "Market account that holds shared constants and per-leg data",
3369
+ "Space is manually calculated using calculate_regular_market_space/calculate_multileg_market_space",
3370
+ "String length constraints are enforced at runtime in instruction handlers"
3371
+ ];
3372
+ "type": {
3373
+ "kind": "struct";
3374
+ "fields": [
3375
+ {
3376
+ "name": "marketId";
3377
+ "docs": [
3378
+ "Unique market identifier"
3379
+ ];
3380
+ "type": "u64";
3381
+ },
3382
+ {
3383
+ "name": "creator";
3384
+ "docs": [
3385
+ "Creator of the market"
3386
+ ];
3387
+ "type": "pubkey";
3388
+ },
3389
+ {
3390
+ "name": "marketInfo";
3391
+ "docs": [
3392
+ "Reference to MarketInfo account (contains description, rules, resolver_type, etc.)"
3393
+ ];
3394
+ "type": "pubkey";
3395
+ },
3396
+ {
3397
+ "name": "category";
3398
+ "docs": [
3399
+ "Market category (max 32 chars, validated at runtime)"
3400
+ ];
3401
+ "type": "string";
3402
+ },
3403
+ {
3404
+ "name": "imageUri";
3405
+ "docs": [
3406
+ "Image URI for the market (max 128 chars, validated at runtime)"
3407
+ ];
3408
+ "type": "string";
3409
+ },
3410
+ {
3411
+ "name": "createdAt";
3412
+ "docs": [
3413
+ "When the market was created"
3414
+ ];
3415
+ "type": "u64";
3416
+ },
3417
+ {
3418
+ "name": "minOrderSize";
3419
+ "docs": [
3420
+ "Minimum order size in USDC base units"
3421
+ ];
3422
+ "type": "u64";
3423
+ },
3424
+ {
3425
+ "name": "eventDeadline";
3426
+ "docs": [
3427
+ "Event deadline - when the real-world event occurs (unix timestamp in seconds)"
3428
+ ];
3429
+ "type": "i64";
3430
+ },
3431
+ {
3432
+ "name": "feeBps";
3433
+ "docs": [
3434
+ "Trading fee in basis points (e.g., 100 = 1%)"
3435
+ ];
3436
+ "type": "u16";
3437
+ },
3438
+ {
3439
+ "name": "verified";
3440
+ "docs": [
3441
+ "Whether this market has been verified by an admin"
3442
+ ];
3443
+ "type": "bool";
3444
+ },
3445
+ {
3446
+ "name": "marketType";
3447
+ "docs": [
3448
+ "Market type containing per-leg data"
3449
+ ];
3450
+ "type": {
3451
+ "defined": {
3452
+ "name": "marketType";
3453
+ };
3454
+ };
3455
+ }
3456
+ ];
3457
+ };
3458
+ },
3459
+ {
3460
+ "name": "marketData";
3461
+ "docs": [
3462
+ "Per-leg market data (order books, vault, resolution state)",
3463
+ "For Regular markets, there is one MarketData. For MultiLeg markets, there is a Vec<MarketData>."
3464
+ ];
3465
+ "type": {
3466
+ "kind": "struct";
3467
+ "fields": [
3468
+ {
3469
+ "name": "name";
3470
+ "docs": [
3471
+ "Short title/name for this leg (e.g., \"BTC above 50k\")"
3472
+ ];
3473
+ "type": "string";
3474
+ },
3475
+ {
3476
+ "name": "yesOrderBook";
3477
+ "docs": [
3478
+ "YES order book account for this leg"
3479
+ ];
3480
+ "type": "pubkey";
3481
+ },
3482
+ {
3483
+ "name": "noOrderBook";
3484
+ "docs": [
3485
+ "NO order book account for this leg"
3486
+ ];
3487
+ "type": "pubkey";
3488
+ },
3489
+ {
3490
+ "name": "yesFillLog";
3491
+ "docs": [
3492
+ "YES fill log account for this leg (persistent fill tracking)"
3493
+ ];
3494
+ "type": "pubkey";
3495
+ },
3496
+ {
3497
+ "name": "noFillLog";
3498
+ "docs": [
3499
+ "NO fill log account for this leg (persistent fill tracking)"
3500
+ ];
3501
+ "type": "pubkey";
3502
+ },
3503
+ {
3504
+ "name": "vault";
3505
+ "docs": [
3506
+ "USDC vault for this leg"
3507
+ ];
3508
+ "type": "pubkey";
3509
+ },
3510
+ {
3511
+ "name": "status";
3512
+ "docs": [
3513
+ "Current status for this leg"
3514
+ ];
3515
+ "type": {
3516
+ "defined": {
3517
+ "name": "marketStatus";
3518
+ };
3519
+ };
3520
+ },
3521
+ {
3522
+ "name": "winningSide";
3523
+ "docs": [
3524
+ "Winning side for this leg (only valid when status == Resolved)"
3525
+ ];
3526
+ "type": {
3527
+ "defined": {
3528
+ "name": "orderSide";
3529
+ };
3530
+ };
3531
+ },
3532
+ {
3533
+ "name": "resolvingState";
3534
+ "docs": [
3535
+ "Resolution request state for this leg"
3536
+ ];
3537
+ "type": {
3538
+ "defined": {
3539
+ "name": "resolvingState";
3540
+ };
3541
+ };
3542
+ },
3543
+ {
3544
+ "name": "sharesOutstanding";
3545
+ "docs": [
3546
+ "Total share pairs in circulation for this leg (YES == NO == this value)"
3547
+ ];
3548
+ "type": "u64";
3549
+ },
3550
+ {
3551
+ "name": "totalVolume";
3552
+ "docs": [
3553
+ "Total trading volume in USDC base units for this leg"
3554
+ ];
3555
+ "type": "u64";
3556
+ }
3557
+ ];
3558
+ };
3559
+ },
3560
+ {
3561
+ "name": "marketInfo";
3562
+ "docs": [
3563
+ "MarketInfo account - stores market metadata separately from operational data",
3564
+ "This allows for larger text fields (rules, description) via multi-tx append operations",
3565
+ "Once used by a market, this account becomes immutable (authority set to None, is_locked = true)"
3566
+ ];
3567
+ "type": {
3568
+ "kind": "struct";
3569
+ "fields": [
3570
+ {
3571
+ "name": "authority";
3572
+ "docs": [
3573
+ "Authority who can modify this account (None = immutable)"
3574
+ ];
3575
+ "type": {
3576
+ "option": "pubkey";
3577
+ };
3578
+ },
3579
+ {
3580
+ "name": "isLocked";
3581
+ "docs": [
3582
+ "Whether this MarketInfo has been consumed by a market"
3583
+ ];
3584
+ "type": "bool";
3585
+ },
3586
+ {
3587
+ "name": "marketType";
3588
+ "docs": [
3589
+ "Market type indicator (Regular or MultiLeg)"
3590
+ ];
3591
+ "type": {
3592
+ "defined": {
3593
+ "name": "marketInfoType";
3594
+ };
3595
+ };
3596
+ },
3597
+ {
3598
+ "name": "resolverType";
3599
+ "docs": [
3600
+ "Resolver type (UmaResolver or WalletVoteResolver)"
3601
+ ];
3602
+ "type": {
3603
+ "defined": {
3604
+ "name": "resolverType";
3605
+ };
3606
+ };
3607
+ },
3608
+ {
3609
+ "name": "marketQuestion";
3610
+ "docs": [
3611
+ "Market question (must contain \"___\" if MultiLeg)"
3612
+ ];
3613
+ "type": "string";
3614
+ },
3615
+ {
3616
+ "name": "description";
3617
+ "docs": [
3618
+ "Market description"
3619
+ ];
3620
+ "type": "string";
3621
+ },
3622
+ {
3623
+ "name": "rules";
3624
+ "docs": [
3625
+ "Resolution rules (can be arbitrarily long via append operations)"
3626
+ ];
3627
+ "type": "string";
3628
+ }
3629
+ ];
3630
+ };
3631
+ },
3632
+ {
3633
+ "name": "marketInfoType";
3634
+ "docs": [
3635
+ "Market info type indicator (does not contain leg data)"
3636
+ ];
3637
+ "repr": {
3638
+ "kind": "rust";
3639
+ };
3640
+ "type": {
3641
+ "kind": "enum";
3642
+ "variants": [
3643
+ {
3644
+ "name": "regular";
3645
+ },
3646
+ {
3647
+ "name": "multiLeg";
3648
+ }
3649
+ ];
3650
+ };
3651
+ },
3652
+ {
3653
+ "name": "marketStatus";
3654
+ "docs": [
3655
+ "Market status"
3656
+ ];
3657
+ "repr": {
3658
+ "kind": "rust";
3659
+ };
3660
+ "type": {
3661
+ "kind": "enum";
3662
+ "variants": [
3663
+ {
3664
+ "name": "active";
3665
+ },
3666
+ {
3667
+ "name": "paused";
3668
+ },
3669
+ {
3670
+ "name": "resolved";
3671
+ }
3672
+ ];
3673
+ };
3674
+ },
3675
+ {
3676
+ "name": "marketType";
3677
+ "docs": [
3678
+ "Market type enum - Regular (single leg) or MultiLeg (multiple legs)"
3679
+ ];
3680
+ "type": {
3681
+ "kind": "enum";
3682
+ "variants": [
3683
+ {
3684
+ "name": "regular";
3685
+ "fields": [
3686
+ {
3687
+ "defined": {
3688
+ "name": "marketData";
3689
+ };
3690
+ }
3691
+ ];
3692
+ },
3693
+ {
3694
+ "name": "multiLeg";
3695
+ "fields": [
3696
+ {
3697
+ "vec": {
3698
+ "defined": {
3699
+ "name": "marketData";
3700
+ };
3701
+ };
3702
+ }
3703
+ ];
3704
+ }
3705
+ ];
3706
+ };
3707
+ },
3708
+ {
3709
+ "name": "messagingFee";
3710
+ "type": {
3711
+ "kind": "struct";
3712
+ "fields": [
3713
+ {
3714
+ "name": "nativeFee";
3715
+ "type": "u64";
3716
+ },
3717
+ {
3718
+ "name": "lzTokenFee";
3719
+ "type": "u64";
3720
+ }
3721
+ ];
3722
+ };
3723
+ },
3724
+ {
3725
+ "name": "order";
3726
+ "type": {
3727
+ "kind": "struct";
3728
+ "fields": [
3729
+ {
3730
+ "name": "authority";
3731
+ "type": "pubkey";
3732
+ },
3733
+ {
3734
+ "name": "market";
3735
+ "type": "pubkey";
3736
+ },
3737
+ {
3738
+ "name": "index";
3739
+ "docs": [
3740
+ "Index identifying which leg of a multi-leg market this order belongs to"
3741
+ ];
3742
+ "type": "u8";
3743
+ },
3744
+ {
3745
+ "name": "side";
3746
+ "docs": [
3747
+ "Which side this order is for (YES or NO)"
3748
+ ];
3749
+ "type": {
3750
+ "defined": {
3751
+ "name": "orderSide";
3752
+ };
3753
+ };
3754
+ },
3755
+ {
3756
+ "name": "price";
3757
+ "docs": [
3758
+ "Price in 0.1¢ increments (1-999)"
3759
+ ];
3760
+ "type": "u16";
3761
+ },
3762
+ {
3763
+ "name": "orderId";
3764
+ "docs": [
3765
+ "Order ID within the price tick"
3766
+ ];
3767
+ "type": "u32";
3768
+ },
3769
+ {
3770
+ "name": "amount";
3771
+ "docs": [
3772
+ "Number of shares"
3773
+ ];
3774
+ "type": "u64";
3775
+ },
3776
+ {
3777
+ "name": "seed";
3778
+ "docs": [
3779
+ "Unique seed for PDA derivation"
3780
+ ];
3781
+ "type": "u32";
3782
+ },
3783
+ {
3784
+ "name": "coveredBy";
3785
+ "docs": [
3786
+ "What backs this order - determines claim payout"
3787
+ ];
3788
+ "type": {
3789
+ "defined": {
3790
+ "name": "coveredBy";
3791
+ };
3792
+ };
3793
+ }
3794
+ ];
3795
+ };
3796
+ },
3797
+ {
3798
+ "name": "orderBook";
3799
+ "docs": [
3800
+ "Order book implemented as a Red-Black Tree"
3801
+ ];
3802
+ "serialization": "bytemuckunsafe";
3803
+ "repr": {
3804
+ "kind": "c";
3805
+ };
3806
+ "type": {
3807
+ "kind": "struct";
3808
+ "fields": [
3809
+ {
3810
+ "name": "side";
3811
+ "type": {
3812
+ "defined": {
3813
+ "name": "orderSide";
3814
+ };
3815
+ };
3816
+ },
3817
+ {
3818
+ "name": "index";
3819
+ "docs": [
3820
+ "Index identifying which leg of a multi-leg market this order book belongs to",
3821
+ "For regular markets, this is always 0"
3822
+ ];
3823
+ "type": "u8";
3824
+ },
3825
+ {
3826
+ "name": "padding";
3827
+ "type": {
3828
+ "array": [
3829
+ "u8",
3830
+ 6
3831
+ ];
3832
+ };
3833
+ },
3834
+ {
3835
+ "name": "market";
3836
+ "docs": [
3837
+ "The market this order book belongs to"
3838
+ ];
3839
+ "type": "pubkey";
3840
+ },
3841
+ {
3842
+ "name": "orderCount";
3843
+ "docs": [
3844
+ "Number of active orders"
3845
+ ];
3846
+ "type": "u64";
3847
+ },
3848
+ {
3849
+ "name": "fillLog";
3850
+ "docs": [
3851
+ "Reference to the associated FillLog account (for fill tracking)"
3852
+ ];
3853
+ "type": "pubkey";
3854
+ },
3855
+ {
3856
+ "name": "ticks";
3857
+ "docs": [
3858
+ "Per-tick order ID counter"
3859
+ ];
3860
+ "type": {
3861
+ "array": [
3862
+ {
3863
+ "defined": {
3864
+ "name": "orderTick";
3865
+ };
3866
+ },
3867
+ 999
3868
+ ];
3869
+ };
3870
+ },
3871
+ {
3872
+ "name": "orders";
3873
+ "docs": [
3874
+ "Red-Black Tree storing orders"
3875
+ ];
3876
+ "type": {
3877
+ "defined": {
3878
+ "name": "orderTree";
3879
+ };
3880
+ };
3881
+ }
3882
+ ];
3883
+ };
3884
+ },
3885
+ {
3886
+ "name": "orderCancelled";
3887
+ "docs": [
3888
+ "Emitted when an order is cancelled"
3889
+ ];
3890
+ "type": {
3891
+ "kind": "struct";
3892
+ "fields": [
3893
+ {
3894
+ "name": "market";
3895
+ "docs": [
3896
+ "The market this order belongs to"
3897
+ ];
3898
+ "type": "pubkey";
3899
+ },
3900
+ {
3901
+ "name": "user";
3902
+ "docs": [
3903
+ "The user who cancelled the order"
3904
+ ];
3905
+ "type": "pubkey";
3906
+ },
3907
+ {
3908
+ "name": "order";
3909
+ "docs": [
3910
+ "The order PDA"
3911
+ ];
3912
+ "type": "pubkey";
3913
+ },
3914
+ {
3915
+ "name": "side";
3916
+ "docs": [
3917
+ "YES or NO side"
3918
+ ];
3919
+ "type": {
3920
+ "defined": {
3921
+ "name": "orderSide";
3922
+ };
3923
+ };
3924
+ },
3925
+ {
3926
+ "name": "price";
3927
+ "docs": [
3928
+ "Price in basis points"
3929
+ ];
3930
+ "type": "u16";
3931
+ },
3932
+ {
3933
+ "name": "amount";
3934
+ "docs": [
3935
+ "Number of shares cancelled"
3936
+ ];
3937
+ "type": "u64";
3938
+ },
3939
+ {
3940
+ "name": "orderId";
3941
+ "docs": [
3942
+ "Order ID"
3943
+ ];
3944
+ "type": "u32";
3945
+ },
3946
+ {
3947
+ "name": "refundAmount";
3948
+ "docs": [
3949
+ "Amount refunded (USDC or shares)"
3950
+ ];
3951
+ "type": "u64";
3952
+ },
3953
+ {
3954
+ "name": "coveredBy";
3955
+ "docs": [
3956
+ "Whether backed by USDC or shares"
3957
+ ];
3958
+ "type": {
3959
+ "defined": {
3960
+ "name": "coveredBy";
3961
+ };
3962
+ };
3963
+ },
3964
+ {
3965
+ "name": "timestamp";
3966
+ "docs": [
3967
+ "Timestamp of cancellation"
3968
+ ];
3969
+ "type": "i64";
3970
+ }
3971
+ ];
3972
+ };
3973
+ },
3974
+ {
3975
+ "name": "orderPlaced";
3976
+ "docs": [
3977
+ "Emitted when a new limit order is placed"
3978
+ ];
3979
+ "type": {
3980
+ "kind": "struct";
3981
+ "fields": [
3982
+ {
3983
+ "name": "market";
3984
+ "docs": [
3985
+ "The market this order belongs to"
3986
+ ];
3987
+ "type": "pubkey";
3988
+ },
3989
+ {
3990
+ "name": "user";
3991
+ "docs": [
3992
+ "The user who placed the order"
3993
+ ];
3994
+ "type": "pubkey";
3995
+ },
3996
+ {
3997
+ "name": "order";
3998
+ "docs": [
3999
+ "The order PDA"
4000
+ ];
4001
+ "type": "pubkey";
4002
+ },
4003
+ {
4004
+ "name": "side";
4005
+ "docs": [
4006
+ "YES or NO side"
4007
+ ];
4008
+ "type": {
4009
+ "defined": {
4010
+ "name": "orderSide";
4011
+ };
4012
+ };
4013
+ },
4014
+ {
4015
+ "name": "price";
4016
+ "docs": [
4017
+ "Price in basis points (1-999)"
4018
+ ];
4019
+ "type": "u16";
4020
+ },
4021
+ {
4022
+ "name": "amount";
4023
+ "docs": [
4024
+ "Number of shares"
4025
+ ];
4026
+ "type": "u64";
4027
+ },
4028
+ {
4029
+ "name": "orderId";
4030
+ "docs": [
4031
+ "Order ID within the price tick"
4032
+ ];
4033
+ "type": "u32";
4034
+ },
4035
+ {
4036
+ "name": "coveredBy";
4037
+ "docs": [
4038
+ "Whether backed by USDC or shares"
4039
+ ];
4040
+ "type": {
4041
+ "defined": {
4042
+ "name": "coveredBy";
4043
+ };
4044
+ };
4045
+ },
4046
+ {
4047
+ "name": "timestamp";
4048
+ "docs": [
4049
+ "Timestamp of the order"
4050
+ ];
4051
+ "type": "i64";
4052
+ }
4053
+ ];
4054
+ };
4055
+ },
4056
+ {
4057
+ "name": "orderSide";
4058
+ "docs": [
4059
+ "Order side enum (YES or NO outcome, None for unresolved, Split for 50/50)"
4060
+ ];
4061
+ "repr": {
4062
+ "kind": "rust";
4063
+ };
4064
+ "type": {
4065
+ "kind": "enum";
4066
+ "variants": [
4067
+ {
4068
+ "name": "yes";
4069
+ },
4070
+ {
4071
+ "name": "no";
4072
+ },
4073
+ {
4074
+ "name": "none";
4075
+ },
4076
+ {
4077
+ "name": "split";
4078
+ }
4079
+ ];
4080
+ };
4081
+ },
4082
+ {
4083
+ "name": "orderTick";
4084
+ "type": {
4085
+ "kind": "struct";
4086
+ "fields": [
4087
+ {
4088
+ "name": "nextOrderId";
4089
+ "type": "u32";
4090
+ }
4091
+ ];
4092
+ };
4093
+ },
4094
+ {
4095
+ "name": "orderTree";
4096
+ "docs": [
4097
+ "Red-Black Tree stored as raw bytes"
4098
+ ];
4099
+ "type": {
4100
+ "kind": "type";
4101
+ "alias": {
4102
+ "array": [
4103
+ "u8",
4104
+ 16416
4105
+ ];
4106
+ };
4107
+ };
4108
+ },
4109
+ {
4110
+ "name": "peerConfig";
4111
+ "docs": [
4112
+ "PeerConfig PDAs store configuration for each remote chain",
4113
+ "For each remote chain, a PeerConfig PDA is created with the remote EID as part of the seed"
4114
+ ];
4115
+ "type": {
4116
+ "kind": "struct";
4117
+ "fields": [
4118
+ {
4119
+ "name": "peerAddress";
4120
+ "type": {
4121
+ "array": [
4122
+ "u8",
4123
+ 32
4124
+ ];
4125
+ };
4126
+ },
4127
+ {
4128
+ "name": "enforcedOptions";
4129
+ "type": {
4130
+ "defined": {
4131
+ "name": "enforcedOptions";
4132
+ };
4133
+ };
4134
+ },
4135
+ {
4136
+ "name": "bump";
4137
+ "type": "u8";
4138
+ }
4139
+ ];
4140
+ };
4141
+ },
4142
+ {
4143
+ "name": "position";
4144
+ "type": {
4145
+ "kind": "struct";
4146
+ "fields": [
4147
+ {
4148
+ "name": "market";
4149
+ "docs": [
4150
+ "The market this position belongs to"
4151
+ ];
4152
+ "type": "pubkey";
4153
+ },
4154
+ {
4155
+ "name": "index";
4156
+ "docs": [
4157
+ "Index identifying which leg of a multi-leg market this position belongs to"
4158
+ ];
4159
+ "type": "u8";
4160
+ },
4161
+ {
4162
+ "name": "user";
4163
+ "docs": [
4164
+ "The user who owns this position"
4165
+ ];
4166
+ "type": "pubkey";
4167
+ },
4168
+ {
4169
+ "name": "side";
4170
+ "docs": [
4171
+ "The side of the position (Yes or No)"
4172
+ ];
4173
+ "type": {
4174
+ "defined": {
4175
+ "name": "orderSide";
4176
+ };
4177
+ };
4178
+ },
4179
+ {
4180
+ "name": "amount";
4181
+ "docs": [
4182
+ "The number of shares held"
4183
+ ];
4184
+ "type": "u64";
4185
+ }
4186
+ ];
4187
+ };
4188
+ },
4189
+ {
4190
+ "name": "positionClaimed";
4191
+ "docs": [
4192
+ "Emitted when a position is claimed from a filled order"
4193
+ ];
4194
+ "type": {
4195
+ "kind": "struct";
4196
+ "fields": [
4197
+ {
4198
+ "name": "market";
4199
+ "docs": [
4200
+ "The market this order belongs to"
4201
+ ];
4202
+ "type": "pubkey";
4203
+ },
4204
+ {
4205
+ "name": "user";
4206
+ "docs": [
4207
+ "The user who owned the order"
4208
+ ];
4209
+ "type": "pubkey";
4210
+ },
4211
+ {
4212
+ "name": "order";
4213
+ "docs": [
4214
+ "The order PDA"
4215
+ ];
4216
+ "type": "pubkey";
4217
+ },
4218
+ {
4219
+ "name": "side";
4220
+ "docs": [
4221
+ "YES or NO side"
4222
+ ];
4223
+ "type": {
4224
+ "defined": {
4225
+ "name": "orderSide";
4226
+ };
4227
+ };
4228
+ },
4229
+ {
4230
+ "name": "price";
4231
+ "docs": [
4232
+ "Price in basis points"
4233
+ ];
4234
+ "type": "u16";
4235
+ },
4236
+ {
4237
+ "name": "claimedAmount";
4238
+ "docs": [
4239
+ "Number of shares claimed"
4240
+ ];
4241
+ "type": "u64";
4242
+ },
4243
+ {
4244
+ "name": "orderClosed";
4245
+ "docs": [
4246
+ "Whether the order is now fully claimed (closed)"
4247
+ ];
4248
+ "type": "bool";
4249
+ },
4250
+ {
4251
+ "name": "coveredBy";
4252
+ "docs": [
4253
+ "Whether backed by USDC (claims shares) or Shares (claims USDC)"
4254
+ ];
4255
+ "type": {
4256
+ "defined": {
4257
+ "name": "coveredBy";
4258
+ };
4259
+ };
4260
+ },
4261
+ {
4262
+ "name": "timestamp";
4263
+ "docs": [
4264
+ "Timestamp of the claim"
4265
+ ];
4266
+ "type": "i64";
4267
+ }
4268
+ ];
4269
+ };
4270
+ },
4271
+ {
4272
+ "name": "positionUpdated";
4273
+ "docs": [
4274
+ "Emitted when a position is updated"
4275
+ ];
4276
+ "type": {
4277
+ "kind": "struct";
4278
+ "fields": [
4279
+ {
4280
+ "name": "market";
4281
+ "docs": [
4282
+ "The market this position belongs to"
4283
+ ];
4284
+ "type": "pubkey";
4285
+ },
4286
+ {
4287
+ "name": "user";
4288
+ "docs": [
4289
+ "The user who owns the position"
4290
+ ];
4291
+ "type": "pubkey";
4292
+ },
4293
+ {
4294
+ "name": "side";
4295
+ "docs": [
4296
+ "YES or NO side"
4297
+ ];
4298
+ "type": {
4299
+ "defined": {
4300
+ "name": "orderSide";
4301
+ };
4302
+ };
4303
+ },
4304
+ {
4305
+ "name": "oldAmount";
4306
+ "docs": [
4307
+ "Previous amount"
4308
+ ];
4309
+ "type": "u64";
4310
+ },
4311
+ {
4312
+ "name": "newAmount";
4313
+ "docs": [
4314
+ "New amount"
4315
+ ];
4316
+ "type": "u64";
4317
+ },
4318
+ {
4319
+ "name": "delta";
4320
+ "docs": [
4321
+ "Change in amount (positive for increase, could track separately)"
4322
+ ];
4323
+ "type": "i64";
4324
+ },
4325
+ {
4326
+ "name": "timestamp";
4327
+ "docs": [
4328
+ "Timestamp of the update"
4329
+ ];
4330
+ "type": "i64";
4331
+ }
4332
+ ];
4333
+ };
4334
+ },
4335
+ {
4336
+ "name": "proposeResolutionParams";
4337
+ "docs": [
4338
+ "Parameters for proposing a resolution"
4339
+ ];
4340
+ "type": {
4341
+ "kind": "struct";
4342
+ "fields": [
4343
+ {
4344
+ "name": "proposedOutcome";
4345
+ "docs": [
4346
+ "Proposed outcome: 1 = Yes, 2 = No"
4347
+ ];
4348
+ "type": "u8";
4349
+ }
4350
+ ];
4351
+ };
4352
+ },
4353
+ {
4354
+ "name": "proposedOutcome";
4355
+ "docs": [
4356
+ "Represents the proposed outcome (Yes or No)"
4357
+ ];
4358
+ "repr": {
4359
+ "kind": "rust";
4360
+ };
4361
+ "type": {
4362
+ "kind": "enum";
4363
+ "variants": [
4364
+ {
4365
+ "name": "none";
4366
+ },
4367
+ {
4368
+ "name": "yes";
4369
+ },
4370
+ {
4371
+ "name": "no";
4372
+ }
4373
+ ];
4374
+ };
4375
+ },
4376
+ {
4377
+ "name": "resolutionProposal";
4378
+ "docs": [
4379
+ "Resolution proposal account for the two-tier resolution system",
4380
+ "Seeds: [\"resolution_proposal\", market.key(), index]"
4381
+ ];
4382
+ "type": {
4383
+ "kind": "struct";
4384
+ "fields": [
4385
+ {
4386
+ "name": "market";
4387
+ "docs": [
4388
+ "The market this proposal is for"
4389
+ ];
4390
+ "type": "pubkey";
4391
+ },
4392
+ {
4393
+ "name": "index";
4394
+ "docs": [
4395
+ "Index identifying which leg of a multi-leg market this proposal is for"
4396
+ ];
4397
+ "type": "u8";
4398
+ },
4399
+ {
4400
+ "name": "proposer";
4401
+ "docs": [
4402
+ "The proposer who submitted the initial resolution"
4403
+ ];
4404
+ "type": "pubkey";
4405
+ },
4406
+ {
4407
+ "name": "proposedOutcome";
4408
+ "docs": [
4409
+ "The proposed outcome (Yes or No)"
4410
+ ];
4411
+ "type": {
4412
+ "defined": {
4413
+ "name": "proposedOutcome";
4414
+ };
4415
+ };
4416
+ },
4417
+ {
4418
+ "name": "proposerBond";
4419
+ "docs": [
4420
+ "Bond amount deposited by proposer (in USDC base units)"
4421
+ ];
4422
+ "type": "u64";
4423
+ },
4424
+ {
4425
+ "name": "proposedAt";
4426
+ "docs": [
4427
+ "Timestamp when the proposal was submitted"
4428
+ ];
4429
+ "type": "i64";
4430
+ },
4431
+ {
4432
+ "name": "disputer";
4433
+ "docs": [
4434
+ "The disputer (if disputed), otherwise Pubkey::default()"
4435
+ ];
4436
+ "type": "pubkey";
4437
+ },
4438
+ {
4439
+ "name": "disputerBond";
4440
+ "docs": [
4441
+ "Bond amount deposited by disputer (in USDC base units)"
4442
+ ];
4443
+ "type": "u64";
4444
+ },
4445
+ {
4446
+ "name": "disputedAt";
4447
+ "docs": [
4448
+ "Timestamp when disputed (0 if not disputed)"
4449
+ ];
4450
+ "type": "i64";
4451
+ },
4452
+ {
4453
+ "name": "isSettled";
4454
+ "docs": [
4455
+ "Whether the resolution has been settled (UMA result received)"
4456
+ ];
4457
+ "type": "bool";
4458
+ },
4459
+ {
4460
+ "name": "bondsClaimed";
4461
+ "docs": [
4462
+ "Whether the bonds have been claimed by the winner"
4463
+ ];
4464
+ "type": "bool";
4465
+ },
4466
+ {
4467
+ "name": "bump";
4468
+ "docs": [
4469
+ "PDA bump seed"
4470
+ ];
4471
+ "type": "u8";
4472
+ }
4473
+ ];
4474
+ };
4475
+ },
4476
+ {
4477
+ "name": "resolverType";
4478
+ "docs": [
4479
+ "Resolver type - determines how market resolution is handled"
4480
+ ];
4481
+ "type": {
4482
+ "kind": "enum";
4483
+ "variants": [
4484
+ {
4485
+ "name": "umaResolver";
4486
+ },
4487
+ {
4488
+ "name": "walletVoteResolver";
4489
+ "fields": [
4490
+ {
4491
+ "name": "voters";
4492
+ "docs": [
4493
+ "List of wallet addresses that can vote (max 10)"
4494
+ ];
4495
+ "type": {
4496
+ "vec": "pubkey";
4497
+ };
4498
+ }
4499
+ ];
4500
+ }
4501
+ ];
4502
+ };
4503
+ },
4504
+ {
4505
+ "name": "resolvingState";
4506
+ "docs": [
4507
+ "Tracks resolution request state (separate from MarketStatus to allow trading during resolution)",
4508
+ "Two-tier system: Propose -> (Finalize | Dispute -> UMA -> Complete)"
4509
+ ];
4510
+ "repr": {
4511
+ "kind": "rust";
4512
+ };
4513
+ "type": {
4514
+ "kind": "enum";
4515
+ "variants": [
4516
+ {
4517
+ "name": "notStarted";
4518
+ },
4519
+ {
4520
+ "name": "proposed";
4521
+ },
4522
+ {
4523
+ "name": "disputed";
4524
+ },
4525
+ {
4526
+ "name": "completed";
4527
+ }
4528
+ ];
4529
+ };
4530
+ },
4531
+ {
4532
+ "name": "setLzPeerConfigParams";
4533
+ "type": {
4534
+ "kind": "struct";
4535
+ "fields": [
4536
+ {
4537
+ "name": "remoteEid";
4538
+ "type": "u32";
4539
+ },
4540
+ {
4541
+ "name": "config";
4542
+ "type": {
4543
+ "defined": {
4544
+ "name": "lzPeerConfigParam";
4545
+ };
4546
+ };
4547
+ }
4548
+ ];
4549
+ };
4550
+ },
4551
+ {
4552
+ "name": "sharesMerged";
4553
+ "docs": [
4554
+ "Emitted when shares are merged (redeemed for $1)"
4555
+ ];
4556
+ "type": {
4557
+ "kind": "struct";
4558
+ "fields": [
4559
+ {
4560
+ "name": "market";
4561
+ "docs": [
4562
+ "The market where shares were merged"
4563
+ ];
4564
+ "type": "pubkey";
4565
+ },
4566
+ {
4567
+ "name": "user";
4568
+ "docs": [
4569
+ "The user who merged shares"
4570
+ ];
4571
+ "type": "pubkey";
4572
+ },
4573
+ {
4574
+ "name": "amount";
4575
+ "docs": [
4576
+ "Number of share pairs merged"
4577
+ ];
4578
+ "type": "u64";
4579
+ },
4580
+ {
4581
+ "name": "usdcReceived";
4582
+ "docs": [
4583
+ "USDC received"
4584
+ ];
4585
+ "type": "u64";
4586
+ },
4587
+ {
4588
+ "name": "timestamp";
4589
+ "docs": [
4590
+ "Timestamp of the merge"
4591
+ ];
4592
+ "type": "i64";
4593
+ }
4594
+ ];
4595
+ };
4596
+ },
4597
+ {
4598
+ "name": "trade";
4599
+ "docs": [
4600
+ "Emitted when a market buy or sell trade occurs"
4601
+ ];
4602
+ "type": {
4603
+ "kind": "struct";
4604
+ "fields": [
4605
+ {
4606
+ "name": "market";
4607
+ "docs": [
4608
+ "The market where the trade occurred"
4609
+ ];
4610
+ "type": "pubkey";
4611
+ },
4612
+ {
4613
+ "name": "user";
4614
+ "docs": [
4615
+ "The user who initiated the trade"
4616
+ ];
4617
+ "type": "pubkey";
4618
+ },
4619
+ {
4620
+ "name": "index";
4621
+ "docs": [
4622
+ "The market leg index (0 for single-leg markets)"
4623
+ ];
4624
+ "type": "u8";
4625
+ },
4626
+ {
4627
+ "name": "side";
4628
+ "docs": [
4629
+ "YES or NO side"
4630
+ ];
4631
+ "type": {
4632
+ "defined": {
4633
+ "name": "orderSide";
4634
+ };
4635
+ };
4636
+ },
4637
+ {
4638
+ "name": "isBuy";
4639
+ "docs": [
4640
+ "Whether this was a buy or sell"
4641
+ ];
4642
+ "type": "bool";
4643
+ },
4644
+ {
4645
+ "name": "shares";
4646
+ "docs": [
4647
+ "Total shares traded"
4648
+ ];
4649
+ "type": "u64";
4650
+ },
4651
+ {
4652
+ "name": "usdcAmount";
4653
+ "docs": [
4654
+ "Total USDC amount"
4655
+ ];
4656
+ "type": "u64";
4657
+ },
4658
+ {
4659
+ "name": "avgPrice";
4660
+ "docs": [
4661
+ "Average price (in basis points, calculated as usdc_amount / shares / 1000)"
4662
+ ];
4663
+ "type": "u16";
4664
+ },
4665
+ {
4666
+ "name": "fillsCount";
4667
+ "docs": [
4668
+ "Number of orders matched"
4669
+ ];
4670
+ "type": "u32";
4671
+ },
4672
+ {
4673
+ "name": "timestamp";
4674
+ "docs": [
4675
+ "Timestamp of the trade"
4676
+ ];
4677
+ "type": "i64";
4678
+ }
4679
+ ];
4680
+ };
4681
+ },
4682
+ {
4683
+ "name": "voteRecord";
4684
+ "docs": [
4685
+ "Represents a single voter's vote"
4686
+ ];
4687
+ "type": {
4688
+ "kind": "struct";
4689
+ "fields": [
4690
+ {
4691
+ "name": "voter";
4692
+ "docs": [
4693
+ "The voter's wallet address"
4694
+ ];
4695
+ "type": "pubkey";
4696
+ },
4697
+ {
4698
+ "name": "vote";
4699
+ "docs": [
4700
+ "Vote value: 0=not voted, 1=Yes, 2=No"
4701
+ ];
4702
+ "type": "u8";
4703
+ },
4704
+ {
4705
+ "name": "votedAt";
4706
+ "docs": [
4707
+ "Timestamp when the vote was cast (0 if not voted)"
4708
+ ];
4709
+ "type": "i64";
4710
+ }
4711
+ ];
4712
+ };
4713
+ },
4714
+ {
4715
+ "name": "voteResolutionParams";
4716
+ "docs": [
4717
+ "Parameters for casting a vote"
4718
+ ];
4719
+ "type": {
4720
+ "kind": "struct";
4721
+ "fields": [
4722
+ {
4723
+ "name": "vote";
4724
+ "docs": [
4725
+ "Vote value: 1 = Yes, 2 = No"
4726
+ ];
4727
+ "type": "u8";
4728
+ }
4729
+ ];
4730
+ };
4731
+ },
4732
+ {
4733
+ "name": "voteState";
4734
+ "docs": [
4735
+ "Vote state account for WalletVoteResolver markets",
4736
+ "Tracks votes from authorized voters for market resolution",
4737
+ "Seeds: [\"vote_state\", market.key(), index]"
4738
+ ];
4739
+ "type": {
4740
+ "kind": "struct";
4741
+ "fields": [
4742
+ {
4743
+ "name": "market";
4744
+ "docs": [
4745
+ "The market this vote state belongs to"
4746
+ ];
4747
+ "type": "pubkey";
4748
+ },
4749
+ {
4750
+ "name": "index";
4751
+ "docs": [
4752
+ "Index identifying which leg of a multi-leg market this is for"
4753
+ ];
4754
+ "type": "u8";
4755
+ },
4756
+ {
4757
+ "name": "totalVoters";
4758
+ "docs": [
4759
+ "Total number of authorized voters"
4760
+ ];
4761
+ "type": "u8";
4762
+ },
4763
+ {
4764
+ "name": "yesVotes";
4765
+ "docs": [
4766
+ "Number of YES votes"
4767
+ ];
4768
+ "type": "u8";
4769
+ },
4770
+ {
4771
+ "name": "noVotes";
4772
+ "docs": [
4773
+ "Number of NO votes"
4774
+ ];
4775
+ "type": "u8";
4776
+ },
4777
+ {
4778
+ "name": "votes";
4779
+ "docs": [
4780
+ "Vote records for each voter (max 10)"
4781
+ ];
4782
+ "type": {
4783
+ "vec": {
4784
+ "defined": {
4785
+ "name": "voteRecord";
4786
+ };
4787
+ };
4788
+ };
4789
+ },
4790
+ {
4791
+ "name": "isFinalized";
4792
+ "docs": [
4793
+ "Whether voting has been finalized"
4794
+ ];
4795
+ "type": "bool";
4796
+ },
4797
+ {
4798
+ "name": "bump";
4799
+ "docs": [
4800
+ "PDA bump seed"
4801
+ ];
4802
+ "type": "u8";
4803
+ }
4804
+ ];
4805
+ };
4806
+ }
4807
+ ];
4808
+ };
4809
+ //# sourceMappingURL=pred_market.d.ts.map