@1upmonster/duel 0.1.8 → 0.2.2

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 (186) hide show
  1. package/README.md +110 -59
  2. package/dist/admin.d.ts +25 -40
  3. package/dist/admin.js +93 -114
  4. package/dist/encryption.js +1 -2
  5. package/dist/generated/duel/accounts/index.d.ts +10 -0
  6. package/dist/generated/duel/accounts/index.js +11 -0
  7. package/dist/generated/duel/accounts/matchTicket.d.ts +38 -0
  8. package/dist/generated/duel/accounts/matchTicket.js +45 -0
  9. package/dist/generated/duel/accounts/queue.d.ts +42 -0
  10. package/dist/generated/duel/accounts/queue.js +45 -0
  11. package/dist/generated/duel/accounts/tenant.d.ts +41 -0
  12. package/dist/generated/duel/accounts/tenant.js +44 -0
  13. package/dist/generated/duel/errors/duel.d.ts +31 -0
  14. package/dist/generated/duel/errors/duel.js +35 -0
  15. package/dist/generated/duel/errors/index.d.ts +8 -0
  16. package/dist/generated/duel/errors/index.js +9 -0
  17. package/dist/generated/duel/index.d.ts +12 -0
  18. package/dist/generated/duel/index.js +13 -0
  19. package/dist/generated/duel/instructions/cancelTicket.d.ts +45 -0
  20. package/dist/generated/duel/instructions/cancelTicket.js +56 -0
  21. package/dist/generated/duel/instructions/closeTicket.d.ts +45 -0
  22. package/dist/generated/duel/instructions/closeTicket.js +56 -0
  23. package/dist/generated/duel/instructions/commitTickets.d.ts +39 -0
  24. package/dist/generated/duel/instructions/commitTickets.js +50 -0
  25. package/dist/generated/duel/instructions/createTicket.d.ts +48 -0
  26. package/dist/generated/duel/instructions/createTicket.js +63 -0
  27. package/dist/generated/duel/instructions/delegateQueue.d.ts +69 -0
  28. package/dist/generated/duel/instructions/delegateQueue.js +90 -0
  29. package/dist/generated/duel/instructions/delegateTicket.d.ts +69 -0
  30. package/dist/generated/duel/instructions/delegateTicket.js +90 -0
  31. package/dist/generated/duel/instructions/flushMatches.d.ts +37 -0
  32. package/dist/generated/duel/instructions/flushMatches.js +43 -0
  33. package/dist/generated/duel/instructions/index.d.ts +19 -0
  34. package/dist/generated/duel/instructions/index.js +20 -0
  35. package/dist/generated/duel/instructions/initializeQueue.d.ts +48 -0
  36. package/dist/generated/duel/instructions/initializeQueue.js +63 -0
  37. package/dist/generated/duel/instructions/initializeTenant.d.ts +70 -0
  38. package/dist/generated/duel/instructions/initializeTenant.js +67 -0
  39. package/dist/generated/duel/instructions/joinQueue.d.ts +51 -0
  40. package/dist/generated/duel/instructions/joinQueue.js +56 -0
  41. package/dist/generated/duel/instructions/processUndelegation.d.ts +43 -0
  42. package/dist/generated/duel/instructions/processUndelegation.js +49 -0
  43. package/dist/generated/duel/instructions/setupTicketPermission.d.ts +54 -0
  44. package/dist/generated/duel/instructions/setupTicketPermission.js +63 -0
  45. package/dist/generated/duel/programs/duel.d.ts +92 -0
  46. package/dist/generated/duel/programs/duel.js +146 -0
  47. package/dist/generated/duel/programs/index.d.ts +8 -0
  48. package/dist/generated/duel/programs/index.js +9 -0
  49. package/dist/generated/duel/types/accountType.d.ts +25 -0
  50. package/dist/generated/duel/types/accountType.js +25 -0
  51. package/dist/generated/duel/types/index.d.ts +13 -0
  52. package/dist/generated/duel/types/index.js +14 -0
  53. package/dist/generated/duel/types/matchEntry.d.ts +23 -0
  54. package/dist/generated/duel/types/matchEntry.js +18 -0
  55. package/dist/generated/duel/types/matchFound.d.ts +23 -0
  56. package/dist/generated/duel/types/matchFound.js +18 -0
  57. package/dist/generated/duel/types/pendingMatch.d.ts +21 -0
  58. package/dist/generated/duel/types/pendingMatch.js +18 -0
  59. package/dist/generated/duel/types/queueEntry.d.ts +19 -0
  60. package/dist/generated/duel/types/queueEntry.js +18 -0
  61. package/dist/generated/duel/types/ticketStatus.d.ts +40 -0
  62. package/dist/generated/duel/types/ticketStatus.js +25 -0
  63. package/dist/generated/rps-game/accounts/gameSession.d.ts +40 -0
  64. package/dist/generated/rps-game/accounts/gameSession.js +45 -0
  65. package/dist/generated/rps-game/accounts/index.d.ts +9 -0
  66. package/dist/generated/rps-game/accounts/index.js +10 -0
  67. package/dist/generated/rps-game/accounts/playerProfile.d.ts +36 -0
  68. package/dist/generated/rps-game/accounts/playerProfile.js +47 -0
  69. package/dist/generated/rps-game/errors/index.d.ts +8 -0
  70. package/dist/generated/rps-game/errors/index.js +9 -0
  71. package/dist/generated/rps-game/errors/rpsGame.d.ts +25 -0
  72. package/dist/generated/rps-game/errors/rpsGame.js +29 -0
  73. package/dist/generated/rps-game/index.d.ts +12 -0
  74. package/dist/generated/rps-game/index.js +13 -0
  75. package/dist/generated/rps-game/instructions/closePlayer.d.ts +45 -0
  76. package/dist/generated/rps-game/instructions/closePlayer.js +56 -0
  77. package/dist/generated/rps-game/instructions/delegatePda.d.ts +69 -0
  78. package/dist/generated/rps-game/instructions/delegatePda.js +90 -0
  79. package/dist/generated/rps-game/instructions/index.d.ts +16 -0
  80. package/dist/generated/rps-game/instructions/index.js +17 -0
  81. package/dist/generated/rps-game/instructions/initializePlayer.d.ts +48 -0
  82. package/dist/generated/rps-game/instructions/initializePlayer.js +63 -0
  83. package/dist/generated/rps-game/instructions/makeChoice.d.ts +44 -0
  84. package/dist/generated/rps-game/instructions/makeChoice.js +46 -0
  85. package/dist/generated/rps-game/instructions/onMatchFound.d.ts +43 -0
  86. package/dist/generated/rps-game/instructions/onMatchFound.js +45 -0
  87. package/dist/generated/rps-game/instructions/persistResults.d.ts +43 -0
  88. package/dist/generated/rps-game/instructions/persistResults.js +50 -0
  89. package/dist/generated/rps-game/instructions/processUndelegation.d.ts +43 -0
  90. package/dist/generated/rps-game/instructions/processUndelegation.js +49 -0
  91. package/dist/generated/rps-game/instructions/startGame.d.ts +54 -0
  92. package/dist/generated/rps-game/instructions/startGame.js +67 -0
  93. package/dist/generated/rps-game/instructions/startGameWithTicket.d.ts +57 -0
  94. package/dist/generated/rps-game/instructions/startGameWithTicket.js +67 -0
  95. package/dist/generated/rps-game/programs/index.d.ts +8 -0
  96. package/dist/generated/rps-game/programs/index.js +9 -0
  97. package/dist/generated/rps-game/programs/rpsGame.d.ts +78 -0
  98. package/dist/generated/rps-game/programs/rpsGame.js +118 -0
  99. package/dist/generated/rps-game/types/accountType.d.ts +34 -0
  100. package/dist/generated/rps-game/types/accountType.js +25 -0
  101. package/dist/generated/rps-game/types/choice.d.ts +17 -0
  102. package/dist/generated/rps-game/types/choice.js +25 -0
  103. package/dist/generated/rps-game/types/gameResult.d.ts +26 -0
  104. package/dist/generated/rps-game/types/gameResult.js +25 -0
  105. package/dist/generated/rps-game/types/index.d.ts +10 -0
  106. package/dist/generated/rps-game/types/index.js +11 -0
  107. package/dist/index.d.ts +2 -1
  108. package/dist/index.js +3 -2
  109. package/dist/player.d.ts +25 -46
  110. package/dist/player.js +81 -140
  111. package/dist/tee.d.ts +14 -0
  112. package/dist/tee.js +62 -0
  113. package/dist/transaction.d.ts +11 -0
  114. package/dist/transaction.js +50 -0
  115. package/dist/utils.d.ts +4 -4
  116. package/dist/utils.js +23 -8
  117. package/package.json +3 -6
  118. package/src/admin.ts +151 -161
  119. package/src/duel.json +66 -7
  120. package/src/encryption.ts +0 -3
  121. package/src/generated/duel/accounts/index.ts +11 -0
  122. package/src/generated/duel/accounts/matchTicket.ts +77 -0
  123. package/src/generated/duel/accounts/queue.ts +77 -0
  124. package/src/generated/duel/accounts/tenant.ts +76 -0
  125. package/src/generated/duel/errors/duel.ts +46 -0
  126. package/src/generated/duel/errors/index.ts +9 -0
  127. package/src/generated/duel/index.ts +13 -0
  128. package/src/generated/duel/instructions/cancelTicket.ts +100 -0
  129. package/src/generated/duel/instructions/closeTicket.ts +100 -0
  130. package/src/generated/duel/instructions/commitTickets.ts +84 -0
  131. package/src/generated/duel/instructions/createTicket.ts +109 -0
  132. package/src/generated/duel/instructions/delegateQueue.ts +157 -0
  133. package/src/generated/duel/instructions/delegateTicket.ts +157 -0
  134. package/src/generated/duel/instructions/flushMatches.ts +76 -0
  135. package/src/generated/duel/instructions/index.ts +20 -0
  136. package/src/generated/duel/instructions/initializeQueue.ts +109 -0
  137. package/src/generated/duel/instructions/initializeTenant.ts +126 -0
  138. package/src/generated/duel/instructions/joinQueue.ts +106 -0
  139. package/src/generated/duel/instructions/processUndelegation.ts +86 -0
  140. package/src/generated/duel/instructions/setupTicketPermission.ts +115 -0
  141. package/src/generated/duel/programs/duel.ts +108 -0
  142. package/src/generated/duel/programs/index.ts +9 -0
  143. package/src/generated/duel/types/accountType.ts +36 -0
  144. package/src/generated/duel/types/index.ts +14 -0
  145. package/src/generated/duel/types/matchEntry.ts +25 -0
  146. package/src/generated/duel/types/matchFound.ts +25 -0
  147. package/src/generated/duel/types/pendingMatch.ts +25 -0
  148. package/src/generated/duel/types/queueEntry.ts +25 -0
  149. package/src/generated/duel/types/ticketStatus.ts +38 -0
  150. package/src/generated/rps-game/accounts/gameSession.ts +77 -0
  151. package/src/generated/rps-game/accounts/index.ts +10 -0
  152. package/src/generated/rps-game/accounts/playerProfile.ts +80 -0
  153. package/src/generated/rps-game/errors/index.ts +9 -0
  154. package/src/generated/rps-game/errors/rpsGame.ts +40 -0
  155. package/src/generated/rps-game/index.ts +13 -0
  156. package/src/generated/rps-game/instructions/closePlayer.ts +100 -0
  157. package/src/generated/rps-game/instructions/delegatePda.ts +157 -0
  158. package/src/generated/rps-game/instructions/index.ts +17 -0
  159. package/src/generated/rps-game/instructions/initializePlayer.ts +109 -0
  160. package/src/generated/rps-game/instructions/makeChoice.ts +84 -0
  161. package/src/generated/rps-game/instructions/onMatchFound.ts +79 -0
  162. package/src/generated/rps-game/instructions/persistResults.ts +88 -0
  163. package/src/generated/rps-game/instructions/processUndelegation.ts +86 -0
  164. package/src/generated/rps-game/instructions/startGame.ts +118 -0
  165. package/src/generated/rps-game/instructions/startGameWithTicket.ts +121 -0
  166. package/src/generated/rps-game/programs/index.ts +9 -0
  167. package/src/generated/rps-game/programs/rpsGame.ts +95 -0
  168. package/src/generated/rps-game/types/accountType.ts +36 -0
  169. package/src/generated/rps-game/types/choice.ts +25 -0
  170. package/src/generated/rps-game/types/gameResult.ts +37 -0
  171. package/src/generated/rps-game/types/index.ts +11 -0
  172. package/src/index.ts +2 -1
  173. package/src/player.ts +129 -192
  174. package/src/{idl/private_matchmaking.json → rps_game.json} +547 -583
  175. package/src/tee.ts +79 -0
  176. package/src/transaction.ts +90 -0
  177. package/src/utils.ts +35 -20
  178. package/tsconfig.json +2 -2
  179. package/dist/client.d.ts +0 -54
  180. package/dist/client.js +0 -265
  181. package/dist/duel.json +0 -1207
  182. package/dist/private_matchmaking.json +0 -534
  183. package/dist/types.d.ts +0 -635
  184. package/dist/types.js +0 -2
  185. package/src/idl/private_matchmaking.ts +0 -1033
  186. package/src/types.ts +0 -300
