@1upmonster/duel 0.1.7 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/admin.d.ts +20 -42
  2. package/dist/admin.js +82 -118
  3. package/dist/encryption.js +1 -2
  4. package/dist/generated/duel/accounts/index.d.ts +10 -0
  5. package/dist/generated/duel/accounts/index.js +11 -0
  6. package/dist/generated/duel/accounts/matchTicket.d.ts +38 -0
  7. package/dist/generated/duel/accounts/matchTicket.js +45 -0
  8. package/dist/generated/duel/accounts/queue.d.ts +42 -0
  9. package/dist/generated/duel/accounts/queue.js +45 -0
  10. package/dist/generated/duel/accounts/tenant.d.ts +41 -0
  11. package/dist/generated/duel/accounts/tenant.js +44 -0
  12. package/dist/generated/duel/errors/duel.d.ts +33 -0
  13. package/dist/generated/duel/errors/duel.js +37 -0
  14. package/dist/generated/duel/errors/index.d.ts +8 -0
  15. package/dist/generated/duel/errors/index.js +9 -0
  16. package/dist/generated/duel/index.d.ts +12 -0
  17. package/dist/generated/duel/index.js +13 -0
  18. package/dist/generated/duel/instructions/cancelTicket.d.ts +45 -0
  19. package/dist/generated/duel/instructions/cancelTicket.js +56 -0
  20. package/dist/generated/duel/instructions/closeTicket.d.ts +45 -0
  21. package/dist/generated/duel/instructions/closeTicket.js +56 -0
  22. package/dist/generated/duel/instructions/commitTickets.d.ts +39 -0
  23. package/dist/generated/duel/instructions/commitTickets.js +50 -0
  24. package/dist/generated/duel/instructions/createTicket.d.ts +48 -0
  25. package/dist/generated/duel/instructions/createTicket.js +63 -0
  26. package/dist/generated/duel/instructions/delegateQueue.d.ts +69 -0
  27. package/dist/generated/duel/instructions/delegateQueue.js +90 -0
  28. package/dist/generated/duel/instructions/delegateTicket.d.ts +69 -0
  29. package/dist/generated/duel/instructions/delegateTicket.js +90 -0
  30. package/dist/generated/duel/instructions/flushMatches.d.ts +37 -0
  31. package/dist/generated/duel/instructions/flushMatches.js +43 -0
  32. package/dist/generated/duel/instructions/index.d.ts +18 -0
  33. package/dist/generated/duel/instructions/index.js +19 -0
  34. package/dist/generated/duel/instructions/initializeQueue.d.ts +48 -0
  35. package/dist/generated/duel/instructions/initializeQueue.js +63 -0
  36. package/dist/generated/duel/instructions/initializeTenant.d.ts +70 -0
  37. package/dist/generated/duel/instructions/initializeTenant.js +67 -0
  38. package/dist/generated/duel/instructions/joinQueue.d.ts +51 -0
  39. package/dist/generated/duel/instructions/joinQueue.js +56 -0
  40. package/dist/generated/duel/instructions/processUndelegation.d.ts +43 -0
  41. package/dist/generated/duel/instructions/processUndelegation.js +49 -0
  42. package/dist/generated/duel/programs/duel.d.ts +88 -0
  43. package/dist/generated/duel/programs/duel.js +138 -0
  44. package/dist/generated/duel/programs/index.d.ts +8 -0
  45. package/dist/generated/duel/programs/index.js +9 -0
  46. package/dist/generated/duel/types/accountType.d.ts +25 -0
  47. package/dist/generated/duel/types/accountType.js +25 -0
  48. package/dist/generated/duel/types/index.d.ts +13 -0
  49. package/dist/generated/duel/types/index.js +14 -0
  50. package/dist/generated/duel/types/matchEntry.d.ts +23 -0
  51. package/dist/generated/duel/types/matchEntry.js +18 -0
  52. package/dist/generated/duel/types/matchFound.d.ts +23 -0
  53. package/dist/generated/duel/types/matchFound.js +18 -0
  54. package/dist/generated/duel/types/pendingMatch.d.ts +21 -0
  55. package/dist/generated/duel/types/pendingMatch.js +18 -0
  56. package/dist/generated/duel/types/queueEntry.d.ts +19 -0
  57. package/dist/generated/duel/types/queueEntry.js +18 -0
  58. package/dist/generated/duel/types/ticketStatus.d.ts +40 -0
  59. package/dist/generated/duel/types/ticketStatus.js +25 -0
  60. package/dist/generated/rps-game/accounts/gameSession.d.ts +40 -0
  61. package/dist/generated/rps-game/accounts/gameSession.js +45 -0
  62. package/dist/generated/rps-game/accounts/index.d.ts +9 -0
  63. package/dist/generated/rps-game/accounts/index.js +10 -0
  64. package/dist/generated/rps-game/accounts/playerProfile.d.ts +36 -0
  65. package/dist/generated/rps-game/accounts/playerProfile.js +47 -0
  66. package/dist/generated/rps-game/errors/index.d.ts +8 -0
  67. package/dist/generated/rps-game/errors/index.js +9 -0
  68. package/dist/generated/rps-game/errors/rpsGame.d.ts +25 -0
  69. package/dist/generated/rps-game/errors/rpsGame.js +29 -0
  70. package/dist/generated/rps-game/index.d.ts +12 -0
  71. package/dist/generated/rps-game/index.js +13 -0
  72. package/dist/generated/rps-game/instructions/closePlayer.d.ts +45 -0
  73. package/dist/generated/rps-game/instructions/closePlayer.js +56 -0
  74. package/dist/generated/rps-game/instructions/delegatePda.d.ts +69 -0
  75. package/dist/generated/rps-game/instructions/delegatePda.js +90 -0
  76. package/dist/generated/rps-game/instructions/index.d.ts +16 -0
  77. package/dist/generated/rps-game/instructions/index.js +17 -0
  78. package/dist/generated/rps-game/instructions/initializePlayer.d.ts +48 -0
  79. package/dist/generated/rps-game/instructions/initializePlayer.js +63 -0
  80. package/dist/generated/rps-game/instructions/makeChoice.d.ts +44 -0
  81. package/dist/generated/rps-game/instructions/makeChoice.js +46 -0
  82. package/dist/generated/rps-game/instructions/onMatchFound.d.ts +43 -0
  83. package/dist/generated/rps-game/instructions/onMatchFound.js +45 -0
  84. package/dist/generated/rps-game/instructions/persistResults.d.ts +43 -0
  85. package/dist/generated/rps-game/instructions/persistResults.js +50 -0
  86. package/dist/generated/rps-game/instructions/processUndelegation.d.ts +43 -0
  87. package/dist/generated/rps-game/instructions/processUndelegation.js +49 -0
  88. package/dist/generated/rps-game/instructions/startGame.d.ts +54 -0
  89. package/dist/generated/rps-game/instructions/startGame.js +67 -0
  90. package/dist/generated/rps-game/instructions/startGameWithTicket.d.ts +57 -0
  91. package/dist/generated/rps-game/instructions/startGameWithTicket.js +67 -0
  92. package/dist/generated/rps-game/programs/index.d.ts +8 -0
  93. package/dist/generated/rps-game/programs/index.js +9 -0
  94. package/dist/generated/rps-game/programs/rpsGame.d.ts +78 -0
  95. package/dist/generated/rps-game/programs/rpsGame.js +118 -0
  96. package/dist/generated/rps-game/types/accountType.d.ts +34 -0
  97. package/dist/generated/rps-game/types/accountType.js +25 -0
  98. package/dist/generated/rps-game/types/choice.d.ts +17 -0
  99. package/dist/generated/rps-game/types/choice.js +25 -0
  100. package/dist/generated/rps-game/types/gameResult.d.ts +26 -0
  101. package/dist/generated/rps-game/types/gameResult.js +25 -0
  102. package/dist/generated/rps-game/types/index.d.ts +10 -0
  103. package/dist/generated/rps-game/types/index.js +11 -0
  104. package/dist/index.d.ts +2 -1
  105. package/dist/index.js +3 -2
  106. package/dist/player.d.ts +21 -49
  107. package/dist/player.js +61 -141
  108. package/dist/tee.d.ts +14 -0
  109. package/dist/tee.js +62 -0
  110. package/dist/transaction.d.ts +11 -0
  111. package/dist/transaction.js +50 -0
  112. package/dist/utils.d.ts +4 -4
  113. package/dist/utils.js +23 -8
  114. package/package.json +4 -7
  115. package/src/admin.ts +129 -164
  116. package/src/duel.json +66 -2
  117. package/src/encryption.ts +0 -3
  118. package/src/generated/duel/accounts/index.ts +11 -0
  119. package/src/generated/duel/accounts/matchTicket.ts +77 -0
  120. package/src/generated/duel/accounts/queue.ts +77 -0
  121. package/src/generated/duel/accounts/tenant.ts +76 -0
  122. package/src/generated/duel/errors/duel.ts +48 -0
  123. package/src/generated/duel/errors/index.ts +9 -0
  124. package/src/generated/duel/index.ts +13 -0
  125. package/src/generated/duel/instructions/cancelTicket.ts +100 -0
  126. package/src/generated/duel/instructions/closeTicket.ts +100 -0
  127. package/src/generated/duel/instructions/commitTickets.ts +84 -0
  128. package/src/generated/duel/instructions/createTicket.ts +109 -0
  129. package/src/generated/duel/instructions/delegateQueue.ts +157 -0
  130. package/src/generated/duel/instructions/delegateTicket.ts +157 -0
  131. package/src/generated/duel/instructions/flushMatches.ts +76 -0
  132. package/src/generated/duel/instructions/index.ts +19 -0
  133. package/src/generated/duel/instructions/initializeQueue.ts +109 -0
  134. package/src/generated/duel/instructions/initializeTenant.ts +126 -0
  135. package/src/generated/duel/instructions/joinQueue.ts +106 -0
  136. package/src/generated/duel/instructions/processUndelegation.ts +86 -0
  137. package/src/generated/duel/programs/duel.ts +104 -0
  138. package/src/generated/duel/programs/index.ts +9 -0
  139. package/src/generated/duel/types/accountType.ts +36 -0
  140. package/src/generated/duel/types/index.ts +14 -0
  141. package/src/generated/duel/types/matchEntry.ts +25 -0
  142. package/src/generated/duel/types/matchFound.ts +25 -0
  143. package/src/generated/duel/types/pendingMatch.ts +25 -0
  144. package/src/generated/duel/types/queueEntry.ts +25 -0
  145. package/src/generated/duel/types/ticketStatus.ts +38 -0
  146. package/src/generated/rps-game/accounts/gameSession.ts +77 -0
  147. package/src/generated/rps-game/accounts/index.ts +10 -0
  148. package/src/generated/rps-game/accounts/playerProfile.ts +80 -0
  149. package/src/generated/rps-game/errors/index.ts +9 -0
  150. package/src/generated/rps-game/errors/rpsGame.ts +40 -0
  151. package/src/generated/rps-game/index.ts +13 -0
  152. package/src/generated/rps-game/instructions/closePlayer.ts +100 -0
  153. package/src/generated/rps-game/instructions/delegatePda.ts +157 -0
  154. package/src/generated/rps-game/instructions/index.ts +17 -0
  155. package/src/generated/rps-game/instructions/initializePlayer.ts +109 -0
  156. package/src/generated/rps-game/instructions/makeChoice.ts +84 -0
  157. package/src/generated/rps-game/instructions/onMatchFound.ts +79 -0
  158. package/src/generated/rps-game/instructions/persistResults.ts +88 -0
  159. package/src/generated/rps-game/instructions/processUndelegation.ts +86 -0
  160. package/src/generated/rps-game/instructions/startGame.ts +118 -0
  161. package/src/generated/rps-game/instructions/startGameWithTicket.ts +121 -0
  162. package/src/generated/rps-game/programs/index.ts +9 -0
  163. package/src/generated/rps-game/programs/rpsGame.ts +95 -0
  164. package/src/generated/rps-game/types/accountType.ts +36 -0
  165. package/src/generated/rps-game/types/choice.ts +25 -0
  166. package/src/generated/rps-game/types/gameResult.ts +37 -0
  167. package/src/generated/rps-game/types/index.ts +11 -0
  168. package/src/index.ts +2 -1
  169. package/src/player.ts +96 -193
  170. package/src/rps_game.json +991 -0
  171. package/src/tee.ts +79 -0
  172. package/src/transaction.ts +90 -0
  173. package/src/utils.ts +35 -20
  174. package/tsconfig.json +2 -2
  175. package/dist/client.d.ts +0 -54
  176. package/dist/client.js +0 -265
  177. package/dist/duel.json +0 -517
  178. package/dist/private_matchmaking.json +0 -534
  179. package/dist/types.d.ts +0 -635
  180. package/dist/types.js +0 -2
  181. package/src/types.ts +0 -300
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,138 +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 { createRequire } from "module";
5
- const IDL = createRequire(import.meta.url)("./duel.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";
6
4
  import * as utils from "./utils.js";
7
- const TICKET_SEED = "ticket";
8
5
  function getEloSize(dataType) {
9
6
  switch (dataType) {
10
- case 'u8': return 1;
11
- case 'u16': return 2;
12
- case 'u32': return 4;
13
- case 'u64': return 8;
7
+ case "u8": return 1;
8
+ case "u16": return 2;
9
+ case "u32": return 4;
10
+ case "u64": return 8;
14
11
  }
15
12
  }
13
+ const DUEL_PROGRAM_ID = "EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X";
16
14
  export class MatchmakingAdmin {
17
- constructor(provider, programId) {
18
- const address = typeof programId === "string" ? programId : programId.toBase58();
19
- const idl = { ...IDL, address };
20
- this.program = new anchor.Program(idl, provider);
21
- this.provider = provider;
15
+ constructor(rpc, signer, programId = DUEL_PROGRAM_ID) {
16
+ this.rpc = rpc;
17
+ this.signer = signer;
18
+ this.programId = programId;
22
19
  }
23
- // Derive PDAs Helpers
24
- getQueuePda(authority) {
25
- return utils.deriveQueuePda(this.program.programId, authority);
20
+ async getQueuePda(authority) {
21
+ return utils.deriveQueuePda(this.programId, authority);
26
22
  }
27
- getTenantPda(authority) {
28
- return utils.deriveTenantPda(this.program.programId, authority);
23
+ async getTenantPda(authority) {
24
+ return utils.deriveTenantPda(this.programId, authority);
29
25
  }
30
- getTicketPda(player, tenant) {
31
- return utils.deriveTicketPda(this.program.programId, player, tenant);
26
+ async getTicketPda(player, tenant) {
27
+ return utils.deriveTicketPda(this.programId, player, tenant);
32
28
  }
33
- /**
34
- * Fetch Queue account data
35
- */
36
29
  async getQueue(queuePda) {
37
- return await this.program.account.queue.fetch(queuePda);
30
+ return fetchQueue(this.rpc, queuePda);
38
31
  }
39
- /**
40
- * Fetch Tenant account data
41
- */
42
- async getTenant(tenantPda) {
43
- return await this.program.account.tenant.fetch(tenantPda);
44
- }
45
- /**
46
- * Initialize a Tenant (with optional callback config)
47
- */
48
- async initializeTenant(tenantProgramId, options, confirmOptions, signers = []) {
49
- 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 || {};
50
34
  const eloSize = getEloSize(eloDataType);
51
- const tenantPda = this.getTenantPda(authority);
52
- return await this.program.methods
53
- .initializeTenant(tenantProgramId, eloOffset, eloSize, new BN(eloWindow), callbackProgramId || null, callbackDiscriminator ? Array.from(Buffer.from(callbackDiscriminator)) : null)
54
- .accountsPartial({
55
- tenant: tenantPda,
56
- authority: authority,
57
- })
58
- .signers(signers)
59
- .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);
60
47
  }
61
- /**
62
- * Initialize a Queue
63
- */
64
- async initializeQueue(authority, tenant, confirmOptions, signers = []) {
65
- const queuePda = this.getQueuePda(authority);
66
- return await this.program.methods
67
- .initializeQueue()
68
- .accountsPartial({
69
- queue: queuePda,
70
- tenant: tenant,
71
- authority: authority,
72
- })
73
- .signers(signers)
74
- .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);
75
54
  }
76
- /**
77
- * Delegate Queue to TEE
78
- */
79
- async delegateQueue(authority, validator = new web3.PublicKey("FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA"), confirmOptions, signers = []) {
80
- const queuePda = this.getQueuePda(authority);
81
- return await this.program.methods
82
- .delegateQueue({ queue: { authority } })
83
- .accounts({
55
+ async delegateQueue(authority, validator) {
56
+ const queuePda = await this.getQueuePda(authority);
57
+ const ix = await getDelegateQueueInstructionAsync({
84
58
  pda: queuePda,
85
- payer: authority,
86
- validator: validator,
87
- })
88
- .signers(signers)
89
- .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);
90
81
  }
91
- /**
92
- * Flush pending matches - crank instruction to update opponent tickets
93
- * Can be called by any TEE-authenticated wallet (permissionless)
94
- */
95
- async flushMatches(queue, tenant, ticketPdas, callbackProgram, confirmOptions, signers = []) {
96
- const remainingAccounts = ticketPdas.map(pda => ({
97
- pubkey: pda,
98
- isSigner: false,
99
- isWritable: true,
100
- }));
101
- if (callbackProgram) {
102
- remainingAccounts.push({
103
- pubkey: callbackProgram,
104
- isSigner: false,
105
- isWritable: false,
106
- });
107
- }
108
- return await this.program.methods
109
- .flushMatches()
110
- .accountsPartial({
111
- queue: queue,
112
- tenant: tenant,
113
- signer: this.provider.publicKey,
114
- })
115
- .remainingAccounts(remainingAccounts)
116
- .signers(signers)
117
- .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);
118
96
  }
119
- /**
120
- * Commit matched tickets back to L1 (runs in TEE)
121
- */
122
- async commitTickets(tenant, ticketPdas, confirmOptions, signers = []) {
123
- return await this.program.methods
124
- .commitTickets()
125
- .accountsPartial({
126
- tenant: tenant,
127
- payer: this.provider.publicKey,
128
- })
129
- .remainingAccounts(ticketPdas.map(pda => ({
130
- pubkey: pda,
131
- isSigner: false,
132
- isWritable: true,
133
- })))
134
- .signers(signers)
135
- .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);
136
100
  }
137
101
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxJQUFJLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUVwQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFhN0IsU0FBUyxVQUFVLENBQUMsUUFBcUI7SUFDdkMsUUFBUSxRQUFRLEVBQUU7UUFDaEIsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQVksUUFBK0IsRUFBRSxTQUFrQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVSxFQUFF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TSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQ2hDLENBQUM7YUFDRCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQzthQUNwQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUNqQixNQUFzQixFQUN0QixVQUE0QixFQUM1QixjQUFvQyxFQUNwQyxVQUEwQixFQUFFO1FBRTVCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87YUFDOUIsYUFBYSxFQUFFO2FBQ2YsZUFBZSxDQUFDO1lBQ2YsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1NBQy9CLENBQUM7YUFDRCxpQkFBaUIsQ0FDaEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxDQUNKO2FBQ0EsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUNoQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYW5jaG9yIGZyb20gXCJAY29yYWwteHl6L2FuY2hvclwiO1xuaW1wb3J0IHsgQk4gfSBmcm9tIFwiYm4uanNcIjtcbmltcG9ydCAqIGFzIHdlYjMgZnJvbSBcIkBzb2xhbmEvd2ViMy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBEdWVsIH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5jb25zdCBJREwgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCkoXCIuL2R1ZWwuanNvblwiKTtcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5cbmNvbnN0IFRJQ0tFVF9TRUVEID0gXCJ0aWNrZXRcIjtcblxuZXhwb3J0IHR5cGUgRWxvRGF0YVR5cGUgPSAndTgnIHwgJ3UxNicgfCAndTMyJyB8ICd1NjQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVUZW5hbnRPcHRpb25zIHtcbiAgYXV0aG9yaXR5Pzogd2ViMy5QdWJsaWNLZXk7XG4gIGVsb1dpbmRvdz86IG51bWJlcjtcbiAgZWxvT2Zmc2V0PzogbnVtYmVyO1xuICBlbG9EYXRhVHlwZT86IEVsb0RhdGFUeXBlO1xuICBjYWxsYmFja1Byb2dyYW1JZD86IHdlYjMuUHVibGljS2V5IHwgbnVsbDtcbiAgY2FsbGJhY2tEaXNjcmltaW5hdG9yPzogbnVtYmVyW10gfCBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRFbG9TaXplKGRhdGFUeXBlOiBFbG9EYXRhVHlwZSk6IG51bWJlciB7XG4gIHN3aXRjaCAoZGF0YVR5cGUpIHtcbiAgICBjYXNlICd1OCc6IHJldHVybiAxO1xuICAgIGNhc2UgJ3UxNic6IHJldHVybiAyO1xuICAgIGNhc2UgJ3UzMic6IHJldHVybiA0O1xuICAgIGNhc2UgJ3U2NCc6IHJldHVybiA4O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXRjaG1ha2luZ0FkbWluIHtcbiAgcHVibGljIHByb2dyYW06IGFuY2hvci5Qcm9ncmFtPER1ZWw+O1xuICBwdWJsaWMgcHJvdmlkZXI6IGFuY2hvci5BbmNob3JQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm92aWRlcjogYW5jaG9yLkFuY2hvclByb3ZpZGVyLCBwcm9ncmFtSWQ6IHdlYjMuUHVibGljS2V5IHwgc3RyaW5nKSB7XG4gICAgY29uc3QgYWRkcmVzcyA9IHR5cGVvZiBwcm9ncmFtSWQgPT09IFwic3RyaW5nXCIgPyBwcm9ncmFtSWQgOiBwcm9ncmFtSWQudG9CYXNlNTgoKTtcbiAgICBjb25zdCBpZGwgPSB7IC4uLklETCwgYWRkcmVzcyB9O1xuICAgIHRoaXMucHJvZ3JhbSA9IG5ldyBhbmNob3IuUHJvZ3JhbShpZGwgYXMgYW55LCBwcm92aWRlcik7XG4gICAgdGhpcy5wcm92aWRlciA9IHByb3ZpZGVyO1xuICB9XG5cbiAgLy8gRGVyaXZlIFBEQXMgSGVscGVyc1xuICBnZXRRdWV1ZVBkYShhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5KTogd2ViMy5QdWJsaWNLZXkge1xuICAgIHJldHVybiB1dGlscy5kZXJpdmVRdWV1ZVBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGVuYW50UGRhKGF1dGhvcml0eTogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRlbmFudFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBhdXRob3JpdHkpO1xuICB9XG5cbiAgZ2V0VGlja2V0UGRhKHBsYXllcjogd2ViMy5QdWJsaWNLZXksIHRlbmFudDogd2ViMy5QdWJsaWNLZXkpOiB3ZWIzLlB1YmxpY0tleSB7XG4gICAgcmV0dXJuIHV0aWxzLmRlcml2ZVRpY2tldFBkYSh0aGlzLnByb2dyYW0ucHJvZ3JhbUlkLCBwbGF5ZXIsIHRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggUXVldWUgYWNjb3VudCBkYXRhXG4gICAqL1xuICBhc3luYyBnZXRRdWV1ZShxdWV1ZVBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC5xdWV1ZS5mZXRjaChxdWV1ZVBkYSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggVGVuYW50IGFjY291bnQgZGF0YVxuICAgKi9cbiAgYXN5bmMgZ2V0VGVuYW50KHRlbmFudFBkYTogd2ViMy5QdWJsaWNLZXkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0uYWNjb3VudC50ZW5hbnQuZmV0Y2godGVuYW50UGRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGEgVGVuYW50ICh3aXRoIG9wdGlvbmFsIGNhbGxiYWNrIGNvbmZpZylcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVUZW5hbnQoXG4gICAgdGVuYW50UHJvZ3JhbUlkOiB3ZWIzLlB1YmxpY0tleSxcbiAgICBvcHRpb25zPzogSW5pdGlhbGl6ZVRlbmFudE9wdGlvbnMsXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0aG9yaXR5ID0gdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgZWxvV2luZG93ID0gMTAwLFxuICAgICAgZWxvT2Zmc2V0ID0gNDAsXG4gICAgICBlbG9EYXRhVHlwZSA9ICd1MTYnLFxuICAgICAgY2FsbGJhY2tQcm9ncmFtSWQgPSBudWxsLFxuICAgICAgY2FsbGJhY2tEaXNjcmltaW5hdG9yID0gbnVsbCxcbiAgICB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGNvbnN0IGVsb1NpemUgPSBnZXRFbG9TaXplKGVsb0RhdGFUeXBlKTtcbiAgICBjb25zdCB0ZW5hbnRQZGEgPSB0aGlzLmdldFRlbmFudFBkYShhdXRob3JpdHkpO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAuaW5pdGlhbGl6ZVRlbmFudChcbiAgICAgICAgdGVuYW50UHJvZ3JhbUlkLFxuICAgICAgICBlbG9PZmZzZXQsXG4gICAgICAgIGVsb1NpemUsXG4gICAgICAgIG5ldyBCTihlbG9XaW5kb3cpLFxuICAgICAgICBjYWxsYmFja1Byb2dyYW1JZCB8fCBudWxsLFxuICAgICAgICBjYWxsYmFja0Rpc2NyaW1pbmF0b3IgPyBBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGNhbGxiYWNrRGlzY3JpbWluYXRvcikpIDogbnVsbFxuICAgICAgKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHRlbmFudDogdGVuYW50UGRhLFxuICAgICAgICBhdXRob3JpdHk6IGF1dGhvcml0eSxcbiAgICAgIH0pXG4gICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgLnJwYyhjb25maXJtT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhIFF1ZXVlXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplUXVldWUoXG4gICAgYXV0aG9yaXR5OiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIGNvbmZpcm1PcHRpb25zPzogd2ViMy5Db25maXJtT3B0aW9ucyxcbiAgICBzaWduZXJzOiB3ZWIzLktleXBhaXJbXSA9IFtdXG4gICk6IFByb21pc2U8d2ViMy5UcmFuc2FjdGlvblNpZ25hdHVyZT4ge1xuICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2dyYW0ubWV0aG9kc1xuICAgICAgLmluaXRpYWxpemVRdWV1ZSgpXG4gICAgICAuYWNjb3VudHNQYXJ0aWFsKHtcbiAgICAgICAgcXVldWU6IHF1ZXVlUGRhLFxuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgYXV0aG9yaXR5OiBhdXRob3JpdHksXG4gICAgICB9KVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlIFF1ZXVlIHRvIFRFRVxuICAgKi9cbiAgYXN5bmMgZGVsZWdhdGVRdWV1ZShcbiAgICBhdXRob3JpdHk6IHdlYjMuUHVibGljS2V5LFxuICAgIHZhbGlkYXRvcjogd2ViMy5QdWJsaWNLZXkgPSBuZXcgd2ViMy5QdWJsaWNLZXkoXCJGbkU2VkpUNVFOWmRlZFpQbkNvTHNBUmdCd29FNkRlSk5qQnMySDFneVNYQVwiKSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICAgIGNvbnN0IHF1ZXVlUGRhID0gdGhpcy5nZXRRdWV1ZVBkYShhdXRob3JpdHkpO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvZ3JhbS5tZXRob2RzXG4gICAgICAgIC5kZWxlZ2F0ZVF1ZXVlKHsgcXVldWU6IHsgYXV0aG9yaXR5IH0gfSBhcyBhbnkpXG4gICAgICAgIC5hY2NvdW50cyh7XG4gICAgICAgICAgICBwZGE6IHF1ZXVlUGRhLFxuICAgICAgICAgICAgcGF5ZXI6IGF1dGhvcml0eSxcbiAgICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdG9yLFxuICAgICAgICB9IGFzIHVua25vd24gYXMgYW55KVxuICAgICAgICAuc2lnbmVycyhzaWduZXJzKVxuICAgICAgICAucnBjKGNvbmZpcm1PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaCBwZW5kaW5nIG1hdGNoZXMgLSBjcmFuayBpbnN0cnVjdGlvbiB0byB1cGRhdGUgb3Bwb25lbnQgdGlja2V0c1xuICAgKiBDYW4gYmUgY2FsbGVkIGJ5IGFueSBURUUtYXV0aGVudGljYXRlZCB3YWxsZXQgKHBlcm1pc3Npb25sZXNzKVxuICAgKi9cbiAgYXN5bmMgZmx1c2hNYXRjaGVzKFxuICAgIHF1ZXVlOiB3ZWIzLlB1YmxpY0tleSxcbiAgICB0ZW5hbnQ6IHdlYjMuUHVibGljS2V5LFxuICAgIHRpY2tldFBkYXM6IHdlYjMuUHVibGljS2V5W10sXG4gICAgY2FsbGJhY2tQcm9ncmFtPzogd2ViMy5QdWJsaWNLZXksXG4gICAgY29uZmlybU9wdGlvbnM/OiB3ZWIzLkNvbmZpcm1PcHRpb25zLFxuICAgIHNpZ25lcnM6IHdlYjMuS2V5cGFpcltdID0gW11cbiAgKTogUHJvbWlzZTx3ZWIzLlRyYW5zYWN0aW9uU2lnbmF0dXJlPiB7XG4gICAgY29uc3QgcmVtYWluaW5nQWNjb3VudHMgPSB0aWNrZXRQZGFzLm1hcChwZGEgPT4gKHtcbiAgICAgIHB1YmtleTogcGRhLFxuICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgaXNXcml0YWJsZTogdHJ1ZSxcbiAgICB9KSk7XG5cbiAgICBpZiAoY2FsbGJhY2tQcm9ncmFtKSB7XG4gICAgICByZW1haW5pbmdBY2NvdW50cy5wdXNoKHtcbiAgICAgICAgcHVia2V5OiBjYWxsYmFja1Byb2dyYW0sXG4gICAgICAgIGlzU2lnbmVyOiBmYWxzZSxcbiAgICAgICAgaXNXcml0YWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5mbHVzaE1hdGNoZXMoKVxuICAgICAgLmFjY291bnRzUGFydGlhbCh7XG4gICAgICAgIHF1ZXVlOiBxdWV1ZSxcbiAgICAgICAgdGVuYW50OiB0ZW5hbnQsXG4gICAgICAgIHNpZ25lcjogdGhpcy5wcm92aWRlci5wdWJsaWNLZXksXG4gICAgICB9KVxuICAgICAgLnJlbWFpbmluZ0FjY291bnRzKHJlbWFpbmluZ0FjY291bnRzKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbW1pdCBtYXRjaGVkIHRpY2tldHMgYmFjayB0byBMMSAocnVucyBpbiBURUUpXG4gICAqL1xuICBhc3luYyBjb21taXRUaWNrZXRzKFxuICAgIHRlbmFudDogd2ViMy5QdWJsaWNLZXksXG4gICAgdGlja2V0UGRhczogd2ViMy5QdWJsaWNLZXlbXSxcbiAgICBjb25maXJtT3B0aW9ucz86IHdlYjMuQ29uZmlybU9wdGlvbnMsXG4gICAgc2lnbmVyczogd2ViMy5LZXlwYWlyW10gPSBbXVxuICApOiBQcm9taXNlPHdlYjMuVHJhbnNhY3Rpb25TaWduYXR1cmU+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9ncmFtLm1ldGhvZHNcbiAgICAgIC5jb21taXRUaWNrZXRzKClcbiAgICAgIC5hY2NvdW50c1BhcnRpYWwoe1xuICAgICAgICB0ZW5hbnQ6IHRlbmFudCxcbiAgICAgICAgcGF5ZXI6IHRoaXMucHJvdmlkZXIucHVibGljS2V5LFxuICAgICAgfSlcbiAgICAgIC5yZW1haW5pbmdBY2NvdW50cyhcbiAgICAgICAgdGlja2V0UGRhcy5tYXAocGRhID0+ICh7XG4gICAgICAgICAgcHVia2V5OiBwZGEsXG4gICAgICAgICAgaXNTaWduZXI6IGZhbHNlLFxuICAgICAgICAgIGlzV3JpdGFibGU6IHRydWUsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICAgLnNpZ25lcnMoc2lnbmVycylcbiAgICAgIC5ycGMoY29uZmlybU9wdGlvbnMpO1xuICB9XG59XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbmNyeXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLG1EQUFtRDtBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBQ1ksWUFBTyxHQUF5QixJQUFJLENBQUM7SUF3SmpELENBQUM7SUF0SkcsZ0NBQWdDO0lBQ2hDLElBQVksTUFBTTtRQUNkLElBQUksT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUMxQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDNUI7UUFDRCwwRkFBMEY7UUFDMUYsSUFBSTtZQUNBLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUN0QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ25EO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUMvQztZQUNJLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLE9BQU87U0FDdEIsRUFDRCxJQUFJLEVBQ0osQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQ2IsQ0FBQztRQUVuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQ2hCLElBQWdCLEVBQ2hCLGlCQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDbkM7UUFFRCx3QkFBd0I7UUFDeEIsd0dBQXdHO1FBQ3hHLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFD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O1lBQ0ksSUFBSSxFQUFFLFNBQVM7WUFDZixFQUFFLEVBQUUsRUFBRTtTQUNULEVBQ0QsU0FBUyxFQUNULFVBQXFDLENBQ3hDLENBQUM7UUFFRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQ3JDLElBQUksRUFDSixDQUFDLFdBQVcsQ0FBQyxDQUNDLENBQUM7UUFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1YmxpY0tleSB9IGZyb20gXCJAc29sYW5hL3dlYjMuanNcIjtcbi8vIGltcG9ydCB7IHgyNTUxOSB9IGZyb20gXCJAbm9ibGUvY3VydmVzL2VkMjU1MTlcIjsgXG5cbmV4cG9ydCBjbGFzcyBFbmNyeXB0aW9uUHJvdmlkZXIge1xuICAgIHByaXZhdGUga2V5UGFpcjogQ3J5cHRvS2V5UGFpciB8IG51bGwgPSBudWxsO1xuICAgIFxuICAgIC8vIENoZWNrIGZvciBjcnlwdG8gYXZhaWxhYmlsaXR5XG4gICAgcHJpdmF0ZSBnZXQgY3J5cHRvKCk6IENyeXB0byB7XG4gICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcy5jcnlwdG8gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2xvYmFsVGhpcy5jcnlwdG87XG4gICAgICAgIH1cbiAgICAgICAgLy8gRmFsbGJhY2sgZm9yIE5vZGUgPCAxOSBpZiBnbG9iYWwgY3J5cHRvIG5vdCBzZXQgKHRob3VnaCBTREsgbGlrZWx5IHRhcmdldHMgbW9kZXJuIGVudnMpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWlyZSgnY3J5cHRvJykud2ViY3J5cHRvO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXZWJDcnlwdG8gQVBJIG5vdCBhdmFpbGFibGUuXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgYSBmcmVzaCBlcGhlbWVyYWwga2V5cGFpciBmb3IgdGhlIHNlc3Npb24gKFgyNTUxOS9QLTI1NikuXG4gICAgICovXG4gICAgYXN5bmMgZ2VuZXJhdGVTZXNzaW9uS2V5KCk6IFByb21pc2U8Q3J5cHRvS2V5PiB7XG4gICAgICAgIHRoaXMua2V5UGFpciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVDREhcIixcbiAgICAgICAgICAgICAgICBuYW1lZEN1cnZlOiBcIlAtMjU2XCIsIFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICBbXCJkZXJpdmVLZXlcIiwgXCJkZXJpdmVCaXRzXCJdXG4gICAgICAgICkgYXMgQ3J5cHRvS2V5UGFpcjtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXIucHVibGljS2V5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlcml2ZSBzaGFyZWQgc2VjcmV0IGFuZCBlbmNyeXB0IHBheWxvYWQuXG4gICAgICovXG4gICAgYXN5bmMgZW5jcnlwdFBheWxvYWQoXG4gICAgICAgIGRhdGE6IFVpbnQ4QXJyYXksIFxuICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlczogVWludDhBcnJheVxuICAgICk6IFByb21pc2U8eyBlbmNyeXB0ZWQ6IFVpbnQ4QXJyYXksIGNsaWVudFB1YmxpY0tleTogVWludDhBcnJheSB9PiB7XG4gICAgICAgIGlmICghdGhpcy5rZXlQYWlyKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlU2Vzc2lvbktleSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW1wb3J0IFRFRSBQdWJsaWMgS2V5XG4gICAgICAgIC8vIEZpeDogRXhwbGljaXRseSBjYXN0IHRvIEJ1ZmZlclNvdXJjZS9hbnkgYmVjYXVzZSBUUyBnZXRzIGNvbmZ1c2VkIHdpdGggU2hhcmVkQXJyYXlCdWZmZXIgaW4gc29tZSBlbnZzXG4gICAgICAgIGNvbnN0IHRlZUtleSA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICAgICAgICBcInJhd1wiLFxuICAgICAgICAgICAgdGVlUHVibGljS2V5Qnl0ZXMgYXMgdW5rbm93biBhcyBCdWZmZXJTb3VyY2UsXG4gICAgICAgICAgICB7IG5hbWU6IFwiRUNESFwiLCBuYW1lZEN1cnZlOiBcIlAtMjU2XCIgfSwgXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRGVyaXZlIFNoYXJlZCBTZWNyZXQgKEFFUy1HQ00gS2V5KVxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5jcnlwdCBEYXRhXG4gICAgICAgIGNvbnN0IGl2ID0gdGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KDEyKSk7XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEJ1ZmZlciA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5lbmNyeXB0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICAgICAgICAgIGl2OiBpdixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzaGFyZWRLZXksXG4gICAgICAgICAgICBkYXRhIGFzIHVua25vd24gYXMgQnVmZmVyU291cmNlXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ29uY2F0ZW5hdGUgSVYgKyBDaXBoZXJUZXh0XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZCA9IG5ldyBVaW50OEFycmF5KGl2Lmxlbmd0aCArIGVuY3J5cHRlZEJ1ZmZlci5ieXRlTGVuZ3RoKTtcbiAgICAgICAgZW5jcnlwdGVkLnNldChpdik7XG4gICAgICAgIGVuY3J5cHRlZC5zZXQobmV3IFVpbnQ4QXJyYXkoZW5jcnlwdGVkQnVmZmVyKSwgaXYubGVuZ3RoKTtcblxuICAgICAgICAvLyBFeHBvcnQgQ2xpZW50IFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgY2xpZW50UHViUmF3ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCB0aGlzLmtleVBhaXIhLnB1YmxpY0tleSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuY3J5cHRlZCxcbiAgICAgICAgICAgIGNsaWVudFB1YmxpY0tleTogbmV3IFVpbnQ4QXJyYXkoY2xpZW50UHViUmF3KVxuICAgICAgICB9O1xuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBEZWNyeXB0IGEgcmVzcG9uc2UgZnJvbSB0aGUgVEVFLlxuICAgICAqL1xuICAgIGFzeW5jIGRlY3J5cHRSZXNwb25zZShcbiAgICAgICAgZW5jcnlwdGVkRGF0YTogVWludDhBcnJheSwgXG4gICAgICAgIHRlZVB1YmxpY0tleUJ5dGVzOiBVaW50OEFycmF5XG4gICAgKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmtleVBhaXIpIHRocm93IG5ldyBFcnJvcihcIk5vIHNlc3Npb24ga2V5XCIpO1xuICAgICAgICAgIFxuICAgICAgICAgICAvLyBJbXBvcnQgVEVFIFB1YmxpYyBLZXlcbiAgICAgICAgY29uc3QgdGVlS2V5ID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICB0ZWVQdWJsaWNLZXlCeXRlcyBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZSxcbiAgICAgICAgICAgIHsgbmFtZTogXCJFQ0RIXCIsIG5hbWVkQ3VydmU6IFwiUC0yNTZcIiB9LCBcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgW11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBEZXJpdmUgU2hhcmVkIFNlY3JldFxuICAgICAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVyaXZlS2V5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiRUNESFwiLFxuICAgICAgICAgICAgICAgIHB1YmxpYzogdGVlS2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMua2V5UGFpciEucHJpdmF0ZUtleSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBsZW5ndGg6IDI1NixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIFtcImVuY3J5cHRcIiwgXCJkZWNyeXB0XCJdXG4gICAgICAgICk7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBpdiA9IGVuY3J5cHRlZERhdGEuc2xpY2UoMCwgMTIpO1xuICAgICAgICBjb25zdCBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkRGF0YS5zbGljZSgxMik7XG4gICAgICAgIFxuICAgICAgICBjb25zdCBkZWNyeXB0ZWQgPSBhd2FpdCB0aGlzLmNyeXB0by5zdWJ0bGUuZGVjcnlwdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hhcmVkS2V5LFxuICAgICAgICAgICAgY2lwaGVydGV4dCBhcyB1bmtub3duIGFzIEJ1ZmZlclNvdXJjZVxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRlY3J5cHRlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVscGVyIHRvIGdlbmVyYXRlIGEgdmFsaWQgcmFuZG9tIFAtMjU2IFB1YmxpYyBLZXkgKDY1IGJ5dGVzKSBmb3IgdGVzdGluZy5cbiAgICAgKi9cbiAgICBhc3luYyBjcmVhdGVNb2NrVmFsaWRhdG9yS2V5KCk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgICAgICBjb25zdCBwYWlyID0gYXdhaXQgdGhpcy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgICAgICAgICAgeyBuYW1lOiBcIkVDREhcIiwgbmFtZWRDdXJ2ZTogXCJQLTI1NlwiIH0sXG4gICAgICAgICAgICB0cnVlLCBcbiAgICAgICAgICAgIFtcImRlcml2ZUtleVwiXVxuICAgICAgICApIGFzIENyeXB0b0tleVBhaXI7XG4gICAgICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY3J5cHRvLnN1YnRsZS5leHBvcnRLZXkoXCJyYXdcIiwgcGFpci5wdWJsaWNLZXkpO1xuICAgICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkocmF3KTtcbiAgICB9XG59XG4iXX0=
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>[]>;