@1upmonster/duel 0.1.7 → 0.2.1

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 (181) hide show
  1. package/dist/admin.d.ts +20 -42
  2. package/dist/admin.js +82 -118
  3. package/dist/encryption.js +1 -2
  4. package/dist/generated/duel/accounts/index.d.ts +10 -0
  5. package/dist/generated/duel/accounts/index.js +11 -0
  6. package/dist/generated/duel/accounts/matchTicket.d.ts +38 -0
  7. package/dist/generated/duel/accounts/matchTicket.js +45 -0
  8. package/dist/generated/duel/accounts/queue.d.ts +42 -0
  9. package/dist/generated/duel/accounts/queue.js +45 -0
  10. package/dist/generated/duel/accounts/tenant.d.ts +41 -0
  11. package/dist/generated/duel/accounts/tenant.js +44 -0
  12. package/dist/generated/duel/errors/duel.d.ts +33 -0
  13. package/dist/generated/duel/errors/duel.js +37 -0
  14. package/dist/generated/duel/errors/index.d.ts +8 -0
  15. package/dist/generated/duel/errors/index.js +9 -0
  16. package/dist/generated/duel/index.d.ts +12 -0
  17. package/dist/generated/duel/index.js +13 -0
  18. package/dist/generated/duel/instructions/cancelTicket.d.ts +45 -0
  19. package/dist/generated/duel/instructions/cancelTicket.js +56 -0
  20. package/dist/generated/duel/instructions/closeTicket.d.ts +45 -0
  21. package/dist/generated/duel/instructions/closeTicket.js +56 -0
  22. package/dist/generated/duel/instructions/commitTickets.d.ts +39 -0
  23. package/dist/generated/duel/instructions/commitTickets.js +50 -0
  24. package/dist/generated/duel/instructions/createTicket.d.ts +48 -0
  25. package/dist/generated/duel/instructions/createTicket.js +63 -0
  26. package/dist/generated/duel/instructions/delegateQueue.d.ts +69 -0
  27. package/dist/generated/duel/instructions/delegateQueue.js +90 -0
  28. package/dist/generated/duel/instructions/delegateTicket.d.ts +69 -0
  29. package/dist/generated/duel/instructions/delegateTicket.js +90 -0
  30. package/dist/generated/duel/instructions/flushMatches.d.ts +37 -0
  31. package/dist/generated/duel/instructions/flushMatches.js +43 -0
  32. package/dist/generated/duel/instructions/index.d.ts +18 -0
  33. package/dist/generated/duel/instructions/index.js +19 -0
  34. package/dist/generated/duel/instructions/initializeQueue.d.ts +48 -0
  35. package/dist/generated/duel/instructions/initializeQueue.js +63 -0
  36. package/dist/generated/duel/instructions/initializeTenant.d.ts +70 -0
  37. package/dist/generated/duel/instructions/initializeTenant.js +67 -0
  38. package/dist/generated/duel/instructions/joinQueue.d.ts +51 -0
  39. package/dist/generated/duel/instructions/joinQueue.js +56 -0
  40. package/dist/generated/duel/instructions/processUndelegation.d.ts +43 -0
  41. package/dist/generated/duel/instructions/processUndelegation.js +49 -0
  42. package/dist/generated/duel/programs/duel.d.ts +88 -0
  43. package/dist/generated/duel/programs/duel.js +138 -0
  44. package/dist/generated/duel/programs/index.d.ts +8 -0
  45. package/dist/generated/duel/programs/index.js +9 -0
  46. package/dist/generated/duel/types/accountType.d.ts +25 -0
  47. package/dist/generated/duel/types/accountType.js +25 -0
  48. package/dist/generated/duel/types/index.d.ts +13 -0
  49. package/dist/generated/duel/types/index.js +14 -0
  50. package/dist/generated/duel/types/matchEntry.d.ts +23 -0
  51. package/dist/generated/duel/types/matchEntry.js +18 -0
  52. package/dist/generated/duel/types/matchFound.d.ts +23 -0
  53. package/dist/generated/duel/types/matchFound.js +18 -0
  54. package/dist/generated/duel/types/pendingMatch.d.ts +21 -0
  55. package/dist/generated/duel/types/pendingMatch.js +18 -0
  56. package/dist/generated/duel/types/queueEntry.d.ts +19 -0
  57. package/dist/generated/duel/types/queueEntry.js +18 -0
  58. package/dist/generated/duel/types/ticketStatus.d.ts +40 -0
  59. package/dist/generated/duel/types/ticketStatus.js +25 -0
  60. package/dist/generated/rps-game/accounts/gameSession.d.ts +40 -0
  61. package/dist/generated/rps-game/accounts/gameSession.js +45 -0
  62. package/dist/generated/rps-game/accounts/index.d.ts +9 -0
  63. package/dist/generated/rps-game/accounts/index.js +10 -0
  64. package/dist/generated/rps-game/accounts/playerProfile.d.ts +36 -0
  65. package/dist/generated/rps-game/accounts/playerProfile.js +47 -0
  66. package/dist/generated/rps-game/errors/index.d.ts +8 -0
  67. package/dist/generated/rps-game/errors/index.js +9 -0
  68. package/dist/generated/rps-game/errors/rpsGame.d.ts +25 -0
  69. package/dist/generated/rps-game/errors/rpsGame.js +29 -0
  70. package/dist/generated/rps-game/index.d.ts +12 -0
  71. package/dist/generated/rps-game/index.js +13 -0
  72. package/dist/generated/rps-game/instructions/closePlayer.d.ts +45 -0
  73. package/dist/generated/rps-game/instructions/closePlayer.js +56 -0
  74. package/dist/generated/rps-game/instructions/delegatePda.d.ts +69 -0
  75. package/dist/generated/rps-game/instructions/delegatePda.js +90 -0
  76. package/dist/generated/rps-game/instructions/index.d.ts +16 -0
  77. package/dist/generated/rps-game/instructions/index.js +17 -0
  78. package/dist/generated/rps-game/instructions/initializePlayer.d.ts +48 -0
  79. package/dist/generated/rps-game/instructions/initializePlayer.js +63 -0
  80. package/dist/generated/rps-game/instructions/makeChoice.d.ts +44 -0
  81. package/dist/generated/rps-game/instructions/makeChoice.js +46 -0
  82. package/dist/generated/rps-game/instructions/onMatchFound.d.ts +43 -0
  83. package/dist/generated/rps-game/instructions/onMatchFound.js +45 -0
  84. package/dist/generated/rps-game/instructions/persistResults.d.ts +43 -0
  85. package/dist/generated/rps-game/instructions/persistResults.js +50 -0
  86. package/dist/generated/rps-game/instructions/processUndelegation.d.ts +43 -0
  87. package/dist/generated/rps-game/instructions/processUndelegation.js +49 -0
  88. package/dist/generated/rps-game/instructions/startGame.d.ts +54 -0
  89. package/dist/generated/rps-game/instructions/startGame.js +67 -0
  90. package/dist/generated/rps-game/instructions/startGameWithTicket.d.ts +57 -0
  91. package/dist/generated/rps-game/instructions/startGameWithTicket.js +67 -0
  92. package/dist/generated/rps-game/programs/index.d.ts +8 -0
  93. package/dist/generated/rps-game/programs/index.js +9 -0
  94. package/dist/generated/rps-game/programs/rpsGame.d.ts +78 -0
  95. package/dist/generated/rps-game/programs/rpsGame.js +118 -0
  96. package/dist/generated/rps-game/types/accountType.d.ts +34 -0
  97. package/dist/generated/rps-game/types/accountType.js +25 -0
  98. package/dist/generated/rps-game/types/choice.d.ts +17 -0
  99. package/dist/generated/rps-game/types/choice.js +25 -0
  100. package/dist/generated/rps-game/types/gameResult.d.ts +26 -0
  101. package/dist/generated/rps-game/types/gameResult.js +25 -0
  102. package/dist/generated/rps-game/types/index.d.ts +10 -0
  103. package/dist/generated/rps-game/types/index.js +11 -0
  104. package/dist/index.d.ts +2 -1
  105. package/dist/index.js +3 -2
  106. package/dist/player.d.ts +21 -49
  107. package/dist/player.js +61 -141
  108. package/dist/tee.d.ts +14 -0
  109. package/dist/tee.js +62 -0
  110. package/dist/transaction.d.ts +11 -0
  111. package/dist/transaction.js +50 -0
  112. package/dist/utils.d.ts +4 -4
  113. package/dist/utils.js +23 -8
  114. package/package.json +4 -7
  115. package/src/admin.ts +129 -164
  116. package/src/duel.json +66 -2
  117. package/src/encryption.ts +0 -3
  118. package/src/generated/duel/accounts/index.ts +11 -0
  119. package/src/generated/duel/accounts/matchTicket.ts +77 -0
  120. package/src/generated/duel/accounts/queue.ts +77 -0
  121. package/src/generated/duel/accounts/tenant.ts +76 -0
  122. package/src/generated/duel/errors/duel.ts +48 -0
  123. package/src/generated/duel/errors/index.ts +9 -0
  124. package/src/generated/duel/index.ts +13 -0
  125. package/src/generated/duel/instructions/cancelTicket.ts +100 -0
  126. package/src/generated/duel/instructions/closeTicket.ts +100 -0
  127. package/src/generated/duel/instructions/commitTickets.ts +84 -0
  128. package/src/generated/duel/instructions/createTicket.ts +109 -0
  129. package/src/generated/duel/instructions/delegateQueue.ts +157 -0
  130. package/src/generated/duel/instructions/delegateTicket.ts +157 -0
  131. package/src/generated/duel/instructions/flushMatches.ts +76 -0
  132. package/src/generated/duel/instructions/index.ts +19 -0
  133. package/src/generated/duel/instructions/initializeQueue.ts +109 -0
  134. package/src/generated/duel/instructions/initializeTenant.ts +126 -0
  135. package/src/generated/duel/instructions/joinQueue.ts +106 -0
  136. package/src/generated/duel/instructions/processUndelegation.ts +86 -0
  137. package/src/generated/duel/programs/duel.ts +104 -0
  138. package/src/generated/duel/programs/index.ts +9 -0
  139. package/src/generated/duel/types/accountType.ts +36 -0
  140. package/src/generated/duel/types/index.ts +14 -0
  141. package/src/generated/duel/types/matchEntry.ts +25 -0
  142. package/src/generated/duel/types/matchFound.ts +25 -0
  143. package/src/generated/duel/types/pendingMatch.ts +25 -0
  144. package/src/generated/duel/types/queueEntry.ts +25 -0
  145. package/src/generated/duel/types/ticketStatus.ts +38 -0
  146. package/src/generated/rps-game/accounts/gameSession.ts +77 -0
  147. package/src/generated/rps-game/accounts/index.ts +10 -0
  148. package/src/generated/rps-game/accounts/playerProfile.ts +80 -0
  149. package/src/generated/rps-game/errors/index.ts +9 -0
  150. package/src/generated/rps-game/errors/rpsGame.ts +40 -0
  151. package/src/generated/rps-game/index.ts +13 -0
  152. package/src/generated/rps-game/instructions/closePlayer.ts +100 -0
  153. package/src/generated/rps-game/instructions/delegatePda.ts +157 -0
  154. package/src/generated/rps-game/instructions/index.ts +17 -0
  155. package/src/generated/rps-game/instructions/initializePlayer.ts +109 -0
  156. package/src/generated/rps-game/instructions/makeChoice.ts +84 -0
  157. package/src/generated/rps-game/instructions/onMatchFound.ts +79 -0
  158. package/src/generated/rps-game/instructions/persistResults.ts +88 -0
  159. package/src/generated/rps-game/instructions/processUndelegation.ts +86 -0
  160. package/src/generated/rps-game/instructions/startGame.ts +118 -0
  161. package/src/generated/rps-game/instructions/startGameWithTicket.ts +121 -0
  162. package/src/generated/rps-game/programs/index.ts +9 -0
  163. package/src/generated/rps-game/programs/rpsGame.ts +95 -0
  164. package/src/generated/rps-game/types/accountType.ts +36 -0
  165. package/src/generated/rps-game/types/choice.ts +25 -0
  166. package/src/generated/rps-game/types/gameResult.ts +37 -0
  167. package/src/generated/rps-game/types/index.ts +11 -0
  168. package/src/index.ts +2 -1
  169. package/src/player.ts +96 -193
  170. package/src/rps_game.json +991 -0
  171. package/src/tee.ts +79 -0
  172. package/src/transaction.ts +90 -0
  173. package/src/utils.ts +35 -20
  174. package/tsconfig.json +2 -2
  175. package/dist/client.d.ts +0 -54
  176. package/dist/client.js +0 -265
  177. package/dist/duel.json +0 -517
  178. package/dist/private_matchmaking.json +0 -534
  179. package/dist/types.d.ts +0 -635
  180. package/dist/types.js +0 -2
  181. package/src/types.ts +0 -300
