@1upmonster/duel 0.1.8 → 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 -117
  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 -48
  107. package/dist/player.js +61 -140
  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 +3 -6
  115. package/src/admin.ts +129 -163
  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 -192
  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 -1207
  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
package/dist/admin.d.ts CHANGED
@@ -1,49 +1,27 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import * as web3 from "@solana/web3.js";
3
- import type { Duel } from "./types.js";
4
- export type EloDataType = 'u8' | 'u16' | 'u32' | 'u64';
1
+ import { type Address, type TransactionSigner, type Rpc, type SolanaRpcApi } from "@solana/kit";
2
+ export type EloDataType = "u8" | "u16" | "u32" | "u64";
5
3
  export interface InitializeTenantOptions {
6
- authority?: web3.PublicKey;
7
- eloWindow?: number;
4
+ authority?: Address;
5
+ eloWindow?: bigint;
8
6
  eloOffset?: number;
9
7
  eloDataType?: EloDataType;
10
- callbackProgramId?: web3.PublicKey | null;
8
+ callbackProgramId?: Address | null;
11
9
  callbackDiscriminator?: number[] | null;
12
10
  }
13
11
  export declare class MatchmakingAdmin {
14
- program: anchor.Program<Duel>;
15
- provider: anchor.AnchorProvider;
16
- constructor(provider: anchor.AnchorProvider, programId: web3.PublicKey | string);
17
- getQueuePda(authority: web3.PublicKey): web3.PublicKey;
18
- getTenantPda(authority: web3.PublicKey): web3.PublicKey;
19
- getTicketPda(player: web3.PublicKey, tenant: web3.PublicKey): web3.PublicKey;
20
- /**
21
- * Fetch Queue account data
22
- */
23
- getQueue(queuePda: web3.PublicKey): Promise<any>;
24
- /**
25
- * Fetch Tenant account data
26
- */
27
- getTenant(tenantPda: web3.PublicKey): Promise<any>;
28
- /**
29
- * Initialize a Tenant (with optional callback config)
30
- */
31
- initializeTenant(tenantProgramId: web3.PublicKey, options?: InitializeTenantOptions, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
32
- /**
33
- * Initialize a Queue
34
- */
35
- initializeQueue(authority: web3.PublicKey, tenant: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
36
- /**
37
- * Delegate Queue to TEE
38
- */
39
- delegateQueue(authority: web3.PublicKey, validator?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
40
- /**
41
- * Flush pending matches - crank instruction to update opponent tickets
42
- * Can be called by any TEE-authenticated wallet (permissionless)
43
- */
44
- flushMatches(queue: web3.PublicKey, tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], callbackProgram?: web3.PublicKey, confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
45
- /**
46
- * Commit matched tickets back to L1 (runs in TEE)
47
- */
48
- commitTickets(tenant: web3.PublicKey, ticketPdas: web3.PublicKey[], confirmOptions?: web3.ConfirmOptions, signers?: web3.Keypair[]): Promise<web3.TransactionSignature>;
12
+ rpc: Rpc<SolanaRpcApi>;
13
+ signer: TransactionSigner;
14
+ programId: Address;
15
+ constructor(rpc: Rpc<SolanaRpcApi>, signer: TransactionSigner, programId?: Address);
16
+ getQueuePda(authority: Address): Promise<Address>;
17
+ getTenantPda(authority: Address): Promise<Address>;
18
+ getTicketPda(player: Address, tenant: Address): Promise<Address>;
19
+ getQueue(queuePda: Address): Promise<import("@solana/accounts").Account<import("./generated/duel/index.js").Queue, string>>;
20
+ initializeTenant(tenantProgramId: Address, options?: InitializeTenantOptions): Promise<string>;
21
+ initializeQueue(_authority: Address, tenant: Address): Promise<string>;
22
+ delegateQueue(authority: Address, validator?: Address): Promise<string>;
23
+ flushMatches(queue: Address, tenant: Address, ticketPdas: Address[], callbackProgram?: Address): Promise<string>;
24
+ commitTickets(tenant: Address, ticketPdas: Address[]): Promise<string>;
25
+ /** Create a new MatchmakingAdmin pointing at a TEE RPC endpoint. */
26
+ withRpc(teeUrl: string): MatchmakingAdmin;
49
27
  }
package/dist/admin.js CHANGED
@@ -1,137 +1,102 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { BN } from "bn.js";
3
- import * as web3 from "@solana/web3.js";
4
- import IDL from "./duel.json" with { type: "json" };
1
+ import { createSolanaRpc, } from "@solana/kit";
2
+ import { getInitializeTenantInstructionAsync, getInitializeQueueInstructionAsync, getDelegateQueueInstructionAsync, getFlushMatchesInstruction, getCommitTicketsInstruction, fetchQueue, accountType, } from "./generated/duel/index.js";
3
+ import { sendInstruction } from "./transaction.js";
5
4
  import * as utils from "./utils.js";
6
- const TICKET_SEED = "ticket";
7
5
  function getEloSize(dataType) {
8
6
  switch (dataType) {
9
- case 'u8': return 1;
10
- case 'u16': return 2;
11
- case 'u32': return 4;
12
- case 'u64': return 8;
7
+ case "u8": return 1;
8
+ case "u16": return 2;
9
+ case "u32": return 4;
10
+ case "u64": return 8;
13
11
  }
14
12
  }
13
+ const DUEL_PROGRAM_ID = "EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X";
15
14
  export class MatchmakingAdmin {
16
- constructor(provider, programId) {
17
- const address = typeof programId === "string" ? programId : programId.toBase58();
18
- const idl = { ...IDL, address };
19
- this.program = new anchor.Program(idl, provider);
20
- this.provider = provider;
15
+ constructor(rpc, signer, programId = DUEL_PROGRAM_ID) {
16
+ this.rpc = rpc;
17
+ this.signer = signer;
18
+ this.programId = programId;
21
19
  }
22
- // Derive PDAs Helpers
23
- getQueuePda(authority) {
24
- return utils.deriveQueuePda(this.program.programId, authority);
20
+ async getQueuePda(authority) {
21
+ return utils.deriveQueuePda(this.programId, authority);
25
22
  }
26
- getTenantPda(authority) {
27
- return utils.deriveTenantPda(this.program.programId, authority);
23
+ async getTenantPda(authority) {
24
+ return utils.deriveTenantPda(this.programId, authority);
28
25
  }
29
- getTicketPda(player, tenant) {
30
- return utils.deriveTicketPda(this.program.programId, player, tenant);
26
+ async getTicketPda(player, tenant) {
27
+ return utils.deriveTicketPda(this.programId, player, tenant);
31
28
  }
32
- /**
33
- * Fetch Queue account data
34
- */
35
29
  async getQueue(queuePda) {
36
- return await this.program.account.queue.fetch(queuePda);
30
+ return fetchQueue(this.rpc, queuePda);
37
31
  }
38
- /**
39
- * Fetch Tenant account data
40
- */
41
- async getTenant(tenantPda) {
42
- return await this.program.account.tenant.fetch(tenantPda);
43
- }
44
- /**
45
- * Initialize a Tenant (with optional callback config)
46
- */
47
- async initializeTenant(tenantProgramId, options, confirmOptions, signers = []) {
48
- const { authority = tenantProgramId, eloWindow = 100, eloOffset = 40, eloDataType = 'u16', callbackProgramId = null, callbackDiscriminator = null, } = options || {};
32
+ async initializeTenant(tenantProgramId, options) {
33
+ const { eloWindow = 100n, eloOffset = 40, eloDataType = "u16", callbackProgramId = null, callbackDiscriminator = null, } = options || {};
49
34
  const eloSize = getEloSize(eloDataType);
50
- const tenantPda = this.getTenantPda(authority);
51
- return await this.program.methods
52
- .initializeTenant(tenantProgramId, eloOffset, eloSize, new BN(eloWindow), callbackProgramId || null, callbackDiscriminator ? Array.from(Buffer.from(callbackDiscriminator)) : null)
53
- .accountsPartial({
54
- tenant: tenantPda,
55
- authority: authority,
56
- })
57
- .signers(signers)
58
- .rpc(confirmOptions);
35
+ const ix = await getInitializeTenantInstructionAsync({
36
+ authority: this.signer,
37
+ tenantProgramId,
38
+ eloOffset,
39
+ eloSize,
40
+ eloWindow,
41
+ callbackProgramId: callbackProgramId ? { __option: "Some", value: callbackProgramId } : { __option: "None" },
42
+ callbackDiscriminator: callbackDiscriminator
43
+ ? { __option: "Some", value: new Uint8Array(callbackDiscriminator) }
44
+ : { __option: "None" },
45
+ }, { programAddress: this.programId });
46
+ return sendInstruction(this.rpc, ix, this.signer);
59
47
  }
60
- /**
61
- * Initialize a Queue
62
- */
63
- async initializeQueue(authority, tenant, confirmOptions, signers = []) {
64
- const queuePda = this.getQueuePda(authority);
65
- return await this.program.methods
66
- .initializeQueue()
67
- .accountsPartial({
68
- queue: queuePda,
69
- tenant: tenant,
70
- authority: authority,
71
- })
72
- .signers(signers)
73
- .rpc(confirmOptions);
48
+ async initializeQueue(_authority, tenant) {
49
+ const ix = await getInitializeQueueInstructionAsync({
50
+ authority: this.signer,
51
+ tenant,
52
+ }, { programAddress: this.programId });
53
+ return sendInstruction(this.rpc, ix, this.signer);
74
54
  }
75
- /**
76
- * Delegate Queue to TEE
77
- */
78
- async delegateQueue(authority, validator = new web3.PublicKey("FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA"), confirmOptions, signers = []) {
79
- const queuePda = this.getQueuePda(authority);
80
- return await this.program.methods
81
- .delegateQueue({ queue: { authority } })
82
- .accounts({
55
+ async delegateQueue(authority, validator) {
56
+ const queuePda = await this.getQueuePda(authority);
57
+ const ix = await getDelegateQueueInstructionAsync({
83
58
  pda: queuePda,
84
- payer: authority,
85
- validator: validator,
86
- })
87
- .signers(signers)
88
- .rpc(confirmOptions);
59
+ payer: this.signer,
60
+ validator,
61
+ accountType: accountType("Queue", { authority }),
62
+ }, { programAddress: this.programId });
63
+ return sendInstruction(this.rpc, ix, this.signer);
64
+ }
65
+ async flushMatches(queue, tenant, ticketPdas, callbackProgram) {
66
+ const ix = getFlushMatchesInstruction({
67
+ queue,
68
+ tenant,
69
+ signer: this.signer,
70
+ }, { programAddress: this.programId });
71
+ const remainingAccounts = [
72
+ ...ticketPdas.map((address) => ({ address, role: 1 })),
73
+ ...(callbackProgram ? [{ address: callbackProgram, role: 0 }] : []),
74
+ ];
75
+ const ixWithRemaining = {
76
+ ...ix,
77
+ accounts: [...ix.accounts, ...remainingAccounts],
78
+ };
79
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
+ return sendInstruction(this.rpc, ixWithRemaining, this.signer);
89
81
  }
90
- /**
91
- * Flush pending matches - crank instruction to update opponent tickets
92
- * Can be called by any TEE-authenticated wallet (permissionless)
93
- */
94
- async flushMatches(queue, tenant, ticketPdas, callbackProgram, confirmOptions, signers = []) {
95
- const remainingAccounts = ticketPdas.map(pda => ({
96
- pubkey: pda,
97
- isSigner: false,
98
- isWritable: true,
99
- }));
100
- if (callbackProgram) {
101
- remainingAccounts.push({
102
- pubkey: callbackProgram,
103
- isSigner: false,
104
- isWritable: false,
105
- });
106
- }
107
- return await this.program.methods
108
- .flushMatches()
109
- .accountsPartial({
110
- queue: queue,
111
- tenant: tenant,
112
- signer: this.provider.publicKey,
113
- })
114
- .remainingAccounts(remainingAccounts)
115
- .signers(signers)
116
- .rpc(confirmOptions);
82
+ async commitTickets(tenant, ticketPdas) {
83
+ const ix = getCommitTicketsInstruction({
84
+ tenant,
85
+ payer: this.signer,
86
+ }, { programAddress: this.programId });
87
+ const ixWithRemaining = {
88
+ ...ix,
89
+ accounts: [
90
+ ...ix.accounts,
91
+ ...ticketPdas.map((address) => ({ address, role: 1 })),
92
+ ],
93
+ };
94
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
95
+ return sendInstruction(this.rpc, ixWithRemaining, this.signer);
117
96
  }
118
- /**
119
- * Commit matched tickets back to L1 (runs in TEE)
120
- */
121
- async commitTickets(tenant, ticketPdas, confirmOptions, signers = []) {
122
- return await this.program.methods
123
- .commitTickets()
124
- .accountsPartial({
125
- tenant: tenant,
126
- payer: this.provider.publicKey,
127
- })
128
- .remainingAccounts(ticketPdas.map(pda => ({
129
- pubkey: pda,
130
- isSigner: false,
131
- isWritable: true,
132
- })))
133
- .signers(signers)
134
- .rpc(confirmOptions);
97
+ /** Create a new MatchmakingAdmin pointing at a TEE RPC endpoint. */
98
+ withRpc(teeUrl) {
99
+ return new MatchmakingAdmin(createSolanaRpc(teeUrl), this.signer, this.programId);
135
100
  }
136
101
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxJQUFJLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQWE3QixTQUFTLFVBQVUsQ0FBQyxRQUFxQjtJQUN2QyxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQVksUUFBK0IsRUFBRSxTQUFrQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFD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LENBQUMsU0FBUztTQUNoQyxDQUFDO2FBQ0QsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7YUFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUNoQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FDakIsTUFBc0IsRUFDdEIsVUFBNEIsRUFDNUIsY0FBb0MsRUFDcEMsVUFBMEIsRUFBRTtRQUU1QixPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2FBQzlCLGFBQWEsRUFBRTthQUNmLGVBQWUsQ0FBQztZQUNmLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztTQUMvQixDQUFDO2FBQ0QsaUJBQWlCLENBQ2hCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUMsQ0FDSjthQUNBLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDaEIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFuY2hvciBmcm9tIFwiQGNvcmFsLXh5ei9hbmNob3JcIjtcbmltcG9ydCB7IEJOIH0gZnJvbSBcImJuLmpzXCI7XG5pbXBvcnQgKiBhcyB3ZWIzIGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbmltcG9ydCB0eXBlIHsgRHVlbCB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQgSURMIGZyb20gXCIuL2R1ZWwuanNvblwiIHdpdGggeyB0eXBlOiBcImpzb25cIiB9O1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4vdXRpbHMuanNcIjtcblxuY29uc3QgVElDS0VUX1NFRUQgPSBcInRpY2tldFwiO1xuXG5leHBvcnQgdHlwZSBFbG9EYXRhVHlwZSA9ICd1OCcgfCAndTE2JyB8ICd1MzInIHwgJ3U2NCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMge1xuICBhdXRob3JpdHk/OiB3ZWIzLlB1YmxpY0tleTtcbiAgZWxvV2luZG93PzogbnVtYmVyO1xuICBlbG9PZmZzZXQ/OiBudW1iZXI7XG4gIGVsb0RhdGFUeXBlPzogRWxvRGF0YVR5cGU7XG4gIGNhbGxiYWNrUHJvZ3JhbUlkPzogd2ViMy5QdWJsaWNLZXkgfCBudWxsO1xuICBjYWxsYmFja0Rpc2NyaW1pbmF0b3I/OiBudW1iZXJbXSB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEVsb1NpemUoZGF0YVR5cGU6IEVsb0RhdGFUeXBlKTogbnVtYmVyIHtcbiAgc3dpdGNoIChkYXRhVHlwZSkge1xuICAgIGNhc2UgJ3U4JzogcmV0dXJuIDE7XG4gICAgY2FzZSAndTE2JzogcmV0dXJuIDI7XG4gICAgY2FzZSAndTMyJzogcmV0dXJuIDQ7XG4gICAgY2FzZSAndTY0JzogcmV0dXJuIDg7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1hdGNobWFraW5nQWRtaW4ge1xuICBwdWJsaWMgcHJvZ3JhbTogYW5jaG9yLlByb2dyYW08RHVlbD47XG4gIHB1YmxpYyBwcm92aWRlcjogYW5jaG9yLkFuY2hvclByb3ZpZGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByb3ZpZGVyOiBhbmNob3IuQW5jaG9yUHJvdmlkZXIsIHByb2dyYW1JZDogd2ViMy5QdWJsaWNLZXkgfCBzdHJpbmcpIHtcbiAgICBjb25zdCBhZGRyZXNzID0gdHlwZW9mIHByb2dyYW1JZCA9PT0gXCJzdHJpbmdcIiA/IHByb2dyYW1JZCA6IHByb2dyYW1JZC50b0Jhc2U1OCgpO1xuICAgIGNvbnN0IGlkbCA9IHsgLi4uSURMLCBhZGRyZXNzIH07XG4gICAgdGhpcy5wcm9ncmFtID0gbmV3IGFuY2hvci5Qcm9ncmFtKGlkbCBhcyBhbnksIHByb3ZpZGVyKTtcbiAgICB0aGlzLnByb3ZpZGVyID0gcHJvdmlkZXI7XG4gIH1cblxuICAvLyBEZXJpdmUgUERBcyBIZWxwZXJzXG4gIGdldFF1ZXVlUGRhKGF1dGhvcml0eTogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVF1ZXVlUGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQsIGF1dGhvcml0eSk7XG4gIH1cblxuICBnZXRUZW5hbnRQZGEoYXV0aG9yaXR5OiB3ZWIzLlB1YmxpY0tleSk6IHdlYjMuUHVibGljS2V5IHtcbiAgICByZXR1cm4gdXRpbHMuZGVyaXZlVGVuYW50UGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQsIGF1dGhvcml0eSk7XG4gIH1cblxuICBnZXRUaWNrZXRQZGEocGxheWVyOiB3ZWIzLlB1YmxpY0tleSwgdGVuYW50OiB3ZWIzLlB1YmxpY0tleSk6IHdlYjMuUHVibGljS2V5IHtcbiAgICByZXR1cm4gdXRpbHMuZGVyaXZlVGlja2V0UGRhKHRoaXMucHJvZ3JhbS5wcm9ncmFtSWQsIHBsYXllciwgdGVuYW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBRdWV1ZSBhY2NvdW50IGRhdGFcbiAgICovXG4gIGFzeW5jIGdldFF1ZXVlKHF1ZXVlUGRhOiB3ZWIzLlB1YmxpY0tleSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5hY2NvdW50LnF1ZXVlLmZldGNoKHF1ZXVlUGRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBUZW5hbnQgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRUZW5hbnQodGVuYW50UGRhOiB3ZWIzLlB1YmxpY0tleSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5hY2NvdW50LnRlbmFudC5mZXRjaCh0ZW5hbnRQZGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgYSBUZW5hbnQgKHdpdGggb3B0aW9uYWwgY2FsbGJhY2sgY29uZmlnKVxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVRlbmFudChcbiAgICB0ZW5hbnRQcm9ncmFtSWQ6IHdlYjMuUHVibGljS2V5LFxuICAgIG9wdGlvbnM/OiBJbml0aWFsaXplVGVuYW50T3B0aW9ucyxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICBjb25zdCB7XG4gICAgICBhdXRob3JpdHkgPSB0ZW5hbnRQcm9ncmFtSWQsXG4gICAgICBlbG9XaW5kb3cgPSAxMDAsXG4gICAgICBlbG9PZmZzZXQgPSA0MCxcbiAgICAgIGVsb0RhdGFUeXBlID0gJ3UxNicsXG4gICAgICBjYWxsYmFja1Byb2dyYW1JZCA9IG51bGwsXG4gICAgICBjYWxsYmFja0Rpc2NyaW1pbmF0b3IgPSBudWxsLFxuICAgIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgY29uc3QgZWxvU2l6ZSA9IGdldEVsb1NpemUoZWxvRGF0YVR5cGUpO1xuICAgIGNvbnN0IHRlbmFudFBkYSA9IHRoaXMuZ2V0VGVuYW50UGRhKGF1dGhvcml0eSk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5pbml0aWFsaXplVGVuYW50KFxuICAgICAgICB0ZW5hbnRQcm9ncmFtSWQsXG4gICAgICAgIGVsb09mZnNldCxcbiAgICAgICAgZWxvU2l6ZSxcbiAgICAgICAgbmV3IEJOKGVsb1dpbmRvdyksXG4gICAgICAgIGNhbGxiYWNrUHJvZ3JhbUlkIHx8IG51bGwsXG4gICAgICAgIGNhbGxiYWNrRGlzY3JpbWluYXRvciA/IEFycmF5LmZyb20oQnVmZmVyLmZyb20oY2FsbGJhY2tEaXNjcmltaW5hdG9yKSkgOiBudWxsXG4gICAgICApXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgdGVuYW50OiB0ZW5hbnRQZGEsXG4gICAgICAgIGF1dGhvcml0eTogYXV0aG9yaXR5LFxuICAgICAgfSlcbiAgICAgIC5zaWduZXJzKHNpZ25lcnMpXG4gICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGEgUXVldWVcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVRdWV1ZShcbiAgICBhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5LFxuICAgIHRlbmFudDogd2ViMy5QdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVF1ZXVlKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICBxdWV1ZTogcXVldWVQZGEsXG4gICAgICAgIHRlbmFudDogdGVuYW50LFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGUgUXVldWUgdG8gVEVFXG4gICAqL1xuICBhc3luYyBkZWxlZ2F0ZVF1ZXVlKFxuICAgIGF1dGhvcml0eTogd2ViMy5QdWJsaWNLZXksXG4gICAgdmFsaWRhdG9yOiB3ZWIzLlB1YmxpY0tleSA9IG5ldyB3ZWIzLlB1YmxpY0tleShcIkZuRTZWSlQ1UU5aZGVkWlBuQ29Mc0FSZ0J3b0U2RGVKTmpCczJIMWd5U1hBXCIpLFxuICAgIGNvbmZpcm1PcHRpb25zPzogd2ViMy5Db25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiB3ZWIzLktleXBhaXJbXSA9IFtdXG4gICk6IFByb21pc2U8d2ViMy5UcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgICAgY29uc3QgcXVldWVQZGEgPSB0aGlzLmdldFF1ZXVlUGRhKGF1dGhvcml0eSk7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgICAgLmRlbGVnYXRlUXVldWUoeyBxdWV1ZTogeyBhdXRob3JpdHkgfSB9IGFzIGFueSlcbiAgICAgICAgLmFjY291bnRzKHtcbiAgICAgICAgICAgIHBkYTogcXVldWVQZGEsXG4gICAgICAgICAgICBwYXllcjogYXV0aG9yaXR5LFxuICAgICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0b3IsXG4gICAgICAgIH0gYXMgdW5rbm93biBhcyBhbnkpXG4gICAgICAgIC5zaWduZXJzKHNpZ25lcnMpXG4gICAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsdXNoIHBlbmRpbmcgbWF0Y2hlcyAtIGNyYW5rIGluc3RydWN0aW9uIHRvIHVwZGF0ZSBvcHBvbmVudCB0aWNrZXRzXG4gICAqIENhbiBiZSBjYWxsZWQgYnkgYW55IFRFRS1hdXRoZW50aWNhdGVkIHdhbGxldCAocGVybWlzc2lvbmxlc3MpXG4gICAqL1xuICBhc3luYyBmbHVzaE1hdGNoZXMoXG4gICAgcXVldWU6IHdlYjMuUHVibGljS2V5LFxuICAgIHRlbmFudDogd2ViMy5QdWJsaWNLZXksXG4gICAgdGlja2V0UGRhczogd2ViMy5QdWJsaWNLZXlbXSxcbiAgICBjYWxsYmFja1Byb2dyYW0/OiB3ZWIzLlB1YmxpY0tleSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICBjb25zdCByZW1haW5pbmdBY2NvdW50cyA9IHRpY2tldFBkYXMubWFwKHBkYSA9PiAoe1xuICAgICAgcHVia2V5OiBwZGEsXG4gICAgICBpc1NpZ25lcjogZmFsc2UsXG4gICAgICBpc1dyaXRhYmxlOiB0cnVlLFxuICAgIH0pKTtcblxuICAgIGlmIChjYWxsYmFja1Byb2dyYW0pIHtcbiAgICAgIHJlbWFpbmluZ0FjY291bnRzLnB1c2goe1xuICAgICAgICBwdWJrZXk6IGNhbGxiYWNrUHJvZ3JhbSxcbiAgICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgICBpc1dyaXRhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmZsdXNoTWF0Y2hlcygpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgc2lnbmVyOiB0aGlzLnByb3ZpZGVyLnB1YmxpY0tleSxcbiAgICAgIH0pXG4gICAgICAucmVtYWluaW5nQWNjb3VudHMocmVtYWluaW5nQWNjb3VudHMpXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0IG1hdGNoZWQgdGlja2V0cyBiYWNrIHRvIEwxIChydW5zIGluIFRFRSlcbiAgICovXG4gIGFzeW5jIGNvbW1pdFRpY2tldHMoXG4gICAgdGVuYW50OiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0aWNrZXRQZGFzOiB3ZWIzLlB1YmxpY0tleVtdLFxuICAgIGNvbmZpcm1PcHRpb25zPzogd2ViMy5Db25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiB3ZWIzLktleXBhaXJbXSA9IFtdXG4gICk6IFByb21pc2U8d2ViMy5UcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmNvbW1pdFRpY2tldHMoKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50LFxuICAgICAgICBwYXllcjogdGhpcy5wcm92aWRlci5wdWJsaWNLZXksXG4gICAgICB9KVxuICAgICAgLnJlbWFpbmluZ0FjY291bnRzKFxuICAgICAgICB0aWNrZXRQZGFzLm1hcChwZGEgPT4gKHtcbiAgICAgICAgICBwdWJrZXk6IHBkYSxcbiAgICAgICAgICBpc1NpZ25lcjogZmFsc2UsXG4gICAgICAgICAgaXNXcml0YWJsZTogdHJ1ZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsR0FLaEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFDbEMsZ0NBQWdDLEVBQ2hDLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLFdBQVcsR0FDWixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQWFwQyxTQUFTLFVBQVUsQ0FBQyxRQUFxQjtJQUN2QyxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLGVBQWUsR0FBRyw4Q0FBeUQsQ0FBQztBQUVsRixNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQ0UsR0FBc0IsRUFDdEIsTUFBeUIsRUFDekIsWUFBcUIsZUFBZTtRQUVwQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQWtCO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENB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QUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQVUsRUFBRSxDQUFDLENBQUM7YUFDaEU7U0FDRixDQUFDO1FBRUYsOERBQThEO1FBQzlELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBc0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxPQUFPLENBQUMsTUFBYztRQUNwQixPQUFPLElBQUksZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZVNvbGFuYVJwYyxcbiAgdHlwZSBBZGRyZXNzLFxuICB0eXBlIFRyYW5zYWN0aW9uU2lnbmVyLFxuICB0eXBlIFJwYyxcbiAgdHlwZSBTb2xhbmFScGNBcGksXG59IGZyb20gXCJAc29sYW5hL2tpdFwiO1xuaW1wb3J0IHtcbiAgZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uQXN5bmMsXG4gIGdldEluaXRpYWxpemVRdWV1ZUluc3RydWN0aW9uQXN5bmMsXG4gIGdldERlbGVnYXRlUXVldWVJbnN0cnVjdGlvbkFzeW5jLFxuICBnZXRGbHVzaE1hdGNoZXNJbnN0cnVjdGlvbixcbiAgZ2V0Q29tbWl0VGlja2V0c0luc3RydWN0aW9uLFxuICBmZXRjaFF1ZXVlLFxuICBhY2NvdW50VHlwZSxcbn0gZnJvbSBcIi4vZ2VuZXJhdGVkL2R1ZWwvaW5kZXguanNcIjtcbmltcG9ydCB7IHNlbmRJbnN0cnVjdGlvbiB9IGZyb20gXCIuL3RyYW5zYWN0aW9uLmpzXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlscy5qc1wiO1xuXG5leHBvcnQgdHlwZSBFbG9EYXRhVHlwZSA9IFwidThcIiB8IFwidTE2XCIgfCBcInUzMlwiIHwgXCJ1NjRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplVGVuYW50T3B0aW9ucyB7XG4gIGF1dGhvcml0eT86IEFkZHJlc3M7XG4gIGVsb1dpbmRvdz86IGJpZ2ludDtcbiAgZWxvT2Zmc2V0PzogbnVtYmVyO1xuICBlbG9EYXRhVHlwZT86IEVsb0RhdGFUeXBlO1xuICBjYWxsYmFja1Byb2dyYW1JZD86IEFkZHJlc3MgfCBudWxsO1xuICBjYWxsYmFja0Rpc2NyaW1pbmF0b3I/OiBudW1iZXJbXSB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldEVsb1NpemUoZGF0YVR5cGU6IEVsb0RhdGFUeXBlKTogbnVtYmVyIHtcbiAgc3dpdGNoIChkYXRhVHlwZSkge1xuICAgIGNhc2UgXCJ1OFwiOiByZXR1cm4gMTtcbiAgICBjYXNlIFwidTE2XCI6IHJldHVybiAyO1xuICAgIGNhc2UgXCJ1MzJcIjogcmV0dXJuIDQ7XG4gICAgY2FzZSBcInU2NFwiOiByZXR1cm4gODtcbiAgfVxufVxuXG5jb25zdCBEVUVMX1BST0dSQU1fSUQgPSBcIkVkWnpVd0tkMVgyWldqeExQcHoxY3BFek1GN1JVWkM0M1BxNjR2MVZjSzVYXCIgYXMgQWRkcmVzcztcblxuZXhwb3J0IGNsYXNzIE1hdGNobWFraW5nQWRtaW4ge1xuICBwdWJsaWMgcnBjOiBScGM8U29sYW5hUnBjQXBpPjtcbiAgcHVibGljIHNpZ25lcjogVHJhbnNhY3Rpb25TaWduZXI7XG4gIHB1YmxpYyBwcm9ncmFtSWQ6IEFkZHJlc3M7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcnBjOiBScGM8U29sYW5hUnBjQXBpPixcbiAgICBzaWduZXI6IFRyYW5zYWN0aW9uU2lnbmVyLFxuICAgIHByb2dyYW1JZDogQWRkcmVzcyA9IERVRUxfUFJPR1JBTV9JRCxcbiAgKSB7XG4gICAgdGhpcy5ycGMgPSBycGM7XG4gICAgdGhpcy5zaWduZXIgPSBzaWduZXI7XG4gICAgdGhpcy5wcm9ncmFtSWQgPSBwcm9ncmFtSWQ7XG4gIH1cblxuICBhc3luYyBnZXRRdWV1ZVBkYShhdXRob3JpdHk6IEFkZHJlc3MpOiBQcm9taXNlPEFkZHJlc3M+IHtcbiAgICByZXR1cm4gdXRpbHMuZGVyaXZlUXVldWVQZGEodGhpcy5wcm9ncmFtSWQsIGF1dGhvcml0eSk7XG4gIH1cblxuICBhc3luYyBnZXRUZW5hbnRQZGEoYXV0aG9yaXR5OiBBZGRyZXNzKTogUHJvbWlzZTxBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRlbmFudFBkYSh0aGlzLnByb2dyYW1JZCwgYXV0aG9yaXR5KTtcbiAgfVxuXG4gIGFzeW5jIGdldFRpY2tldFBkYShwbGF5ZXI6IEFkZHJlc3MsIHRlbmFudDogQWRkcmVzcyk6IFByb21pc2U8QWRkcmVzcz4ge1xuICAgIHJldHVybiB1dGlscy5kZXJpdmVUaWNrZXRQZGEodGhpcy5wcm9ncmFtSWQsIHBsYXllciwgdGVuYW50KTtcbiAgfVxuXG4gIGFzeW5jIGdldFF1ZXVlKHF1ZXVlUGRhOiBBZGRyZXNzKSB7XG4gICAgcmV0dXJuIGZldGNoUXVldWUodGhpcy5ycGMsIHF1ZXVlUGRhKTtcbiAgfVxuXG4gIGFzeW5jIGluaXRpYWxpemVUZW5hbnQoXG4gICAgdGVuYW50UHJvZ3JhbUlkOiBBZGRyZXNzLFxuICAgIG9wdGlvbnM/OiBJbml0aWFsaXplVGVuYW50T3B0aW9ucyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7XG4gICAgICBlbG9XaW5kb3cgPSAxMDBuLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9IFwidTE2XCIsXG4gICAgICBjYWxsYmFja1Byb2dyYW1JZCA9IG51bGwsXG4gICAgICBjYWxsYmFja0Rpc2NyaW1pbmF0b3IgPSBudWxsLFxuICAgIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgY29uc3QgZWxvU2l6ZSA9IGdldEVsb1NpemUoZWxvRGF0YVR5cGUpO1xuICAgIGNvbnN0IGl4ID0gYXdhaXQgZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uQXN5bmMoe1xuICAgICAgYXV0aG9yaXR5OiB0aGlzLnNpZ25lcixcbiAgICAgIHRlbmFudFByb2dyYW1JZCxcbiAgICAgIGVsb09mZnNldCxcbiAgICAgIGVsb1NpemUsXG4gICAgICBlbG9XaW5kb3csXG4gICAgICBjYWxsYmFja1Byb2dyYW1JZDogY2FsbGJhY2tQcm9ncmFtSWQgPyB7IF9fb3B0aW9uOiBcIlNvbWVcIiwgdmFsdWU6IGNhbGxiYWNrUHJvZ3JhbUlkIH0gOiB7IF9fb3B0aW9uOiBcIk5vbmVcIiB9LFxuICAgICAgY2FsbGJhY2tEaXNjcmltaW5hdG9yOiBjYWxsYmFja0Rpc2NyaW1pbmF0b3JcbiAgICAgICAgPyB7IF9fb3B0aW9uOiBcIlNvbWVcIiwgdmFsdWU6IG5ldyBVaW50OEFycmF5KGNhbGxiYWNrRGlzY3JpbWluYXRvcikgfVxuICAgICAgICA6IHsgX19vcHRpb246IFwiTm9uZVwiIH0sXG4gICAgfSwgeyBwcm9ncmFtQWRkcmVzczogdGhpcy5wcm9ncmFtSWQgfSk7XG5cbiAgICByZXR1cm4gc2VuZEluc3RydWN0aW9uKHRoaXMucnBjLCBpeCwgdGhpcy5zaWduZXIpO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZVF1ZXVlKFxuICAgIF9hdXRob3JpdHk6IEFkZHJlc3MsXG4gICAgdGVuYW50OiBBZGRyZXNzLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGl4ID0gYXdhaXQgZ2V0SW5pdGlhbGl6ZVF1ZXVlSW5zdHJ1Y3Rpb25Bc3luYyh7XG4gICAgICBhdXRob3JpdHk6IHRoaXMuc2lnbmVyLFxuICAgICAgdGVuYW50LFxuICAgIH0sIHsgcHJvZ3JhbUFkZHJlc3M6IHRoaXMucHJvZ3JhbUlkIH0pO1xuICAgIHJldHVybiBzZW5kSW5zdHJ1Y3Rpb24odGhpcy5ycGMsIGl4LCB0aGlzLnNpZ25lcik7XG4gIH1cblxuICBhc3luYyBkZWxlZ2F0ZVF1ZXVlKFxuICAgIGF1dGhvcml0eTogQWRkcmVzcyxcbiAgICB2YWxpZGF0b3I/OiBBZGRyZXNzLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXVlUGRhID0gYXdhaXQgdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgIGNvbnN0IGl4ID0gYXdhaXQgZ2V0RGVsZWdhdGVRdWV1ZUluc3RydWN0aW9uQXN5bmMoe1xuICAgICAgcGRhOiBxdWV1ZVBkYSxcbiAgICAgIHBheWVyOiB0aGlzLnNpZ25lcixcbiAgICAgIHZhbGlkYXRvcixcbiAgICAgIGFjY291bnRUeXBlOiBhY2NvdW50VHlwZShcIlF1ZXVlXCIsIHsgYXV0aG9yaXR5IH0pLFxuICAgIH0sIHsgcHJvZ3JhbUFkZHJlc3M6IHRoaXMucHJvZ3JhbUlkIH0pO1xuICAgIHJldHVybiBzZW5kSW5zdHJ1Y3Rpb24odGhpcy5ycGMsIGl4LCB0aGlzLnNpZ25lcik7XG4gIH1cblxuICBhc3luYyBmbHVzaE1hdGNoZXMoXG4gICAgcXVldWU6IEFkZHJlc3MsXG4gICAgdGVuYW50OiBBZGRyZXNzLFxuICAgIHRpY2tldFBkYXM6IEFkZHJlc3NbXSxcbiAgICBjYWxsYmFja1Byb2dyYW0/OiBBZGRyZXNzLFxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGl4ID0gZ2V0Rmx1c2hNYXRjaGVzSW5zdHJ1Y3Rpb24oe1xuICAgICAgcXVldWUsXG4gICAgICB0ZW5hbnQsXG4gICAgICBzaWduZXI6IHRoaXMuc2lnbmVyLFxuICAgIH0sIHsgcHJvZ3JhbUFkZHJlc3M6IHRoaXMucHJvZ3JhbUlkIH0pO1xuXG4gICAgY29uc3QgcmVtYWluaW5nQWNjb3VudHMgPSBbXG4gICAgICAuLi50aWNrZXRQZGFzLm1hcCgoYWRkcmVzcykgPT4gKHsgYWRkcmVzcywgcm9sZTogMSBhcyBjb25zdCB9KSksXG4gICAgICAuLi4oY2FsbGJhY2tQcm9ncmFtID8gW3sgYWRkcmVzczogY2FsbGJhY2tQcm9ncmFtLCByb2xlOiAwIGFzIGNvbnN0IH1dIDogW10pLFxuICAgIF07XG5cbiAgICBjb25zdCBpeFdpdGhSZW1haW5pbmcgPSB7XG4gICAgICAuLi5peCxcbiAgICAgIGFjY291bnRzOiBbLi4uaXguYWNjb3VudHMsIC4uLnJlbWFpbmluZ0FjY291bnRzXSxcbiAgICB9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZXR1cm4gc2VuZEluc3RydWN0aW9uKHRoaXMucnBjLCBpeFdpdGhSZW1haW5pbmcgYXMgYW55LCB0aGlzLnNpZ25lcik7XG4gIH1cblxuICBhc3luYyBjb21taXRUaWNrZXRzKFxuICAgIHRlbmFudDogQWRkcmVzcyxcbiAgICB0aWNrZXRQZGFzOiBBZGRyZXNzW10sXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgaXggPSBnZXRDb21taXRUaWNrZXRzSW5zdHJ1Y3Rpb24oe1xuICAgICAgdGVuYW50LFxuICAgICAgcGF5ZXI6IHRoaXMuc2lnbmVyLFxuICAgIH0sIHsgcHJvZ3JhbUFkZHJlc3M6IHRoaXMucHJvZ3JhbUlkIH0pO1xuXG4gICAgY29uc3QgaXhXaXRoUmVtYWluaW5nID0ge1xuICAgICAgLi4uaXgsXG4gICAgICBhY2NvdW50czogW1xuICAgICAgICAuLi5peC5hY2NvdW50cyxcbiAgICAgICAgLi4udGlja2V0UGRhcy5tYXAoKGFkZHJlc3MpID0+ICh7IGFkZHJlc3MsIHJvbGU6IDEgYXMgY29uc3QgfSkpLFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZXR1cm4gc2VuZEluc3RydWN0aW9uKHRoaXMucnBjLCBpeFdpdGhSZW1haW5pbmcgYXMgYW55LCB0aGlzLnNpZ25lcik7XG4gIH1cblxuICAvKiogQ3JlYXRlIGEgbmV3IE1hdGNobWFraW5nQWRtaW4gcG9pbnRpbmcgYXQgYSBURUUgUlBDIGVuZHBvaW50LiAqL1xuICB3aXRoUnBjKHRlZVVybDogc3RyaW5nKTogTWF0Y2htYWtpbmdBZG1pbiB7XG4gICAgcmV0dXJuIG5ldyBNYXRjaG1ha2luZ0FkbWluKGNyZWF0ZVNvbGFuYVJwYyh0ZWVVcmwpLCB0aGlzLnNpZ25lciwgdGhpcy5wcm9ncmFtSWQpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- // import { x25519 } from "@noble/curves/ed25519";
2
1
  export class EncryptionProvider {
3
2
  constructor() {
4
3
  this.keyPair = null;
@@ -94,4 +93,4 @@ export class EncryptionProvider {
94
93
  return new Uint8Array(raw);
95
94
  }
96
95
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLG1EQUFtRDtBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBQ1ksWUFBTyxHQUF5QixJQUFJLENBQUM7SUF3SmpELENBQUM7SUF0SkcsZ0NBQWdDO0lBQ2hDLElBQVksTUFBTTtRQUNkLElBQUksT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzNDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUM3QixDQUFDO1FBQ0QsMEZBQTBGO1FBQzFGLElBQUksQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUMvQztZQUNJLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLE9BQU87U0FDdEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQ2IsQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQWdCLEVBQ2hCLGlCQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUVELHdCQUF3QjtRQUN4Qix3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LElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDOUM7WUFDSSxJQUFJLEVBQUUsU0FBUztZQUNmLEVBQUUsRUFBRSxFQUFFO1NBQ1QsRUFDRCxTQUFTLEVBQ1QsVUFBcUMsQ0FDeEMsQ0FBQztRQUVGLE9BQU8sSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQjtRQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDN0MsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFDckMsSUFBSSxFQUNKLENBQUMsV0FBVyxDQUFDLENBQ0MsQ0FBQztRQUNuQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5IH0gZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuLy8gaW1wb3J0IHsgeDI1NTE5IH0gZnJvbSBcIkBub2JsZS9jdXJ2ZXMvZWQyNTUxOVwiOyBcblxuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBrZXlQYWlyOiBDcnlwdG9LZXlQYWlyIHwgbnVsbCA9IG51bGw7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIGNyeXB0byBhdmFpbGFiaWxpdHlcbiAgICBwcml2YXRlIGdldCBjcnlwdG8oKTogQ3J5cHRvIHtcbiAgICAgICAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLmNyeXB0byAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxUaGlzLmNyeXB0bztcbiAgICAgICAgfVxuICAgICAgICAvLyBGYWxsYmFjayBmb3IgTm9kZSA8IDE5IGlmIGdsb2JhbCBjcnlwdG8gbm90IHNldCAodGhvdWdoIFNESyBsaWtlbHkgdGFyZ2V0cyBtb2Rlcm4gZW52cylcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiByZXF1aXJlKCdjcnlwdG8nKS53ZWJjcnlwdG87XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldlYkNyeXB0byBBUEkgbm90IGF2YWlsYWJsZS5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBhIGZyZXNoIGVwaGVtZXJhbCBrZXlwYWlyIGZvciB0aGUgc2Vzc2lvbiAoWDI1NTE5L1AtMjU2KS5cbiAgICAgKi9cbiAgICBhc3luYyBnZW5lcmF0ZVNlc3Npb25LZXkoKTogUHJvbWlzZTxDcnlwdG9LZXk+IHtcbiAgICAgICAgdGhpcy5rZXlQYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiwgXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiLCBcImRlcml2ZUJpdHNcIl1cbiAgICAgICAgKSBhcyBDcnlwdG9LZXlQYWlyO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5UGFpci5wdWJsaWNLZXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVyaXZlIHNoYXJlZCBzZWNyZXQgYW5kIGVuY3J5cHQgcGF5bG9hZC5cbiAgICAgKi9cbiAgICBhc3luYyBlbmNyeXB0UGF5bG9hZChcbiAgICAgICAgZGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTx7IGVuY3J5cHRlZDogVWludDhBcnJheSwgY2xpZW50UHVibGljS2V5OiBVaW50OEFycmF5IH0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2VuZXJhdGVTZXNzaW9uS2V5KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgLy8gRml4OiBFeHBsaWNpdGx5IGNhc3QgdG8gQnVmZmVyU291cmNlL2FueSBiZWNhdXNlIFRTIGdldHMgY29uZnVzZWQgd2l0aCBTaGFyZWRBcnJheUJ1ZmZlciBpbiBzb21lIGVudnNcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldCAoQUVTLUdDTSBLZXkpXG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBFbmNyeXB0IERhdGFcbiAgICAgICAgY29uc3QgaXYgPSB0aGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoMTIpKTtcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkQnVmZmVyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmVuY3J5cHQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNoYXJlZEtleSxcbiAgICAgICAgICAgIGRhdGEgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2VcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBDb25jYXRlbmF0ZSBJViArIENpcGhlclRleHRcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkID0gbmV3IFVpbnQ4QXJyYXkoaXYubGVuZ3RoICsgZW5jcnlwdGVkQnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgICBlbmNyeXB0ZWQuc2V0KGl2KTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChuZXcgVWludDhBcnJheShlbmNyeXB0ZWRCdWZmZXIpLCBpdi5sZW5ndGgpO1xuXG4gICAgICAgIC8vIEV4cG9ydCBDbGllbnQgUHVibGljIEtleVxuICAgICAgICBjb25zdCBjbGllbnRQdWJSYXcgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KFwicmF3XCIsIHRoaXMua2V5UGFpciEucHVibGljS2V5KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5jcnlwdGVkLFxuICAgICAgICAgICAgY2xpZW50UHVibGljS2V5OiBuZXcgVWludDhBcnJheShjbGllbnRQdWJSYXcpXG4gICAgICAgIH07XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIERlY3J5cHQgYSByZXNwb25zZSBmcm9tIHRoZSBURUUuXG4gICAgICovXG4gICAgYXN5bmMgZGVjcnlwdFJlc3BvbnNlKFxuICAgICAgICBlbmNyeXB0ZWREYXRhOiBVaW50OEFycmF5LCBcbiAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXM6IFVpbnQ4QXJyYXlcbiAgICApOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgICBpZiAoIXRoaXMua2V5UGFpcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gc2Vzc2lvbiBrZXlcIik7XG4gICAgICAgICAgXG4gICAgICAgICAgIC8vIEltcG9ydCBURUUgUHVibGljIEtleVxuICAgICAgICBjb25zdCB0ZWVLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFxuICAgICAgICAgICAgXCJyYXdcIixcbiAgICAgICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlLFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sIFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIERlcml2ZSBTaGFyZWQgU2VjcmV0XG4gICAgICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZXJpdmVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgcHVibGljOiB0ZWVLZXksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5rZXlQYWlyIS5wcml2YXRlS2V5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGxlbmd0aDogMjU2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW1wiZW5jcnlwdFwiLCBcImRlY3J5cHRcIl1cbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGl2ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgwLCAxMik7XG4gICAgICAgIGNvbnN0IGNpcGhlcnRleHQgPSBlbmNyeXB0ZWREYXRhLnNsaWNlKDEyKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZCA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5kZWNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBjaXBoZXJ0ZXh0IGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGVjcnlwdGVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgdG8gZ2VuZXJhdGUgYSB2YWxpZCByYW5kb20gUC0yNTYgUHVibGljIEtleSAoNjUgYnl0ZXMpIGZvciB0ZXN0aW5nLlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZU1vY2tWYWxpZGF0b3JLZXkoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSxcbiAgICAgICAgICAgIHRydWUsIFxuICAgICAgICAgICAgW1wiZGVyaXZlS2V5XCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCBwYWlyLnB1YmxpY0tleSk7XG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShyYXcpO1xuICAgIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFBL0I7UUFDWSxZQUFPLEdBQXlCLElBQUksQ0FBQztJQXdKakQsQ0FBQztJQXRKRyxnQ0FBZ0M7SUFDaEMsSUFBWSxNQUFNO1FBQ2QsSUFBSSxPQUFPLFVBQVUsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDM0MsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzdCLENBQUM7UUFDRCwwRkFBMEY7UUFDMUYsSUFBSSxDQUFDO1lBQ0QsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQy9DO1lBQ0ksSUFBSSxFQUFFLE1BQU07WUFDWixVQUFVLEVBQUUsT0FBTztTQUN0QixFQUNELElBQUksRUFDSixDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FDYixDQUFDO1FBRW5CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FDaEIsSUFBZ0IsRUFDaEIsaUJBQTZCO1FBRTdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNwQyxDQUFDO1FBRUQsd0JBQXdCO1FBQ3hCLHdHQUF3RztRQUN4RyxN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QU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUM5QztZQUNJLElBQUksRUFBRSxTQUFTO1lBQ2YsRUFBRSxFQUFFLEVBQUU7U0FDVCxFQUNELFNBQVMsRUFDVCxVQUFxQyxDQUN4QyxDQUFDO1FBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUM3QyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUNyQyxJQUFJLEVBQ0osQ0FBQyxXQUFXLENBQUMsQ0FDQyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRW5jcnlwdGlvblByb3ZpZGVyIHtcbiAgICBwcml2YXRlIGtleVBhaXI6IENyeXB0b0tleVBhaXIgfCBudWxsID0gbnVsbDtcbiAgICBcbiAgICAvLyBDaGVjayBmb3IgY3J5cHRvIGF2YWlsYWJpbGl0eVxuICAgIHByaXZhdGUgZ2V0IGNyeXB0bygpOiBDcnlwdG8ge1xuICAgICAgICBpZiAodHlwZW9mIGdsb2JhbFRoaXMuY3J5cHRvICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZhbGxiYWNrIGZvciBOb2RlIDwgMTkgaWYgZ2xvYmFsIGNyeXB0byBub3Qgc2V0ICh0aG91Z2ggU0RLIGxpa2VseSB0YXJnZXRzIG1vZGVybiBlbnZzKVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVpcmUoJ2NyeXB0bycpLndlYmNyeXB0bztcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiV2ViQ3J5cHRvIEFQSSBub3QgYXZhaWxhYmxlLlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIGEgZnJlc2ggZXBoZW1lcmFsIGtleXBhaXIgZm9yIHRoZSBzZXNzaW9uIChYMjU1MTkvUC0yNTYpLlxuICAgICAqL1xuICAgIGFzeW5jIGdlbmVyYXRlU2Vzc2lvbktleSgpOiBQcm9taXNlPENyeXB0b0tleT4ge1xuICAgICAgICB0aGlzLmtleVBhaXIgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZ2VuZXJhdGVLZXkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJFQ0RIXCIsXG4gICAgICAgICAgICAgICAgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiLCBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgW1wiZGVyaXZlS2V5XCIsIFwiZGVyaXZlQml0c1wiXVxuICAgICAgICApIGFzIENyeXB0b0tleVBhaXI7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5rZXlQYWlyLnB1YmxpY0tleTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXJpdmUgc2hhcmVkIHNlY3JldCBhbmQgZW5jcnlwdCBwYXlsb2FkLlxuICAgICAqL1xuICAgIGFzeW5jIGVuY3J5cHRQYXlsb2FkKFxuICAgICAgICBkYXRhOiBVaW50OEFycmF5LCBcbiAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXM6IFVpbnQ4QXJyYXlcbiAgICApOiBQcm9taXNlPHsgZW5jcnlwdGVkOiBVaW50OEFycmF5LCBjbGllbnRQdWJsaWNLZXk6IFVpbnQ4QXJyYXkgfT4ge1xuICAgICAgICBpZiAoIXRoaXMua2V5UGFpcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZVNlc3Npb25LZXkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEltcG9ydCBURUUgUHVibGljIEtleVxuICAgICAgICAvLyBGaXg6IEV4cGxpY2l0bHkgY2FzdCB0byBCdWZmZXJTb3VyY2UvYW55IGJlY2F1c2UgVFMgZ2V0cyBjb25mdXNlZCB3aXRoIFNoYXJlZEFycmF5QnVmZmVyIGluIHNvbWUgZW52c1xuICAgICAgICBjb25zdCB0ZWVLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFxuICAgICAgICAgICAgXCJyYXdcIixcbiAgICAgICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlLFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sIFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIERlcml2ZSBTaGFyZWQgU2VjcmV0IChBRVMtR0NNIEtleSlcbiAgICAgICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmRlcml2ZUtleShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVDREhcIixcbiAgICAgICAgICAgICAgICBwdWJsaWM6IHRlZUtleSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLmtleVBhaXIhLnByaXZhdGVLZXksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNTYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuY3J5cHQgRGF0YVxuICAgICAgICBjb25zdCBpdiA9IHRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheSgxMikpO1xuICAgICAgICBjb25zdCBlbmNyeXB0ZWRCdWZmZXIgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZW5jcnlwdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhcmVkS2V5LFxuICAgICAgICAgICAgZGF0YSBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIENvbmNhdGVuYXRlIElWICsgQ2lwaGVyVGV4dFxuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBuZXcgVWludDhBcnJheShpdi5sZW5ndGggKyBlbmNyeXB0ZWRCdWZmZXIuYnl0ZUxlbmd0aCk7XG4gICAgICAgIGVuY3J5cHRlZC5zZXQoaXYpO1xuICAgICAgICBlbmNyeXB0ZWQuc2V0KG5ldyBVaW50OEFycmF5KGVuY3J5cHRlZEJ1ZmZlciksIGl2Lmxlbmd0aCk7XG5cbiAgICAgICAgLy8gRXhwb3J0IENsaWVudCBQdWJsaWMgS2V5XG4gICAgICAgIGNvbnN0IGNsaWVudFB1YlJhdyA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoXCJyYXdcIiwgdGhpcy5rZXlQYWlyIS5wdWJsaWNLZXkpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWQsXG4gICAgICAgICAgICBjbGllbnRQdWJsaWNLZXk6IG5ldyBVaW50OEFycmF5KGNsaWVudFB1YlJhdylcbiAgICAgICAgfTtcbiAgICB9XG4gICAgXG4gICAgLyoqXG4gICAgICogRGVjcnlwdCBhIHJlc3BvbnNlIGZyb20gdGhlIFRFRS5cbiAgICAgKi9cbiAgICBhc3luYyBkZWNyeXB0UmVzcG9uc2UoXG4gICAgICAgIGVuY3J5cHRlZERhdGE6IFVpbnQ4QXJyYXksIFxuICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlczogVWludDhBcnJheVxuICAgICk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgICAgICAgIGlmICghdGhpcy5rZXlQYWlyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBzZXNzaW9uIGtleVwiKTtcbiAgICAgICAgICBcbiAgICAgICAgICAgLy8gSW1wb3J0IFRFRSBQdWJsaWMgS2V5XG4gICAgICAgIGNvbnN0IHRlZUtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICAgICAgICBcInJhd1wiLFxuICAgICAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXMgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2UsXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSwgXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRGVyaXZlIFNoYXJlZCBTZWNyZXRcbiAgICAgICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmRlcml2ZUtleShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVDREhcIixcbiAgICAgICAgICAgICAgICBwdWJsaWM6IHRlZUtleSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLmtleVBhaXIhLnByaXZhdGVLZXksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgbGVuZ3RoOiAyNTYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgaXYgPSBlbmNyeXB0ZWREYXRhLnNsaWNlKDAsIDEyKTtcbiAgICAgICAgY29uc3QgY2lwaGVydGV4dCA9IGVuY3J5cHRlZERhdGEuc2xpY2UoMTIpO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZGVjcnlwdGVkID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmRlY3J5cHQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJBRVMtR0NNXCIsXG4gICAgICAgICAgICAgICAgaXY6IGl2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNoYXJlZEtleSxcbiAgICAgICAgICAgIGNpcGhlcnRleHQgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2VcbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheShkZWNyeXB0ZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhlbHBlciB0byBnZW5lcmF0ZSBhIHZhbGlkIHJhbmRvbSBQLTI1NiBQdWJsaWMgS2V5ICg2NSBieXRlcykgZm9yIHRlc3RpbmcuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlTW9ja1ZhbGlkYXRvcktleSgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgY29uc3QgcGFpciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LFxuICAgICAgICAgICAgdHJ1ZSwgXG4gICAgICAgICAgICBbXCJkZXJpdmVLZXlcIl1cbiAgICAgICAgKSBhcyBDcnlwdG9LZXlQYWlyO1xuICAgICAgICBjb25zdCByYXcgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZXhwb3J0S2V5KFwicmF3XCIsIHBhaXIucHVibGljS2V5KTtcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJhdyk7XG4gICAgfVxufVxuIl19
@@ -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 './matchTicket';
9
+ export * from './queue';
10
+ export * from './tenant';
@@ -0,0 +1,11 @@
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 './matchTicket';
9
+ export * from './queue';
10
+ export * from './tenant';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2R1ZWwvYWNjb3VudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY29kZSB3YXMgQVVUT0dFTkVSQVRFRCB1c2luZyB0aGUgQ29kYW1hIGxpYnJhcnkuXG4gKiBQbGVhc2UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpbnN0ZWFkIHVzZSB2aXNpdG9yc1xuICogdG8gYWRkIGZlYXR1cmVzLCB0aGVuIHJlcnVuIENvZGFtYSB0byB1cGRhdGUgaXQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kYW1hLWlkbC9jb2RhbWFcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21hdGNoVGlja2V0JztcbmV4cG9ydCAqIGZyb20gJy4vcXVldWUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQnOyJdfQ==
@@ -0,0 +1,38 @@
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 ReadonlyUint8Array } from '@solana/kit';
9
+ import { type TicketStatus, type TicketStatusArgs } from '../types';
10
+ export declare const MATCH_TICKET_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getMatchTicketDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
12
+ export type MatchTicket = {
13
+ discriminator: ReadonlyUint8Array;
14
+ player: Address;
15
+ tenant: Address;
16
+ status: TicketStatus;
17
+ createdAt: bigint;
18
+ bump: number;
19
+ };
20
+ export type MatchTicketArgs = {
21
+ player: Address;
22
+ tenant: Address;
23
+ status: TicketStatusArgs;
24
+ createdAt: number | bigint;
25
+ bump: number;
26
+ };
27
+ /** Gets the encoder for {@link MatchTicketArgs} account data. */
28
+ export declare function getMatchTicketEncoder(): Encoder<MatchTicketArgs>;
29
+ /** Gets the decoder for {@link MatchTicket} account data. */
30
+ export declare function getMatchTicketDecoder(): Decoder<MatchTicket>;
31
+ /** Gets the codec for {@link MatchTicket} account data. */
32
+ export declare function getMatchTicketCodec(): Codec<MatchTicketArgs, MatchTicket>;
33
+ export declare function decodeMatchTicket<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<MatchTicket, TAddress>;
34
+ export declare function decodeMatchTicket<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<MatchTicket, TAddress>;
35
+ export declare function fetchMatchTicket<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<MatchTicket, TAddress>>;
36
+ export declare function fetchMaybeMatchTicket<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<MatchTicket, TAddress>>;
37
+ export declare function fetchAllMatchTicket(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<MatchTicket>[]>;
38
+ export declare function fetchAllMaybeMatchTicket(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<MatchTicket>[]>;
@@ -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, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, transformEncoder } from '@solana/kit';
9
+ import { getTicketStatusDecoder, getTicketStatusEncoder } from '../types';
10
+ export const MATCH_TICKET_DISCRIMINATOR = new Uint8Array([11, 131, 4, 157, 207, 79, 126, 5]);
11
+ export function getMatchTicketDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(MATCH_TICKET_DISCRIMINATOR); }
12
+ /** Gets the encoder for {@link MatchTicketArgs} account data. */
13
+ export function getMatchTicketEncoder() {
14
+ return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['player', getAddressEncoder()], ['tenant', getAddressEncoder()], ['status', getTicketStatusEncoder()], ['createdAt', getI64Encoder()], ['bump', getU8Encoder()]]), (value) => ({ ...value, discriminator: MATCH_TICKET_DISCRIMINATOR }));
15
+ }
16
+ /** Gets the decoder for {@link MatchTicket} account data. */
17
+ export function getMatchTicketDecoder() {
18
+ return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['player', getAddressDecoder()], ['tenant', getAddressDecoder()], ['status', getTicketStatusDecoder()], ['createdAt', getI64Decoder()], ['bump', getU8Decoder()]]);
19
+ }
20
+ /** Gets the codec for {@link MatchTicket} account data. */
21
+ export function getMatchTicketCodec() {
22
+ return combineCodec(getMatchTicketEncoder(), getMatchTicketDecoder());
23
+ }
24
+ export function decodeMatchTicket(encodedAccount) {
25
+ return decodeAccount(encodedAccount, getMatchTicketDecoder());
26
+ }
27
+ export async function fetchMatchTicket(rpc, address, config) {
28
+ const maybeAccount = await fetchMaybeMatchTicket(rpc, address, config);
29
+ assertAccountExists(maybeAccount);
30
+ return maybeAccount;
31
+ }
32
+ export async function fetchMaybeMatchTicket(rpc, address, config) {
33
+ const maybeAccount = await fetchEncodedAccount(rpc, address, config);
34
+ return decodeMatchTicket(maybeAccount);
35
+ }
36
+ export async function fetchAllMatchTicket(rpc, addresses, config) {
37
+ const maybeAccounts = await fetchAllMaybeMatchTicket(rpc, addresses, config);
38
+ assertAccountsExist(maybeAccounts);
39
+ return maybeAccounts;
40
+ }
41
+ export async function fetchAllMaybeMatchTicket(rpc, addresses, config) {
42
+ const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
43
+ return maybeAccounts.map((maybeAccount) => decodeMatchTicket(maybeAccount));
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hUaWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2R1ZWwvYWNjb3VudHMvbWF0Y2hUaWNrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBb04sTUFBTSxhQUFhLENBQUM7QUFDempCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBNEMsTUFBTSxVQUFVLENBQUM7QUFFcEgsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU3RixNQUFNLFVBQVUsZ0NBQWdDLEtBQUssT0FBTyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBTXRJLGlFQUFpRTtBQUNqRSxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsYUFBYSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pWLENBQUM7QUFFRCw2REFBNkQ7QUFDN0QsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6UCxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELE1BQU0sVUFBVSxtQkFBbUI7SUFDL0IsT0FBTyxZQUFZLENBQUMscUJBQXFCLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUlELE1BQU0sVUFBVSxpQkFBaUIsQ0FBbUMsY0FBd0U7SUFDMUksT0FBTyxhQUFhLENBQUMsY0FBK0MsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDakcsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLEdBQThDLEVBQzlDLE9BQTBCLEVBQzFCLE1BQTJCO0lBRTNCLE1BQU0sWUFBWSxHQUFHLE1BQU0scUJBQXFCLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FDekMsR0FBOEMsRUFDOUMsT0FBMEIsRUFDMUIsTUFBMkI7SUFFM0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLE9BQU8saUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLEdBQStDLEVBQy9DLFNBQXlCLEVBQ3pCLE1BQTRCO0lBRTVCLE1BQU0sYUFBYSxHQUFHLE1BQU0sd0JBQXdCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuQyxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSx3QkFBd0IsQ0FDNUMsR0FBK0MsRUFDL0MsU0FBeUIsRUFDekIsTUFBNEI7SUFFNUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgYXNzZXJ0QWNjb3VudEV4aXN0cywgYXNzZXJ0QWNjb3VudHNFeGlzdCwgY29tYmluZUNvZGVjLCBkZWNvZGVBY2NvdW50LCBmZXRjaEVuY29kZWRBY2NvdW50LCBmZXRjaEVuY29kZWRBY2NvdW50cywgZml4RGVjb2RlclNpemUsIGZpeEVuY29kZXJTaXplLCBnZXRBZGRyZXNzRGVjb2RlciwgZ2V0QWRkcmVzc0VuY29kZXIsIGdldEJ5dGVzRGVjb2RlciwgZ2V0Qnl0ZXNFbmNvZGVyLCBnZXRJNjREZWNvZGVyLCBnZXRJNjRFbmNvZGVyLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBnZXRVOERlY29kZXIsIGdldFU4RW5jb2RlciwgdHJhbnNmb3JtRW5jb2RlciwgdHlwZSBBY2NvdW50LCB0eXBlIEFkZHJlc3MsIHR5cGUgQ29kZWMsIHR5cGUgRGVjb2RlciwgdHlwZSBFbmNvZGVkQWNjb3VudCwgdHlwZSBFbmNvZGVyLCB0eXBlIEZldGNoQWNjb3VudENvbmZpZywgdHlwZSBGZXRjaEFjY291bnRzQ29uZmlnLCB0eXBlIE1heWJlQWNjb3VudCwgdHlwZSBNYXliZUVuY29kZWRBY2NvdW50LCB0eXBlIFJlYWRvbmx5VWludDhBcnJheSB9IGZyb20gJ0Bzb2xhbmEva2l0JztcbmltcG9ydCB7IGdldFRpY2tldFN0YXR1c0RlY29kZXIsIGdldFRpY2tldFN0YXR1c0VuY29kZXIsIHR5cGUgVGlja2V0U3RhdHVzLCB0eXBlIFRpY2tldFN0YXR1c0FyZ3MgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVRDSF9USUNLRVRfRElTQ1JJTUlOQVRPUiA9IG5ldyBVaW50OEFycmF5KFsxMSwgMTMxLCA0LCAxNTcsIDIwNywgNzksIDEyNiwgNV0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF0Y2hUaWNrZXREaXNjcmltaW5hdG9yQnl0ZXMoKSB7IHJldHVybiBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCkuZW5jb2RlKE1BVENIX1RJQ0tFVF9ESVNDUklNSU5BVE9SKTsgfVxuXG5leHBvcnQgdHlwZSBNYXRjaFRpY2tldCA9IHsgZGlzY3JpbWluYXRvcjogUmVhZG9ubHlVaW50OEFycmF5OyBwbGF5ZXI6IEFkZHJlc3M7IHRlbmFudDogQWRkcmVzczsgc3RhdHVzOiBUaWNrZXRTdGF0dXM7IGNyZWF0ZWRBdDogYmlnaW50OyBidW1wOiBudW1iZXI7ICB9O1xuXG5leHBvcnQgdHlwZSBNYXRjaFRpY2tldEFyZ3MgPSB7IHBsYXllcjogQWRkcmVzczsgdGVuYW50OiBBZGRyZXNzOyBzdGF0dXM6IFRpY2tldFN0YXR1c0FyZ3M7IGNyZWF0ZWRBdDogbnVtYmVyIHwgYmlnaW50OyBidW1wOiBudW1iZXI7ICB9O1xuXG4vKiogR2V0cyB0aGUgZW5jb2RlciBmb3Ige0BsaW5rIE1hdGNoVGlja2V0QXJnc30gYWNjb3VudCBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoVGlja2V0RW5jb2RlcigpOiBFbmNvZGVyPE1hdGNoVGlja2V0QXJncz4ge1xuICAgIHJldHVybiB0cmFuc2Zvcm1FbmNvZGVyKGdldFN0cnVjdEVuY29kZXIoW1snZGlzY3JpbWluYXRvcicsIGZpeEVuY29kZXJTaXplKGdldEJ5dGVzRW5jb2RlcigpLCA4KV0sIFsncGxheWVyJywgZ2V0QWRkcmVzc0VuY29kZXIoKV0sIFsndGVuYW50JywgZ2V0QWRkcmVzc0VuY29kZXIoKV0sIFsnc3RhdHVzJywgZ2V0VGlja2V0U3RhdHVzRW5jb2RlcigpXSwgWydjcmVhdGVkQXQnLCBnZXRJNjRFbmNvZGVyKCldLCBbJ2J1bXAnLCBnZXRVOEVuY29kZXIoKV1dKSwgKHZhbHVlKSA9PiAoeyAuLi52YWx1ZSwgZGlzY3JpbWluYXRvcjogTUFUQ0hfVElDS0VUX0RJU0NSSU1JTkFUT1IgfSkpO1xufVxuXG4vKiogR2V0cyB0aGUgZGVjb2RlciBmb3Ige0BsaW5rIE1hdGNoVGlja2V0fSBhY2NvdW50IGRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF0Y2hUaWNrZXREZWNvZGVyKCk6IERlY29kZXI8TWF0Y2hUaWNrZXQ+IHtcbiAgICByZXR1cm4gZ2V0U3RydWN0RGVjb2RlcihbWydkaXNjcmltaW5hdG9yJywgZml4RGVjb2RlclNpemUoZ2V0Qnl0ZXNEZWNvZGVyKCksIDgpXSwgWydwbGF5ZXInLCBnZXRBZGRyZXNzRGVjb2RlcigpXSwgWyd0ZW5hbnQnLCBnZXRBZGRyZXNzRGVjb2RlcigpXSwgWydzdGF0dXMnLCBnZXRUaWNrZXRTdGF0dXNEZWNvZGVyKCldLCBbJ2NyZWF0ZWRBdCcsIGdldEk2NERlY29kZXIoKV0sIFsnYnVtcCcsIGdldFU4RGVjb2RlcigpXV0pO1xufVxuXG4vKiogR2V0cyB0aGUgY29kZWMgZm9yIHtAbGluayBNYXRjaFRpY2tldH0gYWNjb3VudCBkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoVGlja2V0Q29kZWMoKTogQ29kZWM8TWF0Y2hUaWNrZXRBcmdzLCBNYXRjaFRpY2tldD4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0TWF0Y2hUaWNrZXRFbmNvZGVyKCksIGdldE1hdGNoVGlja2V0RGVjb2RlcigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU1hdGNoVGlja2V0PFRBZGRyZXNzIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihlbmNvZGVkQWNjb3VudDogRW5jb2RlZEFjY291bnQ8VEFkZHJlc3M+KTogQWNjb3VudDxNYXRjaFRpY2tldCwgVEFkZHJlc3M+O1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU1hdGNoVGlja2V0PFRBZGRyZXNzIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihlbmNvZGVkQWNjb3VudDogTWF5YmVFbmNvZGVkQWNjb3VudDxUQWRkcmVzcz4pOiBNYXliZUFjY291bnQ8TWF0Y2hUaWNrZXQsIFRBZGRyZXNzPjtcbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVNYXRjaFRpY2tldDxUQWRkcmVzcyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oZW5jb2RlZEFjY291bnQ6IEVuY29kZWRBY2NvdW50PFRBZGRyZXNzPiB8IE1heWJlRW5jb2RlZEFjY291bnQ8VEFkZHJlc3M+KTogQWNjb3VudDxNYXRjaFRpY2tldCwgVEFkZHJlc3M+IHwgTWF5YmVBY2NvdW50PE1hdGNoVGlja2V0LCBUQWRkcmVzcz4ge1xuICByZXR1cm4gZGVjb2RlQWNjb3VudChlbmNvZGVkQWNjb3VudCBhcyBNYXliZUVuY29kZWRBY2NvdW50PFRBZGRyZXNzPiwgZ2V0TWF0Y2hUaWNrZXREZWNvZGVyKCkpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hNYXRjaFRpY2tldDxUQWRkcmVzcyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oXG4gIHJwYzogUGFyYW1ldGVyczx0eXBlb2YgZmV0Y2hFbmNvZGVkQWNjb3VudD5bMF0sXG4gIGFkZHJlc3M6IEFkZHJlc3M8VEFkZHJlc3M+LFxuICBjb25maWc/OiBGZXRjaEFjY291bnRDb25maWcsXG4pOiBQcm9taXNlPEFjY291bnQ8TWF0Y2hUaWNrZXQsIFRBZGRyZXNzPj4ge1xuICBjb25zdCBtYXliZUFjY291bnQgPSBhd2FpdCBmZXRjaE1heWJlTWF0Y2hUaWNrZXQocnBjLCBhZGRyZXNzLCBjb25maWcpO1xuICBhc3NlcnRBY2NvdW50RXhpc3RzKG1heWJlQWNjb3VudCk7XG4gIHJldHVybiBtYXliZUFjY291bnQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaE1heWJlTWF0Y2hUaWNrZXQ8VEFkZHJlc3MgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnQ+WzBdLFxuICBhZGRyZXNzOiBBZGRyZXNzPFRBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50Q29uZmlnLFxuKTogUHJvbWlzZTxNYXliZUFjY291bnQ8TWF0Y2hUaWNrZXQsIFRBZGRyZXNzPj4ge1xuICBjb25zdCBtYXliZUFjY291bnQgPSBhd2FpdCBmZXRjaEVuY29kZWRBY2NvdW50KHJwYywgYWRkcmVzcywgY29uZmlnKTtcbiAgcmV0dXJuIGRlY29kZU1hdGNoVGlja2V0KG1heWJlQWNjb3VudCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEFsbE1hdGNoVGlja2V0KFxuICBycGM6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoRW5jb2RlZEFjY291bnRzPlswXSxcbiAgYWRkcmVzc2VzOiBBcnJheTxBZGRyZXNzPixcbiAgY29uZmlnPzogRmV0Y2hBY2NvdW50c0NvbmZpZyxcbik6IFByb21pc2U8QWNjb3VudDxNYXRjaFRpY2tldD5bXT4ge1xuICBjb25zdCBtYXliZUFjY291bnRzID0gYXdhaXQgZmV0Y2hBbGxNYXliZU1hdGNoVGlja2V0KHJwYywgYWRkcmVzc2VzLCBjb25maWcpO1xuICBhc3NlcnRBY2NvdW50c0V4aXN0KG1heWJlQWNjb3VudHMpO1xuICByZXR1cm4gbWF5YmVBY2NvdW50cztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoQWxsTWF5YmVNYXRjaFRpY2tldChcbiAgcnBjOiBQYXJhbWV0ZXJzPHR5cGVvZiBmZXRjaEVuY29kZWRBY2NvdW50cz5bMF0sXG4gIGFkZHJlc3NlczogQXJyYXk8QWRkcmVzcz4sXG4gIGNvbmZpZz86IEZldGNoQWNjb3VudHNDb25maWcsXG4pOiBQcm9taXNlPE1heWJlQWNjb3VudDxNYXRjaFRpY2tldD5bXT4ge1xuICBjb25zdCBtYXliZUFjY291bnRzID0gYXdhaXQgZmV0Y2hFbmNvZGVkQWNjb3VudHMocnBjLCBhZGRyZXNzZXMsIGNvbmZpZyk7XG4gIHJldHVybiBtYXliZUFjY291bnRzLm1hcCgobWF5YmVBY2NvdW50KSA9PiBkZWNvZGVNYXRjaFRpY2tldChtYXliZUFjY291bnQpKTtcbn0iXX0=
@@ -0,0 +1,42 @@
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 ReadonlyUint8Array } from '@solana/kit';
9
+ import { type MatchEntry, type MatchEntryArgs, type PendingMatch, type PendingMatchArgs, type QueueEntry, type QueueEntryArgs } from '../types';
10
+ export declare const QUEUE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
11
+ export declare function getQueueDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
12
+ export type Queue = {
13
+ discriminator: ReadonlyUint8Array;
14
+ authority: Address;
15
+ tenant: Address;
16
+ bump: number;
17
+ matchCounter: bigint;
18
+ entries: Array<QueueEntry>;
19
+ matches: Array<MatchEntry>;
20
+ pendingMatches: Array<PendingMatch>;
21
+ };
22
+ export type QueueArgs = {
23
+ authority: Address;
24
+ tenant: Address;
25
+ bump: number;
26
+ matchCounter: number | bigint;
27
+ entries: Array<QueueEntryArgs>;
28
+ matches: Array<MatchEntryArgs>;
29
+ pendingMatches: Array<PendingMatchArgs>;
30
+ };
31
+ /** Gets the encoder for {@link QueueArgs} account data. */
32
+ export declare function getQueueEncoder(): Encoder<QueueArgs>;
33
+ /** Gets the decoder for {@link Queue} account data. */
34
+ export declare function getQueueDecoder(): Decoder<Queue>;
35
+ /** Gets the codec for {@link Queue} account data. */
36
+ export declare function getQueueCodec(): Codec<QueueArgs, Queue>;
37
+ export declare function decodeQueue<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<Queue, TAddress>;
38
+ export declare function decodeQueue<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<Queue, TAddress>;
39
+ export declare function fetchQueue<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<Queue, TAddress>>;
40
+ export declare function fetchMaybeQueue<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<Queue, TAddress>>;
41
+ export declare function fetchAllQueue(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<Queue>[]>;
42
+ export declare function fetchAllMaybeQueue(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<Queue>[]>;