@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.
- package/dist/admin.d.ts +20 -42
- package/dist/admin.js +82 -118
- package/dist/encryption.js +1 -2
- package/dist/generated/duel/accounts/index.d.ts +10 -0
- package/dist/generated/duel/accounts/index.js +11 -0
- package/dist/generated/duel/accounts/matchTicket.d.ts +38 -0
- package/dist/generated/duel/accounts/matchTicket.js +45 -0
- package/dist/generated/duel/accounts/queue.d.ts +42 -0
- package/dist/generated/duel/accounts/queue.js +45 -0
- package/dist/generated/duel/accounts/tenant.d.ts +41 -0
- package/dist/generated/duel/accounts/tenant.js +44 -0
- package/dist/generated/duel/errors/duel.d.ts +33 -0
- package/dist/generated/duel/errors/duel.js +37 -0
- package/dist/generated/duel/errors/index.d.ts +8 -0
- package/dist/generated/duel/errors/index.js +9 -0
- package/dist/generated/duel/index.d.ts +12 -0
- package/dist/generated/duel/index.js +13 -0
- package/dist/generated/duel/instructions/cancelTicket.d.ts +45 -0
- package/dist/generated/duel/instructions/cancelTicket.js +56 -0
- package/dist/generated/duel/instructions/closeTicket.d.ts +45 -0
- package/dist/generated/duel/instructions/closeTicket.js +56 -0
- package/dist/generated/duel/instructions/commitTickets.d.ts +39 -0
- package/dist/generated/duel/instructions/commitTickets.js +50 -0
- package/dist/generated/duel/instructions/createTicket.d.ts +48 -0
- package/dist/generated/duel/instructions/createTicket.js +63 -0
- package/dist/generated/duel/instructions/delegateQueue.d.ts +69 -0
- package/dist/generated/duel/instructions/delegateQueue.js +90 -0
- package/dist/generated/duel/instructions/delegateTicket.d.ts +69 -0
- package/dist/generated/duel/instructions/delegateTicket.js +90 -0
- package/dist/generated/duel/instructions/flushMatches.d.ts +37 -0
- package/dist/generated/duel/instructions/flushMatches.js +43 -0
- package/dist/generated/duel/instructions/index.d.ts +18 -0
- package/dist/generated/duel/instructions/index.js +19 -0
- package/dist/generated/duel/instructions/initializeQueue.d.ts +48 -0
- package/dist/generated/duel/instructions/initializeQueue.js +63 -0
- package/dist/generated/duel/instructions/initializeTenant.d.ts +70 -0
- package/dist/generated/duel/instructions/initializeTenant.js +67 -0
- package/dist/generated/duel/instructions/joinQueue.d.ts +51 -0
- package/dist/generated/duel/instructions/joinQueue.js +56 -0
- package/dist/generated/duel/instructions/processUndelegation.d.ts +43 -0
- package/dist/generated/duel/instructions/processUndelegation.js +49 -0
- package/dist/generated/duel/programs/duel.d.ts +88 -0
- package/dist/generated/duel/programs/duel.js +138 -0
- package/dist/generated/duel/programs/index.d.ts +8 -0
- package/dist/generated/duel/programs/index.js +9 -0
- package/dist/generated/duel/types/accountType.d.ts +25 -0
- package/dist/generated/duel/types/accountType.js +25 -0
- package/dist/generated/duel/types/index.d.ts +13 -0
- package/dist/generated/duel/types/index.js +14 -0
- package/dist/generated/duel/types/matchEntry.d.ts +23 -0
- package/dist/generated/duel/types/matchEntry.js +18 -0
- package/dist/generated/duel/types/matchFound.d.ts +23 -0
- package/dist/generated/duel/types/matchFound.js +18 -0
- package/dist/generated/duel/types/pendingMatch.d.ts +21 -0
- package/dist/generated/duel/types/pendingMatch.js +18 -0
- package/dist/generated/duel/types/queueEntry.d.ts +19 -0
- package/dist/generated/duel/types/queueEntry.js +18 -0
- package/dist/generated/duel/types/ticketStatus.d.ts +40 -0
- package/dist/generated/duel/types/ticketStatus.js +25 -0
- package/dist/generated/rps-game/accounts/gameSession.d.ts +40 -0
- package/dist/generated/rps-game/accounts/gameSession.js +45 -0
- package/dist/generated/rps-game/accounts/index.d.ts +9 -0
- package/dist/generated/rps-game/accounts/index.js +10 -0
- package/dist/generated/rps-game/accounts/playerProfile.d.ts +36 -0
- package/dist/generated/rps-game/accounts/playerProfile.js +47 -0
- package/dist/generated/rps-game/errors/index.d.ts +8 -0
- package/dist/generated/rps-game/errors/index.js +9 -0
- package/dist/generated/rps-game/errors/rpsGame.d.ts +25 -0
- package/dist/generated/rps-game/errors/rpsGame.js +29 -0
- package/dist/generated/rps-game/index.d.ts +12 -0
- package/dist/generated/rps-game/index.js +13 -0
- package/dist/generated/rps-game/instructions/closePlayer.d.ts +45 -0
- package/dist/generated/rps-game/instructions/closePlayer.js +56 -0
- package/dist/generated/rps-game/instructions/delegatePda.d.ts +69 -0
- package/dist/generated/rps-game/instructions/delegatePda.js +90 -0
- package/dist/generated/rps-game/instructions/index.d.ts +16 -0
- package/dist/generated/rps-game/instructions/index.js +17 -0
- package/dist/generated/rps-game/instructions/initializePlayer.d.ts +48 -0
- package/dist/generated/rps-game/instructions/initializePlayer.js +63 -0
- package/dist/generated/rps-game/instructions/makeChoice.d.ts +44 -0
- package/dist/generated/rps-game/instructions/makeChoice.js +46 -0
- package/dist/generated/rps-game/instructions/onMatchFound.d.ts +43 -0
- package/dist/generated/rps-game/instructions/onMatchFound.js +45 -0
- package/dist/generated/rps-game/instructions/persistResults.d.ts +43 -0
- package/dist/generated/rps-game/instructions/persistResults.js +50 -0
- package/dist/generated/rps-game/instructions/processUndelegation.d.ts +43 -0
- package/dist/generated/rps-game/instructions/processUndelegation.js +49 -0
- package/dist/generated/rps-game/instructions/startGame.d.ts +54 -0
- package/dist/generated/rps-game/instructions/startGame.js +67 -0
- package/dist/generated/rps-game/instructions/startGameWithTicket.d.ts +57 -0
- package/dist/generated/rps-game/instructions/startGameWithTicket.js +67 -0
- package/dist/generated/rps-game/programs/index.d.ts +8 -0
- package/dist/generated/rps-game/programs/index.js +9 -0
- package/dist/generated/rps-game/programs/rpsGame.d.ts +78 -0
- package/dist/generated/rps-game/programs/rpsGame.js +118 -0
- package/dist/generated/rps-game/types/accountType.d.ts +34 -0
- package/dist/generated/rps-game/types/accountType.js +25 -0
- package/dist/generated/rps-game/types/choice.d.ts +17 -0
- package/dist/generated/rps-game/types/choice.js +25 -0
- package/dist/generated/rps-game/types/gameResult.d.ts +26 -0
- package/dist/generated/rps-game/types/gameResult.js +25 -0
- package/dist/generated/rps-game/types/index.d.ts +10 -0
- package/dist/generated/rps-game/types/index.js +11 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/player.d.ts +21 -49
- package/dist/player.js +61 -141
- package/dist/tee.d.ts +14 -0
- package/dist/tee.js +62 -0
- package/dist/transaction.d.ts +11 -0
- package/dist/transaction.js +50 -0
- package/dist/utils.d.ts +4 -4
- package/dist/utils.js +23 -8
- package/package.json +4 -7
- package/src/admin.ts +129 -164
- package/src/duel.json +66 -2
- package/src/encryption.ts +0 -3
- package/src/generated/duel/accounts/index.ts +11 -0
- package/src/generated/duel/accounts/matchTicket.ts +77 -0
- package/src/generated/duel/accounts/queue.ts +77 -0
- package/src/generated/duel/accounts/tenant.ts +76 -0
- package/src/generated/duel/errors/duel.ts +48 -0
- package/src/generated/duel/errors/index.ts +9 -0
- package/src/generated/duel/index.ts +13 -0
- package/src/generated/duel/instructions/cancelTicket.ts +100 -0
- package/src/generated/duel/instructions/closeTicket.ts +100 -0
- package/src/generated/duel/instructions/commitTickets.ts +84 -0
- package/src/generated/duel/instructions/createTicket.ts +109 -0
- package/src/generated/duel/instructions/delegateQueue.ts +157 -0
- package/src/generated/duel/instructions/delegateTicket.ts +157 -0
- package/src/generated/duel/instructions/flushMatches.ts +76 -0
- package/src/generated/duel/instructions/index.ts +19 -0
- package/src/generated/duel/instructions/initializeQueue.ts +109 -0
- package/src/generated/duel/instructions/initializeTenant.ts +126 -0
- package/src/generated/duel/instructions/joinQueue.ts +106 -0
- package/src/generated/duel/instructions/processUndelegation.ts +86 -0
- package/src/generated/duel/programs/duel.ts +104 -0
- package/src/generated/duel/programs/index.ts +9 -0
- package/src/generated/duel/types/accountType.ts +36 -0
- package/src/generated/duel/types/index.ts +14 -0
- package/src/generated/duel/types/matchEntry.ts +25 -0
- package/src/generated/duel/types/matchFound.ts +25 -0
- package/src/generated/duel/types/pendingMatch.ts +25 -0
- package/src/generated/duel/types/queueEntry.ts +25 -0
- package/src/generated/duel/types/ticketStatus.ts +38 -0
- package/src/generated/rps-game/accounts/gameSession.ts +77 -0
- package/src/generated/rps-game/accounts/index.ts +10 -0
- package/src/generated/rps-game/accounts/playerProfile.ts +80 -0
- package/src/generated/rps-game/errors/index.ts +9 -0
- package/src/generated/rps-game/errors/rpsGame.ts +40 -0
- package/src/generated/rps-game/index.ts +13 -0
- package/src/generated/rps-game/instructions/closePlayer.ts +100 -0
- package/src/generated/rps-game/instructions/delegatePda.ts +157 -0
- package/src/generated/rps-game/instructions/index.ts +17 -0
- package/src/generated/rps-game/instructions/initializePlayer.ts +109 -0
- package/src/generated/rps-game/instructions/makeChoice.ts +84 -0
- package/src/generated/rps-game/instructions/onMatchFound.ts +79 -0
- package/src/generated/rps-game/instructions/persistResults.ts +88 -0
- package/src/generated/rps-game/instructions/processUndelegation.ts +86 -0
- package/src/generated/rps-game/instructions/startGame.ts +118 -0
- package/src/generated/rps-game/instructions/startGameWithTicket.ts +121 -0
- package/src/generated/rps-game/programs/index.ts +9 -0
- package/src/generated/rps-game/programs/rpsGame.ts +95 -0
- package/src/generated/rps-game/types/accountType.ts +36 -0
- package/src/generated/rps-game/types/choice.ts +25 -0
- package/src/generated/rps-game/types/gameResult.ts +37 -0
- package/src/generated/rps-game/types/index.ts +11 -0
- package/src/index.ts +2 -1
- package/src/player.ts +96 -193
- package/src/rps_game.json +991 -0
- package/src/tee.ts +79 -0
- package/src/transaction.ts +90 -0
- package/src/utils.ts +35 -20
- package/tsconfig.json +2 -2
- package/dist/client.d.ts +0 -54
- package/dist/client.js +0 -265
- package/dist/duel.json +0 -517
- package/dist/private_matchmaking.json +0 -534
- package/dist/types.d.ts +0 -635
- package/dist/types.js +0 -2
- package/src/types.ts +0 -300
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder } from '@solana/kit';
|
|
9
|
+
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from '@solana/program-client-core';
|
|
10
|
+
import { DUEL_PROGRAM_ADDRESS } from '../programs';
|
|
11
|
+
export const INITIALIZE_TENANT_DISCRIMINATOR = new Uint8Array([94, 120, 34, 186, 57, 167, 241, 206]);
|
|
12
|
+
export function getInitializeTenantDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(INITIALIZE_TENANT_DISCRIMINATOR); }
|
|
13
|
+
export function getInitializeTenantInstructionDataEncoder() {
|
|
14
|
+
return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['tenantProgramId', getAddressEncoder()], ['eloOffset', getU32Encoder()], ['eloSize', getU8Encoder()], ['eloWindow', getU64Encoder()], ['callbackProgramId', getOptionEncoder(getAddressEncoder())], ['callbackDiscriminator', getOptionEncoder(fixEncoderSize(getBytesEncoder(), 8))]]), (value) => ({ ...value, discriminator: INITIALIZE_TENANT_DISCRIMINATOR }));
|
|
15
|
+
}
|
|
16
|
+
export function getInitializeTenantInstructionDataDecoder() {
|
|
17
|
+
return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['tenantProgramId', getAddressDecoder()], ['eloOffset', getU32Decoder()], ['eloSize', getU8Decoder()], ['eloWindow', getU64Decoder()], ['callbackProgramId', getOptionDecoder(getAddressDecoder())], ['callbackDiscriminator', getOptionDecoder(fixDecoderSize(getBytesDecoder(), 8))]]);
|
|
18
|
+
}
|
|
19
|
+
export function getInitializeTenantInstructionDataCodec() {
|
|
20
|
+
return combineCodec(getInitializeTenantInstructionDataEncoder(), getInitializeTenantInstructionDataDecoder());
|
|
21
|
+
}
|
|
22
|
+
export async function getInitializeTenantInstructionAsync(input, config) {
|
|
23
|
+
// Program address.
|
|
24
|
+
const programAddress = config?.programAddress ?? DUEL_PROGRAM_ADDRESS;
|
|
25
|
+
// Original accounts.
|
|
26
|
+
const originalAccounts = { tenant: { value: input.tenant ?? null, isWritable: true }, authority: { value: input.authority ?? null, isWritable: true }, systemProgram: { value: input.systemProgram ?? null, isWritable: false } };
|
|
27
|
+
const accounts = originalAccounts;
|
|
28
|
+
// Original args.
|
|
29
|
+
const args = { ...input, };
|
|
30
|
+
// Resolve default values.
|
|
31
|
+
if (!accounts.tenant.value) {
|
|
32
|
+
accounts.tenant.value = await getProgramDerivedAddress({ programAddress, seeds: [getBytesEncoder().encode(new Uint8Array([116, 101, 110, 97, 110, 116])), getAddressEncoder().encode(getAddressFromResolvedInstructionAccount("authority", accounts.authority.value))] });
|
|
33
|
+
}
|
|
34
|
+
if (!accounts.systemProgram.value) {
|
|
35
|
+
accounts.systemProgram.value = '11111111111111111111111111111111';
|
|
36
|
+
}
|
|
37
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
38
|
+
return Object.freeze({ accounts: [getAccountMeta("tenant", accounts.tenant), getAccountMeta("authority", accounts.authority), getAccountMeta("systemProgram", accounts.systemProgram)], data: getInitializeTenantInstructionDataEncoder().encode(args), programAddress });
|
|
39
|
+
}
|
|
40
|
+
export function getInitializeTenantInstruction(input, config) {
|
|
41
|
+
// Program address.
|
|
42
|
+
const programAddress = config?.programAddress ?? DUEL_PROGRAM_ADDRESS;
|
|
43
|
+
// Original accounts.
|
|
44
|
+
const originalAccounts = { tenant: { value: input.tenant ?? null, isWritable: true }, authority: { value: input.authority ?? null, isWritable: true }, systemProgram: { value: input.systemProgram ?? null, isWritable: false } };
|
|
45
|
+
const accounts = originalAccounts;
|
|
46
|
+
// Original args.
|
|
47
|
+
const args = { ...input, };
|
|
48
|
+
// Resolve default values.
|
|
49
|
+
if (!accounts.systemProgram.value) {
|
|
50
|
+
accounts.systemProgram.value = '11111111111111111111111111111111';
|
|
51
|
+
}
|
|
52
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
53
|
+
return Object.freeze({ accounts: [getAccountMeta("tenant", accounts.tenant), getAccountMeta("authority", accounts.authority), getAccountMeta("systemProgram", accounts.systemProgram)], data: getInitializeTenantInstructionDataEncoder().encode(args), programAddress });
|
|
54
|
+
}
|
|
55
|
+
export function parseInitializeTenantInstruction(instruction) {
|
|
56
|
+
if (instruction.accounts.length < 3) {
|
|
57
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, { actualAccountMetas: instruction.accounts.length, expectedAccountMetas: 3 });
|
|
58
|
+
}
|
|
59
|
+
let accountIndex = 0;
|
|
60
|
+
const getNextAccount = () => {
|
|
61
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
62
|
+
accountIndex += 1;
|
|
63
|
+
return accountMeta;
|
|
64
|
+
};
|
|
65
|
+
return { programAddress: instruction.programAddress, accounts: { tenant: getNextAccount(), authority: getNextAccount(), systemProgram: getNextAccount() }, data: getInitializeTenantInstructionDataDecoder().decode(instruction.data) };
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZVRlbmFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvZHVlbC9pbnN0cnVjdGlvbnMvaW5pdGlhbGl6ZVRlbmFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSx5REFBeUQsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQXlVLE1BQU0sYUFBYSxDQUFDO0FBQzl1QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsd0NBQXdDLEVBQW1DLE1BQU0sNkJBQTZCLENBQUM7QUFDL0ksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFckcsTUFBTSxVQUFVLHFDQUFxQyxLQUFLLE9BQU8sY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVNoSixNQUFNLFVBQVUseUNBQXlDO0lBQ3JELE9BQU8sZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFD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QUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLHlDQUF5QyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY29kZSB3YXMgQVVUT0dFTkVSQVRFRCB1c2luZyB0aGUgQ29kYW1hIGxpYnJhcnkuXG4gKiBQbGVhc2UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpbnN0ZWFkIHVzZSB2aXNpdG9yc1xuICogdG8gYWRkIGZlYXR1cmVzLCB0aGVuIHJlcnVuIENvZGFtYSB0byB1cGRhdGUgaXQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kYW1hLWlkbC9jb2RhbWFcbiAqL1xuXG5pbXBvcnQgeyBjb21iaW5lQ29kZWMsIGZpeERlY29kZXJTaXplLCBmaXhFbmNvZGVyU2l6ZSwgZ2V0QWRkcmVzc0RlY29kZXIsIGdldEFkZHJlc3NFbmNvZGVyLCBnZXRCeXRlc0RlY29kZXIsIGdldEJ5dGVzRW5jb2RlciwgZ2V0T3B0aW9uRGVjb2RlciwgZ2V0T3B0aW9uRW5jb2RlciwgZ2V0UHJvZ3JhbURlcml2ZWRBZGRyZXNzLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBnZXRVMzJEZWNvZGVyLCBnZXRVMzJFbmNvZGVyLCBnZXRVNjREZWNvZGVyLCBnZXRVNjRFbmNvZGVyLCBnZXRVOERlY29kZXIsIGdldFU4RW5jb2RlciwgU09MQU5BX0VSUk9SX19QUk9HUkFNX0NMSUVOVFNfX0lOU1VGRklDSUVOVF9BQ0NPVU5UX01FVEFTLCBTb2xhbmFFcnJvciwgdHJhbnNmb3JtRW5jb2RlciwgdHlwZSBBY2NvdW50TWV0YSwgdHlwZSBBY2NvdW50U2lnbmVyTWV0YSwgdHlwZSBBZGRyZXNzLCB0eXBlIENvZGVjLCB0eXBlIERlY29kZXIsIHR5cGUgRW5jb2RlciwgdHlwZSBJbnN0cnVjdGlvbiwgdHlwZSBJbnN0cnVjdGlvbldpdGhBY2NvdW50cywgdHlwZSBJbnN0cnVjdGlvbldpdGhEYXRhLCB0eXBlIE9wdGlvbiwgdHlwZSBPcHRpb25Pck51bGxhYmxlLCB0eXBlIFJlYWRvbmx5QWNjb3VudCwgdHlwZSBSZWFkb25seVVpbnQ4QXJyYXksIHR5cGUgVHJhbnNhY3Rpb25TaWduZXIsIHR5cGUgV3JpdGFibGVBY2NvdW50LCB0eXBlIFdyaXRhYmxlU2lnbmVyQWNjb3VudCB9IGZyb20gJ0Bzb2xhbmEva2l0JztcbmltcG9ydCB7IGdldEFjY291bnRNZXRhRmFjdG9yeSwgZ2V0QWRkcmVzc0Zyb21SZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudCwgdHlwZSBSZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudCB9IGZyb20gJ0Bzb2xhbmEvcHJvZ3JhbS1jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBEVUVMX1BST0dSQU1fQUREUkVTUyB9IGZyb20gJy4uL3Byb2dyYW1zJztcblxuZXhwb3J0IGNvbnN0IElOSVRJQUxJWkVfVEVOQU5UX0RJU0NSSU1JTkFUT1IgPSBuZXcgVWludDhBcnJheShbOTQsIDEyMCwgMzQsIDE4NiwgNTcsIDE2NywgMjQxLCAyMDZdKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxpemVUZW5hbnREaXNjcmltaW5hdG9yQnl0ZXMoKSB7IHJldHVybiBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCkuZW5jb2RlKElOSVRJQUxJWkVfVEVOQU5UX0RJU0NSSU1JTkFUT1IpOyB9XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbjxUUHJvZ3JhbSBleHRlbmRzIHN0cmluZyA9IHR5cGVvZiBEVUVMX1BST0dSQU1fQUREUkVTUywgVEFjY291bnRUZW5hbnQgZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gc3RyaW5nLCBUQWNjb3VudEF1dGhvcml0eSBleHRlbmRzIHN0cmluZyB8IEFjY291bnRNZXRhPHN0cmluZz4gPSBzdHJpbmcsIFRBY2NvdW50U3lzdGVtUHJvZ3JhbSBleHRlbmRzIHN0cmluZyB8IEFjY291bnRNZXRhPHN0cmluZz4gPSBcIjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExXCIsIFRSZW1haW5pbmdBY2NvdW50cyBleHRlbmRzIHJlYWRvbmx5IEFjY291bnRNZXRhPHN0cmluZz5bXSA9IFtdPiA9XG5JbnN0cnVjdGlvbjxUUHJvZ3JhbT4gJiBJbnN0cnVjdGlvbldpdGhEYXRhPFJlYWRvbmx5VWludDhBcnJheT4gJiBJbnN0cnVjdGlvbldpdGhBY2NvdW50czxbVEFjY291bnRUZW5hbnQgZXh0ZW5kcyBzdHJpbmcgPyBXcml0YWJsZUFjY291bnQ8VEFjY291bnRUZW5hbnQ+IDogVEFjY291bnRUZW5hbnQsIFRBY2NvdW50QXV0aG9yaXR5IGV4dGVuZHMgc3RyaW5nID8gV3JpdGFibGVTaWduZXJBY2NvdW50PFRBY2NvdW50QXV0aG9yaXR5PiAmIEFjY291bnRTaWduZXJNZXRhPFRBY2NvdW50QXV0aG9yaXR5PiA6IFRBY2NvdW50QXV0aG9yaXR5LCBUQWNjb3VudFN5c3RlbVByb2dyYW0gZXh0ZW5kcyBzdHJpbmcgPyBSZWFkb25seUFjY291bnQ8VEFjY291bnRTeXN0ZW1Qcm9ncmFtPiA6IFRBY2NvdW50U3lzdGVtUHJvZ3JhbSwgLi4uVFJlbWFpbmluZ0FjY291bnRzXT47XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGEgPSB7IGRpc2NyaW1pbmF0b3I6IFJlYWRvbmx5VWludDhBcnJheTsgdGVuYW50UHJvZ3JhbUlkOiBBZGRyZXNzOyBlbG9PZmZzZXQ6IG51bWJlcjsgZWxvU2l6ZTogbnVtYmVyOyBlbG9XaW5kb3c6IGJpZ2ludDsgY2FsbGJhY2tQcm9ncmFtSWQ6IE9wdGlvbjxBZGRyZXNzPjsgY2FsbGJhY2tEaXNjcmltaW5hdG9yOiBPcHRpb248UmVhZG9ubHlVaW50OEFycmF5PjsgIH07XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFBcmdzID0geyB0ZW5hbnRQcm9ncmFtSWQ6IEFkZHJlc3M7IGVsb09mZnNldDogbnVtYmVyOyBlbG9TaXplOiBudW1iZXI7IGVsb1dpbmRvdzogbnVtYmVyIHwgYmlnaW50OyBjYWxsYmFja1Byb2dyYW1JZDogT3B0aW9uT3JOdWxsYWJsZTxBZGRyZXNzPjsgY2FsbGJhY2tEaXNjcmltaW5hdG9yOiBPcHRpb25Pck51bGxhYmxlPFJlYWRvbmx5VWludDhBcnJheT47ICB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUVuY29kZXIoKTogRW5jb2RlcjxJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJncz4ge1xuICAgIHJldHVybiB0cmFuc2Zvcm1FbmNvZGVyKGdldFN0cnVjdEVuY29kZXIoW1snZGlzY3JpbWluYXRvcicsIGZpeEVuY29kZXJTaXplKGdldEJ5dGVzRW5jb2RlcigpLCA4KV0sIFsndGVuYW50UHJvZ3JhbUlkJywgZ2V0QWRkcmVzc0VuY29kZXIoKV0sIFsnZWxvT2Zmc2V0JywgZ2V0VTMyRW5jb2RlcigpXSwgWydlbG9TaXplJywgZ2V0VThFbmNvZGVyKCldLCBbJ2Vsb1dpbmRvdycsIGdldFU2NEVuY29kZXIoKV0sIFsnY2FsbGJhY2tQcm9ncmFtSWQnLCBnZXRPcHRpb25FbmNvZGVyKGdldEFkZHJlc3NFbmNvZGVyKCkpXSwgWydjYWxsYmFja0Rpc2NyaW1pbmF0b3InLCBnZXRPcHRpb25FbmNvZGVyKGZpeEVuY29kZXJTaXplKGdldEJ5dGVzRW5jb2RlcigpLCA4KSldXSksICh2YWx1ZSkgPT4gKHsgLi4udmFsdWUsIGRpc2NyaW1pbmF0b3I6IElOSVRJQUxJWkVfVEVOQU5UX0RJU0NSSU1JTkFUT1IgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YURlY29kZXIoKTogRGVjb2RlcjxJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhPiB7XG4gICAgcmV0dXJuIGdldFN0cnVjdERlY29kZXIoW1snZGlzY3JpbWluYXRvcicsIGZpeERlY29kZXJTaXplKGdldEJ5dGVzRGVjb2RlcigpLCA4KV0sIFsndGVuYW50UHJvZ3JhbUlkJywgZ2V0QWRkcmVzc0RlY29kZXIoKV0sIFsnZWxvT2Zmc2V0JywgZ2V0VTMyRGVjb2RlcigpXSwgWydlbG9TaXplJywgZ2V0VThEZWNvZGVyKCldLCBbJ2Vsb1dpbmRvdycsIGdldFU2NERlY29kZXIoKV0sIFsnY2FsbGJhY2tQcm9ncmFtSWQnLCBnZXRPcHRpb25EZWNvZGVyKGdldEFkZHJlc3NEZWNvZGVyKCkpXSwgWydjYWxsYmFja0Rpc2NyaW1pbmF0b3InLCBnZXRPcHRpb25EZWNvZGVyKGZpeERlY29kZXJTaXplKGdldEJ5dGVzRGVjb2RlcigpLCA4KSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQ29kZWMoKTogQ29kZWM8SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3MsIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGE+IHtcbiAgICByZXR1cm4gY29tYmluZUNvZGVjKGdldEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCksIGdldEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFEZWNvZGVyKCkpO1xufVxuXG5leHBvcnQgdHlwZSBJbml0aWFsaXplVGVuYW50QXN5bmNJbnB1dDxUQWNjb3VudFRlbmFudCBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRBdXRob3JpdHkgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50U3lzdGVtUHJvZ3JhbSBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSAge1xuICB0ZW5hbnQ/OiBBZGRyZXNzPFRBY2NvdW50VGVuYW50PjtcbmF1dGhvcml0eTogVHJhbnNhY3Rpb25TaWduZXI8VEFjY291bnRBdXRob3JpdHk+O1xuc3lzdGVtUHJvZ3JhbT86IEFkZHJlc3M8VEFjY291bnRTeXN0ZW1Qcm9ncmFtPjtcbnRlbmFudFByb2dyYW1JZDogSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3NbXCJ0ZW5hbnRQcm9ncmFtSWRcIl07XG5lbG9PZmZzZXQ6IEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFBcmdzW1wiZWxvT2Zmc2V0XCJdO1xuZWxvU2l6ZTogSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3NbXCJlbG9TaXplXCJdO1xuZWxvV2luZG93OiBJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJnc1tcImVsb1dpbmRvd1wiXTtcbmNhbGxiYWNrUHJvZ3JhbUlkOiBJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJnc1tcImNhbGxiYWNrUHJvZ3JhbUlkXCJdO1xuY2FsbGJhY2tEaXNjcmltaW5hdG9yOiBJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJnc1tcImNhbGxiYWNrRGlzY3JpbWluYXRvclwiXTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkFzeW5jPFRBY2NvdW50VGVuYW50IGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudEF1dGhvcml0eSBleHRlbmRzIHN0cmluZywgVEFjY291bnRTeXN0ZW1Qcm9ncmFtIGV4dGVuZHMgc3RyaW5nLCBUUHJvZ3JhbUFkZHJlc3MgZXh0ZW5kcyBBZGRyZXNzID0gdHlwZW9mIERVRUxfUFJPR1JBTV9BRERSRVNTPihpbnB1dDogSW5pdGlhbGl6ZVRlbmFudEFzeW5jSW5wdXQ8VEFjY291bnRUZW5hbnQsIFRBY2NvdW50QXV0aG9yaXR5LCBUQWNjb3VudFN5c3RlbVByb2dyYW0+LCBjb25maWc/OiB7IHByb2dyYW1BZGRyZXNzPzogVFByb2dyYW1BZGRyZXNzIH0gKTogUHJvbWlzZTxJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb248VFByb2dyYW1BZGRyZXNzLCBUQWNjb3VudFRlbmFudCwgVEFjY291bnRBdXRob3JpdHksIFRBY2NvdW50U3lzdGVtUHJvZ3JhbT4+IHtcbiAgLy8gUHJvZ3JhbSBhZGRyZXNzLlxuY29uc3QgcHJvZ3JhbUFkZHJlc3MgPSBjb25maWc/LnByb2dyYW1BZGRyZXNzID8/IERVRUxfUFJPR1JBTV9BRERSRVNTO1xuXG4gLy8gT3JpZ2luYWwgYWNjb3VudHMuXG5jb25zdCBvcmlnaW5hbEFjY291bnRzID0geyB0ZW5hbnQ6IHsgdmFsdWU6IGlucHV0LnRlbmFudCA/PyBudWxsLCBpc1dyaXRhYmxlOiB0cnVlIH0sIGF1dGhvcml0eTogeyB2YWx1ZTogaW5wdXQuYXV0aG9yaXR5ID8/IG51bGwsIGlzV3JpdGFibGU6IHRydWUgfSwgc3lzdGVtUHJvZ3JhbTogeyB2YWx1ZTogaW5wdXQuc3lzdGVtUHJvZ3JhbSA/PyBudWxsLCBpc1dyaXRhYmxlOiBmYWxzZSB9IH1cbmNvbnN0IGFjY291bnRzID0gb3JpZ2luYWxBY2NvdW50cyBhcyBSZWNvcmQ8a2V5b2YgdHlwZW9mIG9yaWdpbmFsQWNjb3VudHMsIFJlc29sdmVkSW5zdHJ1Y3Rpb25BY2NvdW50PjtcblxuXG4vLyBPcmlnaW5hbCBhcmdzLlxuY29uc3QgYXJncyA9IHsgLi4uaW5wdXQsICB9O1xuXG5cbi8vIFJlc29sdmUgZGVmYXVsdCB2YWx1ZXMuXG5pZiAoIWFjY291bnRzLnRlbmFudC52YWx1ZSkge1xuYWNjb3VudHMudGVuYW50LnZhbHVlID0gYXdhaXQgZ2V0UHJvZ3JhbURlcml2ZWRBZGRyZXNzKHsgcHJvZ3JhbUFkZHJlc3MsIHNlZWRzOiBbZ2V0Qnl0ZXNFbmNvZGVyKCkuZW5jb2RlKG5ldyBVaW50OEFycmF5KFsxMTYsIDEwMSwgMTEwLCA5NywgMTEwLCAxMTZdKSksIGdldEFkZHJlc3NFbmNvZGVyKCkuZW5jb2RlKGdldEFkZHJlc3NGcm9tUmVzb2x2ZWRJbnN0cnVjdGlvbkFjY291bnQoXCJhdXRob3JpdHlcIiwgYWNjb3VudHMuYXV0aG9yaXR5LnZhbHVlKSldIH0pO1xufVxuaWYgKCFhY2NvdW50cy5zeXN0ZW1Qcm9ncmFtLnZhbHVlKSB7XG5hY2NvdW50cy5zeXN0ZW1Qcm9ncmFtLnZhbHVlID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyBhcyBBZGRyZXNzPCcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc+O1xufVxuXG5jb25zdCBnZXRBY2NvdW50TWV0YSA9IGdldEFjY291bnRNZXRhRmFjdG9yeShwcm9ncmFtQWRkcmVzcywgJ3Byb2dyYW1JZCcpO1xucmV0dXJuIE9iamVjdC5mcmVlemUoeyBhY2NvdW50czogW2dldEFjY291bnRNZXRhKFwidGVuYW50XCIsIGFjY291bnRzLnRlbmFudCksIGdldEFjY291bnRNZXRhKFwiYXV0aG9yaXR5XCIsIGFjY291bnRzLmF1dGhvcml0eSksIGdldEFjY291bnRNZXRhKFwic3lzdGVtUHJvZ3JhbVwiLCBhY2NvdW50cy5zeXN0ZW1Qcm9ncmFtKV0sIGRhdGE6IGdldEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCkuZW5jb2RlKGFyZ3MgYXMgSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3MpLCBwcm9ncmFtQWRkcmVzcyB9IGFzIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbjxUUHJvZ3JhbUFkZHJlc3MsIFRBY2NvdW50VGVuYW50LCBUQWNjb3VudEF1dGhvcml0eSwgVEFjY291bnRTeXN0ZW1Qcm9ncmFtPik7XG59XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVUZW5hbnRJbnB1dDxUQWNjb3VudFRlbmFudCBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRBdXRob3JpdHkgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50U3lzdGVtUHJvZ3JhbSBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSAge1xuICB0ZW5hbnQ6IEFkZHJlc3M8VEFjY291bnRUZW5hbnQ+O1xuYXV0aG9yaXR5OiBUcmFuc2FjdGlvblNpZ25lcjxUQWNjb3VudEF1dGhvcml0eT47XG5zeXN0ZW1Qcm9ncmFtPzogQWRkcmVzczxUQWNjb3VudFN5c3RlbVByb2dyYW0+O1xudGVuYW50UHJvZ3JhbUlkOiBJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJnc1tcInRlbmFudFByb2dyYW1JZFwiXTtcbmVsb09mZnNldDogSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3NbXCJlbG9PZmZzZXRcIl07XG5lbG9TaXplOiBJbml0aWFsaXplVGVuYW50SW5zdHJ1Y3Rpb25EYXRhQXJnc1tcImVsb1NpemVcIl07XG5lbG9XaW5kb3c6IEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFBcmdzW1wiZWxvV2luZG93XCJdO1xuY2FsbGJhY2tQcm9ncmFtSWQ6IEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFBcmdzW1wiY2FsbGJhY2tQcm9ncmFtSWRcIl07XG5jYWxsYmFja0Rpc2NyaW1pbmF0b3I6IEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFBcmdzW1wiY2FsbGJhY2tEaXNjcmltaW5hdG9yXCJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uPFRBY2NvdW50VGVuYW50IGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudEF1dGhvcml0eSBleHRlbmRzIHN0cmluZywgVEFjY291bnRTeXN0ZW1Qcm9ncmFtIGV4dGVuZHMgc3RyaW5nLCBUUHJvZ3JhbUFkZHJlc3MgZXh0ZW5kcyBBZGRyZXNzID0gdHlwZW9mIERVRUxfUFJPR1JBTV9BRERSRVNTPihpbnB1dDogSW5pdGlhbGl6ZVRlbmFudElucHV0PFRBY2NvdW50VGVuYW50LCBUQWNjb3VudEF1dGhvcml0eSwgVEFjY291bnRTeXN0ZW1Qcm9ncmFtPiwgY29uZmlnPzogeyBwcm9ncmFtQWRkcmVzcz86IFRQcm9ncmFtQWRkcmVzcyB9ICk6IEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbjxUUHJvZ3JhbUFkZHJlc3MsIFRBY2NvdW50VGVuYW50LCBUQWNjb3VudEF1dGhvcml0eSwgVEFjY291bnRTeXN0ZW1Qcm9ncmFtPiB7XG4gIC8vIFByb2dyYW0gYWRkcmVzcy5cbmNvbnN0IHByb2dyYW1BZGRyZXNzID0gY29uZmlnPy5wcm9ncmFtQWRkcmVzcyA/PyBEVUVMX1BST0dSQU1fQUREUkVTUztcblxuIC8vIE9yaWdpbmFsIGFjY291bnRzLlxuY29uc3Qgb3JpZ2luYWxBY2NvdW50cyA9IHsgdGVuYW50OiB7IHZhbHVlOiBpbnB1dC50ZW5hbnQgPz8gbnVsbCwgaXNXcml0YWJsZTogdHJ1ZSB9LCBhdXRob3JpdHk6IHsgdmFsdWU6IGlucHV0LmF1dGhvcml0eSA/PyBudWxsLCBpc1dyaXRhYmxlOiB0cnVlIH0sIHN5c3RlbVByb2dyYW06IHsgdmFsdWU6IGlucHV0LnN5c3RlbVByb2dyYW0gPz8gbnVsbCwgaXNXcml0YWJsZTogZmFsc2UgfSB9XG5jb25zdCBhY2NvdW50cyA9IG9yaWdpbmFsQWNjb3VudHMgYXMgUmVjb3JkPGtleW9mIHR5cGVvZiBvcmlnaW5hbEFjY291bnRzLCBSZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudD47XG5cblxuLy8gT3JpZ2luYWwgYXJncy5cbmNvbnN0IGFyZ3MgPSB7IC4uLmlucHV0LCAgfTtcblxuXG4vLyBSZXNvbHZlIGRlZmF1bHQgdmFsdWVzLlxuaWYgKCFhY2NvdW50cy5zeXN0ZW1Qcm9ncmFtLnZhbHVlKSB7XG5hY2NvdW50cy5zeXN0ZW1Qcm9ncmFtLnZhbHVlID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyBhcyBBZGRyZXNzPCcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc+O1xufVxuXG5jb25zdCBnZXRBY2NvdW50TWV0YSA9IGdldEFjY291bnRNZXRhRmFjdG9yeShwcm9ncmFtQWRkcmVzcywgJ3Byb2dyYW1JZCcpO1xucmV0dXJuIE9iamVjdC5mcmVlemUoeyBhY2NvdW50czogW2dldEFjY291bnRNZXRhKFwidGVuYW50XCIsIGFjY291bnRzLnRlbmFudCksIGdldEFjY291bnRNZXRhKFwiYXV0aG9yaXR5XCIsIGFjY291bnRzLmF1dGhvcml0eSksIGdldEFjY291bnRNZXRhKFwic3lzdGVtUHJvZ3JhbVwiLCBhY2NvdW50cy5zeXN0ZW1Qcm9ncmFtKV0sIGRhdGE6IGdldEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCkuZW5jb2RlKGFyZ3MgYXMgSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YUFyZ3MpLCBwcm9ncmFtQWRkcmVzcyB9IGFzIEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbjxUUHJvZ3JhbUFkZHJlc3MsIFRBY2NvdW50VGVuYW50LCBUQWNjb3VudEF1dGhvcml0eSwgVEFjY291bnRTeXN0ZW1Qcm9ncmFtPik7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlZEluaXRpYWxpemVUZW5hbnRJbnN0cnVjdGlvbjxUUHJvZ3JhbSBleHRlbmRzIHN0cmluZyA9IHR5cGVvZiBEVUVMX1BST0dSQU1fQUREUkVTUywgVEFjY291bnRNZXRhcyBleHRlbmRzIHJlYWRvbmx5IEFjY291bnRNZXRhW10gPSByZWFkb25seSBBY2NvdW50TWV0YVtdPiA9IHsgcHJvZ3JhbUFkZHJlc3M6IEFkZHJlc3M8VFByb2dyYW0+O1xuYWNjb3VudHM6IHtcbnRlbmFudDogVEFjY291bnRNZXRhc1swXTtcbmF1dGhvcml0eTogVEFjY291bnRNZXRhc1sxXTtcbnN5c3RlbVByb2dyYW06IFRBY2NvdW50TWV0YXNbMl07XG59O1xuZGF0YTogSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YTsgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uPFRQcm9ncmFtIGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudE1ldGFzIGV4dGVuZHMgcmVhZG9ubHkgQWNjb3VudE1ldGFbXT4oaW5zdHJ1Y3Rpb246IEluc3RydWN0aW9uPFRQcm9ncmFtPiAmIEluc3RydWN0aW9uV2l0aEFjY291bnRzPFRBY2NvdW50TWV0YXM+ICYgSW5zdHJ1Y3Rpb25XaXRoRGF0YTxSZWFkb25seVVpbnQ4QXJyYXk+KTogUGFyc2VkSW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uPFRQcm9ncmFtLCBUQWNjb3VudE1ldGFzPiB7XG4gIGlmIChpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGggPCAzKSB7XG4gIHRocm93IG5ldyBTb2xhbmFFcnJvcihTT0xBTkFfRVJST1JfX1BST0dSQU1fQ0xJRU5UU19fSU5TVUZGSUNJRU5UX0FDQ09VTlRfTUVUQVMsIHsgYWN0dWFsQWNjb3VudE1ldGFzOiBpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGgsIGV4cGVjdGVkQWNjb3VudE1ldGFzOiAzIH0pO1xufVxubGV0IGFjY291bnRJbmRleCA9IDA7XG5jb25zdCBnZXROZXh0QWNjb3VudCA9ICgpID0+IHtcbiAgY29uc3QgYWNjb3VudE1ldGEgPSAoaW5zdHJ1Y3Rpb24uYWNjb3VudHMgYXMgVEFjY291bnRNZXRhcylbYWNjb3VudEluZGV4XSE7XG4gIGFjY291bnRJbmRleCArPSAxO1xuICByZXR1cm4gYWNjb3VudE1ldGE7XG59XG4gIHJldHVybiB7IHByb2dyYW1BZGRyZXNzOiBpbnN0cnVjdGlvbi5wcm9ncmFtQWRkcmVzcywgYWNjb3VudHM6IHsgdGVuYW50OiBnZXROZXh0QWNjb3VudCgpLCBhdXRob3JpdHk6IGdldE5leHRBY2NvdW50KCksIHN5c3RlbVByb2dyYW06IGdldE5leHRBY2NvdW50KCkgfSwgZGF0YTogZ2V0SW5pdGlhbGl6ZVRlbmFudEluc3RydWN0aW9uRGF0YURlY29kZXIoKS5kZWNvZGUoaW5zdHJ1Y3Rpb24uZGF0YSkgfTtcbn0iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount } from '@solana/kit';
|
|
9
|
+
import { DUEL_PROGRAM_ADDRESS } from '../programs';
|
|
10
|
+
export declare const JOIN_QUEUE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
11
|
+
export declare function getJoinQueueDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
|
|
12
|
+
export type JoinQueueInstruction<TProgram extends string = typeof DUEL_PROGRAM_ADDRESS, TAccountQueue extends string | AccountMeta<string> = string, TAccountTenant extends string | AccountMeta<string> = string, TAccountPlayerData extends string | AccountMeta<string> = string, TAccountPlayerTicket extends string | AccountMeta<string> = string, TAccountSigner extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountQueue extends string ? WritableAccount<TAccountQueue> : TAccountQueue, TAccountTenant extends string ? ReadonlyAccount<TAccountTenant> : TAccountTenant, TAccountPlayerData extends string ? WritableAccount<TAccountPlayerData> : TAccountPlayerData, TAccountPlayerTicket extends string ? WritableAccount<TAccountPlayerTicket> : TAccountPlayerTicket, TAccountSigner extends string ? ReadonlySignerAccount<TAccountSigner> & AccountSignerMeta<TAccountSigner> : TAccountSigner, ...TRemainingAccounts]>;
|
|
13
|
+
export type JoinQueueInstructionData = {
|
|
14
|
+
discriminator: ReadonlyUint8Array;
|
|
15
|
+
};
|
|
16
|
+
export type JoinQueueInstructionDataArgs = {};
|
|
17
|
+
export declare function getJoinQueueInstructionDataEncoder(): FixedSizeEncoder<JoinQueueInstructionDataArgs>;
|
|
18
|
+
export declare function getJoinQueueInstructionDataDecoder(): FixedSizeDecoder<JoinQueueInstructionData>;
|
|
19
|
+
export declare function getJoinQueueInstructionDataCodec(): FixedSizeCodec<JoinQueueInstructionDataArgs, JoinQueueInstructionData>;
|
|
20
|
+
export type JoinQueueAsyncInput<TAccountQueue extends string = string, TAccountTenant extends string = string, TAccountPlayerData extends string = string, TAccountPlayerTicket extends string = string, TAccountSigner extends string = string> = {
|
|
21
|
+
queue: Address<TAccountQueue>;
|
|
22
|
+
tenant: Address<TAccountTenant>;
|
|
23
|
+
playerData: Address<TAccountPlayerData>;
|
|
24
|
+
playerTicket?: Address<TAccountPlayerTicket>;
|
|
25
|
+
signer: TransactionSigner<TAccountSigner>;
|
|
26
|
+
};
|
|
27
|
+
export declare function getJoinQueueInstructionAsync<TAccountQueue extends string, TAccountTenant extends string, TAccountPlayerData extends string, TAccountPlayerTicket extends string, TAccountSigner extends string, TProgramAddress extends Address = typeof DUEL_PROGRAM_ADDRESS>(input: JoinQueueAsyncInput<TAccountQueue, TAccountTenant, TAccountPlayerData, TAccountPlayerTicket, TAccountSigner>, config?: {
|
|
28
|
+
programAddress?: TProgramAddress;
|
|
29
|
+
}): Promise<JoinQueueInstruction<TProgramAddress, TAccountQueue, TAccountTenant, TAccountPlayerData, TAccountPlayerTicket, TAccountSigner>>;
|
|
30
|
+
export type JoinQueueInput<TAccountQueue extends string = string, TAccountTenant extends string = string, TAccountPlayerData extends string = string, TAccountPlayerTicket extends string = string, TAccountSigner extends string = string> = {
|
|
31
|
+
queue: Address<TAccountQueue>;
|
|
32
|
+
tenant: Address<TAccountTenant>;
|
|
33
|
+
playerData: Address<TAccountPlayerData>;
|
|
34
|
+
playerTicket: Address<TAccountPlayerTicket>;
|
|
35
|
+
signer: TransactionSigner<TAccountSigner>;
|
|
36
|
+
};
|
|
37
|
+
export declare function getJoinQueueInstruction<TAccountQueue extends string, TAccountTenant extends string, TAccountPlayerData extends string, TAccountPlayerTicket extends string, TAccountSigner extends string, TProgramAddress extends Address = typeof DUEL_PROGRAM_ADDRESS>(input: JoinQueueInput<TAccountQueue, TAccountTenant, TAccountPlayerData, TAccountPlayerTicket, TAccountSigner>, config?: {
|
|
38
|
+
programAddress?: TProgramAddress;
|
|
39
|
+
}): JoinQueueInstruction<TProgramAddress, TAccountQueue, TAccountTenant, TAccountPlayerData, TAccountPlayerTicket, TAccountSigner>;
|
|
40
|
+
export type ParsedJoinQueueInstruction<TProgram extends string = typeof DUEL_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
41
|
+
programAddress: Address<TProgram>;
|
|
42
|
+
accounts: {
|
|
43
|
+
queue: TAccountMetas[0];
|
|
44
|
+
tenant: TAccountMetas[1];
|
|
45
|
+
playerData: TAccountMetas[2];
|
|
46
|
+
playerTicket: TAccountMetas[3];
|
|
47
|
+
signer: TAccountMetas[4];
|
|
48
|
+
};
|
|
49
|
+
data: JoinQueueInstructionData;
|
|
50
|
+
};
|
|
51
|
+
export declare function parseJoinQueueInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedJoinQueueInstruction<TProgram, TAccountMetas>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressEncoder, getBytesDecoder, getBytesEncoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder } from '@solana/kit';
|
|
9
|
+
import { getAccountMetaFactory, getAddressFromResolvedInstructionAccount } from '@solana/program-client-core';
|
|
10
|
+
import { DUEL_PROGRAM_ADDRESS } from '../programs';
|
|
11
|
+
export const JOIN_QUEUE_DISCRIMINATOR = new Uint8Array([157, 115, 48, 109, 65, 86, 203, 238]);
|
|
12
|
+
export function getJoinQueueDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(JOIN_QUEUE_DISCRIMINATOR); }
|
|
13
|
+
export function getJoinQueueInstructionDataEncoder() {
|
|
14
|
+
return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)]]), (value) => ({ ...value, discriminator: JOIN_QUEUE_DISCRIMINATOR }));
|
|
15
|
+
}
|
|
16
|
+
export function getJoinQueueInstructionDataDecoder() {
|
|
17
|
+
return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)]]);
|
|
18
|
+
}
|
|
19
|
+
export function getJoinQueueInstructionDataCodec() {
|
|
20
|
+
return combineCodec(getJoinQueueInstructionDataEncoder(), getJoinQueueInstructionDataDecoder());
|
|
21
|
+
}
|
|
22
|
+
export async function getJoinQueueInstructionAsync(input, config) {
|
|
23
|
+
// Program address.
|
|
24
|
+
const programAddress = config?.programAddress ?? DUEL_PROGRAM_ADDRESS;
|
|
25
|
+
// Original accounts.
|
|
26
|
+
const originalAccounts = { queue: { value: input.queue ?? null, isWritable: true }, tenant: { value: input.tenant ?? null, isWritable: false }, playerData: { value: input.playerData ?? null, isWritable: true }, playerTicket: { value: input.playerTicket ?? null, isWritable: true }, signer: { value: input.signer ?? null, isWritable: false } };
|
|
27
|
+
const accounts = originalAccounts;
|
|
28
|
+
// Resolve default values.
|
|
29
|
+
if (!accounts.playerTicket.value) {
|
|
30
|
+
accounts.playerTicket.value = await getProgramDerivedAddress({ programAddress, seeds: [getBytesEncoder().encode(new Uint8Array([116, 105, 99, 107, 101, 116])), getAddressEncoder().encode(getAddressFromResolvedInstructionAccount("signer", accounts.signer.value)), getAddressEncoder().encode(getAddressFromResolvedInstructionAccount("tenant", accounts.tenant.value))] });
|
|
31
|
+
}
|
|
32
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
33
|
+
return Object.freeze({ accounts: [getAccountMeta("queue", accounts.queue), getAccountMeta("tenant", accounts.tenant), getAccountMeta("playerData", accounts.playerData), getAccountMeta("playerTicket", accounts.playerTicket), getAccountMeta("signer", accounts.signer)], data: getJoinQueueInstructionDataEncoder().encode({}), programAddress });
|
|
34
|
+
}
|
|
35
|
+
export function getJoinQueueInstruction(input, config) {
|
|
36
|
+
// Program address.
|
|
37
|
+
const programAddress = config?.programAddress ?? DUEL_PROGRAM_ADDRESS;
|
|
38
|
+
// Original accounts.
|
|
39
|
+
const originalAccounts = { queue: { value: input.queue ?? null, isWritable: true }, tenant: { value: input.tenant ?? null, isWritable: false }, playerData: { value: input.playerData ?? null, isWritable: true }, playerTicket: { value: input.playerTicket ?? null, isWritable: true }, signer: { value: input.signer ?? null, isWritable: false } };
|
|
40
|
+
const accounts = originalAccounts;
|
|
41
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
42
|
+
return Object.freeze({ accounts: [getAccountMeta("queue", accounts.queue), getAccountMeta("tenant", accounts.tenant), getAccountMeta("playerData", accounts.playerData), getAccountMeta("playerTicket", accounts.playerTicket), getAccountMeta("signer", accounts.signer)], data: getJoinQueueInstructionDataEncoder().encode({}), programAddress });
|
|
43
|
+
}
|
|
44
|
+
export function parseJoinQueueInstruction(instruction) {
|
|
45
|
+
if (instruction.accounts.length < 5) {
|
|
46
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, { actualAccountMetas: instruction.accounts.length, expectedAccountMetas: 5 });
|
|
47
|
+
}
|
|
48
|
+
let accountIndex = 0;
|
|
49
|
+
const getNextAccount = () => {
|
|
50
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
51
|
+
accountIndex += 1;
|
|
52
|
+
return accountMeta;
|
|
53
|
+
};
|
|
54
|
+
return { programAddress: instruction.programAddress, accounts: { queue: getNextAccount(), tenant: getNextAccount(), playerData: getNextAccount(), playerTicket: getNextAccount(), signer: getNextAccount() }, data: getJoinQueueInstructionDataDecoder().decode(instruction.data) };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pblF1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9kdWVsL2luc3RydWN0aW9ucy9qb2luUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUseURBQXlELEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFnVSxNQUFNLGFBQWEsQ0FBQztBQUN0bEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHdDQUF3QyxFQUFtQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9JLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRTlGLE1BQU0sVUFBVSw4QkFBOEIsS0FBSyxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFTbEksTUFBTSxVQUFVLGtDQUFrQztJQUM5QyxPQUFPLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxDQUFDO0FB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QyxFQUFFLGNBQWMsRUFBb0ksQ0FBQyxDQUFDO0FBQ3ZkLENBQUM7QUFZRCxNQUFNLFVBQVUseUJBQXlCLENBQXdFLFdBQXFIO0lBQ3BPLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLFdBQVcsQ0FBQyx5REFBeUQsRUFBRSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakssQ0FBQztJQUNELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7UUFDMUIsTUFBTSxXQUFXLEdBQUksV0FBVyxDQUFDLFFBQTBCLENBQUMsWUFBWSxDQUFFLENBQUM7UUFDM0UsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLENBQUE7SUFDQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUN0UixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGNvZGUgd2FzIEFVVE9HRU5FUkFURUQgdXNpbmcgdGhlIENvZGFtYSBsaWJyYXJ5LlxuICogUGxlYXNlIERPIE5PVCBFRElUIFRISVMgRklMRSwgaW5zdGVhZCB1c2UgdmlzaXRvcnNcbiAqIHRvIGFkZCBmZWF0dXJlcywgdGhlbiByZXJ1biBDb2RhbWEgdG8gdXBkYXRlIGl0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NvZGFtYS1pZGwvY29kYW1hXG4gKi9cblxuaW1wb3J0IHsgY29tYmluZUNvZGVjLCBmaXhEZWNvZGVyU2l6ZSwgZml4RW5jb2RlclNpemUsIGdldEFkZHJlc3NFbmNvZGVyLCBnZXRCeXRlc0RlY29kZXIsIGdldEJ5dGVzRW5jb2RlciwgZ2V0UHJvZ3JhbURlcml2ZWRBZGRyZXNzLCBnZXRTdHJ1Y3REZWNvZGVyLCBnZXRTdHJ1Y3RFbmNvZGVyLCBTT0xBTkFfRVJST1JfX1BST0dSQU1fQ0xJRU5UU19fSU5TVUZGSUNJRU5UX0FDQ09VTlRfTUVUQVMsIFNvbGFuYUVycm9yLCB0cmFuc2Zvcm1FbmNvZGVyLCB0eXBlIEFjY291bnRNZXRhLCB0eXBlIEFjY291bnRTaWduZXJNZXRhLCB0eXBlIEFkZHJlc3MsIHR5cGUgRml4ZWRTaXplQ29kZWMsIHR5cGUgRml4ZWRTaXplRGVjb2RlciwgdHlwZSBGaXhlZFNpemVFbmNvZGVyLCB0eXBlIEluc3RydWN0aW9uLCB0eXBlIEluc3RydWN0aW9uV2l0aEFjY291bnRzLCB0eXBlIEluc3RydWN0aW9uV2l0aERhdGEsIHR5cGUgUmVhZG9ubHlBY2NvdW50LCB0eXBlIFJlYWRvbmx5U2lnbmVyQWNjb3VudCwgdHlwZSBSZWFkb25seVVpbnQ4QXJyYXksIHR5cGUgVHJhbnNhY3Rpb25TaWduZXIsIHR5cGUgV3JpdGFibGVBY2NvdW50IH0gZnJvbSAnQHNvbGFuYS9raXQnO1xuaW1wb3J0IHsgZ2V0QWNjb3VudE1ldGFGYWN0b3J5LCBnZXRBZGRyZXNzRnJvbVJlc29sdmVkSW5zdHJ1Y3Rpb25BY2NvdW50LCB0eXBlIFJlc29sdmVkSW5zdHJ1Y3Rpb25BY2NvdW50IH0gZnJvbSAnQHNvbGFuYS9wcm9ncmFtLWNsaWVudC1jb3JlJztcbmltcG9ydCB7IERVRUxfUFJPR1JBTV9BRERSRVNTIH0gZnJvbSAnLi4vcHJvZ3JhbXMnO1xuXG5leHBvcnQgY29uc3QgSk9JTl9RVUVVRV9ESVNDUklNSU5BVE9SID0gbmV3IFVpbnQ4QXJyYXkoWzE1NywgMTE1LCA0OCwgMTA5LCA2NSwgODYsIDIwMywgMjM4XSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKb2luUXVldWVEaXNjcmltaW5hdG9yQnl0ZXMoKSB7IHJldHVybiBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCkuZW5jb2RlKEpPSU5fUVVFVUVfRElTQ1JJTUlOQVRPUik7IH1cblxuZXhwb3J0IHR5cGUgSm9pblF1ZXVlSW5zdHJ1Y3Rpb248VFByb2dyYW0gZXh0ZW5kcyBzdHJpbmcgPSB0eXBlb2YgRFVFTF9QUk9HUkFNX0FERFJFU1MsIFRBY2NvdW50UXVldWUgZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gc3RyaW5nLCBUQWNjb3VudFRlbmFudCBleHRlbmRzIHN0cmluZyB8IEFjY291bnRNZXRhPHN0cmluZz4gPSBzdHJpbmcsIFRBY2NvdW50UGxheWVyRGF0YSBleHRlbmRzIHN0cmluZyB8IEFjY291bnRNZXRhPHN0cmluZz4gPSBzdHJpbmcsIFRBY2NvdW50UGxheWVyVGlja2V0IGV4dGVuZHMgc3RyaW5nIHwgQWNjb3VudE1ldGE8c3RyaW5nPiA9IHN0cmluZywgVEFjY291bnRTaWduZXIgZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gc3RyaW5nLCBUUmVtYWluaW5nQWNjb3VudHMgZXh0ZW5kcyByZWFkb25seSBBY2NvdW50TWV0YTxzdHJpbmc+W10gPSBbXT4gPVxuSW5zdHJ1Y3Rpb248VFByb2dyYW0+ICYgSW5zdHJ1Y3Rpb25XaXRoRGF0YTxSZWFkb25seVVpbnQ4QXJyYXk+ICYgSW5zdHJ1Y3Rpb25XaXRoQWNjb3VudHM8W1RBY2NvdW50UXVldWUgZXh0ZW5kcyBzdHJpbmcgPyBXcml0YWJsZUFjY291bnQ8VEFjY291bnRRdWV1ZT4gOiBUQWNjb3VudFF1ZXVlLCBUQWNjb3VudFRlbmFudCBleHRlbmRzIHN0cmluZyA/IFJlYWRvbmx5QWNjb3VudDxUQWNjb3VudFRlbmFudD4gOiBUQWNjb3VudFRlbmFudCwgVEFjY291bnRQbGF5ZXJEYXRhIGV4dGVuZHMgc3RyaW5nID8gV3JpdGFibGVBY2NvdW50PFRBY2NvdW50UGxheWVyRGF0YT4gOiBUQWNjb3VudFBsYXllckRhdGEsIFRBY2NvdW50UGxheWVyVGlja2V0IGV4dGVuZHMgc3RyaW5nID8gV3JpdGFibGVBY2NvdW50PFRBY2NvdW50UGxheWVyVGlja2V0PiA6IFRBY2NvdW50UGxheWVyVGlja2V0LCBUQWNjb3VudFNpZ25lciBleHRlbmRzIHN0cmluZyA/IFJlYWRvbmx5U2lnbmVyQWNjb3VudDxUQWNjb3VudFNpZ25lcj4gJiBBY2NvdW50U2lnbmVyTWV0YTxUQWNjb3VudFNpZ25lcj4gOiBUQWNjb3VudFNpZ25lciwgLi4uVFJlbWFpbmluZ0FjY291bnRzXT47XG5cbmV4cG9ydCB0eXBlIEpvaW5RdWV1ZUluc3RydWN0aW9uRGF0YSA9IHsgZGlzY3JpbWluYXRvcjogUmVhZG9ubHlVaW50OEFycmF5OyAgfTtcblxuZXhwb3J0IHR5cGUgSm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhQXJncyA9IHsgIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKb2luUXVldWVJbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCk6IEZpeGVkU2l6ZUVuY29kZXI8Sm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhQXJncz4ge1xuICAgIHJldHVybiB0cmFuc2Zvcm1FbmNvZGVyKGdldFN0cnVjdEVuY29kZXIoW1snZGlzY3JpbWluYXRvcicsIGZpeEVuY29kZXJTaXplKGdldEJ5dGVzRW5jb2RlcigpLCA4KV1dKSwgKHZhbHVlKSA9PiAoeyAuLi52YWx1ZSwgZGlzY3JpbWluYXRvcjogSk9JTl9RVUVVRV9ESVNDUklNSU5BVE9SIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEpvaW5RdWV1ZUluc3RydWN0aW9uRGF0YURlY29kZXIoKTogRml4ZWRTaXplRGVjb2RlcjxKb2luUXVldWVJbnN0cnVjdGlvbkRhdGE+IHtcbiAgICByZXR1cm4gZ2V0U3RydWN0RGVjb2RlcihbWydkaXNjcmltaW5hdG9yJywgZml4RGVjb2RlclNpemUoZ2V0Qnl0ZXNEZWNvZGVyKCksIDgpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Sm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhQ29kZWMoKTogRml4ZWRTaXplQ29kZWM8Sm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhQXJncywgSm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVDb2RlYyhnZXRKb2luUXVldWVJbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCksIGdldEpvaW5RdWV1ZUluc3RydWN0aW9uRGF0YURlY29kZXIoKSk7XG59XG5cbmV4cG9ydCB0eXBlIEpvaW5RdWV1ZUFzeW5jSW5wdXQ8VEFjY291bnRRdWV1ZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRUZW5hbnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50UGxheWVyRGF0YSBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRQbGF5ZXJUaWNrZXQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50U2lnbmVyIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9ICB7XG4gIHF1ZXVlOiBBZGRyZXNzPFRBY2NvdW50UXVldWU+O1xudGVuYW50OiBBZGRyZXNzPFRBY2NvdW50VGVuYW50PjtcbnBsYXllckRhdGE6IEFkZHJlc3M8VEFjY291bnRQbGF5ZXJEYXRhPjtcbnBsYXllclRpY2tldD86IEFkZHJlc3M8VEFjY291bnRQbGF5ZXJUaWNrZXQ+O1xuc2lnbmVyOiBUcmFuc2FjdGlvblNpZ25lcjxUQWNjb3VudFNpZ25lcj47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRKb2luUXVldWVJbnN0cnVjdGlvbkFzeW5jPFRBY2NvdW50UXVldWUgZXh0ZW5kcyBzdHJpbmcsIFRBY2NvdW50VGVuYW50IGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudFBsYXllckRhdGEgZXh0ZW5kcyBzdHJpbmcsIFRBY2NvdW50UGxheWVyVGlja2V0IGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudFNpZ25lciBleHRlbmRzIHN0cmluZywgVFByb2dyYW1BZGRyZXNzIGV4dGVuZHMgQWRkcmVzcyA9IHR5cGVvZiBEVUVMX1BST0dSQU1fQUREUkVTUz4oaW5wdXQ6IEpvaW5RdWV1ZUFzeW5jSW5wdXQ8VEFjY291bnRRdWV1ZSwgVEFjY291bnRUZW5hbnQsIFRBY2NvdW50UGxheWVyRGF0YSwgVEFjY291bnRQbGF5ZXJUaWNrZXQsIFRBY2NvdW50U2lnbmVyPiwgY29uZmlnPzogeyBwcm9ncmFtQWRkcmVzcz86IFRQcm9ncmFtQWRkcmVzcyB9ICk6IFByb21pc2U8Sm9pblF1ZXVlSW5zdHJ1Y3Rpb248VFByb2dyYW1BZGRyZXNzLCBUQWNjb3VudFF1ZXVlLCBUQWNjb3VudFRlbmFudCwgVEFjY291bnRQbGF5ZXJEYXRhLCBUQWNjb3VudFBsYXllclRpY2tldCwgVEFjY291bnRTaWduZXI+PiB7XG4gIC8vIFByb2dyYW0gYWRkcmVzcy5cbmNvbnN0IHByb2dyYW1BZGRyZXNzID0gY29uZmlnPy5wcm9ncmFtQWRkcmVzcyA/PyBEVUVMX1BST0dSQU1fQUREUkVTUztcblxuIC8vIE9yaWdpbmFsIGFjY291bnRzLlxuY29uc3Qgb3JpZ2luYWxBY2NvdW50cyA9IHsgcXVldWU6IHsgdmFsdWU6IGlucHV0LnF1ZXVlID8/IG51bGwsIGlzV3JpdGFibGU6IHRydWUgfSwgdGVuYW50OiB7IHZhbHVlOiBpbnB1dC50ZW5hbnQgPz8gbnVsbCwgaXNXcml0YWJsZTogZmFsc2UgfSwgcGxheWVyRGF0YTogeyB2YWx1ZTogaW5wdXQucGxheWVyRGF0YSA/PyBudWxsLCBpc1dyaXRhYmxlOiB0cnVlIH0sIHBsYXllclRpY2tldDogeyB2YWx1ZTogaW5wdXQucGxheWVyVGlja2V0ID8/IG51bGwsIGlzV3JpdGFibGU6IHRydWUgfSwgc2lnbmVyOiB7IHZhbHVlOiBpbnB1dC5zaWduZXIgPz8gbnVsbCwgaXNXcml0YWJsZTogZmFsc2UgfSB9XG5jb25zdCBhY2NvdW50cyA9IG9yaWdpbmFsQWNjb3VudHMgYXMgUmVjb3JkPGtleW9mIHR5cGVvZiBvcmlnaW5hbEFjY291bnRzLCBSZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudD47XG5cblxuLy8gUmVzb2x2ZSBkZWZhdWx0IHZhbHVlcy5cbmlmICghYWNjb3VudHMucGxheWVyVGlja2V0LnZhbHVlKSB7XG5hY2NvdW50cy5wbGF5ZXJUaWNrZXQudmFsdWUgPSBhd2FpdCBnZXRQcm9ncmFtRGVyaXZlZEFkZHJlc3MoeyBwcm9ncmFtQWRkcmVzcywgc2VlZHM6IFtnZXRCeXRlc0VuY29kZXIoKS5lbmNvZGUobmV3IFVpbnQ4QXJyYXkoWzExNiwgMTA1LCA5OSwgMTA3LCAxMDEsIDExNl0pKSwgZ2V0QWRkcmVzc0VuY29kZXIoKS5lbmNvZGUoZ2V0QWRkcmVzc0Zyb21SZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudChcInNpZ25lclwiLCBhY2NvdW50cy5zaWduZXIudmFsdWUpKSwgZ2V0QWRkcmVzc0VuY29kZXIoKS5lbmNvZGUoZ2V0QWRkcmVzc0Zyb21SZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudChcInRlbmFudFwiLCBhY2NvdW50cy50ZW5hbnQudmFsdWUpKV0gfSk7XG59XG5cbmNvbnN0IGdldEFjY291bnRNZXRhID0gZ2V0QWNjb3VudE1ldGFGYWN0b3J5KHByb2dyYW1BZGRyZXNzLCAncHJvZ3JhbUlkJyk7XG5yZXR1cm4gT2JqZWN0LmZyZWV6ZSh7IGFjY291bnRzOiBbZ2V0QWNjb3VudE1ldGEoXCJxdWV1ZVwiLCBhY2NvdW50cy5xdWV1ZSksIGdldEFjY291bnRNZXRhKFwidGVuYW50XCIsIGFjY291bnRzLnRlbmFudCksIGdldEFjY291bnRNZXRhKFwicGxheWVyRGF0YVwiLCBhY2NvdW50cy5wbGF5ZXJEYXRhKSwgZ2V0QWNjb3VudE1ldGEoXCJwbGF5ZXJUaWNrZXRcIiwgYWNjb3VudHMucGxheWVyVGlja2V0KSwgZ2V0QWNjb3VudE1ldGEoXCJzaWduZXJcIiwgYWNjb3VudHMuc2lnbmVyKV0sIGRhdGE6IGdldEpvaW5RdWV1ZUluc3RydWN0aW9uRGF0YUVuY29kZXIoKS5lbmNvZGUoe30pLCBwcm9ncmFtQWRkcmVzcyB9IGFzIEpvaW5RdWV1ZUluc3RydWN0aW9uPFRQcm9ncmFtQWRkcmVzcywgVEFjY291bnRRdWV1ZSwgVEFjY291bnRUZW5hbnQsIFRBY2NvdW50UGxheWVyRGF0YSwgVEFjY291bnRQbGF5ZXJUaWNrZXQsIFRBY2NvdW50U2lnbmVyPik7XG59XG5cbmV4cG9ydCB0eXBlIEpvaW5RdWV1ZUlucHV0PFRBY2NvdW50UXVldWUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50VGVuYW50IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLCBUQWNjb3VudFBsYXllckRhdGEgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsIFRBY2NvdW50UGxheWVyVGlja2V0IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLCBUQWNjb3VudFNpZ25lciBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSAge1xuICBxdWV1ZTogQWRkcmVzczxUQWNjb3VudFF1ZXVlPjtcbnRlbmFudDogQWRkcmVzczxUQWNjb3VudFRlbmFudD47XG5wbGF5ZXJEYXRhOiBBZGRyZXNzPFRBY2NvdW50UGxheWVyRGF0YT47XG5wbGF5ZXJUaWNrZXQ6IEFkZHJlc3M8VEFjY291bnRQbGF5ZXJUaWNrZXQ+O1xuc2lnbmVyOiBUcmFuc2FjdGlvblNpZ25lcjxUQWNjb3VudFNpZ25lcj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRKb2luUXVldWVJbnN0cnVjdGlvbjxUQWNjb3VudFF1ZXVlIGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudFRlbmFudCBleHRlbmRzIHN0cmluZywgVEFjY291bnRQbGF5ZXJEYXRhIGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudFBsYXllclRpY2tldCBleHRlbmRzIHN0cmluZywgVEFjY291bnRTaWduZXIgZXh0ZW5kcyBzdHJpbmcsIFRQcm9ncmFtQWRkcmVzcyBleHRlbmRzIEFkZHJlc3MgPSB0eXBlb2YgRFVFTF9QUk9HUkFNX0FERFJFU1M+KGlucHV0OiBKb2luUXVldWVJbnB1dDxUQWNjb3VudFF1ZXVlLCBUQWNjb3VudFRlbmFudCwgVEFjY291bnRQbGF5ZXJEYXRhLCBUQWNjb3VudFBsYXllclRpY2tldCwgVEFjY291bnRTaWduZXI+LCBjb25maWc/OiB7IHByb2dyYW1BZGRyZXNzPzogVFByb2dyYW1BZGRyZXNzIH0gKTogSm9pblF1ZXVlSW5zdHJ1Y3Rpb248VFByb2dyYW1BZGRyZXNzLCBUQWNjb3VudFF1ZXVlLCBUQWNjb3VudFRlbmFudCwgVEFjY291bnRQbGF5ZXJEYXRhLCBUQWNjb3VudFBsYXllclRpY2tldCwgVEFjY291bnRTaWduZXI+IHtcbiAgLy8gUHJvZ3JhbSBhZGRyZXNzLlxuY29uc3QgcHJvZ3JhbUFkZHJlc3MgPSBjb25maWc/LnByb2dyYW1BZGRyZXNzID8/IERVRUxfUFJPR1JBTV9BRERSRVNTO1xuXG4gLy8gT3JpZ2luYWwgYWNjb3VudHMuXG5jb25zdCBvcmlnaW5hbEFjY291bnRzID0geyBxdWV1ZTogeyB2YWx1ZTogaW5wdXQucXVldWUgPz8gbnVsbCwgaXNXcml0YWJsZTogdHJ1ZSB9LCB0ZW5hbnQ6IHsgdmFsdWU6IGlucHV0LnRlbmFudCA/PyBudWxsLCBpc1dyaXRhYmxlOiBmYWxzZSB9LCBwbGF5ZXJEYXRhOiB7IHZhbHVlOiBpbnB1dC5wbGF5ZXJEYXRhID8/IG51bGwsIGlzV3JpdGFibGU6IHRydWUgfSwgcGxheWVyVGlja2V0OiB7IHZhbHVlOiBpbnB1dC5wbGF5ZXJUaWNrZXQgPz8gbnVsbCwgaXNXcml0YWJsZTogdHJ1ZSB9LCBzaWduZXI6IHsgdmFsdWU6IGlucHV0LnNpZ25lciA/PyBudWxsLCBpc1dyaXRhYmxlOiBmYWxzZSB9IH1cbmNvbnN0IGFjY291bnRzID0gb3JpZ2luYWxBY2NvdW50cyBhcyBSZWNvcmQ8a2V5b2YgdHlwZW9mIG9yaWdpbmFsQWNjb3VudHMsIFJlc29sdmVkSW5zdHJ1Y3Rpb25BY2NvdW50PjtcblxuXG5cblxuY29uc3QgZ2V0QWNjb3VudE1ldGEgPSBnZXRBY2NvdW50TWV0YUZhY3RvcnkocHJvZ3JhbUFkZHJlc3MsICdwcm9ncmFtSWQnKTtcbnJldHVybiBPYmplY3QuZnJlZXplKHsgYWNjb3VudHM6IFtnZXRBY2NvdW50TWV0YShcInF1ZXVlXCIsIGFjY291bnRzLnF1ZXVlKSwgZ2V0QWNjb3VudE1ldGEoXCJ0ZW5hbnRcIiwgYWNjb3VudHMudGVuYW50KSwgZ2V0QWNjb3VudE1ldGEoXCJwbGF5ZXJEYXRhXCIsIGFjY291bnRzLnBsYXllckRhdGEpLCBnZXRBY2NvdW50TWV0YShcInBsYXllclRpY2tldFwiLCBhY2NvdW50cy5wbGF5ZXJUaWNrZXQpLCBnZXRBY2NvdW50TWV0YShcInNpZ25lclwiLCBhY2NvdW50cy5zaWduZXIpXSwgZGF0YTogZ2V0Sm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhRW5jb2RlcigpLmVuY29kZSh7fSksIHByb2dyYW1BZGRyZXNzIH0gYXMgSm9pblF1ZXVlSW5zdHJ1Y3Rpb248VFByb2dyYW1BZGRyZXNzLCBUQWNjb3VudFF1ZXVlLCBUQWNjb3VudFRlbmFudCwgVEFjY291bnRQbGF5ZXJEYXRhLCBUQWNjb3VudFBsYXllclRpY2tldCwgVEFjY291bnRTaWduZXI+KTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkSm9pblF1ZXVlSW5zdHJ1Y3Rpb248VFByb2dyYW0gZXh0ZW5kcyBzdHJpbmcgPSB0eXBlb2YgRFVFTF9QUk9HUkFNX0FERFJFU1MsIFRBY2NvdW50TWV0YXMgZXh0ZW5kcyByZWFkb25seSBBY2NvdW50TWV0YVtdID0gcmVhZG9ubHkgQWNjb3VudE1ldGFbXT4gPSB7IHByb2dyYW1BZGRyZXNzOiBBZGRyZXNzPFRQcm9ncmFtPjtcbmFjY291bnRzOiB7XG5xdWV1ZTogVEFjY291bnRNZXRhc1swXTtcbnRlbmFudDogVEFjY291bnRNZXRhc1sxXTtcbnBsYXllckRhdGE6IFRBY2NvdW50TWV0YXNbMl07XG5wbGF5ZXJUaWNrZXQ6IFRBY2NvdW50TWV0YXNbM107XG5zaWduZXI6IFRBY2NvdW50TWV0YXNbNF07XG59O1xuZGF0YTogSm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhOyB9O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VKb2luUXVldWVJbnN0cnVjdGlvbjxUUHJvZ3JhbSBleHRlbmRzIHN0cmluZywgVEFjY291bnRNZXRhcyBleHRlbmRzIHJlYWRvbmx5IEFjY291bnRNZXRhW10+KGluc3RydWN0aW9uOiBJbnN0cnVjdGlvbjxUUHJvZ3JhbT4gJiBJbnN0cnVjdGlvbldpdGhBY2NvdW50czxUQWNjb3VudE1ldGFzPiAmIEluc3RydWN0aW9uV2l0aERhdGE8UmVhZG9ubHlVaW50OEFycmF5Pik6IFBhcnNlZEpvaW5RdWV1ZUluc3RydWN0aW9uPFRQcm9ncmFtLCBUQWNjb3VudE1ldGFzPiB7XG4gIGlmIChpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGggPCA1KSB7XG4gIHRocm93IG5ldyBTb2xhbmFFcnJvcihTT0xBTkFfRVJST1JfX1BST0dSQU1fQ0xJRU5UU19fSU5TVUZGSUNJRU5UX0FDQ09VTlRfTUVUQVMsIHsgYWN0dWFsQWNjb3VudE1ldGFzOiBpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGgsIGV4cGVjdGVkQWNjb3VudE1ldGFzOiA1IH0pO1xufVxubGV0IGFjY291bnRJbmRleCA9IDA7XG5jb25zdCBnZXROZXh0QWNjb3VudCA9ICgpID0+IHtcbiAgY29uc3QgYWNjb3VudE1ldGEgPSAoaW5zdHJ1Y3Rpb24uYWNjb3VudHMgYXMgVEFjY291bnRNZXRhcylbYWNjb3VudEluZGV4XSE7XG4gIGFjY291bnRJbmRleCArPSAxO1xuICByZXR1cm4gYWNjb3VudE1ldGE7XG59XG4gIHJldHVybiB7IHByb2dyYW1BZGRyZXNzOiBpbnN0cnVjdGlvbi5wcm9ncmFtQWRkcmVzcywgYWNjb3VudHM6IHsgcXVldWU6IGdldE5leHRBY2NvdW50KCksIHRlbmFudDogZ2V0TmV4dEFjY291bnQoKSwgcGxheWVyRGF0YTogZ2V0TmV4dEFjY291bnQoKSwgcGxheWVyVGlja2V0OiBnZXROZXh0QWNjb3VudCgpLCBzaWduZXI6IGdldE5leHRBY2NvdW50KCkgfSwgZGF0YTogZ2V0Sm9pblF1ZXVlSW5zdHJ1Y3Rpb25EYXRhRGVjb2RlcigpLmRlY29kZShpbnN0cnVjdGlvbi5kYXRhKSB9O1xufSJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { type AccountMeta, type Address, type Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type WritableAccount } from '@solana/kit';
|
|
9
|
+
import { DUEL_PROGRAM_ADDRESS } from '../programs';
|
|
10
|
+
export declare const PROCESS_UNDELEGATION_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
11
|
+
export declare function getProcessUndelegationDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
|
|
12
|
+
export type ProcessUndelegationInstruction<TProgram extends string = typeof DUEL_PROGRAM_ADDRESS, TAccountBaseAccount extends string | AccountMeta<string> = string, TAccountBuffer extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountBaseAccount extends string ? WritableAccount<TAccountBaseAccount> : TAccountBaseAccount, TAccountBuffer extends string ? ReadonlyAccount<TAccountBuffer> : TAccountBuffer, TAccountPayer extends string ? WritableAccount<TAccountPayer> : TAccountPayer, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, ...TRemainingAccounts]>;
|
|
13
|
+
export type ProcessUndelegationInstructionData = {
|
|
14
|
+
discriminator: ReadonlyUint8Array;
|
|
15
|
+
accountSeeds: Array<ReadonlyUint8Array>;
|
|
16
|
+
};
|
|
17
|
+
export type ProcessUndelegationInstructionDataArgs = {
|
|
18
|
+
accountSeeds: Array<ReadonlyUint8Array>;
|
|
19
|
+
};
|
|
20
|
+
export declare function getProcessUndelegationInstructionDataEncoder(): Encoder<ProcessUndelegationInstructionDataArgs>;
|
|
21
|
+
export declare function getProcessUndelegationInstructionDataDecoder(): Decoder<ProcessUndelegationInstructionData>;
|
|
22
|
+
export declare function getProcessUndelegationInstructionDataCodec(): Codec<ProcessUndelegationInstructionDataArgs, ProcessUndelegationInstructionData>;
|
|
23
|
+
export type ProcessUndelegationInput<TAccountBaseAccount extends string = string, TAccountBuffer extends string = string, TAccountPayer extends string = string, TAccountSystemProgram extends string = string> = {
|
|
24
|
+
baseAccount: Address<TAccountBaseAccount>;
|
|
25
|
+
buffer: Address<TAccountBuffer>;
|
|
26
|
+
payer: Address<TAccountPayer>;
|
|
27
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
28
|
+
accountSeeds: ProcessUndelegationInstructionDataArgs["accountSeeds"];
|
|
29
|
+
};
|
|
30
|
+
export declare function getProcessUndelegationInstruction<TAccountBaseAccount extends string, TAccountBuffer extends string, TAccountPayer extends string, TAccountSystemProgram extends string, TProgramAddress extends Address = typeof DUEL_PROGRAM_ADDRESS>(input: ProcessUndelegationInput<TAccountBaseAccount, TAccountBuffer, TAccountPayer, TAccountSystemProgram>, config?: {
|
|
31
|
+
programAddress?: TProgramAddress;
|
|
32
|
+
}): ProcessUndelegationInstruction<TProgramAddress, TAccountBaseAccount, TAccountBuffer, TAccountPayer, TAccountSystemProgram>;
|
|
33
|
+
export type ParsedProcessUndelegationInstruction<TProgram extends string = typeof DUEL_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
34
|
+
programAddress: Address<TProgram>;
|
|
35
|
+
accounts: {
|
|
36
|
+
baseAccount: TAccountMetas[0];
|
|
37
|
+
buffer: TAccountMetas[1];
|
|
38
|
+
payer: TAccountMetas[2];
|
|
39
|
+
systemProgram: TAccountMetas[3];
|
|
40
|
+
};
|
|
41
|
+
data: ProcessUndelegationInstructionData;
|
|
42
|
+
};
|
|
43
|
+
export declare function parseProcessUndelegationInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedProcessUndelegationInstruction<TProgram, TAccountMetas>;
|
|
@@ -0,0 +1,49 @@
|
|
|
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 { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder } from '@solana/kit';
|
|
9
|
+
import { getAccountMetaFactory } from '@solana/program-client-core';
|
|
10
|
+
import { DUEL_PROGRAM_ADDRESS } from '../programs';
|
|
11
|
+
export const PROCESS_UNDELEGATION_DISCRIMINATOR = new Uint8Array([196, 28, 41, 206, 48, 37, 51, 167]);
|
|
12
|
+
export function getProcessUndelegationDiscriminatorBytes() { return fixEncoderSize(getBytesEncoder(), 8).encode(PROCESS_UNDELEGATION_DISCRIMINATOR); }
|
|
13
|
+
export function getProcessUndelegationInstructionDataEncoder() {
|
|
14
|
+
return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)], ['accountSeeds', getArrayEncoder(addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()))]]), (value) => ({ ...value, discriminator: PROCESS_UNDELEGATION_DISCRIMINATOR }));
|
|
15
|
+
}
|
|
16
|
+
export function getProcessUndelegationInstructionDataDecoder() {
|
|
17
|
+
return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)], ['accountSeeds', getArrayDecoder(addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()))]]);
|
|
18
|
+
}
|
|
19
|
+
export function getProcessUndelegationInstructionDataCodec() {
|
|
20
|
+
return combineCodec(getProcessUndelegationInstructionDataEncoder(), getProcessUndelegationInstructionDataDecoder());
|
|
21
|
+
}
|
|
22
|
+
export function getProcessUndelegationInstruction(input, config) {
|
|
23
|
+
// Program address.
|
|
24
|
+
const programAddress = config?.programAddress ?? DUEL_PROGRAM_ADDRESS;
|
|
25
|
+
// Original accounts.
|
|
26
|
+
const originalAccounts = { baseAccount: { value: input.baseAccount ?? null, isWritable: true }, buffer: { value: input.buffer ?? null, isWritable: false }, payer: { value: input.payer ?? null, isWritable: true }, systemProgram: { value: input.systemProgram ?? null, isWritable: false } };
|
|
27
|
+
const accounts = originalAccounts;
|
|
28
|
+
// Original args.
|
|
29
|
+
const args = { ...input, };
|
|
30
|
+
// Resolve default values.
|
|
31
|
+
if (!accounts.systemProgram.value) {
|
|
32
|
+
accounts.systemProgram.value = '11111111111111111111111111111111';
|
|
33
|
+
}
|
|
34
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
35
|
+
return Object.freeze({ accounts: [getAccountMeta("baseAccount", accounts.baseAccount), getAccountMeta("buffer", accounts.buffer), getAccountMeta("payer", accounts.payer), getAccountMeta("systemProgram", accounts.systemProgram)], data: getProcessUndelegationInstructionDataEncoder().encode(args), programAddress });
|
|
36
|
+
}
|
|
37
|
+
export function parseProcessUndelegationInstruction(instruction) {
|
|
38
|
+
if (instruction.accounts.length < 4) {
|
|
39
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, { actualAccountMetas: instruction.accounts.length, expectedAccountMetas: 4 });
|
|
40
|
+
}
|
|
41
|
+
let accountIndex = 0;
|
|
42
|
+
const getNextAccount = () => {
|
|
43
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
44
|
+
accountIndex += 1;
|
|
45
|
+
return accountMeta;
|
|
46
|
+
};
|
|
47
|
+
return { programAddress: instruction.programAddress, accounts: { baseAccount: getNextAccount(), buffer: getNextAccount(), payer: getNextAccount(), systemProgram: getNextAccount() }, data: getProcessUndelegationInstructionDataDecoder().decode(instruction.data) };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc1VuZGVsZWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvZHVlbC9pbnN0cnVjdGlvbnMvcHJvY2Vzc1VuZGVsZWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUseURBQXlELEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUF5TixNQUFNLGFBQWEsQ0FBQztBQUM5aUIsT0FBTyxFQUFFLHFCQUFxQixFQUFtQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXRHLE1BQU0sVUFBVSx3Q0FBd0MsS0FBSyxPQUFPLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFTdEosTUFBTSxVQUFVLDRDQUE0QztJQUN4RCxPQUFPLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwUixDQUFDO0FBRUQsTUFBTSxVQUFVLDRDQUE0QztJQUN4RCxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwTCxDQUFDO0FBRUQsTUFBTSxVQUFVLDBDQUEwQztJQUN0RCxPQUFPLFlBQVksQ0FBQyw0Q0FBNEMsRUFBRSxFQUFFLDRDQUE0QyxFQUFFLENBQUMsQ0FBQztBQUN4SCxDQUFDO0FBVUQsTUFBTSxVQUFVLGlDQUFpQyxDQUF1TSxLQUEwRyxFQUFFLE1BQTZDO0lBQy9ZLG1CQUFtQjtJQUNyQixNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsY0FBYyxJQUFJLG9CQUFvQixDQUFDO0lBRXJFLHFCQUFxQjtJQUN0QixNQUFNLGdCQUFnQixHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFBO0lBQy9SLE1BQU0sUUFBUSxHQUFHLGdCQUFxRixDQUFDO0lBR3ZHLGlCQUFpQjtJQUNqQixNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFJLENBQUM7SUFHNUIsMEJBQTBCO0lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGtDQUFpRixDQUFDO0lBQ2pILENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsNENBQTRDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBOEMsQ0FBQyxFQUFFLGNBQWMsRUFBZ0ksQ0FBQyxDQUFDO0FBQ2xlLENBQUM7QUFXRCxNQUFNLFVBQVUsbUNBQW1DLENBQXdFLFdBQXFIO0lBQzlPLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLFdBQVcsQ0FBQyx5REFBeUQsRUFBRSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakssQ0FBQztJQUNELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7UUFDMUIsTUFBTSxXQUFXLEdBQUksV0FBVyxDQUFDLFFBQTBCLENBQUMsWUFBWSxDQUFFLENBQUM7UUFDM0UsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLENBQUE7SUFDQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLDRDQUE0QyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3hRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY29kZSB3YXMgQVVUT0dFTkVSQVRFRCB1c2luZyB0aGUgQ29kYW1hIGxpYnJhcnkuXG4gKiBQbGVhc2UgRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpbnN0ZWFkIHVzZSB2aXNpdG9yc1xuICogdG8gYWRkIGZlYXR1cmVzLCB0aGVuIHJlcnVuIENvZGFtYSB0byB1cGRhdGUgaXQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kYW1hLWlkbC9jb2RhbWFcbiAqL1xuXG5pbXBvcnQgeyBhZGREZWNvZGVyU2l6ZVByZWZpeCwgYWRkRW5jb2RlclNpemVQcmVmaXgsIGNvbWJpbmVDb2RlYywgZml4RGVjb2RlclNpemUsIGZpeEVuY29kZXJTaXplLCBnZXRBcnJheURlY29kZXIsIGdldEFycmF5RW5jb2RlciwgZ2V0Qnl0ZXNEZWNvZGVyLCBnZXRCeXRlc0VuY29kZXIsIGdldFN0cnVjdERlY29kZXIsIGdldFN0cnVjdEVuY29kZXIsIGdldFUzMkRlY29kZXIsIGdldFUzMkVuY29kZXIsIFNPTEFOQV9FUlJPUl9fUFJPR1JBTV9DTElFTlRTX19JTlNVRkZJQ0lFTlRfQUNDT1VOVF9NRVRBUywgU29sYW5hRXJyb3IsIHRyYW5zZm9ybUVuY29kZXIsIHR5cGUgQWNjb3VudE1ldGEsIHR5cGUgQWRkcmVzcywgdHlwZSBDb2RlYywgdHlwZSBEZWNvZGVyLCB0eXBlIEVuY29kZXIsIHR5cGUgSW5zdHJ1Y3Rpb24sIHR5cGUgSW5zdHJ1Y3Rpb25XaXRoQWNjb3VudHMsIHR5cGUgSW5zdHJ1Y3Rpb25XaXRoRGF0YSwgdHlwZSBSZWFkb25seUFjY291bnQsIHR5cGUgUmVhZG9ubHlVaW50OEFycmF5LCB0eXBlIFdyaXRhYmxlQWNjb3VudCB9IGZyb20gJ0Bzb2xhbmEva2l0JztcbmltcG9ydCB7IGdldEFjY291bnRNZXRhRmFjdG9yeSwgdHlwZSBSZXNvbHZlZEluc3RydWN0aW9uQWNjb3VudCB9IGZyb20gJ0Bzb2xhbmEvcHJvZ3JhbS1jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBEVUVMX1BST0dSQU1fQUREUkVTUyB9IGZyb20gJy4uL3Byb2dyYW1zJztcblxuZXhwb3J0IGNvbnN0IFBST0NFU1NfVU5ERUxFR0FUSU9OX0RJU0NSSU1JTkFUT1IgPSBuZXcgVWludDhBcnJheShbMTk2LCAyOCwgNDEsIDIwNiwgNDgsIDM3LCA1MSwgMTY3XSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9jZXNzVW5kZWxlZ2F0aW9uRGlzY3JpbWluYXRvckJ5dGVzKCkgeyByZXR1cm4gZml4RW5jb2RlclNpemUoZ2V0Qnl0ZXNFbmNvZGVyKCksIDgpLmVuY29kZShQUk9DRVNTX1VOREVMRUdBVElPTl9ESVNDUklNSU5BVE9SKTsgfVxuXG5leHBvcnQgdHlwZSBQcm9jZXNzVW5kZWxlZ2F0aW9uSW5zdHJ1Y3Rpb248VFByb2dyYW0gZXh0ZW5kcyBzdHJpbmcgPSB0eXBlb2YgRFVFTF9QUk9HUkFNX0FERFJFU1MsIFRBY2NvdW50QmFzZUFjY291bnQgZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gc3RyaW5nLCBUQWNjb3VudEJ1ZmZlciBleHRlbmRzIHN0cmluZyB8IEFjY291bnRNZXRhPHN0cmluZz4gPSBzdHJpbmcsIFRBY2NvdW50UGF5ZXIgZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gc3RyaW5nLCBUQWNjb3VudFN5c3RlbVByb2dyYW0gZXh0ZW5kcyBzdHJpbmcgfCBBY2NvdW50TWV0YTxzdHJpbmc+ID0gXCIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVwiLCBUUmVtYWluaW5nQWNjb3VudHMgZXh0ZW5kcyByZWFkb25seSBBY2NvdW50TWV0YTxzdHJpbmc+W10gPSBbXT4gPVxuSW5zdHJ1Y3Rpb248VFByb2dyYW0+ICYgSW5zdHJ1Y3Rpb25XaXRoRGF0YTxSZWFkb25seVVpbnQ4QXJyYXk+ICYgSW5zdHJ1Y3Rpb25XaXRoQWNjb3VudHM8W1RBY2NvdW50QmFzZUFjY291bnQgZXh0ZW5kcyBzdHJpbmcgPyBXcml0YWJsZUFjY291bnQ8VEFjY291bnRCYXNlQWNjb3VudD4gOiBUQWNjb3VudEJhc2VBY2NvdW50LCBUQWNjb3VudEJ1ZmZlciBleHRlbmRzIHN0cmluZyA/IFJlYWRvbmx5QWNjb3VudDxUQWNjb3VudEJ1ZmZlcj4gOiBUQWNjb3VudEJ1ZmZlciwgVEFjY291bnRQYXllciBleHRlbmRzIHN0cmluZyA/IFdyaXRhYmxlQWNjb3VudDxUQWNjb3VudFBheWVyPiA6IFRBY2NvdW50UGF5ZXIsIFRBY2NvdW50U3lzdGVtUHJvZ3JhbSBleHRlbmRzIHN0cmluZyA/IFJlYWRvbmx5QWNjb3VudDxUQWNjb3VudFN5c3RlbVByb2dyYW0+IDogVEFjY291bnRTeXN0ZW1Qcm9ncmFtLCAuLi5UUmVtYWluaW5nQWNjb3VudHNdPjtcblxuZXhwb3J0IHR5cGUgUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YSA9IHsgZGlzY3JpbWluYXRvcjogUmVhZG9ubHlVaW50OEFycmF5OyBhY2NvdW50U2VlZHM6IEFycmF5PFJlYWRvbmx5VWludDhBcnJheT47ICB9O1xuXG5leHBvcnQgdHlwZSBQcm9jZXNzVW5kZWxlZ2F0aW9uSW5zdHJ1Y3Rpb25EYXRhQXJncyA9IHsgYWNjb3VudFNlZWRzOiBBcnJheTxSZWFkb25seVVpbnQ4QXJyYXk+OyAgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2Nlc3NVbmRlbGVnYXRpb25JbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCk6IEVuY29kZXI8UHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YUFyZ3M+IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtRW5jb2RlcihnZXRTdHJ1Y3RFbmNvZGVyKFtbJ2Rpc2NyaW1pbmF0b3InLCBmaXhFbmNvZGVyU2l6ZShnZXRCeXRlc0VuY29kZXIoKSwgOCldLCBbJ2FjY291bnRTZWVkcycsIGdldEFycmF5RW5jb2RlcihhZGRFbmNvZGVyU2l6ZVByZWZpeChnZXRCeXRlc0VuY29kZXIoKSwgZ2V0VTMyRW5jb2RlcigpKSldXSksICh2YWx1ZSkgPT4gKHsgLi4udmFsdWUsIGRpc2NyaW1pbmF0b3I6IFBST0NFU1NfVU5ERUxFR0FUSU9OX0RJU0NSSU1JTkFUT1IgfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YURlY29kZXIoKTogRGVjb2RlcjxQcm9jZXNzVW5kZWxlZ2F0aW9uSW5zdHJ1Y3Rpb25EYXRhPiB7XG4gICAgcmV0dXJuIGdldFN0cnVjdERlY29kZXIoW1snZGlzY3JpbWluYXRvcicsIGZpeERlY29kZXJTaXplKGdldEJ5dGVzRGVjb2RlcigpLCA4KV0sIFsnYWNjb3VudFNlZWRzJywgZ2V0QXJyYXlEZWNvZGVyKGFkZERlY29kZXJTaXplUHJlZml4KGdldEJ5dGVzRGVjb2RlcigpLCBnZXRVMzJEZWNvZGVyKCkpKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2Nlc3NVbmRlbGVnYXRpb25JbnN0cnVjdGlvbkRhdGFDb2RlYygpOiBDb2RlYzxQcm9jZXNzVW5kZWxlZ2F0aW9uSW5zdHJ1Y3Rpb25EYXRhQXJncywgUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YT4ge1xuICAgIHJldHVybiBjb21iaW5lQ29kZWMoZ2V0UHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YUVuY29kZXIoKSwgZ2V0UHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YURlY29kZXIoKSk7XG59XG5cbmV4cG9ydCB0eXBlIFByb2Nlc3NVbmRlbGVnYXRpb25JbnB1dDxUQWNjb3VudEJhc2VBY2NvdW50IGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLCBUQWNjb3VudEJ1ZmZlciBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRQYXllciBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgVEFjY291bnRTeXN0ZW1Qcm9ncmFtIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9ICB7XG4gIGJhc2VBY2NvdW50OiBBZGRyZXNzPFRBY2NvdW50QmFzZUFjY291bnQ+O1xuYnVmZmVyOiBBZGRyZXNzPFRBY2NvdW50QnVmZmVyPjtcbnBheWVyOiBBZGRyZXNzPFRBY2NvdW50UGF5ZXI+O1xuc3lzdGVtUHJvZ3JhbT86IEFkZHJlc3M8VEFjY291bnRTeXN0ZW1Qcm9ncmFtPjtcbmFjY291bnRTZWVkczogUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YUFyZ3NbXCJhY2NvdW50U2VlZHNcIl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9jZXNzVW5kZWxlZ2F0aW9uSW5zdHJ1Y3Rpb248VEFjY291bnRCYXNlQWNjb3VudCBleHRlbmRzIHN0cmluZywgVEFjY291bnRCdWZmZXIgZXh0ZW5kcyBzdHJpbmcsIFRBY2NvdW50UGF5ZXIgZXh0ZW5kcyBzdHJpbmcsIFRBY2NvdW50U3lzdGVtUHJvZ3JhbSBleHRlbmRzIHN0cmluZywgVFByb2dyYW1BZGRyZXNzIGV4dGVuZHMgQWRkcmVzcyA9IHR5cGVvZiBEVUVMX1BST0dSQU1fQUREUkVTUz4oaW5wdXQ6IFByb2Nlc3NVbmRlbGVnYXRpb25JbnB1dDxUQWNjb3VudEJhc2VBY2NvdW50LCBUQWNjb3VudEJ1ZmZlciwgVEFjY291bnRQYXllciwgVEFjY291bnRTeXN0ZW1Qcm9ncmFtPiwgY29uZmlnPzogeyBwcm9ncmFtQWRkcmVzcz86IFRQcm9ncmFtQWRkcmVzcyB9ICk6IFByb2Nlc3NVbmRlbGVnYXRpb25JbnN0cnVjdGlvbjxUUHJvZ3JhbUFkZHJlc3MsIFRBY2NvdW50QmFzZUFjY291bnQsIFRBY2NvdW50QnVmZmVyLCBUQWNjb3VudFBheWVyLCBUQWNjb3VudFN5c3RlbVByb2dyYW0+IHtcbiAgLy8gUHJvZ3JhbSBhZGRyZXNzLlxuY29uc3QgcHJvZ3JhbUFkZHJlc3MgPSBjb25maWc/LnByb2dyYW1BZGRyZXNzID8/IERVRUxfUFJPR1JBTV9BRERSRVNTO1xuXG4gLy8gT3JpZ2luYWwgYWNjb3VudHMuXG5jb25zdCBvcmlnaW5hbEFjY291bnRzID0geyBiYXNlQWNjb3VudDogeyB2YWx1ZTogaW5wdXQuYmFzZUFjY291bnQgPz8gbnVsbCwgaXNXcml0YWJsZTogdHJ1ZSB9LCBidWZmZXI6IHsgdmFsdWU6IGlucHV0LmJ1ZmZlciA/PyBudWxsLCBpc1dyaXRhYmxlOiBmYWxzZSB9LCBwYXllcjogeyB2YWx1ZTogaW5wdXQucGF5ZXIgPz8gbnVsbCwgaXNXcml0YWJsZTogdHJ1ZSB9LCBzeXN0ZW1Qcm9ncmFtOiB7IHZhbHVlOiBpbnB1dC5zeXN0ZW1Qcm9ncmFtID8/IG51bGwsIGlzV3JpdGFibGU6IGZhbHNlIH0gfVxuY29uc3QgYWNjb3VudHMgPSBvcmlnaW5hbEFjY291bnRzIGFzIFJlY29yZDxrZXlvZiB0eXBlb2Ygb3JpZ2luYWxBY2NvdW50cywgUmVzb2x2ZWRJbnN0cnVjdGlvbkFjY291bnQ+O1xuXG5cbi8vIE9yaWdpbmFsIGFyZ3MuXG5jb25zdCBhcmdzID0geyAuLi5pbnB1dCwgIH07XG5cblxuLy8gUmVzb2x2ZSBkZWZhdWx0IHZhbHVlcy5cbmlmICghYWNjb3VudHMuc3lzdGVtUHJvZ3JhbS52YWx1ZSkge1xuYWNjb3VudHMuc3lzdGVtUHJvZ3JhbS52YWx1ZSA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScgYXMgQWRkcmVzczwnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnPjtcbn1cblxuY29uc3QgZ2V0QWNjb3VudE1ldGEgPSBnZXRBY2NvdW50TWV0YUZhY3RvcnkocHJvZ3JhbUFkZHJlc3MsICdwcm9ncmFtSWQnKTtcbnJldHVybiBPYmplY3QuZnJlZXplKHsgYWNjb3VudHM6IFtnZXRBY2NvdW50TWV0YShcImJhc2VBY2NvdW50XCIsIGFjY291bnRzLmJhc2VBY2NvdW50KSwgZ2V0QWNjb3VudE1ldGEoXCJidWZmZXJcIiwgYWNjb3VudHMuYnVmZmVyKSwgZ2V0QWNjb3VudE1ldGEoXCJwYXllclwiLCBhY2NvdW50cy5wYXllciksIGdldEFjY291bnRNZXRhKFwic3lzdGVtUHJvZ3JhbVwiLCBhY2NvdW50cy5zeXN0ZW1Qcm9ncmFtKV0sIGRhdGE6IGdldFByb2Nlc3NVbmRlbGVnYXRpb25JbnN0cnVjdGlvbkRhdGFFbmNvZGVyKCkuZW5jb2RlKGFyZ3MgYXMgUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YUFyZ3MpLCBwcm9ncmFtQWRkcmVzcyB9IGFzIFByb2Nlc3NVbmRlbGVnYXRpb25JbnN0cnVjdGlvbjxUUHJvZ3JhbUFkZHJlc3MsIFRBY2NvdW50QmFzZUFjY291bnQsIFRBY2NvdW50QnVmZmVyLCBUQWNjb3VudFBheWVyLCBUQWNjb3VudFN5c3RlbVByb2dyYW0+KTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uPFRQcm9ncmFtIGV4dGVuZHMgc3RyaW5nID0gdHlwZW9mIERVRUxfUFJPR1JBTV9BRERSRVNTLCBUQWNjb3VudE1ldGFzIGV4dGVuZHMgcmVhZG9ubHkgQWNjb3VudE1ldGFbXSA9IHJlYWRvbmx5IEFjY291bnRNZXRhW10+ID0geyBwcm9ncmFtQWRkcmVzczogQWRkcmVzczxUUHJvZ3JhbT47XG5hY2NvdW50czoge1xuYmFzZUFjY291bnQ6IFRBY2NvdW50TWV0YXNbMF07XG5idWZmZXI6IFRBY2NvdW50TWV0YXNbMV07XG5wYXllcjogVEFjY291bnRNZXRhc1syXTtcbnN5c3RlbVByb2dyYW06IFRBY2NvdW50TWV0YXNbM107XG59O1xuZGF0YTogUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YTsgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uPFRQcm9ncmFtIGV4dGVuZHMgc3RyaW5nLCBUQWNjb3VudE1ldGFzIGV4dGVuZHMgcmVhZG9ubHkgQWNjb3VudE1ldGFbXT4oaW5zdHJ1Y3Rpb246IEluc3RydWN0aW9uPFRQcm9ncmFtPiAmIEluc3RydWN0aW9uV2l0aEFjY291bnRzPFRBY2NvdW50TWV0YXM+ICYgSW5zdHJ1Y3Rpb25XaXRoRGF0YTxSZWFkb25seVVpbnQ4QXJyYXk+KTogUGFyc2VkUHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uPFRQcm9ncmFtLCBUQWNjb3VudE1ldGFzPiB7XG4gIGlmIChpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGggPCA0KSB7XG4gIHRocm93IG5ldyBTb2xhbmFFcnJvcihTT0xBTkFfRVJST1JfX1BST0dSQU1fQ0xJRU5UU19fSU5TVUZGSUNJRU5UX0FDQ09VTlRfTUVUQVMsIHsgYWN0dWFsQWNjb3VudE1ldGFzOiBpbnN0cnVjdGlvbi5hY2NvdW50cy5sZW5ndGgsIGV4cGVjdGVkQWNjb3VudE1ldGFzOiA0IH0pO1xufVxubGV0IGFjY291bnRJbmRleCA9IDA7XG5jb25zdCBnZXROZXh0QWNjb3VudCA9ICgpID0+IHtcbiAgY29uc3QgYWNjb3VudE1ldGEgPSAoaW5zdHJ1Y3Rpb24uYWNjb3VudHMgYXMgVEFjY291bnRNZXRhcylbYWNjb3VudEluZGV4XSE7XG4gIGFjY291bnRJbmRleCArPSAxO1xuICByZXR1cm4gYWNjb3VudE1ldGE7XG59XG4gIHJldHVybiB7IHByb2dyYW1BZGRyZXNzOiBpbnN0cnVjdGlvbi5wcm9ncmFtQWRkcmVzcywgYWNjb3VudHM6IHsgYmFzZUFjY291bnQ6IGdldE5leHRBY2NvdW50KCksIGJ1ZmZlcjogZ2V0TmV4dEFjY291bnQoKSwgcGF5ZXI6IGdldE5leHRBY2NvdW50KCksIHN5c3RlbVByb2dyYW06IGdldE5leHRBY2NvdW50KCkgfSwgZGF0YTogZ2V0UHJvY2Vzc1VuZGVsZWdhdGlvbkluc3RydWN0aW9uRGF0YURlY29kZXIoKS5kZWNvZGUoaW5zdHJ1Y3Rpb24uZGF0YSkgfTtcbn0iXX0=
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { type Address, type ClientWithPayer, type ClientWithRpc, type ClientWithTransactionPlanning, type ClientWithTransactionSending, type GetAccountInfoApi, type GetMultipleAccountsApi, type Instruction, type InstructionWithData, type ReadonlyUint8Array } from '@solana/kit';
|
|
9
|
+
import { type SelfFetchFunctions, type SelfPlanAndSendFunctions } from '@solana/program-client-core';
|
|
10
|
+
import { getMatchTicketCodec, getQueueCodec, getTenantCodec, type MatchTicket, type MatchTicketArgs, type Queue, type QueueArgs, type Tenant, type TenantArgs } from '../accounts';
|
|
11
|
+
import { getCancelTicketInstructionAsync, getCloseTicketInstructionAsync, getCommitTicketsInstruction, getCreateTicketInstructionAsync, getDelegateQueueInstructionAsync, getDelegateTicketInstructionAsync, getFlushMatchesInstruction, getInitializeQueueInstructionAsync, getInitializeTenantInstructionAsync, getJoinQueueInstructionAsync, getProcessUndelegationInstruction, type CancelTicketAsyncInput, type CloseTicketAsyncInput, type CommitTicketsInput, type CreateTicketAsyncInput, type DelegateQueueAsyncInput, type DelegateTicketAsyncInput, type FlushMatchesInput, type InitializeQueueAsyncInput, type InitializeTenantAsyncInput, type JoinQueueAsyncInput, type ParsedCancelTicketInstruction, type ParsedCloseTicketInstruction, type ParsedCommitTicketsInstruction, type ParsedCreateTicketInstruction, type ParsedDelegateQueueInstruction, type ParsedDelegateTicketInstruction, type ParsedFlushMatchesInstruction, type ParsedInitializeQueueInstruction, type ParsedInitializeTenantInstruction, type ParsedJoinQueueInstruction, type ParsedProcessUndelegationInstruction, type ProcessUndelegationInput } from '../instructions';
|
|
12
|
+
export declare const DUEL_PROGRAM_ADDRESS: Address<"EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X">;
|
|
13
|
+
export declare enum DuelAccount {
|
|
14
|
+
MatchTicket = 0,
|
|
15
|
+
Queue = 1,
|
|
16
|
+
Tenant = 2
|
|
17
|
+
}
|
|
18
|
+
export declare function identifyDuelAccount(account: {
|
|
19
|
+
data: ReadonlyUint8Array;
|
|
20
|
+
} | ReadonlyUint8Array): DuelAccount;
|
|
21
|
+
export declare enum DuelInstruction {
|
|
22
|
+
CancelTicket = 0,
|
|
23
|
+
CloseTicket = 1,
|
|
24
|
+
CommitTickets = 2,
|
|
25
|
+
CreateTicket = 3,
|
|
26
|
+
DelegateQueue = 4,
|
|
27
|
+
DelegateTicket = 5,
|
|
28
|
+
FlushMatches = 6,
|
|
29
|
+
InitializeQueue = 7,
|
|
30
|
+
InitializeTenant = 8,
|
|
31
|
+
JoinQueue = 9,
|
|
32
|
+
ProcessUndelegation = 10
|
|
33
|
+
}
|
|
34
|
+
export declare function identifyDuelInstruction(instruction: {
|
|
35
|
+
data: ReadonlyUint8Array;
|
|
36
|
+
} | ReadonlyUint8Array): DuelInstruction;
|
|
37
|
+
export type ParsedDuelInstruction<TProgram extends string = 'EdZzUwKd1X2ZWjxLPpz1cpEzMF7RUZC43Pq64v1VcK5X'> = {
|
|
38
|
+
instructionType: DuelInstruction.CancelTicket;
|
|
39
|
+
} & ParsedCancelTicketInstruction<TProgram> | {
|
|
40
|
+
instructionType: DuelInstruction.CloseTicket;
|
|
41
|
+
} & ParsedCloseTicketInstruction<TProgram> | {
|
|
42
|
+
instructionType: DuelInstruction.CommitTickets;
|
|
43
|
+
} & ParsedCommitTicketsInstruction<TProgram> | {
|
|
44
|
+
instructionType: DuelInstruction.CreateTicket;
|
|
45
|
+
} & ParsedCreateTicketInstruction<TProgram> | {
|
|
46
|
+
instructionType: DuelInstruction.DelegateQueue;
|
|
47
|
+
} & ParsedDelegateQueueInstruction<TProgram> | {
|
|
48
|
+
instructionType: DuelInstruction.DelegateTicket;
|
|
49
|
+
} & ParsedDelegateTicketInstruction<TProgram> | {
|
|
50
|
+
instructionType: DuelInstruction.FlushMatches;
|
|
51
|
+
} & ParsedFlushMatchesInstruction<TProgram> | {
|
|
52
|
+
instructionType: DuelInstruction.InitializeQueue;
|
|
53
|
+
} & ParsedInitializeQueueInstruction<TProgram> | {
|
|
54
|
+
instructionType: DuelInstruction.InitializeTenant;
|
|
55
|
+
} & ParsedInitializeTenantInstruction<TProgram> | {
|
|
56
|
+
instructionType: DuelInstruction.JoinQueue;
|
|
57
|
+
} & ParsedJoinQueueInstruction<TProgram> | {
|
|
58
|
+
instructionType: DuelInstruction.ProcessUndelegation;
|
|
59
|
+
} & ParsedProcessUndelegationInstruction<TProgram>;
|
|
60
|
+
export declare function parseDuelInstruction<TProgram extends string>(instruction: Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array>): ParsedDuelInstruction<TProgram>;
|
|
61
|
+
export type DuelPlugin = {
|
|
62
|
+
accounts: DuelPluginAccounts;
|
|
63
|
+
instructions: DuelPluginInstructions;
|
|
64
|
+
};
|
|
65
|
+
export type DuelPluginAccounts = {
|
|
66
|
+
matchTicket: ReturnType<typeof getMatchTicketCodec> & SelfFetchFunctions<MatchTicketArgs, MatchTicket>;
|
|
67
|
+
queue: ReturnType<typeof getQueueCodec> & SelfFetchFunctions<QueueArgs, Queue>;
|
|
68
|
+
tenant: ReturnType<typeof getTenantCodec> & SelfFetchFunctions<TenantArgs, Tenant>;
|
|
69
|
+
};
|
|
70
|
+
export type DuelPluginInstructions = {
|
|
71
|
+
cancelTicket: (input: CancelTicketAsyncInput) => ReturnType<typeof getCancelTicketInstructionAsync> & SelfPlanAndSendFunctions;
|
|
72
|
+
closeTicket: (input: CloseTicketAsyncInput) => ReturnType<typeof getCloseTicketInstructionAsync> & SelfPlanAndSendFunctions;
|
|
73
|
+
commitTickets: (input: MakeOptional<CommitTicketsInput, "payer">) => ReturnType<typeof getCommitTicketsInstruction> & SelfPlanAndSendFunctions;
|
|
74
|
+
createTicket: (input: CreateTicketAsyncInput) => ReturnType<typeof getCreateTicketInstructionAsync> & SelfPlanAndSendFunctions;
|
|
75
|
+
delegateQueue: (input: MakeOptional<DelegateQueueAsyncInput, "payer">) => ReturnType<typeof getDelegateQueueInstructionAsync> & SelfPlanAndSendFunctions;
|
|
76
|
+
delegateTicket: (input: MakeOptional<DelegateTicketAsyncInput, "payer">) => ReturnType<typeof getDelegateTicketInstructionAsync> & SelfPlanAndSendFunctions;
|
|
77
|
+
flushMatches: (input: FlushMatchesInput) => ReturnType<typeof getFlushMatchesInstruction> & SelfPlanAndSendFunctions;
|
|
78
|
+
initializeQueue: (input: InitializeQueueAsyncInput) => ReturnType<typeof getInitializeQueueInstructionAsync> & SelfPlanAndSendFunctions;
|
|
79
|
+
initializeTenant: (input: InitializeTenantAsyncInput) => ReturnType<typeof getInitializeTenantInstructionAsync> & SelfPlanAndSendFunctions;
|
|
80
|
+
joinQueue: (input: JoinQueueAsyncInput) => ReturnType<typeof getJoinQueueInstructionAsync> & SelfPlanAndSendFunctions;
|
|
81
|
+
processUndelegation: (input: MakeOptional<ProcessUndelegationInput, "payer">) => ReturnType<typeof getProcessUndelegationInstruction> & SelfPlanAndSendFunctions;
|
|
82
|
+
};
|
|
83
|
+
export type DuelPluginRequirements = ClientWithRpc<GetAccountInfoApi & GetMultipleAccountsApi> & ClientWithPayer & ClientWithTransactionPlanning & ClientWithTransactionSending;
|
|
84
|
+
export declare function duelProgram(): <T extends DuelPluginRequirements>(client: T) => T & {
|
|
85
|
+
duel: DuelPlugin;
|
|
86
|
+
};
|
|
87
|
+
type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
88
|
+
export {};
|