@@ -0,0 +1,991 @@
1
+ {
2
+ "address": "8ohu3RobXyZ2DebyJjbs2co9YCG275FUsVckEcmDbCos",
3
+ "metadata": {
4
+ "name": "rps_game",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0",
7
+ "description": "Created with Anchor"
8
+ },
9
+ "instructions": [
10
+ {
11
+ "name": "close_player",
12
+ "discriminator": [
13
+ 225,
14
+ 227,
15
+ 204,
16
+ 63,
17
+ 32,
18
+ 122,
19
+ 58,
20
+ 227
21
+ ],
22
+ "accounts": [
23
+ {
24
+ "name": "profile",
25
+ "writable": true,
26
+ "pda": {
27
+ "seeds": [
28
+ {
29
+ "kind": "const",
30
+ "value": [
31
+ 112,
32
+ 108,
33
+ 97,
34
+ 121,
35
+ 101,
36
+ 114,
37
+ 95,
38
+ 112,
39
+ 114,
40
+ 111,
41
+ 102,
42
+ 105,
43
+ 108,
44
+ 101,
45
+ 95,
46
+ 118,
47
+ 51,
48
+ 53
49
+ ]
50
+ },
51
+ {
52
+ "kind": "account",
53
+ "path": "player"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "name": "player",
60
+ "signer": true
61
+ },
62
+ {
63
+ "name": "payer",
64
+ "writable": true
65
+ }
66
+ ],
67
+ "args": []
68
+ },
69
+ {
70
+ "name": "delegate_pda",
71
+ "discriminator": [
72
+ 248,
73
+ 217,
74
+ 193,
75
+ 46,
76
+ 124,
77
+ 191,
78
+ 64,
79
+ 135
80
+ ],
81
+ "accounts": [
82
+ {
83
+ "name": "buffer_pda",
84
+ "writable": true,
85
+ "pda": {
86
+ "seeds": [
87
+ {
88
+ "kind": "const",
89
+ "value": [
90
+ 98,
91
+ 117,
92
+ 102,
93
+ 102,
94
+ 101,
95
+ 114
96
+ ]
97
+ },
98
+ {
99
+ "kind": "account",
100
+ "path": "pda"
101
+ }
102
+ ],
103
+ "program": {
104
+ "kind": "const",
105
+ "value": [
106
+ 115,
107
+ 248,
108
+ 196,
109
+ 181,
110
+ 159,
111
+ 143,
112
+ 138,
113
+ 238,
114
+ 148,
115
+ 225,
116
+ 132,
117
+ 191,
118
+ 0,
119
+ 72,
120
+ 2,
121
+ 22,
122
+ 197,
123
+ 130,
124
+ 14,
125
+ 154,
126
+ 122,
127
+ 229,
128
+ 203,
129
+ 173,
130
+ 165,
131
+ 128,
132
+ 238,
133
+ 37,
134
+ 164,
135
+ 236,
136
+ 244,
137
+ 250
138
+ ]
139
+ }
140
+ }
141
+ },
142
+ {
143
+ "name": "delegation_record_pda",
144
+ "writable": true,
145
+ "pda": {
146
+ "seeds": [
147
+ {
148
+ "kind": "const",
149
+ "value": [
150
+ 100,
151
+ 101,
152
+ 108,
153
+ 101,
154
+ 103,
155
+ 97,
156
+ 116,
157
+ 105,
158
+ 111,
159
+ 110
160
+ ]
161
+ },
162
+ {
163
+ "kind": "account",
164
+ "path": "pda"
165
+ }
166
+ ],
167
+ "program": {
168
+ "kind": "account",
169
+ "path": "delegation_program"
170
+ }
171
+ }
172
+ },
173
+ {
174
+ "name": "delegation_metadata_pda",
175
+ "writable": true,
176
+ "pda": {
177
+ "seeds": [
178
+ {
179
+ "kind": "const",
180
+ "value": [
181
+ 100,
182
+ 101,
183
+ 108,
184
+ 101,
185
+ 103,
186
+ 97,
187
+ 116,
188
+ 105,
189
+ 111,
190
+ 110,
191
+ 45,
192
+ 109,
193
+ 101,
194
+ 116,
195
+ 97,
196
+ 100,
197
+ 97,
198
+ 116,
199
+ 97
200
+ ]
201
+ },
202
+ {
203
+ "kind": "account",
204
+ "path": "pda"
205
+ }
206
+ ],
207
+ "program": {
208
+ "kind": "account",
209
+ "path": "delegation_program"
210
+ }
211
+ }
212
+ },
213
+ {
214
+ "name": "pda",
215
+ "writable": true
216
+ },
217
+ {
218
+ "name": "payer",
219
+ "writable": true,
220
+ "signer": true
221
+ },
222
+ {
223
+ "name": "validator",
224
+ "optional": true
225
+ },
226
+ {
227
+ "name": "owner_program",
228
+ "address": "8ohu3RobXyZ2DebyJjbs2co9YCG275FUsVckEcmDbCos"
229
+ },
230
+ {
231
+ "name": "delegation_program",
232
+ "address": "DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh"
233
+ },
234
+ {
235
+ "name": "system_program",
236
+ "address": "11111111111111111111111111111111"
237
+ }
238
+ ],
239
+ "args": [
240
+ {
241
+ "name": "account_type",
242
+ "type": {
243
+ "defined": {
244
+ "name": "AccountType"
245
+ }
246
+ }
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "name": "initialize_player",
252
+ "discriminator": [
253
+ 79,
254
+ 249,
255
+ 88,
256
+ 177,
257
+ 220,
258
+ 62,
259
+ 56,
260
+ 128
261
+ ],
262
+ "accounts": [
263
+ {
264
+ "name": "profile",
265
+ "writable": true,
266
+ "pda": {
267
+ "seeds": [
268
+ {
269
+ "kind": "const",
270
+ "value": [
271
+ 112,
272
+ 108,
273
+ 97,
274
+ 121,
275
+ 101,
276
+ 114,
277
+ 95,
278
+ 112,
279
+ 114,
280
+ 111,
281
+ 102,
282
+ 105,
283
+ 108,
284
+ 101,
285
+ 95,
286
+ 118,
287
+ 51,
288
+ 53
289
+ ]
290
+ },
291
+ {
292
+ "kind": "account",
293
+ "path": "player"
294
+ }
295
+ ]
296
+ }
297
+ },
298
+ {
299
+ "name": "player",
300
+ "writable": true,
301
+ "signer": true
302
+ },
303
+ {
304
+ "name": "payer",
305
+ "writable": true,
306
+ "signer": true
307
+ },
308
+ {
309
+ "name": "system_program",
310
+ "address": "11111111111111111111111111111111"
311
+ }
312
+ ],
313
+ "args": []
314
+ },
315
+ {
316
+ "name": "make_choice",
317
+ "discriminator": [
318
+ 207,
319
+ 18,
320
+ 251,
321
+ 32,
322
+ 135,
323
+ 122,
324
+ 160,
325
+ 77
326
+ ],
327
+ "accounts": [
328
+ {
329
+ "name": "game_session",
330
+ "writable": true
331
+ },
332
+ {
333
+ "name": "player1_profile",
334
+ "writable": true,
335
+ "pda": {
336
+ "seeds": [
337
+ {
338
+ "kind": "const",
339
+ "value": [
340
+ 112,
341
+ 108,
342
+ 97,
343
+ 121,
344
+ 101,
345
+ 114,
346
+ 95,
347
+ 112,
348
+ 114,
349
+ 111,
350
+ 102,
351
+ 105,
352
+ 108,
353
+ 101,
354
+ 95,
355
+ 118,
356
+ 51,
357
+ 53
358
+ ]
359
+ },
360
+ {
361
+ "kind": "account",
362
+ "path": "game_session.player1",
363
+ "account": "GameSession"
364
+ }
365
+ ]
366
+ }
367
+ },
368
+ {
369
+ "name": "player2_profile",
370
+ "writable": true,
371
+ "pda": {
372
+ "seeds": [
373
+ {
374
+ "kind": "const",
375
+ "value": [
376
+ 112,
377
+ 108,
378
+ 97,
379
+ 121,
380
+ 101,
381
+ 114,
382
+ 95,
383
+ 112,
384
+ 114,
385
+ 111,
386
+ 102,
387
+ 105,
388
+ 108,
389
+ 101,
390
+ 95,
391
+ 118,
392
+ 51,
393
+ 53
394
+ ]
395
+ },
396
+ {
397
+ "kind": "account",
398
+ "path": "game_session.player2",
399
+ "account": "GameSession"
400
+ }
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "name": "player",
406
+ "signer": true
407
+ }
408
+ ],
409
+ "args": [
410
+ {
411
+ "name": "choice",
412
+ "type": {
413
+ "defined": {
414
+ "name": "Choice"
415
+ }
416
+ }
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "name": "on_match_found",
422
+ "docs": [
423
+ "Callback handler invoked by the duel program after a match is committed.",
424
+ "Demonstrates the CPI callback pattern for permissionless integration."
425
+ ],
426
+ "discriminator": [
427
+ 66,
428
+ 209,
429
+ 170,
430
+ 159,
431
+ 10,
432
+ 195,
433
+ 34,
434
+ 214
435
+ ],
436
+ "accounts": [
437
+ {
438
+ "name": "signer",
439
+ "signer": true
440
+ }
441
+ ],
442
+ "args": [
443
+ {
444
+ "name": "player1",
445
+ "type": "pubkey"
446
+ },
447
+ {
448
+ "name": "player2",
449
+ "type": "pubkey"
450
+ },
451
+ {
452
+ "name": "match_id",
453
+ "type": "u64"
454
+ }
455
+ ]
456
+ },
457
+ {
458
+ "name": "persist_results",
459
+ "discriminator": [
460
+ 9,
461
+ 175,
462
+ 42,
463
+ 217,
464
+ 2,
465
+ 48,
466
+ 80,
467
+ 81
468
+ ],
469
+ "accounts": [
470
+ {
471
+ "name": "game_session",
472
+ "writable": true
473
+ },
474
+ {
475
+ "name": "player1_profile",
476
+ "writable": true
477
+ },
478
+ {
479
+ "name": "player2_profile",
480
+ "writable": true
481
+ },
482
+ {
483
+ "name": "payer",
484
+ "writable": true,
485
+ "signer": true
486
+ },
487
+ {
488
+ "name": "magic_program",
489
+ "address": "Magic11111111111111111111111111111111111111"
490
+ },
491
+ {
492
+ "name": "magic_context",
493
+ "writable": true,
494
+ "address": "MagicContext1111111111111111111111111111111"
495
+ }
496
+ ],
497
+ "args": []
498
+ },
499
+ {
500
+ "name": "process_undelegation",
501
+ "discriminator": [
502
+ 196,
503
+ 28,
504
+ 41,
505
+ 206,
506
+ 48,
507
+ 37,
508
+ 51,
509
+ 167
510
+ ],
511
+ "accounts": [
512
+ {
513
+ "name": "base_account",
514
+ "writable": true
515
+ },
516
+ {
517
+ "name": "buffer"
518
+ },
519
+ {
520
+ "name": "payer",
521
+ "writable": true
522
+ },
523
+ {
524
+ "name": "system_program"
525
+ }
526
+ ],
527
+ "args": [
528
+ {
529
+ "name": "account_seeds",
530
+ "type": {
531
+ "vec": "bytes"
532
+ }
533
+ }
534
+ ]
535
+ },
536
+ {
537
+ "name": "setup_game_session_permission",
538
+ "docs": [
539
+ "Set up permission for a game session PDA so co-authorities can write it on TEE.",
540
+ "`player1`, `player2`, `game_id`, and `bump` identify the exact session PDA.",
541
+ "Must be called BEFORE delegate_pda while the program still owns the PDA."
542
+ ],
543
+ "discriminator": [
544
+ 247,
545
+ 246,
546
+ 24,
547
+ 111,
548
+ 9,
549
+ 186,
550
+ 33,
551
+ 115
552
+ ],
553
+ "accounts": [
554
+ {
555
+ "name": "game_session"
556
+ },
557
+ {
558
+ "name": "payer",
559
+ "writable": true,
560
+ "signer": true
561
+ },
562
+ {
563
+ "name": "permission",
564
+ "writable": true
565
+ },
566
+ {
567
+ "name": "permission_program"
568
+ },
569
+ {
570
+ "name": "system_program",
571
+ "address": "11111111111111111111111111111111"
572
+ }
573
+ ],
574
+ "args": [
575
+ {
576
+ "name": "player1",
577
+ "type": "pubkey"
578
+ },
579
+ {
580
+ "name": "player2",
581
+ "type": "pubkey"
582
+ },
583
+ {
584
+ "name": "game_id",
585
+ "type": "u64"
586
+ },
587
+ {
588
+ "name": "bump",
589
+ "type": "u8"
590
+ },
591
+ {
592
+ "name": "co_authority",
593
+ "type": "pubkey"
594
+ }
595
+ ]
596
+ },
597
+ {
598
+ "name": "setup_profile_permission",
599
+ "docs": [
600
+ "Set up permission for player profile PDA so a co-authority can write it on TEE.",
601
+ "`bump` is the PDA bump from `find_program_address`.",
602
+ "Must be called BEFORE delegate_pda while the program still owns the PDA."
603
+ ],
604
+ "discriminator": [
605
+ 73,
606
+ 8,
607
+ 18,
608
+ 120,
609
+ 36,
610
+ 201,
611
+ 159,
612
+ 80
613
+ ],
614
+ "accounts": [
615
+ {
616
+ "name": "profile"
617
+ },
618
+ {
619
+ "name": "player",
620
+ "writable": true,
621
+ "signer": true
622
+ },
623
+ {
624
+ "name": "permission",
625
+ "writable": true
626
+ },
627
+ {
628
+ "name": "permission_program"
629
+ },
630
+ {
631
+ "name": "system_program",
632
+ "address": "11111111111111111111111111111111"
633
+ }
634
+ ],
635
+ "args": [
636
+ {
637
+ "name": "bump",
638
+ "type": "u8"
639
+ },
640
+ {
641
+ "name": "co_authority",
642
+ "type": "pubkey"
643
+ }
644
+ ]
645
+ },
646
+ {
647
+ "name": "start_game",
648
+ "discriminator": [
649
+ 249,
650
+ 47,
651
+ 252,
652
+ 172,
653
+ 184,
654
+ 162,
655
+ 245,
656
+ 14
657
+ ],
658
+ "accounts": [
659
+ {
660
+ "name": "game_session",
661
+ "writable": true,
662
+ "pda": {
663
+ "seeds": [
664
+ {
665
+ "kind": "const",
666
+ "value": [
667
+ 103,
668
+ 97,
669
+ 109,
670
+ 101,
671
+ 95,
672
+ 115,
673
+ 101,
674
+ 115,
675
+ 115,
676
+ 105,
677
+ 111,
678
+ 110,
679
+ 95,
680
+ 118,
681
+ 49
682
+ ]
683
+ },
684
+ {
685
+ "kind": "account",
686
+ "path": "player"
687
+ },
688
+ {
689
+ "kind": "arg",
690
+ "path": "opponent"
691
+ },
692
+ {
693
+ "kind": "arg",
694
+ "path": "game_id"
695
+ }
696
+ ]
697
+ }
698
+ },
699
+ {
700
+ "name": "player",
701
+ "writable": true,
702
+ "signer": true
703
+ },
704
+ {
705
+ "name": "system_program",
706
+ "address": "11111111111111111111111111111111"
707
+ }
708
+ ],
709
+ "args": [
710
+ {
711
+ "name": "game_id",
712
+ "type": "u64"
713
+ },
714
+ {
715
+ "name": "opponent",
716
+ "type": "pubkey"
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "name": "start_game_with_ticket",
722
+ "docs": [
723
+ "Start game with MatchTicket verification - proves the match was legitimately found"
724
+ ],
725
+ "discriminator": [
726
+ 2,
727
+ 250,
728
+ 253,
729
+ 202,
730
+ 51,
731
+ 138,
732
+ 80,
733
+ 20
734
+ ],
735
+ "accounts": [
736
+ {
737
+ "name": "game_session",
738
+ "writable": true,
739
+ "pda": {
740
+ "seeds": [
741
+ {
742
+ "kind": "const",
743
+ "value": [
744
+ 103,
745
+ 97,
746
+ 109,
747
+ 101,
748
+ 95,
749
+ 115,
750
+ 101,
751
+ 115,
752
+ 115,
753
+ 105,
754
+ 111,
755
+ 110,
756
+ 95,
757
+ 118,
758
+ 49
759
+ ]
760
+ },
761
+ {
762
+ "kind": "account",
763
+ "path": "player"
764
+ },
765
+ {
766
+ "kind": "arg",
767
+ "path": "opponent"
768
+ },
769
+ {
770
+ "kind": "arg",
771
+ "path": "game_id"
772
+ }
773
+ ]
774
+ }
775
+ },
776
+ {
777
+ "name": "player",
778
+ "writable": true,
779
+ "signer": true
780
+ },
781
+ {
782
+ "name": "match_ticket"
783
+ },
784
+ {
785
+ "name": "system_program",
786
+ "address": "11111111111111111111111111111111"
787
+ }
788
+ ],
789
+ "args": [
790
+ {
791
+ "name": "game_id",
792
+ "type": "u64"
793
+ },
794
+ {
795
+ "name": "opponent",
796
+ "type": "pubkey"
797
+ }
798
+ ]
799
+ }
800
+ ],
801
+ "accounts": [
802
+ {
803
+ "name": "GameSession",
804
+ "discriminator": [
805
+ 150,
806
+ 116,
807
+ 20,
808
+ 197,
809
+ 205,
810
+ 121,
811
+ 220,
812
+ 240
813
+ ]
814
+ },
815
+ {
816
+ "name": "PlayerProfile",
817
+ "discriminator": [
818
+ 82,
819
+ 226,
820
+ 99,
821
+ 87,
822
+ 164,
823
+ 130,
824
+ 181,
825
+ 80
826
+ ]
827
+ }
828
+ ],
829
+ "errors": [
830
+ {
831
+ "code": 6000,
832
+ "name": "AlreadyChose",
833
+ "msg": "Already chose"
834
+ },
835
+ {
836
+ "code": 6001,
837
+ "name": "InvalidPlayer",
838
+ "msg": "Invalid player"
839
+ },
840
+ {
841
+ "code": 6002,
842
+ "name": "InvalidMatchTicket",
843
+ "msg": "Invalid match ticket - not matched or wrong opponent"
844
+ }
845
+ ],
846
+ "types": [
847
+ {
848
+ "name": "AccountType",
849
+ "type": {
850
+ "kind": "enum",
851
+ "variants": [
852
+ {
853
+ "name": "PlayerProfile",
854
+ "fields": [
855
+ {
856
+ "name": "player",
857
+ "type": "pubkey"
858
+ }
859
+ ]
860
+ },
861
+ {
862
+ "name": "GameSession",
863
+ "fields": [
864
+ {
865
+ "name": "p1",
866
+ "type": "pubkey"
867
+ },
868
+ {
869
+ "name": "p2",
870
+ "type": "pubkey"
871
+ },
872
+ {
873
+ "name": "id",
874
+ "type": "u64"
875
+ }
876
+ ]
877
+ }
878
+ ]
879
+ }
880
+ },
881
+ {
882
+ "name": "Choice",
883
+ "type": {
884
+ "kind": "enum",
885
+ "variants": [
886
+ {
887
+ "name": "Rock"
888
+ },
889
+ {
890
+ "name": "Paper"
891
+ },
892
+ {
893
+ "name": "Scissors"
894
+ }
895
+ ]
896
+ }
897
+ },
898
+ {
899
+ "name": "GameResult",
900
+ "type": {
901
+ "kind": "enum",
902
+ "variants": [
903
+ {
904
+ "name": "Winner",
905
+ "fields": [
906
+ "pubkey"
907
+ ]
908
+ },
909
+ {
910
+ "name": "Tie"
911
+ },
912
+ {
913
+ "name": "None"
914
+ }
915
+ ]
916
+ }
917
+ },
918
+ {
919
+ "name": "GameSession",
920
+ "type": {
921
+ "kind": "struct",
922
+ "fields": [
923
+ {
924
+ "name": "game_id",
925
+ "type": "u64"
926
+ },
927
+ {
928
+ "name": "player1",
929
+ "type": "pubkey"
930
+ },
931
+ {
932
+ "name": "player2",
933
+ "type": "pubkey"
934
+ },
935
+ {
936
+ "name": "player1_choice",
937
+ "type": {
938
+ "option": {
939
+ "defined": {
940
+ "name": "Choice"
941
+ }
942
+ }
943
+ }
944
+ },
945
+ {
946
+ "name": "player2_choice",
947
+ "type": {
948
+ "option": {
949
+ "defined": {
950
+ "name": "Choice"
951
+ }
952
+ }
953
+ }
954
+ },
955
+ {
956
+ "name": "result",
957
+ "type": {
958
+ "defined": {
959
+ "name": "GameResult"
960
+ }
961
+ }
962
+ }
963
+ ]
964
+ }
965
+ },
966
+ {
967
+ "name": "PlayerProfile",
968
+ "type": {
969
+ "kind": "struct",
970
+ "fields": [
971
+ {
972
+ "name": "player",
973
+ "type": "pubkey"
974
+ },
975
+ {
976
+ "name": "elo",
977
+ "type": "u64"
978
+ },
979
+ {
980
+ "name": "games_played",
981
+ "type": "u64"
982
+ },
983
+ {
984
+ "name": "games_won",
985
+ "type": "u64"
986
+ }
987
+ ]
988
+ }
989
+ }
990
+ ]
991
+ }