@theliem/xmarket-sdk 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,694 @@
1
+ {
2
+ "address": "FzLnnbKtQCTKviEbrDYMLZYXNDHQdjSSa4Ybj4jAbrUL",
3
+ "metadata": {
4
+ "name": "oracle",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Oracle program for XMarket prediction platform"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "add_reporter",
12
+ "docs": [
13
+ "Add a new reporter to the oracle whitelist"
14
+ ],
15
+ "discriminator": [
16
+ 158,
17
+ 153,
18
+ 12,
19
+ 6,
20
+ 217,
21
+ 41,
22
+ 252,
23
+ 157
24
+ ],
25
+ "accounts": [
26
+ {
27
+ "name": "authority",
28
+ "docs": [
29
+ "Admin or owner who can add reporters"
30
+ ],
31
+ "writable": true,
32
+ "signer": true
33
+ },
34
+ {
35
+ "name": "oracle_config",
36
+ "docs": [
37
+ "The oracle configuration"
38
+ ],
39
+ "writable": true
40
+ },
41
+ {
42
+ "name": "reporter_address",
43
+ "docs": [
44
+ "The address being whitelisted as a reporter"
45
+ ]
46
+ },
47
+ {
48
+ "name": "reporter",
49
+ "docs": [
50
+ "The reporter account (PDA)"
51
+ ],
52
+ "writable": true,
53
+ "pda": {
54
+ "seeds": [
55
+ {
56
+ "kind": "const",
57
+ "value": [
58
+ 114,
59
+ 101,
60
+ 112,
61
+ 111,
62
+ 114,
63
+ 116,
64
+ 101,
65
+ 114
66
+ ]
67
+ },
68
+ {
69
+ "kind": "account",
70
+ "path": "oracle_config"
71
+ },
72
+ {
73
+ "kind": "account",
74
+ "path": "reporter_address"
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ {
80
+ "name": "system_program",
81
+ "docs": [
82
+ "System program for account creation"
83
+ ],
84
+ "address": "11111111111111111111111111111111"
85
+ }
86
+ ],
87
+ "args": []
88
+ },
89
+ {
90
+ "name": "initialize",
91
+ "docs": [
92
+ "Initialize a new Oracle configuration"
93
+ ],
94
+ "discriminator": [
95
+ 175,
96
+ 175,
97
+ 109,
98
+ 31,
99
+ 13,
100
+ 152,
101
+ 155,
102
+ 237
103
+ ],
104
+ "accounts": [
105
+ {
106
+ "name": "owner",
107
+ "writable": true,
108
+ "signer": true
109
+ },
110
+ {
111
+ "name": "oracle_config",
112
+ "writable": true,
113
+ "pda": {
114
+ "seeds": [
115
+ {
116
+ "kind": "const",
117
+ "value": [
118
+ 99,
119
+ 111,
120
+ 110,
121
+ 102,
122
+ 105,
123
+ 103
124
+ ]
125
+ },
126
+ {
127
+ "kind": "account",
128
+ "path": "owner"
129
+ }
130
+ ]
131
+ }
132
+ },
133
+ {
134
+ "name": "system_program",
135
+ "address": "11111111111111111111111111111111"
136
+ }
137
+ ],
138
+ "args": [
139
+ {
140
+ "name": "admin",
141
+ "type": "pubkey"
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "name": "pause",
147
+ "docs": [
148
+ "Pause or unpause the oracle"
149
+ ],
150
+ "discriminator": [
151
+ 211,
152
+ 22,
153
+ 221,
154
+ 251,
155
+ 74,
156
+ 121,
157
+ 193,
158
+ 47
159
+ ],
160
+ "accounts": [
161
+ {
162
+ "name": "authority",
163
+ "docs": [
164
+ "Admin or owner who can pause"
165
+ ],
166
+ "signer": true
167
+ },
168
+ {
169
+ "name": "oracle_config",
170
+ "docs": [
171
+ "The oracle configuration"
172
+ ],
173
+ "writable": true
174
+ }
175
+ ],
176
+ "args": [
177
+ {
178
+ "name": "paused",
179
+ "type": "bool"
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "name": "remove_reporter",
185
+ "docs": [
186
+ "Remove (deactivate) a reporter from the oracle whitelist"
187
+ ],
188
+ "discriminator": [
189
+ 165,
190
+ 229,
191
+ 140,
192
+ 210,
193
+ 40,
194
+ 24,
195
+ 27,
196
+ 34
197
+ ],
198
+ "accounts": [
199
+ {
200
+ "name": "authority",
201
+ "docs": [
202
+ "Admin or owner who can remove reporters"
203
+ ],
204
+ "signer": true
205
+ },
206
+ {
207
+ "name": "oracle_config",
208
+ "docs": [
209
+ "The oracle configuration"
210
+ ],
211
+ "writable": true
212
+ },
213
+ {
214
+ "name": "reporter_address",
215
+ "docs": [
216
+ "The address being removed as a reporter"
217
+ ]
218
+ },
219
+ {
220
+ "name": "reporter",
221
+ "docs": [
222
+ "The reporter account (PDA)"
223
+ ],
224
+ "writable": true,
225
+ "pda": {
226
+ "seeds": [
227
+ {
228
+ "kind": "const",
229
+ "value": [
230
+ 114,
231
+ 101,
232
+ 112,
233
+ 111,
234
+ 114,
235
+ 116,
236
+ 101,
237
+ 114
238
+ ]
239
+ },
240
+ {
241
+ "kind": "account",
242
+ "path": "oracle_config"
243
+ },
244
+ {
245
+ "kind": "account",
246
+ "path": "reporter_address"
247
+ }
248
+ ]
249
+ }
250
+ }
251
+ ],
252
+ "args": []
253
+ },
254
+ {
255
+ "name": "resolve_question",
256
+ "docs": [
257
+ "Resolve a question \u2014 called by whitelisted reporter",
258
+ "Creates a QuestionResult PDA with the payout vector.",
259
+ "QuestionMarket reads this to finalize the condition."
260
+ ],
261
+ "discriminator": [
262
+ 52,
263
+ 32,
264
+ 224,
265
+ 179,
266
+ 180,
267
+ 8,
268
+ 0,
269
+ 246
270
+ ],
271
+ "accounts": [
272
+ {
273
+ "name": "reporter",
274
+ "docs": [
275
+ "Whitelisted address that submits the resolution"
276
+ ],
277
+ "signer": true
278
+ },
279
+ {
280
+ "name": "oracle_config",
281
+ "docs": [
282
+ "Oracle configuration \u2014 reporter must be whitelisted"
283
+ ],
284
+ "writable": true,
285
+ "pda": {
286
+ "seeds": [
287
+ {
288
+ "kind": "const",
289
+ "value": [
290
+ 99,
291
+ 111,
292
+ 110,
293
+ 102,
294
+ 105,
295
+ 103
296
+ ]
297
+ },
298
+ {
299
+ "kind": "account",
300
+ "path": "oracle_config.owner",
301
+ "account": "OracleConfig"
302
+ }
303
+ ]
304
+ }
305
+ },
306
+ {
307
+ "name": "question_result",
308
+ "docs": [
309
+ "QuestionResult PDA \u2014 stores the resolution"
310
+ ],
311
+ "writable": true,
312
+ "pda": {
313
+ "seeds": [
314
+ {
315
+ "kind": "const",
316
+ "value": [
317
+ 114,
318
+ 101,
319
+ 115,
320
+ 117,
321
+ 108,
322
+ 116
323
+ ]
324
+ },
325
+ {
326
+ "kind": "account",
327
+ "path": "oracle_config"
328
+ },
329
+ {
330
+ "kind": "arg",
331
+ "path": "question_id"
332
+ }
333
+ ]
334
+ }
335
+ },
336
+ {
337
+ "name": "condition",
338
+ "docs": [
339
+ "Condition PDA in CTF \u2014 updated via CPI"
340
+ ],
341
+ "writable": true
342
+ },
343
+ {
344
+ "name": "conditional_tokens_program",
345
+ "docs": [
346
+ "CTF program \u2014 receives set_payout CPI"
347
+ ]
348
+ },
349
+ {
350
+ "name": "payer",
351
+ "docs": [
352
+ "Payer for QuestionResult account creation"
353
+ ],
354
+ "writable": true,
355
+ "signer": true
356
+ },
357
+ {
358
+ "name": "system_program",
359
+ "address": "11111111111111111111111111111111"
360
+ }
361
+ ],
362
+ "args": [
363
+ {
364
+ "name": "question_id",
365
+ "type": {
366
+ "array": [
367
+ "u8",
368
+ 32
369
+ ]
370
+ }
371
+ },
372
+ {
373
+ "name": "outcome_count",
374
+ "type": "u8"
375
+ },
376
+ {
377
+ "name": "payout_numerators",
378
+ "type": {
379
+ "vec": "u64"
380
+ }
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "name": "transfer_ownership",
386
+ "docs": [
387
+ "Transfer ownership of the oracle to a new owner"
388
+ ],
389
+ "discriminator": [
390
+ 65,
391
+ 177,
392
+ 215,
393
+ 73,
394
+ 53,
395
+ 45,
396
+ 99,
397
+ 47
398
+ ],
399
+ "accounts": [
400
+ {
401
+ "name": "owner",
402
+ "docs": [
403
+ "Current owner"
404
+ ],
405
+ "signer": true
406
+ },
407
+ {
408
+ "name": "oracle_config",
409
+ "docs": [
410
+ "The oracle configuration"
411
+ ],
412
+ "writable": true
413
+ }
414
+ ],
415
+ "args": [
416
+ {
417
+ "name": "new_owner",
418
+ "type": "pubkey"
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "name": "update_admin",
424
+ "docs": [
425
+ "Update the admin of the oracle"
426
+ ],
427
+ "discriminator": [
428
+ 161,
429
+ 176,
430
+ 40,
431
+ 213,
432
+ 60,
433
+ 184,
434
+ 179,
435
+ 228
436
+ ],
437
+ "accounts": [
438
+ {
439
+ "name": "owner",
440
+ "docs": [
441
+ "Current owner (only owner can change admin)"
442
+ ],
443
+ "signer": true
444
+ },
445
+ {
446
+ "name": "oracle_config",
447
+ "docs": [
448
+ "The oracle configuration"
449
+ ],
450
+ "writable": true
451
+ }
452
+ ],
453
+ "args": [
454
+ {
455
+ "name": "new_admin",
456
+ "type": "pubkey"
457
+ }
458
+ ]
459
+ }
460
+ ],
461
+ "accounts": [
462
+ {
463
+ "name": "OracleConfig",
464
+ "discriminator": [
465
+ 133,
466
+ 196,
467
+ 152,
468
+ 50,
469
+ 27,
470
+ 21,
471
+ 145,
472
+ 254
473
+ ]
474
+ },
475
+ {
476
+ "name": "QuestionResult",
477
+ "discriminator": [
478
+ 247,
479
+ 234,
480
+ 174,
481
+ 245,
482
+ 224,
483
+ 25,
484
+ 254,
485
+ 226
486
+ ]
487
+ },
488
+ {
489
+ "name": "Reporter",
490
+ "discriminator": [
491
+ 233,
492
+ 37,
493
+ 148,
494
+ 250,
495
+ 155,
496
+ 158,
497
+ 118,
498
+ 161
499
+ ]
500
+ }
501
+ ],
502
+ "types": [
503
+ {
504
+ "name": "OracleConfig",
505
+ "docs": [
506
+ "Global configuration for the Oracle program"
507
+ ],
508
+ "type": {
509
+ "kind": "struct",
510
+ "fields": [
511
+ {
512
+ "name": "version",
513
+ "type": "u8"
514
+ },
515
+ {
516
+ "name": "owner",
517
+ "type": "pubkey"
518
+ },
519
+ {
520
+ "name": "admin",
521
+ "type": "pubkey"
522
+ },
523
+ {
524
+ "name": "question_count",
525
+ "type": "u64"
526
+ },
527
+ {
528
+ "name": "whitelist",
529
+ "type": {
530
+ "array": [
531
+ "pubkey",
532
+ 10
533
+ ]
534
+ }
535
+ },
536
+ {
537
+ "name": "whitelist_len",
538
+ "type": "u8"
539
+ },
540
+ {
541
+ "name": "is_paused",
542
+ "type": "bool"
543
+ },
544
+ {
545
+ "name": "bump",
546
+ "type": "u8"
547
+ },
548
+ {
549
+ "name": "_reserved",
550
+ "type": {
551
+ "array": [
552
+ "u8",
553
+ 128
554
+ ]
555
+ }
556
+ }
557
+ ]
558
+ }
559
+ },
560
+ {
561
+ "name": "QuestionResult",
562
+ "type": {
563
+ "kind": "struct",
564
+ "fields": [
565
+ {
566
+ "name": "version",
567
+ "type": "u8"
568
+ },
569
+ {
570
+ "name": "oracle_config",
571
+ "type": "pubkey"
572
+ },
573
+ {
574
+ "name": "question_id",
575
+ "type": {
576
+ "array": [
577
+ "u8",
578
+ 32
579
+ ]
580
+ }
581
+ },
582
+ {
583
+ "name": "outcome_index",
584
+ "type": "u8"
585
+ },
586
+ {
587
+ "name": "outcome_count",
588
+ "type": "u8"
589
+ },
590
+ {
591
+ "name": "payout_numerators",
592
+ "type": {
593
+ "array": [
594
+ "u64",
595
+ 8
596
+ ]
597
+ }
598
+ },
599
+ {
600
+ "name": "is_resolved",
601
+ "type": "bool"
602
+ },
603
+ {
604
+ "name": "resolved_at",
605
+ "type": "i64"
606
+ },
607
+ {
608
+ "name": "reporter",
609
+ "type": "pubkey"
610
+ },
611
+ {
612
+ "name": "condition",
613
+ "type": {
614
+ "option": "pubkey"
615
+ }
616
+ },
617
+ {
618
+ "name": "bump",
619
+ "type": "u8"
620
+ },
621
+ {
622
+ "name": "_reserved",
623
+ "type": {
624
+ "array": [
625
+ "u8",
626
+ 64
627
+ ]
628
+ }
629
+ }
630
+ ]
631
+ }
632
+ },
633
+ {
634
+ "name": "Reporter",
635
+ "docs": [
636
+ "Represents a whitelisted reporter who can resolve questions"
637
+ ],
638
+ "type": {
639
+ "kind": "struct",
640
+ "fields": [
641
+ {
642
+ "name": "oracle_config",
643
+ "docs": [
644
+ "The oracle config this reporter belongs to"
645
+ ],
646
+ "type": "pubkey"
647
+ },
648
+ {
649
+ "name": "reporter",
650
+ "docs": [
651
+ "The reporter's public key"
652
+ ],
653
+ "type": "pubkey"
654
+ },
655
+ {
656
+ "name": "is_active",
657
+ "docs": [
658
+ "Whether the reporter is currently active"
659
+ ],
660
+ "type": "bool"
661
+ },
662
+ {
663
+ "name": "questions_reported",
664
+ "docs": [
665
+ "Number of questions this reporter has resolved"
666
+ ],
667
+ "type": "u64"
668
+ },
669
+ {
670
+ "name": "added_at",
671
+ "docs": [
672
+ "Timestamp when the reporter was added"
673
+ ],
674
+ "type": "i64"
675
+ },
676
+ {
677
+ "name": "last_updated",
678
+ "docs": [
679
+ "Timestamp when the reporter was last updated"
680
+ ],
681
+ "type": "i64"
682
+ },
683
+ {
684
+ "name": "bump",
685
+ "docs": [
686
+ "Bump seed for PDA derivation"
687
+ ],
688
+ "type": "u8"
689
+ }
690
+ ]
691
+ }
692
+ }
693
+ ]
694
+ }