@@ -0,0 +1,23 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';
9
+ export type MatchEntry = {
10
+ player1: Address;
11
+ player2: Address;
12
+ matchId: bigint;
13
+ timestamp: bigint;
14
+ };
15
+ export type MatchEntryArgs = {
16
+ player1: Address;
17
+ player2: Address;
18
+ matchId: number | bigint;
19
+ timestamp: number | bigint;
20
+ };
21
+ export declare function getMatchEntryEncoder(): FixedSizeEncoder<MatchEntryArgs>;
22
+ export declare function getMatchEntryDecoder(): FixedSizeDecoder<MatchEntry>;
23
+ export declare function getMatchEntryCodec(): FixedSizeCodec<MatchEntryArgs, MatchEntry>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder } from '@solana/kit';
9
+ export function getMatchEntryEncoder() {
10
+ return getStructEncoder([['player1', getAddressEncoder()], ['player2', getAddressEncoder()], ['matchId', getU64Encoder()], ['timestamp', getI64Encoder()]]);
11
+ }
12
+ export function getMatchEntryDecoder() {
13
+ return getStructDecoder([['player1', getAddressDecoder()], ['player2', getAddressDecoder()], ['matchId', getU64Decoder()], ['timestamp', getI64Decoder()]]);
14
+ }
15
+ export function getMatchEntryCodec() {
16
+ return combineCodec(getMatchEntryEncoder(), getMatchEntryDecoder());
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hFbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvZHVlbC90eXBlcy9tYXRjaEVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFtRixNQUFNLGFBQWEsQ0FBQztBQU1sUSxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEssQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoSyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUM5QixPQUFPLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZUNvZGVjLCBnZXRBZGRyZXNzRGVjb2RlciwgZ2V0QWRkcmVzc0VuY29kZXIsIGdldEk2NERlY29kZXIsIGdldEk2NEVuY29kZXIsIGdldFN0cnVjdERlY29kZXIsIGdldFN0cnVjdEVuY29kZXIsIGdldFU2NERlY29kZXIsIGdldFU2NEVuY29kZXIsIHR5cGUgQWRkcmVzcywgdHlwZSBGaXhlZFNpemVDb2RlYywgdHlwZSBGaXhlZFNpemVEZWNvZGVyLCB0eXBlIEZpeGVkU2l6ZUVuY29kZXIgfSBmcm9tICdAc29sYW5hL2tpdCc7XG5cbmV4cG9ydCB0eXBlIE1hdGNoRW50cnkgPSB7IHBsYXllcjE6IEFkZHJlc3M7IHBsYXllcjI6IEFkZHJlc3M7IG1hdGNoSWQ6IGJpZ2ludDsgdGltZXN0YW1wOiBiaWdpbnQ7ICB9O1xuXG5leHBvcnQgdHlwZSBNYXRjaEVudHJ5QXJncyA9IHsgcGxheWVyMTogQWRkcmVzczsgcGxheWVyMjogQWRkcmVzczsgbWF0Y2hJZDogbnVtYmVyIHwgYmlnaW50OyB0aW1lc3RhbXA6IG51bWJlciB8IGJpZ2ludDsgIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaEVudHJ5RW5jb2RlcigpOiBGaXhlZFNpemVFbmNvZGVyPE1hdGNoRW50cnlBcmdzPiB7XG4gICAgcmV0dXJuIGdldFN0cnVjdEVuY29kZXIoW1sncGxheWVyMScsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ3BsYXllcjInLCBnZXRBZGRyZXNzRW5jb2RlcigpXSwgWydtYXRjaElkJywgZ2V0VTY0RW5jb2RlcigpXSwgWyd0aW1lc3RhbXAnLCBnZXRJNjRFbmNvZGVyKCldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaEVudHJ5RGVjb2RlcigpOiBGaXhlZFNpemVEZWNvZGVyPE1hdGNoRW50cnk+IHtcbiAgICByZXR1cm4gZ2V0U3RydWN0RGVjb2RlcihbWydwbGF5ZXIxJywgZ2V0QWRkcmVzc0RlY29kZXIoKV0sIFsncGxheWVyMicsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ21hdGNoSWQnLCBnZXRVNjREZWNvZGVyKCldLCBbJ3RpbWVzdGFtcCcsIGdldEk2NERlY29kZXIoKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoRW50cnlDb2RlYygpOiBGaXhlZFNpemVDb2RlYzxNYXRjaEVudHJ5QXJncywgTWF0Y2hFbnRyeT4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0TWF0Y2hFbnRyeUVuY29kZXIoKSwgZ2V0TWF0Y2hFbnRyeURlY29kZXIoKSk7XG59Il19
@@ -0,0 +1,23 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';
9
+ export type MatchFound = {
10
+ player1: Address;
11
+ player2: Address;
12
+ matchId: bigint;
13
+ timestamp: bigint;
14
+ };
15
+ export type MatchFoundArgs = {
16
+ player1: Address;
17
+ player2: Address;
18
+ matchId: number | bigint;
19
+ timestamp: number | bigint;
20
+ };
21
+ export declare function getMatchFoundEncoder(): FixedSizeEncoder<MatchFoundArgs>;
22
+ export declare function getMatchFoundDecoder(): FixedSizeDecoder<MatchFound>;
23
+ export declare function getMatchFoundCodec(): FixedSizeCodec<MatchFoundArgs, MatchFound>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder } from '@solana/kit';
9
+ export function getMatchFoundEncoder() {
10
+ return getStructEncoder([['player1', getAddressEncoder()], ['player2', getAddressEncoder()], ['matchId', getU64Encoder()], ['timestamp', getI64Encoder()]]);
11
+ }
12
+ export function getMatchFoundDecoder() {
13
+ return getStructDecoder([['player1', getAddressDecoder()], ['player2', getAddressDecoder()], ['matchId', getU64Decoder()], ['timestamp', getI64Decoder()]]);
14
+ }
15
+ export function getMatchFoundCodec() {
16
+ return combineCodec(getMatchFoundEncoder(), getMatchFoundDecoder());
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hGb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvZHVlbC90eXBlcy9tYXRjaEZvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFtRixNQUFNLGFBQWEsQ0FBQztBQU1sUSxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEssQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoSyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUM5QixPQUFPLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZUNvZGVjLCBnZXRBZGRyZXNzRGVjb2RlciwgZ2V0QWRkcmVzc0VuY29kZXIsIGdldEk2NERlY29kZXIsIGdldEk2NEVuY29kZXIsIGdldFN0cnVjdERlY29kZXIsIGdldFN0cnVjdEVuY29kZXIsIGdldFU2NERlY29kZXIsIGdldFU2NEVuY29kZXIsIHR5cGUgQWRkcmVzcywgdHlwZSBGaXhlZFNpemVDb2RlYywgdHlwZSBGaXhlZFNpemVEZWNvZGVyLCB0eXBlIEZpeGVkU2l6ZUVuY29kZXIgfSBmcm9tICdAc29sYW5hL2tpdCc7XG5cbmV4cG9ydCB0eXBlIE1hdGNoRm91bmQgPSB7IHBsYXllcjE6IEFkZHJlc3M7IHBsYXllcjI6IEFkZHJlc3M7IG1hdGNoSWQ6IGJpZ2ludDsgdGltZXN0YW1wOiBiaWdpbnQ7ICB9O1xuXG5leHBvcnQgdHlwZSBNYXRjaEZvdW5kQXJncyA9IHsgcGxheWVyMTogQWRkcmVzczsgcGxheWVyMjogQWRkcmVzczsgbWF0Y2hJZDogbnVtYmVyIHwgYmlnaW50OyB0aW1lc3RhbXA6IG51bWJlciB8IGJpZ2ludDsgIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaEZvdW5kRW5jb2RlcigpOiBGaXhlZFNpemVFbmNvZGVyPE1hdGNoRm91bmRBcmdzPiB7XG4gICAgcmV0dXJuIGdldFN0cnVjdEVuY29kZXIoW1sncGxheWVyMScsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ3BsYXllcjInLCBnZXRBZGRyZXNzRW5jb2RlcigpXSwgWydtYXRjaElkJywgZ2V0VTY0RW5jb2RlcigpXSwgWyd0aW1lc3RhbXAnLCBnZXRJNjRFbmNvZGVyKCldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaEZvdW5kRGVjb2RlcigpOiBGaXhlZFNpemVEZWNvZGVyPE1hdGNoRm91bmQ+IHtcbiAgICByZXR1cm4gZ2V0U3RydWN0RGVjb2RlcihbWydwbGF5ZXIxJywgZ2V0QWRkcmVzc0RlY29kZXIoKV0sIFsncGxheWVyMicsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ21hdGNoSWQnLCBnZXRVNjREZWNvZGVyKCldLCBbJ3RpbWVzdGFtcCcsIGdldEk2NERlY29kZXIoKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoRm91bmRDb2RlYygpOiBGaXhlZFNpemVDb2RlYzxNYXRjaEZvdW5kQXJncywgTWF0Y2hGb3VuZD4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0TWF0Y2hGb3VuZEVuY29kZXIoKSwgZ2V0TWF0Y2hGb3VuZERlY29kZXIoKSk7XG59Il19
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';
9
+ export type PendingMatch = {
10
+ player: Address;
11
+ opponent: Address;
12
+ matchId: bigint;
13
+ };
14
+ export type PendingMatchArgs = {
15
+ player: Address;
16
+ opponent: Address;
17
+ matchId: number | bigint;
18
+ };
19
+ export declare function getPendingMatchEncoder(): FixedSizeEncoder<PendingMatchArgs>;
20
+ export declare function getPendingMatchDecoder(): FixedSizeDecoder<PendingMatch>;
21
+ export declare function getPendingMatchCodec(): FixedSizeCodec<PendingMatchArgs, PendingMatch>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { combineCodec, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder } from '@solana/kit';
9
+ export function getPendingMatchEncoder() {
10
+ return getStructEncoder([['player', getAddressEncoder()], ['opponent', getAddressEncoder()], ['matchId', getU64Encoder()]]);
11
+ }
12
+ export function getPendingMatchDecoder() {
13
+ return getStructDecoder([['player', getAddressDecoder()], ['opponent', getAddressDecoder()], ['matchId', getU64Decoder()]]);
14
+ }
15
+ export function getPendingMatchCodec() {
16
+ return combineCodec(getPendingMatchEncoder(), getPendingMatchDecoder());
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ01hdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9kdWVsL3R5cGVzL3BlbmRpbmdNYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQW1GLE1BQU0sYUFBYSxDQUFDO0FBTXBPLE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEksQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEksQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDaEMsT0FBTyxZQUFZLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIHdhcyBBVVRPR0VORVJBVEVEIHVzaW5nIHRoZSBDb2RhbWEgbGlicmFyeS5cbiAqIFBsZWFzZSBETyBOT1QgRURJVCBUSElTIEZJTEUsIGluc3RlYWQgdXNlIHZpc2l0b3JzXG4gKiB0byBhZGQgZmVhdHVyZXMsIHRoZW4gcmVydW4gQ29kYW1hIHRvIHVwZGF0ZSBpdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RhbWEtaWRsL2NvZGFtYVxuICovXG5cbmltcG9ydCB7IGNvbWJpbmVDb2RlYywgZ2V0QWRkcmVzc0RlY29kZXIsIGdldEFkZHJlc3NFbmNvZGVyLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBnZXRVNjREZWNvZGVyLCBnZXRVNjRFbmNvZGVyLCB0eXBlIEFkZHJlc3MsIHR5cGUgRml4ZWRTaXplQ29kZWMsIHR5cGUgRml4ZWRTaXplRGVjb2RlciwgdHlwZSBGaXhlZFNpemVFbmNvZGVyIH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuXG5leHBvcnQgdHlwZSBQZW5kaW5nTWF0Y2ggPSB7IHBsYXllcjogQWRkcmVzczsgb3Bwb25lbnQ6IEFkZHJlc3M7IG1hdGNoSWQ6IGJpZ2ludDsgIH07XG5cbmV4cG9ydCB0eXBlIFBlbmRpbmdNYXRjaEFyZ3MgPSB7IHBsYXllcjogQWRkcmVzczsgb3Bwb25lbnQ6IEFkZHJlc3M7IG1hdGNoSWQ6IG51bWJlciB8IGJpZ2ludDsgIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZW5kaW5nTWF0Y2hFbmNvZGVyKCk6IEZpeGVkU2l6ZUVuY29kZXI8UGVuZGluZ01hdGNoQXJncz4ge1xuICAgIHJldHVybiBnZXRTdHJ1Y3RFbmNvZGVyKFtbJ3BsYXllcicsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ29wcG9uZW50JywgZ2V0QWRkcmVzc0VuY29kZXIoKV0sIFsnbWF0Y2hJZCcsIGdldFU2NEVuY29kZXIoKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBlbmRpbmdNYXRjaERlY29kZXIoKTogRml4ZWRTaXplRGVjb2RlcjxQZW5kaW5nTWF0Y2g+IHtcbiAgICByZXR1cm4gZ2V0U3RydWN0RGVjb2RlcihbWydwbGF5ZXInLCBnZXRBZGRyZXNzRGVjb2RlcigpXSwgWydvcHBvbmVudCcsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ21hdGNoSWQnLCBnZXRVNjREZWNvZGVyKCldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQZW5kaW5nTWF0Y2hDb2RlYygpOiBGaXhlZFNpemVDb2RlYzxQZW5kaW5nTWF0Y2hBcmdzLCBQZW5kaW5nTWF0Y2g+IHtcbiAgICByZXR1cm4gY29tYmluZUNvZGVjKGdldFBlbmRpbmdNYXRjaEVuY29kZXIoKSwgZ2V0UGVuZGluZ01hdGNoRGVjb2RlcigpKTtcbn0iXX0=
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';
9
+ export type QueueEntry = {
10
+ player: Address;
11
+ elo: bigint;
12
+ };
13
+ export type QueueEntryArgs = {
14
+ player: Address;
15
+ elo: number | bigint;
16
+ };
17
+ export declare function getQueueEntryEncoder(): FixedSizeEncoder<QueueEntryArgs>;
18
+ export declare function getQueueEntryDecoder(): FixedSizeDecoder<QueueEntry>;
19
+ export declare function getQueueEntryCodec(): FixedSizeCodec<QueueEntryArgs, QueueEntry>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { combineCodec, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder } from '@solana/kit';
9
+ export function getQueueEntryEncoder() {
10
+ return getStructEncoder([['player', getAddressEncoder()], ['elo', getU64Encoder()]]);
11
+ }
12
+ export function getQueueEntryDecoder() {
13
+ return getStructDecoder([['player', getAddressDecoder()], ['elo', getU64Decoder()]]);
14
+ }
15
+ export function getQueueEntryCodec() {
16
+ return combineCodec(getQueueEntryEncoder(), getQueueEntryDecoder());
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVFbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvZHVlbC90eXBlcy9xdWV1ZUVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBbUYsTUFBTSxhQUFhLENBQUM7QUFNcE8sTUFBTSxVQUFVLG9CQUFvQjtJQUNoQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pGLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0I7SUFDOUIsT0FBTyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIHdhcyBBVVRPR0VORVJBVEVEIHVzaW5nIHRoZSBDb2RhbWEgbGlicmFyeS5cbiAqIFBsZWFzZSBETyBOT1QgRURJVCBUSElTIEZJTEUsIGluc3RlYWQgdXNlIHZpc2l0b3JzXG4gKiB0byBhZGQgZmVhdHVyZXMsIHRoZW4gcmVydW4gQ29kYW1hIHRvIHVwZGF0ZSBpdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RhbWEtaWRsL2NvZGFtYVxuICovXG5cbmltcG9ydCB7IGNvbWJpbmVDb2RlYywgZ2V0QWRkcmVzc0RlY29kZXIsIGdldEFkZHJlc3NFbmNvZGVyLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBnZXRVNjREZWNvZGVyLCBnZXRVNjRFbmNvZGVyLCB0eXBlIEFkZHJlc3MsIHR5cGUgRml4ZWRTaXplQ29kZWMsIHR5cGUgRml4ZWRTaXplRGVjb2RlciwgdHlwZSBGaXhlZFNpemVFbmNvZGVyIH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuXG5leHBvcnQgdHlwZSBRdWV1ZUVudHJ5ID0geyBwbGF5ZXI6IEFkZHJlc3M7IGVsbzogYmlnaW50OyAgfTtcblxuZXhwb3J0IHR5cGUgUXVldWVFbnRyeUFyZ3MgPSB7IHBsYXllcjogQWRkcmVzczsgZWxvOiBudW1iZXIgfCBiaWdpbnQ7ICB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVldWVFbnRyeUVuY29kZXIoKTogRml4ZWRTaXplRW5jb2RlcjxRdWV1ZUVudHJ5QXJncz4ge1xuICAgIHJldHVybiBnZXRTdHJ1Y3RFbmNvZGVyKFtbJ3BsYXllcicsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ2VsbycsIGdldFU2NEVuY29kZXIoKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXVlRW50cnlEZWNvZGVyKCk6IEZpeGVkU2l6ZURlY29kZXI8UXVldWVFbnRyeT4ge1xuICAgIHJldHVybiBnZXRTdHJ1Y3REZWNvZGVyKFtbJ3BsYXllcicsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ2VsbycsIGdldFU2NERlY29kZXIoKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXVlRW50cnlDb2RlYygpOiBGaXhlZFNpemVDb2RlYzxRdWV1ZUVudHJ5QXJncywgUXVldWVFbnRyeT4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0UXVldWVFbnRyeUVuY29kZXIoKSwgZ2V0UXVldWVFbnRyeURlY29kZXIoKSk7XG59Il19
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type Codec, type Decoder, type Encoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent } from '@solana/kit';
9
+ export type TicketStatus = {
10
+ __kind: "Searching";
11
+ } | {
12
+ __kind: "Matched";
13
+ opponent: Address;
14
+ matchId: bigint;
15
+ } | {
16
+ __kind: "Expired";
17
+ } | {
18
+ __kind: "Cancelled";
19
+ };
20
+ export type TicketStatusArgs = {
21
+ __kind: "Searching";
22
+ } | {
23
+ __kind: "Matched";
24
+ opponent: Address;
25
+ matchId: number | bigint;
26
+ } | {
27
+ __kind: "Expired";
28
+ } | {
29
+ __kind: "Cancelled";
30
+ };
31
+ export declare function getTicketStatusEncoder(): Encoder<TicketStatusArgs>;
32
+ export declare function getTicketStatusDecoder(): Decoder<TicketStatus>;
33
+ export declare function getTicketStatusCodec(): Codec<TicketStatusArgs, TicketStatus>;
34
+ export declare function ticketStatus(kind: 'Searching'): GetDiscriminatedUnionVariant<TicketStatusArgs, '__kind', 'Searching'>;
35
+ export declare function ticketStatus(kind: 'Matched', data: GetDiscriminatedUnionVariantContent<TicketStatusArgs, '__kind', 'Matched'>): GetDiscriminatedUnionVariant<TicketStatusArgs, '__kind', 'Matched'>;
36
+ export declare function ticketStatus(kind: 'Expired'): GetDiscriminatedUnionVariant<TicketStatusArgs, '__kind', 'Expired'>;
37
+ export declare function ticketStatus(kind: 'Cancelled'): GetDiscriminatedUnionVariant<TicketStatusArgs, '__kind', 'Cancelled'>;
38
+ export declare function isTicketStatus<K extends TicketStatus['__kind']>(kind: K, value: TicketStatus): value is TicketStatus & {
39
+ __kind: K;
40
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { combineCodec, getAddressDecoder, getAddressEncoder, getDiscriminatedUnionDecoder, getDiscriminatedUnionEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, getUnitDecoder, getUnitEncoder } from '@solana/kit';
9
+ export function getTicketStatusEncoder() {
10
+ return getDiscriminatedUnionEncoder([['Searching', getUnitEncoder()], ['Matched', getStructEncoder([['opponent', getAddressEncoder()], ['matchId', getU64Encoder()]])], ['Expired', getUnitEncoder()], ['Cancelled', getUnitEncoder()]]);
11
+ }
12
+ export function getTicketStatusDecoder() {
13
+ return getDiscriminatedUnionDecoder([['Searching', getUnitDecoder()], ['Matched', getStructDecoder([['opponent', getAddressDecoder()], ['matchId', getU64Decoder()]])], ['Expired', getUnitDecoder()], ['Cancelled', getUnitDecoder()]]);
14
+ }
15
+ export function getTicketStatusCodec() {
16
+ return combineCodec(getTicketStatusEncoder(), getTicketStatusDecoder());
17
+ }
18
+ export function ticketStatus(kind, data) {
19
+ return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...(data ?? {}) };
20
+ }
21
+ export function isTicketStatus(kind, value) {
22
+ return value.__kind === kind;
23
+ }
24
+ ;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0U3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9kdWVsL3R5cGVzL3RpY2tldFN0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBcUksTUFBTSxhQUFhLENBQUM7QUFNbFgsTUFBTSxVQUFVLHNCQUFzQjtJQUNsQyxPQUFPLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN08sQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdPLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sWUFBWSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFPRCxNQUFNLFVBQVUsWUFBWSxDQUE2QyxJQUFPLEVBQUUsSUFBVztJQUMzRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbEcsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQW1DLElBQU8sRUFBRSxLQUFtQjtJQUMzRixPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQy9CLENBQUM7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZUNvZGVjLCBnZXRBZGRyZXNzRGVjb2RlciwgZ2V0QWRkcmVzc0VuY29kZXIsIGdldERpc2NyaW1pbmF0ZWRVbmlvbkRlY29kZXIsIGdldERpc2NyaW1pbmF0ZWRVbmlvbkVuY29kZXIsIGdldFN0cnVjdERlY29kZXIsIGdldFN0cnVjdEVuY29kZXIsIGdldFU2NERlY29kZXIsIGdldFU2NEVuY29kZXIsIGdldFVuaXREZWNvZGVyLCBnZXRVbml0RW5jb2RlciwgdHlwZSBBZGRyZXNzLCB0eXBlIENvZGVjLCB0eXBlIERlY29kZXIsIHR5cGUgRW5jb2RlciwgdHlwZSBHZXREaXNjcmltaW5hdGVkVW5pb25WYXJpYW50LCB0eXBlIEdldERpc2NyaW1pbmF0ZWRVbmlvblZhcmlhbnRDb250ZW50IH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuXG5leHBvcnQgdHlwZSBUaWNrZXRTdGF0dXMgPSB7IF9fa2luZDogXCJTZWFyY2hpbmdcIiB9IHwgeyBfX2tpbmQ6IFwiTWF0Y2hlZFwiLCBvcHBvbmVudDogQWRkcmVzczsgbWF0Y2hJZDogYmlnaW50OyAgfSB8IHsgX19raW5kOiBcIkV4cGlyZWRcIiB9IHwgeyBfX2tpbmQ6IFwiQ2FuY2VsbGVkXCIgfTtcblxuZXhwb3J0IHR5cGUgVGlja2V0U3RhdHVzQXJncyA9IHsgX19raW5kOiBcIlNlYXJjaGluZ1wiIH0gfCB7IF9fa2luZDogXCJNYXRjaGVkXCIsIG9wcG9uZW50OiBBZGRyZXNzOyBtYXRjaElkOiBudW1iZXIgfCBiaWdpbnQ7ICB9IHwgeyBfX2tpbmQ6IFwiRXhwaXJlZFwiIH0gfCB7IF9fa2luZDogXCJDYW5jZWxsZWRcIiB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGlja2V0U3RhdHVzRW5jb2RlcigpOiBFbmNvZGVyPFRpY2tldFN0YXR1c0FyZ3M+IHtcbiAgICByZXR1cm4gZ2V0RGlzY3JpbWluYXRlZFVuaW9uRW5jb2RlcihbWydTZWFyY2hpbmcnLCBnZXRVbml0RW5jb2RlcigpXSwgWydNYXRjaGVkJywgZ2V0U3RydWN0RW5jb2RlcihbWydvcHBvbmVudCcsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ21hdGNoSWQnLCBnZXRVNjRFbmNvZGVyKCldXSldLCBbJ0V4cGlyZWQnLCBnZXRVbml0RW5jb2RlcigpXSwgWydDYW5jZWxsZWQnLCBnZXRVbml0RW5jb2RlcigpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGlja2V0U3RhdHVzRGVjb2RlcigpOiBEZWNvZGVyPFRpY2tldFN0YXR1cz4ge1xuICAgIHJldHVybiBnZXREaXNjcmltaW5hdGVkVW5pb25EZWNvZGVyKFtbJ1NlYXJjaGluZycsIGdldFVuaXREZWNvZGVyKCldLCBbJ01hdGNoZWQnLCBnZXRTdHJ1Y3REZWNvZGVyKFtbJ29wcG9uZW50JywgZ2V0QWRkcmVzc0RlY29kZXIoKV0sIFsnbWF0Y2hJZCcsIGdldFU2NERlY29kZXIoKV1dKV0sIFsnRXhwaXJlZCcsIGdldFVuaXREZWNvZGVyKCldLCBbJ0NhbmNlbGxlZCcsIGdldFVuaXREZWNvZGVyKCldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaWNrZXRTdGF0dXNDb2RlYygpOiBDb2RlYzxUaWNrZXRTdGF0dXNBcmdzLCBUaWNrZXRTdGF0dXM+IHtcbiAgICByZXR1cm4gY29tYmluZUNvZGVjKGdldFRpY2tldFN0YXR1c0VuY29kZXIoKSwgZ2V0VGlja2V0U3RhdHVzRGVjb2RlcigpKTtcbn1cblxuLy8gRGF0YSBFbnVtIEhlbHBlcnMuXG5leHBvcnQgZnVuY3Rpb24gdGlja2V0U3RhdHVzKGtpbmQ6ICdTZWFyY2hpbmcnKTogR2V0RGlzY3JpbWluYXRlZFVuaW9uVmFyaWFudDxUaWNrZXRTdGF0dXNBcmdzLCAnX19raW5kJywgJ1NlYXJjaGluZyc+O1xuZXhwb3J0IGZ1bmN0aW9uIHRpY2tldFN0YXR1cyhraW5kOiAnTWF0Y2hlZCcsIGRhdGE6IEdldERpc2NyaW1pbmF0ZWRVbmlvblZhcmlhbnRDb250ZW50PFRpY2tldFN0YXR1c0FyZ3MsICdfX2tpbmQnLCAnTWF0Y2hlZCc+KTogR2V0RGlzY3JpbWluYXRlZFVuaW9uVmFyaWFudDxUaWNrZXRTdGF0dXNBcmdzLCAnX19raW5kJywgJ01hdGNoZWQnPjtcbmV4cG9ydCBmdW5jdGlvbiB0aWNrZXRTdGF0dXMoa2luZDogJ0V4cGlyZWQnKTogR2V0RGlzY3JpbWluYXRlZFVuaW9uVmFyaWFudDxUaWNrZXRTdGF0dXNBcmdzLCAnX19raW5kJywgJ0V4cGlyZWQnPjtcbmV4cG9ydCBmdW5jdGlvbiB0aWNrZXRTdGF0dXMoa2luZDogJ0NhbmNlbGxlZCcpOiBHZXREaXNjcmltaW5hdGVkVW5pb25WYXJpYW50PFRpY2tldFN0YXR1c0FyZ3MsICdfX2tpbmQnLCAnQ2FuY2VsbGVkJz47XG5leHBvcnQgZnVuY3Rpb24gdGlja2V0U3RhdHVzPEsgZXh0ZW5kcyBUaWNrZXRTdGF0dXNBcmdzWydfX2tpbmQnXSwgRGF0YT4oa2luZDogSywgZGF0YT86IERhdGEpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YSkgPyB7IF9fa2luZDoga2luZCwgZmllbGRzOiBkYXRhIH0gOiB7IF9fa2luZDoga2luZCwgLi4uKGRhdGEgPz8ge30pIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RpY2tldFN0YXR1czxLIGV4dGVuZHMgVGlja2V0U3RhdHVzWydfX2tpbmQnXT4oa2luZDogSywgdmFsdWU6IFRpY2tldFN0YXR1cyk6IHZhbHVlIGlzIFRpY2tldFN0YXR1cyAmIHsgX19raW5kOiBLIH0ge1xuICByZXR1cm4gdmFsdWUuX19raW5kID09PSBraW5kO1xufTtcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type Codec, type Decoder, type EncodedAccount, type Encoder, type FetchAccountConfig, type FetchAccountsConfig, type MaybeAccount, type MaybeEncodedAccount, type Option, type OptionOrNullable, type ReadonlyUint8Array } from '@solana/kit';
9
+ import { type Choice, type ChoiceArgs, type GameResult, type GameResultArgs } from '../types';
10
+ export declare const GAME_SESSION_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getGameSessionDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
12
+ export type GameSession = {
13
+ discriminator: ReadonlyUint8Array;
14
+ gameId: bigint;
15
+ player1: Address;
16
+ player2: Address;
17
+ player1Choice: Option<Choice>;
18
+ player2Choice: Option<Choice>;
19
+ result: GameResult;
20
+ };
21
+ export type GameSessionArgs = {
22
+ gameId: number | bigint;
23
+ player1: Address;
24
+ player2: Address;
25
+ player1Choice: OptionOrNullable<ChoiceArgs>;
26
+ player2Choice: OptionOrNullable<ChoiceArgs>;
27
+ result: GameResultArgs;
28
+ };
29
+ /** Gets the encoder for {@link GameSessionArgs} account data. */
30
+ export declare function getGameSessionEncoder(): Encoder<GameSessionArgs>;
31
+ /** Gets the decoder for {@link GameSession} account data. */
32
+ export declare function getGameSessionDecoder(): Decoder<GameSession>;
33
+ /** Gets the codec for {@link GameSession} account data. */
34
+ export declare function getGameSessionCodec(): Codec<GameSessionArgs, GameSession>;
35
+ export declare function decodeGameSession<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<GameSession, TAddress>;
36
+ export declare function decodeGameSession<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<GameSession, TAddress>;
37
+ export declare function fetchGameSession<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<GameSession, TAddress>>;
38
+ export declare function fetchMaybeGameSession<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<GameSession, TAddress>>;
39
+ export declare function fetchAllGameSession(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<GameSession>[]>;
40
+ export declare function fetchAllMaybeGameSession(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<GameSession>[]>;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, transformEncoder } from '@solana/kit';
9
+ import { getChoiceDecoder, getChoiceEncoder, getGameResultDecoder, getGameResultEncoder } from '../types';
10
+ export const GAME_SESSION_DISCRIMINATOR = new Uint8Array([150, 116, 20, 197, 205, 121, 220, 240]);
11
+ export function getGameSessionDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(GAME_SESSION_DISCRIMINATOR); }
12
+ /** Gets the encoder for {@link GameSessionArgs} account data. */
13
+ export function getGameSessionEncoder() {
14
+ return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['gameId', getU64Encoder()], ['player1', getAddressEncoder()], ['player2', getAddressEncoder()], ['player1Choice', getOptionEncoder(getChoiceEncoder())], ['player2Choice', getOptionEncoder(getChoiceEncoder())], ['result', getGameResultEncoder()]]), (value) => ({ ...value, discriminator: GAME_SESSION_DISCRIMINATOR }));
15
+ }
16
+ /** Gets the decoder for {@link GameSession} account data. */
17
+ export function getGameSessionDecoder() {
18
+ return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['gameId', getU64Decoder()], ['player1', getAddressDecoder()], ['player2', getAddressDecoder()], ['player1Choice', getOptionDecoder(getChoiceDecoder())], ['player2Choice', getOptionDecoder(getChoiceDecoder())], ['result', getGameResultDecoder()]]);
19
+ }
20
+ /** Gets the codec for {@link GameSession} account data. */
21
+ export function getGameSessionCodec() {
22
+ return combineCodec(getGameSessionEncoder(), getGameSessionDecoder());
23
+ }
24
+ export function decodeGameSession(encodedAccount) {
25
+ return decodeAccount(encodedAccount, getGameSessionDecoder());
26
+ }
27
+ export async function fetchGameSession(rpc, address, config) {
28
+ const maybeAccount = await fetchMaybeGameSession(rpc, address, config);
29
+ assertAccountExists(maybeAccount);
30
+ return maybeAccount;
31
+ }
32
+ export async function fetchMaybeGameSession(rpc, address, config) {
33
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
34
+ return decodeGameSession(maybeAccount);
35
+ }
36
+ export async function fetchAllGameSession(rpc, addresses, config) {
37
+ const maybeAccounts = await fetchAllMaybeGameSession(rpc, addresses, config);
38
+ assertAccountsExist(maybeAccounts);
39
+ return maybeAccounts;
40
+ }
41
+ export async function fetchAllMaybeGameSession(rpc, addresses, config) {
42
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
43
+ return maybeAccounts.map((maybeAccount) => decodeGameSession(maybeAccount));
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZVNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3Jwcy1nYW1lL2FjY291bnRzL2dhbWVTZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUF3UCxNQUFNLGFBQWEsQ0FBQztBQUNybUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFzRSxNQUFNLFVBQVUsQ0FBQztBQUU5SyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sVUFBVSxnQ0FBZ0MsS0FBSyxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFNdEksaUVBQWlFO0FBQ2pFLE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsT0FBTyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsYUFBYSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RhLENBQUM7QUFFRCw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOVUsQ0FBQztBQUVELDJEQUEyRDtBQUMzRCxNQUFNLFVBQVUsbUJBQW1CO0lBQy9CLE9BQU8sWUFBWSxDQUFDLHFCQUFxQixFQUFFLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFJRCxNQUFNLFVBQVUsaUJBQWlCLENBQW1DLGNBQXdFO0lBQzFJLE9BQU8sYUFBYSxDQUFDLGNBQStDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQ2pHLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUE4QyxFQUM5QyxPQUEwQixFQUMxQixNQUEyQjtJQUUzQixNQUFNLFlBQVksR0FBRyxNQUFNLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkUsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLEdBQThDLEVBQzlDLE9BQTBCLEVBQzFCLE1BQTJCO0lBRTNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxPQUFPLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLG1CQUFtQixDQUN2QyxHQUErQyxFQUMvQyxTQUF5QixFQUN6QixNQUE0QjtJQUU1QixNQUFNLGFBQWEsR0FBRyxNQUFNLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0UsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsd0JBQXdCLENBQzVDLEdBQStDLEVBQy9DLFNBQXlCLEVBQ3pCLE1BQTRCO0lBRTVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RSxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIHdhcyBBVVRPR0VORVJBVEVEIHVzaW5nIHRoZSBDb2RhbWEgbGlicmFyeS5cbiAqIFBsZWFzZSBETyBOT1QgRURJVCBUSElTIEZJTEUsIGluc3RlYWQgdXNlIHZpc2l0b3JzXG4gKiB0byBhZGQgZmVhdHVyZXMsIHRoZW4gcmVydW4gQ29kYW1hIHRvIHVwZGF0ZSBpdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RhbWEtaWRsL2NvZGFtYVxuICovXG5cbmltcG9ydCB7IGFzc2VydEFjY291bnRFeGlzdHMsIGFzc2VydEFjY291bnRzRXhpc3QsIGNvbWJpbmVDb2RlYywgZGVjb2RlQWNjb3VudCwgZmV0Y2hFbmNvZGVkQWNjb3VudCwgZmV0Y2hFbmNvZGVkQWNjb3VudHMsIGZpeERlY29kZXJTaXplLCBmaXhFbmNvZGVyU2l6ZSwgZ2V0QWRkcmVzc0RlY29kZXIsIGdldEFkZHJlc3NFbmNvZGVyLCBnZXRCeXRlc0RlY29kZXIsIGdldEJ5dGVzRW5jb2RlciwgZ2V0T3B0aW9uRGVjb2RlciwgZ2V0T3B0aW9uRW5jb2RlciwgZ2V0U3RydWN0RGVjb2RlciwgZ2V0U3RydWN0RW5jb2RlciwgZ2V0VTY0RGVjb2RlciwgZ2V0VTY0RW5jb2RlciwgdHJhbnNmb3JtRW5jb2RlciwgdHlwZSBBY2NvdW50LCB0eXBlIEFkZHJlc3MsIHR5cGUgQ29kZWMsIHR5cGUgRGVjb2RlciwgdHlwZSBFbmNvZGVkQWNjb3VudCwgdHlwZSBFbmNvZGVyLCB0eXBlIEZldGNoQWNjb3VudENvbmZpZywgdHlwZSBGZXRjaEFjY291bnRzQ29uZmlnLCB0eXBlIE1heWJlQWNjb3VudCwgdHlwZSBNYXliZUVuY29kZWRBY2NvdW50LCB0eXBlIE9wdGlvbiwgdHlwZSBPcHRpb25Pck51bGxhYmxlLCB0eXBlIFJlYWRvbmx5VWludDhBcnJheSB9IGZyb20gJ0Bzb2xhbmEva2l0JztcbmltcG9ydCB7IGdldENob2ljZURlY29kZXIsIGdldENob2ljZUVuY29kZXIsIGdldEdhbWVSZXN1bHREZWNvZGVyLCBnZXRHYW1lUmVzdWx0RW5jb2RlciwgdHlwZSBDaG9pY2UsIHR5cGUgQ2hvaWNlQXJncywgdHlwZSBHYW1lUmVzdWx0LCB0eXBlIEdhbWVSZXN1bHRBcmdzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgR0FNRV9TRVNTSU9OX0RJU0NSSU1JTkFUT1IgPSBuZXcgVWludDhBcnJheShbMTUwLCAxMTYsIDIwLCAxOTcsIDIwNSwgMTIxLCAyMjAsIDI0MF0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2FtZVNlc3Npb25EaXNjcmltaW5hdG9yQnl0ZXMoKSB7IHJldHVybiBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCkuZW5jb2RlKEdBTUVfU0VTU0lPTl9ESVNDUklNSU5BVE9SKTsgfVxuXG5leHBvcnQgdHlwZSBHYW1lU2Vzc2lvbiA9IHsgZGlzY3JpbWluYXRvcjogUmVhZG9ubHlVaW50OEFycmF5OyBnYW1lSWQ6IGJpZ2ludDsgcGxheWVyMTogQWRkcmVzczsgcGxheWVyMjogQWRkcmVzczsgcGxheWVyMUNob2ljZTogT3B0aW9uPENob2ljZT47IHBsYXllcjJDaG9pY2U6IE9wdGlvbjxDaG9pY2U+OyByZXN1bHQ6IEdhbWVSZXN1bHQ7ICB9O1xuXG5leHBvcnQgdHlwZSBHYW1lU2Vzc2lvbkFyZ3MgPSB7IGdhbWVJZDogbnVtYmVyIHwgYmlnaW50OyBwbGF5ZXIxOiBBZGRyZXNzOyBwbGF5ZXIyOiBBZGRyZXNzOyBwbGF5ZXIxQ2hvaWNlOiBPcHRpb25Pck51bGxhYmxlPENob2ljZUFyZ3M+OyBwbGF5ZXIyQ2hvaWNlOiBPcHRpb25Pck51bGxhYmxlPENob2ljZUFyZ3M+OyByZXN1bHQ6IEdhbWVSZXN1bHRBcmdzOyAgfTtcblxuLyoqIEdldHMgdGhlIGVuY29kZXIgZm9yIHtAbGluayBHYW1lU2Vzc2lvbkFyZ3N9IGFjY291bnQgZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHYW1lU2Vzc2lvbkVuY29kZXIoKTogRW5jb2RlcjxHYW1lU2Vzc2lvbkFyZ3M+IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtRW5jb2RlcihnZXRTdHJ1Y3RFbmNvZGVyKFtbJ2Rpc2NyaW1pbmF0b3InLCBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCldLCBbJ2dhbWVJZCcsIGdldFU2NEVuY29kZXIoKV0sIFsncGxheWVyMScsIGdldEFkZHJlc3NFbmNvZGVyKCldLCBbJ3BsYXllcjInLCBnZXRBZGRyZXNzRW5jb2RlcigpXSwgWydwbGF5ZXIxQ2hvaWNlJywgZ2V0T3B0aW9uRW5jb2RlcihnZXRDaG9pY2VFbmNvZGVyKCkpXSwgWydwbGF5ZXIyQ2hvaWNlJywgZ2V0T3B0aW9uRW5jb2RlcihnZXRDaG9pY2VFbmNvZGVyKCkpXSwgWydyZXN1bHQnLCBnZXRHYW1lUmVzdWx0RW5jb2RlcigpXV0pLCAodmFsdWUpID0+ICh7IC4uLnZhbHVlLCBkaXNjcmltaW5hdG9yOiBHQU1FX1NFU1NJT05fRElTQ1JJTUlOQVRPUiB9KSk7XG59XG5cbi8qKiBHZXRzIHRoZSBkZWNvZGVyIGZvciB7QGxpbmsgR2FtZVNlc3Npb259IGFjY291bnQgZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRHYW1lU2Vzc2lvbkRlY29kZXIoKTogRGVjb2RlcjxHYW1lU2Vzc2lvbj4ge1xuICAgIHJldHVybiBnZXRTdHJ1Y3REZWNvZGVyKFtbJ2Rpc2NyaW1pbmF0b3InLCBmaXhEZWNvZGVyU2l6ZShnZXRCeXRlc0RlY29kZXIoKSwgOCldLCBbJ2dhbWVJZCcsIGdldFU2NERlY29kZXIoKV0sIFsncGxheWVyMScsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ3BsYXllcjInLCBnZXRBZGRyZXNzRGVjb2RlcigpXSwgWydwbGF5ZXIxQ2hvaWNlJywgZ2V0T3B0aW9uRGVjb2RlcihnZXRDaG9pY2VEZWNvZGVyKCkpXSwgWydwbGF5ZXIyQ2hvaWNlJywgZ2V0T3B0aW9uRGVjb2RlcihnZXRDaG9pY2VEZWNvZGVyKCkpXSwgWydyZXN1bHQnLCBnZXRHYW1lUmVzdWx0RGVjb2RlcigpXV0pO1xufVxuXG4vKiogR2V0cyB0aGUgY29kZWMgZm9yIHtAbGluayBHYW1lU2Vzc2lvbn0gYWNjb3VudCBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEdhbWVTZXNzaW9uQ29kZWMoKTogQ29kZWM8R2FtZVNlc3Npb25BcmdzLCBHYW1lU2Vzc2lvbj4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0R2FtZVNlc3Npb25FbmNvZGVyKCksIGdldEdhbWVTZXNzaW9uRGVjb2RlcigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUdhbWVTZXNzaW9uPFRBZGRyZXNzIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihlbmNvZGVkQWNjb3VudDogRW5jb2RlZEFjY291bnQ8VEFkZHJlc3M+KTogQWNjb3VudDxHYW1lU2Vzc2lvbiwgVEFkZHJlc3M+O1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUdhbWVTZXNzaW9uPFRBZGRyZXNzIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihlbmNvZGVkQWNjb3VudDogTWF5YmVFbmNvZGVkQWNjb3VudDxUQWRkcmVzcz4pOiBNYXliZUFjY291bnQ8R2FtZVNlc3Npb24sIFRBZGRyZXNzPjtcbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVHYW1lU2Vzc2lvbjxUQWRkcmVzcyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oZW5jb2RlZEFjY291bnQ6IEVuY29kZWRBY2NvdW50PFRBZGRyZXNzPiB8IE1heWJlRW5jb2RlZEFjY291bnQ8VEFkZHJlc3M+KTogQWNjb3VudDxHYW1lU2Vzc2lvbiwgVEFkZHJlc3M+IHwgTWF5YmVBY2NvdW50PEdhbWVTZXNzaW9uLCBUQWRkcmVzcz4ge1xuICByZXR1cm4gZGVjb2RlQWNjb3VudChlbmNvZGVkQWNjb3VudCBhcyBNYXliZUVuY29kZWRBY2NvdW50PFRBZGRyZXNzPiwgZ2V0R2FtZVNlc3Npb25EZWNvZGVyKCkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hHYW1lU2Vzc2lvbjxUQWRkcmVzcyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oXG4gIHJwYzogUGFyYW1ldGVyczx0eXBlb2YgZmV0Y2hFbmNvZGVkQWNjb3VudD5bMF0sXG4gIGFkZHJlc3M6IEFkZHJlc3M8VEFkZHJlc3M+LFxuICBjb25maWc/OiBGZXRjaEFjY291bnRDb25maWcsXG4pOiBQcm9taXNlPEFjY291bnQ8R2FtZVNlc3Npb24sIFRBZGRyZXNzPj4ge1xuICBjb25zdCBtYXliZUFjY291bnQgPSBhd2FpdCBmZXRjaE1heWJlR2FtZVNlc3Npb24ocnBjLCBhZGRyZXNzLCBjb25maWcpO1xuICBhc3NlcnRBY2NvdW50RXhpc3RzKG1heWJlQWNjb3VudCk7XG4gIHJldHVybiBtYXliZUFjY291bnQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaE1heWJlR2FtZVNlc3Npb248VEFkZHJlc3MgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnQ+WzBdLFxuICBhZGRyZXNzOiBBZGRyZXNzPFRBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50Q29uZmlnLFxuKTogUHJvbWlzZTxNYXliZUFjY291bnQ8R2FtZVNlc3Npb24sIFRBZGRyZXNzPj4ge1xuICBjb25zdCBtYXliZUFjY291bnQgPSBhd2FpdCBmZXRjaEVuY29kZWRBY2NvdW50KHJwYywgYWRkcmVzcywgY29uZmlnKTtcbiAgcmV0dXJuIGRlY29kZUdhbWVTZXNzaW9uKG1heWJlQWNjb3VudCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEFsbEdhbWVTZXNzaW9uKFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnRzPlswXSxcbiAgYWRkcmVzc2VzOiBBcnJheTxBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50c0NvbmZpZyxcbik6IFByb21pc2U8QWNjb3VudDxHYW1lU2Vzc2lvbj5bXT4ge1xuICBjb25zdCBtYXliZUFjY291bnRzID0gYXdhaXQgZmV0Y2hBbGxNYXliZUdhbWVTZXNzaW9uKHJwYywgYWRkcmVzc2VzLCBjb25maWcpO1xuICBhc3NlcnRBY2NvdW50c0V4aXN0KG1heWJlQWNjb3VudHMpO1xuICByZXR1cm4gbWF5YmVBY2NvdW50cztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoQWxsTWF5YmVHYW1lU2Vzc2lvbihcbiAgcnBjOiBQYXJhbWV0ZXJzPHR5cGVvZiBmZXRjaEVuY29kZWRBY2NvdW50cz5bMF0sXG4gIGFkZHJlc3NlczogQXJyYXk8QWRkcmVzcz4sXG4gIGNvbmZpZz86IEZldGNoQWNjb3VudHNDb25maWcsXG4pOiBQcm9taXNlPE1heWJlQWNjb3VudDxHYW1lU2Vzc2lvbj5bXT4ge1xuICBjb25zdCBtYXliZUFjY291bnRzID0gYXdhaXQgZmV0Y2hFbmNvZGVkQWNjb3VudHMocnBjLCBhZGRyZXNzZXMsIGNvbmZpZyk7XG4gIHJldHVybiBtYXliZUFjY291bnRzLm1hcCgobWF5YmVBY2NvdW50KSA9PiBkZWNvZGVHYW1lU2Vzc2lvbihtYXliZUFjY291bnQpKTtcbn0iXX0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './gameSession';
9
+ export * from './playerProfile';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './gameSession';
9
+ export * from './playerProfile';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3Jwcy1nYW1lL2FjY291bnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY29kZSB3YXMgQVVUT0dFTkVSQVRFRCB1c2luZyB0aGUgQ29kYW1hIGxpYnJhcnkuXG4gKiBQbGVhc2UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpbnN0ZWFkIHVzZSB2aXNpdG9yc1xuICogdG8gYWRkIGZlYXR1cmVzLCB0aGVuIHJlcnVuIENvZGFtYSB0byB1cGRhdGUgaXQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kYW1hLWlkbC9jb2RhbWFcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dhbWVTZXNzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWVyUHJvZmlsZSc7Il19
@@ -0,0 +1,36 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
9
+ export declare const PLAYER_PROFILE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
10
+ export declare function getPlayerProfileDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
11
+ export type PlayerProfile = {
12
+ discriminator: ReadonlyUint8Array;
13
+ player: Address;
14
+ elo: bigint;
15
+ gamesPlayed: bigint;
16
+ gamesWon: bigint;
17
+ };
18
+ export type PlayerProfileArgs = {
19
+ player: Address;
20
+ elo: number | bigint;
21
+ gamesPlayed: number | bigint;
22
+ gamesWon: number | bigint;
23
+ };
24
+ /** Gets the encoder for {@link PlayerProfileArgs} account data. */
25
+ export declare function getPlayerProfileEncoder(): FixedSizeEncoder<PlayerProfileArgs>;
26
+ /** Gets the decoder for {@link PlayerProfile} account data. */
27
+ export declare function getPlayerProfileDecoder(): FixedSizeDecoder<PlayerProfile>;
28
+ /** Gets the codec for {@link PlayerProfile} account data. */
29
+ export declare function getPlayerProfileCodec(): FixedSizeCodec<PlayerProfileArgs, PlayerProfile>;
30
+ export declare function decodePlayerProfile<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<PlayerProfile, TAddress>;
31
+ export declare function decodePlayerProfile<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<PlayerProfile, TAddress>;
32
+ export declare function fetchPlayerProfile<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<PlayerProfile, TAddress>>;
33
+ export declare function fetchMaybePlayerProfile<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<PlayerProfile, TAddress>>;
34
+ export declare function fetchAllPlayerProfile(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<PlayerProfile>[]>;
35
+ export declare function fetchAllMaybePlayerProfile(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<PlayerProfile>[]>;
36
+ export declare function getPlayerProfileSize(): number;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, transformEncoder } from '@solana/kit';
9
+ export const PLAYER_PROFILE_DISCRIMINATOR = new Uint8Array([82, 226, 99, 87, 164, 130, 181, 80]);
10
+ export function getPlayerProfileDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(PLAYER_PROFILE_DISCRIMINATOR); }
11
+ /** Gets the encoder for {@link PlayerProfileArgs} account data. */
12
+ export function getPlayerProfileEncoder() {
13
+ return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['player', getAddressEncoder()], ['elo', getU64Encoder()], ['gamesPlayed', getU64Encoder()], ['gamesWon', getU64Encoder()]]), (value) => ({ ...value, discriminator: PLAYER_PROFILE_DISCRIMINATOR }));
14
+ }
15
+ /** Gets the decoder for {@link PlayerProfile} account data. */
16
+ export function getPlayerProfileDecoder() {
17
+ return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['player', getAddressDecoder()], ['elo', getU64Decoder()], ['gamesPlayed', getU64Decoder()], ['gamesWon', getU64Decoder()]]);
18
+ }
19
+ /** Gets the codec for {@link PlayerProfile} account data. */
20
+ export function getPlayerProfileCodec() {
21
+ return combineCodec(getPlayerProfileEncoder(), getPlayerProfileDecoder());
22
+ }
23
+ export function decodePlayerProfile(encodedAccount) {
24
+ return decodeAccount(encodedAccount, getPlayerProfileDecoder());
25
+ }
26
+ export async function fetchPlayerProfile(rpc, address, config) {
27
+ const maybeAccount = await fetchMaybePlayerProfile(rpc, address, config);
28
+ assertAccountExists(maybeAccount);
29
+ return maybeAccount;
30
+ }
31
+ export async function fetchMaybePlayerProfile(rpc, address, config) {
32
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
33
+ return decodePlayerProfile(maybeAccount);
34
+ }
35
+ export async function fetchAllPlayerProfile(rpc, addresses, config) {
36
+ const maybeAccounts = await fetchAllMaybePlayerProfile(rpc, addresses, config);
37
+ assertAccountsExist(maybeAccounts);
38
+ return maybeAccounts;
39
+ }
40
+ export async function fetchAllMaybePlayerProfile(rpc, addresses, config) {
41
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
42
+ return maybeAccounts.map((maybeAccount) => decodePlayerProfile(maybeAccount));
43
+ }
44
+ export function getPlayerProfileSize() {
45
+ return 64;
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVyUHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcnBzLWdhbWUvYWNjb3VudHMvcGxheWVyUHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBK08sTUFBTSxhQUFhLENBQUM7QUFFeGpCLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFakcsTUFBTSxVQUFVLGtDQUFrQyxLQUFLLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQU0xSSxtRUFBbUU7QUFDbkUsTUFBTSxVQUFVLHVCQUF1QjtJQUNuQyxPQUFPLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3UyxDQUFDO0FBRUQsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSx1QkFBdUI7SUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbk4sQ0FBQztBQUVELDZEQUE2RDtBQUM3RCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFJRCxNQUFNLFVBQVUsbUJBQW1CLENBQW1DLGNBQXdFO0lBQzVJLE9BQU8sYUFBYSxDQUFDLGNBQStDLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0FBQ25HLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGtCQUFrQixDQUN0QyxHQUE4QyxFQUM5QyxPQUEwQixFQUMxQixNQUEyQjtJQUUzQixNQUFNLFlBQVksR0FBRyxNQUFNLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLEdBQThDLEVBQzlDLE9BQTBCLEVBQzFCLE1BQTJCO0lBRTNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxPQUFPLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxHQUErQyxFQUMvQyxTQUF5QixFQUN6QixNQUE0QjtJQUU1QixNQUFNLGFBQWEsR0FBRyxNQUFNLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0UsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsMEJBQTBCLENBQzlDLEdBQStDLEVBQy9DLFNBQXlCLEVBQ3pCLE1BQTRCO0lBRTVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RSxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgYXNzZXJ0QWNjb3VudEV4aXN0cywgYXNzZXJ0QWNjb3VudHNFeGlzdCwgY29tYmluZUNvZGVjLCBkZWNvZGVBY2NvdW50LCBmZXRjaEVuY29kZWRBY2NvdW50LCBmZXRjaEVuY29kZWRBY2NvdW50cywgZml4RGVjb2RlclNpemUsIGZpeEVuY29kZXJTaXplLCBnZXRBZGRyZXNzRGVjb2RlciwgZ2V0QWRkcmVzc0VuY29kZXIsIGdldEJ5dGVzRGVjb2RlciwgZ2V0Qnl0ZXNFbmNvZGVyLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBnZXRVNjREZWNvZGVyLCBnZXRVNjRFbmNvZGVyLCB0cmFuc2Zvcm1FbmNvZGVyLCB0eXBlIEFjY291bnQsIHR5cGUgQWRkcmVzcywgdHlwZSBFbmNvZGVkQWNjb3VudCwgdHlwZSBGZXRjaEFjY291bnRDb25maWcsIHR5cGUgRmV0Y2hBY2NvdW50c0NvbmZpZywgdHlwZSBGaXhlZFNpemVDb2RlYywgdHlwZSBGaXhlZFNpemVEZWNvZGVyLCB0eXBlIEZpeGVkU2l6ZUVuY29kZXIsIHR5cGUgTWF5YmVBY2NvdW50LCB0eXBlIE1heWJlRW5jb2RlZEFjY291bnQsIHR5cGUgUmVhZG9ubHlVaW50OEFycmF5IH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuXG5leHBvcnQgY29uc3QgUExBWUVSX1BST0ZJTEVfRElTQ1JJTUlOQVRPUiA9IG5ldyBVaW50OEFycmF5KFs4MiwgMjI2LCA5OSwgODcsIDE2NCwgMTMwLCAxODEsIDgwXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQbGF5ZXJQcm9maWxlRGlzY3JpbWluYXRvckJ5dGVzKCkgeyByZXR1cm4gZml4RW5jb2RlclNpemUoZ2V0Qnl0ZXNFbmNvZGVyKCksIDgpLmVuY29kZShQTEFZRVJfUFJPRklMRV9ESVNDUklNSU5BVE9SKTsgfVxuXG5leHBvcnQgdHlwZSBQbGF5ZXJQcm9maWxlID0geyBkaXNjcmltaW5hdG9yOiBSZWFkb25seVVpbnQ4QXJyYXk7IHBsYXllcjogQWRkcmVzczsgZWxvOiBiaWdpbnQ7IGdhbWVzUGxheWVkOiBiaWdpbnQ7IGdhbWVzV29uOiBiaWdpbnQ7ICB9O1xuXG5leHBvcnQgdHlwZSBQbGF5ZXJQcm9maWxlQXJncyA9IHsgcGxheWVyOiBBZGRyZXNzOyBlbG86IG51bWJlciB8IGJpZ2ludDsgZ2FtZXNQbGF5ZWQ6IG51bWJlciB8IGJpZ2ludDsgZ2FtZXNXb246IG51bWJlciB8IGJpZ2ludDsgIH07XG5cbi8qKiBHZXRzIHRoZSBlbmNvZGVyIGZvciB7QGxpbmsgUGxheWVyUHJvZmlsZUFyZ3N9IGFjY291bnQgZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQbGF5ZXJQcm9maWxlRW5jb2RlcigpOiBGaXhlZFNpemVFbmNvZGVyPFBsYXllclByb2ZpbGVBcmdzPiB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybUVuY29kZXIoZ2V0U3RydWN0RW5jb2RlcihbWydkaXNjcmltaW5hdG9yJywgZml4RW5jb2RlclNpemUoZ2V0Qnl0ZXNFbmNvZGVyKCksIDgpXSwgWydwbGF5ZXInLCBnZXRBZGRyZXNzRW5jb2RlcigpXSwgWydlbG8nLCBnZXRVNjRFbmNvZGVyKCldLCBbJ2dhbWVzUGxheWVkJywgZ2V0VTY0RW5jb2RlcigpXSwgWydnYW1lc1dvbicsIGdldFU2NEVuY29kZXIoKV1dKSwgKHZhbHVlKSA9PiAoeyAuLi52YWx1ZSwgZGlzY3JpbWluYXRvcjogUExBWUVSX1BST0ZJTEVfRElTQ1JJTUlOQVRPUiB9KSk7XG59XG5cbi8qKiBHZXRzIHRoZSBkZWNvZGVyIGZvciB7QGxpbmsgUGxheWVyUHJvZmlsZX0gYWNjb3VudCBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYXllclByb2ZpbGVEZWNvZGVyKCk6IEZpeGVkU2l6ZURlY29kZXI8UGxheWVyUHJvZmlsZT4ge1xuICAgIHJldHVybiBnZXRTdHJ1Y3REZWNvZGVyKFtbJ2Rpc2NyaW1pbmF0b3InLCBmaXhEZWNvZGVyU2l6ZShnZXRCeXRlc0RlY29kZXIoKSwgOCldLCBbJ3BsYXllcicsIGdldEFkZHJlc3NEZWNvZGVyKCldLCBbJ2VsbycsIGdldFU2NERlY29kZXIoKV0sIFsnZ2FtZXNQbGF5ZWQnLCBnZXRVNjREZWNvZGVyKCldLCBbJ2dhbWVzV29uJywgZ2V0VTY0RGVjb2RlcigpXV0pO1xufVxuXG4vKiogR2V0cyB0aGUgY29kZWMgZm9yIHtAbGluayBQbGF5ZXJQcm9maWxlfSBhY2NvdW50IGRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGxheWVyUHJvZmlsZUNvZGVjKCk6IEZpeGVkU2l6ZUNvZGVjPFBsYXllclByb2ZpbGVBcmdzLCBQbGF5ZXJQcm9maWxlPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVDb2RlYyhnZXRQbGF5ZXJQcm9maWxlRW5jb2RlcigpLCBnZXRQbGF5ZXJQcm9maWxlRGVjb2RlcigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVBsYXllclByb2ZpbGU8VEFkZHJlc3MgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KGVuY29kZWRBY2NvdW50OiBFbmNvZGVkQWNjb3VudDxUQWRkcmVzcz4pOiBBY2NvdW50PFBsYXllclByb2ZpbGUsIFRBZGRyZXNzPjtcbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVQbGF5ZXJQcm9maWxlPFRBZGRyZXNzIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihlbmNvZGVkQWNjb3VudDogTWF5YmVFbmNvZGVkQWNjb3VudDxUQWRkcmVzcz4pOiBNYXliZUFjY291bnQ8UGxheWVyUHJvZmlsZSwgVEFkZHJlc3M+O1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVBsYXllclByb2ZpbGU8VEFkZHJlc3MgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KGVuY29kZWRBY2NvdW50OiBFbmNvZGVkQWNjb3VudDxUQWRkcmVzcz4gfCBNYXliZUVuY29kZWRBY2NvdW50PFRBZGRyZXNzPik6IEFjY291bnQ8UGxheWVyUHJvZmlsZSwgVEFkZHJlc3M+IHwgTWF5YmVBY2NvdW50PFBsYXllclByb2ZpbGUsIFRBZGRyZXNzPiB7XG4gIHJldHVybiBkZWNvZGVBY2NvdW50KGVuY29kZWRBY2NvdW50IGFzIE1heWJlRW5jb2RlZEFjY291bnQ8VEFkZHJlc3M+LCBnZXRQbGF5ZXJQcm9maWxlRGVjb2RlcigpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoUGxheWVyUHJvZmlsZTxUQWRkcmVzcyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oXG4gIHJwYzogUGFyYW1ldGVyczx0eXBlb2YgZmV0Y2hFbmNvZGVkQWNjb3VudD5bMF0sXG4gIGFkZHJlc3M6IEFkZHJlc3M8VEFkZHJlc3M+LFxuICBjb25maWc/OiBGZXRjaEFjY291bnRDb25maWcsXG4pOiBQcm9taXNlPEFjY291bnQ8UGxheWVyUHJvZmlsZSwgVEFkZHJlc3M+PiB7XG4gIGNvbnN0IG1heWJlQWNjb3VudCA9IGF3YWl0IGZldGNoTWF5YmVQbGF5ZXJQcm9maWxlKHJwYywgYWRkcmVzcywgY29uZmlnKTtcbiAgYXNzZXJ0QWNjb3VudEV4aXN0cyhtYXliZUFjY291bnQpO1xuICByZXR1cm4gbWF5YmVBY2NvdW50O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hNYXliZVBsYXllclByb2ZpbGU8VEFkZHJlc3MgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnQ+WzBdLFxuICBhZGRyZXNzOiBBZGRyZXNzPFRBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50Q29uZmlnLFxuKTogUHJvbWlzZTxNYXliZUFjY291bnQ8UGxheWVyUHJvZmlsZSwgVEFkZHJlc3M+PiB7XG4gIGNvbnN0IG1heWJlQWNjb3VudCA9IGF3YWl0IGZldGNoRW5jb2RlZEFjY291bnQocnBjLCBhZGRyZXNzLCBjb25maWcpO1xuICByZXR1cm4gZGVjb2RlUGxheWVyUHJvZmlsZShtYXliZUFjY291bnQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hBbGxQbGF5ZXJQcm9maWxlKFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnRzPlswXSxcbiAgYWRkcmVzc2VzOiBBcnJheTxBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50c0NvbmZpZyxcbik6IFByb21pc2U8QWNjb3VudDxQbGF5ZXJQcm9maWxlPltdPiB7XG4gIGNvbnN0IG1heWJlQWNjb3VudHMgPSBhd2FpdCBmZXRjaEFsbE1heWJlUGxheWVyUHJvZmlsZShycGMsIGFkZHJlc3NlcywgY29uZmlnKTtcbiAgYXNzZXJ0QWNjb3VudHNFeGlzdChtYXliZUFjY291bnRzKTtcbiAgcmV0dXJuIG1heWJlQWNjb3VudHM7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEFsbE1heWJlUGxheWVyUHJvZmlsZShcbiAgcnBjOiBQYXJhbWV0ZXJzPHR5cGVvZiBmZXRjaEVuY29kZWRBY2NvdW50cz5bMF0sXG4gIGFkZHJlc3NlczogQXJyYXk8QWRkcmVzcz4sXG4gIGNvbmZpZz86IEZldGNoQWNjb3VudHNDb25maWcsXG4pOiBQcm9taXNlPE1heWJlQWNjb3VudDxQbGF5ZXJQcm9maWxlPltdPiB7XG4gIGNvbnN0IG1heWJlQWNjb3VudHMgPSBhd2FpdCBmZXRjaEVuY29kZWRBY2NvdW50cyhycGMsIGFkZHJlc3NlcywgY29uZmlnKTtcbiAgcmV0dXJuIG1heWJlQWNjb3VudHMubWFwKChtYXliZUFjY291bnQpID0+IGRlY29kZVBsYXllclByb2ZpbGUobWF5YmVBY2NvdW50KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQbGF5ZXJQcm9maWxlU2l6ZSgpOiBudW1iZXIge1xuICByZXR1cm4gNjQ7XG59Il19
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './rpsGame';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './rpsGame';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3Jwcy1nYW1lL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIHdhcyBBVVRPR0VORVJBVEVEIHVzaW5nIHRoZSBDb2RhbWEgbGlicmFyeS5cbiAqIFBsZWFzZSBETyBOT1QgRURJVCBUSElTIEZJTEUsIGluc3RlYWQgdXNlIHZpc2l0b3JzXG4gKiB0byBhZGQgZmVhdHVyZXMsIHRoZW4gcmVydW4gQ29kYW1hIHRvIHVwZGF0ZSBpdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RhbWEtaWRsL2NvZGFtYVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcnBzR2FtZSc7Il19
@@ -0,0 +1,25 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { type Address, type SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM, type SolanaError } from '@solana/kit';
9
+ /** AlreadyChose: Already chose */
10
+ export declare const RPS_GAME_ERROR__ALREADY_CHOSE = 6000;
11
+ /** InvalidPlayer: Invalid player */
12
+ export declare const RPS_GAME_ERROR__INVALID_PLAYER = 6001;
13
+ /** InvalidMatchTicket: Invalid match ticket - not matched or wrong opponent */
14
+ export declare const RPS_GAME_ERROR__INVALID_MATCH_TICKET = 6002;
15
+ export type RpsGameError = typeof RPS_GAME_ERROR__ALREADY_CHOSE | typeof RPS_GAME_ERROR__INVALID_MATCH_TICKET | typeof RPS_GAME_ERROR__INVALID_PLAYER;
16
+ export declare function getRpsGameErrorMessage(code: RpsGameError): string;
17
+ export declare function isRpsGameError<TProgramErrorCode extends RpsGameError>(error: unknown, transactionMessage: {
18
+ instructions: Record<number, {
19
+ programAddress: Address;
20
+ }>;
21
+ }, code?: TProgramErrorCode): error is SolanaError<typeof SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM> & Readonly<{
22
+ context: Readonly<{
23
+ code: TProgramErrorCode;
24
+ }>;
25
+ }>;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ import { isProgramError } from '@solana/kit';
9
+ import { RPS_GAME_PROGRAM_ADDRESS } from '../programs';
10
+ /** AlreadyChose: Already chose */
11
+ export const RPS_GAME_ERROR__ALREADY_CHOSE = 0x1770; // 6000
12
+ /** InvalidPlayer: Invalid player */
13
+ export const RPS_GAME_ERROR__INVALID_PLAYER = 0x1771; // 6001
14
+ /** InvalidMatchTicket: Invalid match ticket - not matched or wrong opponent */
15
+ export const RPS_GAME_ERROR__INVALID_MATCH_TICKET = 0x1772; // 6002
16
+ let rpsGameErrorMessages;
17
+ if (process.env.NODE_ENV !== 'production') {
18
+ rpsGameErrorMessages = { [RPS_GAME_ERROR__ALREADY_CHOSE]: `Already chose`, [RPS_GAME_ERROR__INVALID_MATCH_TICKET]: `Invalid match ticket - not matched or wrong opponent`, [RPS_GAME_ERROR__INVALID_PLAYER]: `Invalid player` };
19
+ }
20
+ export function getRpsGameErrorMessage(code) {
21
+ if (process.env.NODE_ENV !== 'production') {
22
+ return rpsGameErrorMessages[code];
23
+ }
24
+ return 'Error message not available in production bundles.';
25
+ }
26
+ export function isRpsGameError(error, transactionMessage, code) {
27
+ return isProgramError(error, transactionMessage, RPS_GAME_PROGRAM_ADDRESS, code);
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBzR2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcnBzLWdhbWUvZXJyb3JzL3Jwc0dhbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBZ0YsTUFBTSxhQUFhLENBQUM7QUFDM0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZELGtDQUFrQztBQUNsQyxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsQ0FBQyxPQUFPO0FBQzVELG9DQUFvQztBQUNwQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxNQUFNLENBQUMsQ0FBQyxPQUFPO0FBQzdELCtFQUErRTtBQUMvRSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxNQUFNLENBQUMsQ0FBQyxPQUFPO0FBSW5FLElBQUksb0JBQThELENBQUM7QUFDbkUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxvQkFBb0IsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLHNEQUFzRCxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBQ2xPLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBa0I7SUFDdkQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxPQUFRLG9CQUFxRCxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxPQUFPLG9EQUFvRCxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUMxQixLQUFjLEVBQ2Qsa0JBQWlGLEVBQ2pGLElBQXdCO0lBRTFCLE9BQU8sY0FBYyxDQUFvQixLQUFLLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIHdhcyBBVVRPR0VORVJBVEVEIHVzaW5nIHRoZSBDb2RhbWEgbGlicmFyeS5cbiAqIFBsZWFzZSBETyBOT1QgRURJVCBUSElTIEZJTEUsIGluc3RlYWQgdXNlIHZpc2l0b3JzXG4gKiB0byBhZGQgZmVhdHVyZXMsIHRoZW4gcmVydW4gQ29kYW1hIHRvIHVwZGF0ZSBpdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RhbWEtaWRsL2NvZGFtYVxuICovXG5cbmltcG9ydCB7IGlzUHJvZ3JhbUVycm9yLCB0eXBlIEFkZHJlc3MsIHR5cGUgU09MQU5BX0VSUk9SX19JTlNUUlVDVElPTl9FUlJPUl9fQ1VTVE9NLCB0eXBlIFNvbGFuYUVycm9yIH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuaW1wb3J0IHsgUlBTX0dBTUVfUFJPR1JBTV9BRERSRVNTIH0gZnJvbSAnLi4vcHJvZ3JhbXMnO1xuXG4vKiogQWxyZWFkeUNob3NlOiBBbHJlYWR5IGNob3NlICovXG5leHBvcnQgY29uc3QgUlBTX0dBTUVfRVJST1JfX0FMUkVBRFlfQ0hPU0UgPSAweDE3NzA7IC8vIDYwMDBcbi8qKiBJbnZhbGlkUGxheWVyOiBJbnZhbGlkIHBsYXllciAqL1xuZXhwb3J0IGNvbnN0IFJQU19HQU1FX0VSUk9SX19JTlZBTElEX1BMQVlFUiA9IDB4MTc3MTsgLy8gNjAwMVxuLyoqIEludmFsaWRNYXRjaFRpY2tldDogSW52YWxpZCBtYXRjaCB0aWNrZXQgLSBub3QgbWF0Y2hlZCBvciB3cm9uZyBvcHBvbmVudCAqL1xuZXhwb3J0IGNvbnN0IFJQU19HQU1FX0VSUk9SX19JTlZBTElEX01BVENIX1RJQ0tFVCA9IDB4MTc3MjsgLy8gNjAwMlxuXG5leHBvcnQgdHlwZSBScHNHYW1lRXJyb3IgPSB0eXBlb2YgUlBTX0dBTUVfRVJST1JfX0FMUkVBRFlfQ0hPU0UgfCB0eXBlb2YgUlBTX0dBTUVfRVJST1JfX0lOVkFMSURfTUFUQ0hfVElDS0VUIHwgdHlwZW9mIFJQU19HQU1FX0VSUk9SX19JTlZBTElEX1BMQVlFUjtcblxubGV0IHJwc0dhbWVFcnJvck1lc3NhZ2VzOiBSZWNvcmQ8UnBzR2FtZUVycm9yLCBzdHJpbmc+IHwgdW5kZWZpbmVkO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgcnBzR2FtZUVycm9yTWVzc2FnZXMgPSB7IFtSUFNfR0FNRV9FUlJPUl9fQUxSRUFEWV9DSE9TRV06IGBBbHJlYWR5IGNob3NlYCwgW1JQU19HQU1FX0VSUk9SX19JTlZBTElEX01BVENIX1RJQ0tFVF06IGBJbnZhbGlkIG1hdGNoIHRpY2tldCAtIG5vdCBtYXRjaGVkIG9yIHdyb25nIG9wcG9uZW50YCwgW1JQU19HQU1FX0VSUk9SX19JTlZBTElEX1BMQVlFUl06IGBJbnZhbGlkIHBsYXllcmAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJwc0dhbWVFcnJvck1lc3NhZ2UoY29kZTogUnBzR2FtZUVycm9yKTogc3RyaW5nIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICByZXR1cm4gKHJwc0dhbWVFcnJvck1lc3NhZ2VzIGFzIFJlY29yZDxScHNHYW1lRXJyb3IsIHN0cmluZz4pW2NvZGVdO1xuICB9XG5cbiAgcmV0dXJuICdFcnJvciBtZXNzYWdlIG5vdCBhdmFpbGFibGUgaW4gcHJvZHVjdGlvbiBidW5kbGVzLic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Jwc0dhbWVFcnJvcjxUUHJvZ3JhbUVycm9yQ29kZSBleHRlbmRzIFJwc0dhbWVFcnJvcj4oXG4gICAgZXJyb3I6IHVua25vd24sXG4gICAgdHJhbnNhY3Rpb25NZXNzYWdlOiB7IGluc3RydWN0aW9uczogUmVjb3JkPG51bWJlciwgeyBwcm9ncmFtQWRkcmVzczogQWRkcmVzcyB9PiB9LFxuICAgIGNvZGU/OiBUUHJvZ3JhbUVycm9yQ29kZSxcbik6IGVycm9yIGlzIFNvbGFuYUVycm9yPHR5cGVvZiBTT0xBTkFfRVJST1JfX0lOU1RSVUNUSU9OX0VSUk9SX19DVVNUT00+ICYgUmVhZG9ubHk8eyBjb250ZXh0OiBSZWFkb25seTx7IGNvZGU6IFRQcm9ncmFtRXJyb3JDb2RlIH0+IH0+IHtcbiAgcmV0dXJuIGlzUHJvZ3JhbUVycm9yPFRQcm9ncmFtRXJyb3JDb2RlPihlcnJvciwgdHJhbnNhY3Rpb25NZXNzYWdlLCBSUFNfR0FNRV9QUk9HUkFNX0FERFJFU1MsIGNvZGUpO1xufSJdfQ==
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './accounts';
9
+ export * from './errors';
10
+ export * from './instructions';
11
+ export * from './programs';
12
+ export * from './types';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This code was AUTOGENERATED using the Codama library.
3
+ * Please DO NOT EDIT THIS FILE, instead use visitors
4
+ * to add features, then rerun Codama to update it.
5
+ *
6
+ * @see https://github.com/codama-idl/codama
7
+ */
8
+ export * from './accounts';
9
+ export * from './errors';
10
+ export * from './instructions';
11
+ export * from './programs';
12
+ export * from './types';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3Jwcy1nYW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY29kZSB3YXMgQVVUT0dFTkVSQVRFRCB1c2luZyB0aGUgQ29kYW1hIGxpYnJhcnkuXG4gKiBQbGVhc2UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpbnN0ZWFkIHVzZSB2aXNpdG9yc1xuICogdG8gYWRkIGZlYXR1cmVzLCB0aGVuIHJlcnVuIENvZGFtYSB0byB1cGRhdGUgaXQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kYW1hLWlkbC9jb2RhbWFcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FjY291bnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zdHJ1Y3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3JhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7Il19