@nosana/kit 2.0.47 → 2.0.50

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 (32) hide show
  1. package/dist/index.d.ts +29 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/services/programs/jobs/JobsProgram.d.ts +33 -5
  4. package/dist/services/programs/jobs/JobsProgram.js +32 -2
  5. package/dist/services/programs/jobs/JobsProgram.js.map +1 -1
  6. package/dist/services/programs/jobs/instructions/assign.d.ts +13 -0
  7. package/dist/services/programs/jobs/instructions/assign.js +40 -0
  8. package/dist/services/programs/jobs/instructions/assign.js.map +1 -0
  9. package/dist/services/programs/jobs/instructions/complete.d.ts +10 -0
  10. package/dist/services/programs/jobs/instructions/complete.js +17 -0
  11. package/dist/services/programs/jobs/instructions/complete.js.map +1 -0
  12. package/dist/services/programs/jobs/instructions/finish.d.ts +14 -0
  13. package/dist/services/programs/jobs/instructions/finish.js +63 -0
  14. package/dist/services/programs/jobs/instructions/finish.js.map +1 -0
  15. package/dist/services/programs/jobs/instructions/index.d.ts +8 -1
  16. package/dist/services/programs/jobs/instructions/index.js +8 -1
  17. package/dist/services/programs/jobs/instructions/index.js.map +1 -1
  18. package/dist/services/programs/jobs/instructions/list.d.ts +12 -0
  19. package/dist/services/programs/jobs/instructions/{post.js → list.js} +6 -4
  20. package/dist/services/programs/jobs/instructions/list.js.map +1 -0
  21. package/dist/services/programs/jobs/instructions/quit.d.ts +9 -0
  22. package/dist/services/programs/jobs/instructions/quit.js +25 -0
  23. package/dist/services/programs/jobs/instructions/quit.js.map +1 -0
  24. package/dist/services/programs/jobs/instructions/stop.d.ts +10 -0
  25. package/dist/services/programs/jobs/instructions/stop.js +23 -0
  26. package/dist/services/programs/jobs/instructions/stop.js.map +1 -0
  27. package/dist/services/programs/jobs/instructions/work.d.ts +10 -0
  28. package/dist/services/programs/jobs/instructions/work.js +61 -0
  29. package/dist/services/programs/jobs/instructions/work.js.map +1 -0
  30. package/package.json +1 -1
  31. package/dist/services/programs/jobs/instructions/post.d.ts +0 -13
  32. package/dist/services/programs/jobs/instructions/post.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -21,7 +21,11 @@ export type { JobsProgram, Job, Market, Run } from './services/programs/jobs/ind
21
21
  /**
22
22
  * @group @nosana/kit
23
23
  */
24
- export type { Post, PostParams, PostInstruction, } from './services/programs/jobs/instructions/post.js';
24
+ export type { List, ListParams, ListInstruction, } from './services/programs/jobs/instructions/list.js';
25
+ /**
26
+ * @group @nosana/kit
27
+ */
28
+ export type { Assign, AssignParams, AssignInstruction, } from './services/programs/jobs/instructions/assign.js';
25
29
  /**
26
30
  * @group @nosana/kit
27
31
  */
@@ -30,6 +34,30 @@ export type { Extend, ExtendParams, ExtendInstruction, } from './services/progra
30
34
  * @group @nosana/kit
31
35
  */
32
36
  export type { Delist, DelistParams, DelistInstruction, } from './services/programs/jobs/instructions/delist.js';
37
+ /**
38
+ * @group @nosana/kit
39
+ */
40
+ export type { Work, WorkParams, WorkInstruction, } from './services/programs/jobs/instructions/work.js';
41
+ /**
42
+ * @group @nosana/kit
43
+ */
44
+ export type { Finish, FinishParams, FinishInstruction, FinishInstructions, } from './services/programs/jobs/instructions/finish.js';
45
+ /**
46
+ * @group @nosana/kit
47
+ */
48
+ export type { Complete, CompleteParams, CompleteInstruction, } from './services/programs/jobs/instructions/complete.js';
49
+ /**
50
+ * @group @nosana/kit
51
+ */
52
+ export type { Quit, QuitParams, QuitInstruction, } from './services/programs/jobs/instructions/quit.js';
53
+ /**
54
+ * @group @nosana/kit
55
+ */
56
+ export type { Stop, StopParams, StopInstruction, } from './services/programs/jobs/instructions/stop.js';
57
+ /**
58
+ * @group @nosana/kit
59
+ */
60
+ export type { PostParams, PostInstruction } from './services/programs/jobs/index.js';
33
61
  /**
34
62
  * @group @nosana/kit
35
63
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export type Run = ConvertTypesForDb<programClient.RunAccountArgs> & {
28
28
  };
29
29
  export { MonitorEventType } from './monitor/index.js';
30
30
  export type { SimpleMonitorEvent, MonitorEvent } from './monitor/index.js';
31
+ export type PostParams = Instructions.ListParams | Instructions.AssignParams;
32
+ export type PostInstruction = Instructions.ListInstruction | Instructions.AssignInstruction;
31
33
  /**
32
34
  * Jobs program interface
33
35
  * @group @nosana/kit
@@ -70,9 +72,17 @@ export interface JobsProgram {
70
72
  */
71
73
  markets(): Promise<Market[]>;
72
74
  /**
73
- * Post a new job to the marketplace
75
+ * List a new job to the marketplace
74
76
  */
75
- post: Instructions.Post;
77
+ list: Instructions.List;
78
+ /**
79
+ * Post a new job to the marketplace (can list or assign based on params)
80
+ */
81
+ post(params: Instructions.ListParams | Instructions.AssignParams): Promise<Instructions.ListInstruction | Instructions.AssignInstruction>;
82
+ /**
83
+ * Assign a job directly to a host node
84
+ */
85
+ assign: Instructions.Assign;
76
86
  /**
77
87
  * Extend an existing job's timeout
78
88
  */
@@ -84,9 +94,27 @@ export interface JobsProgram {
84
94
  /**
85
95
  * Stop a running job
86
96
  */
87
- end(params: {
88
- job: Address;
89
- }): Promise<ReturnType<typeof programClient.getEndInstruction>>;
97
+ end: Instructions.End;
98
+ /**
99
+ * Enters the MarketAccount queue, or create a RunAccount.
100
+ */
101
+ work: Instructions.Work;
102
+ /**
103
+ * Complete a job that has been stopped.
104
+ */
105
+ finish: Instructions.Finish;
106
+ /**
107
+ * Post the result for a JobAccount to finish it and get paid.
108
+ */
109
+ complete: Instructions.Complete;
110
+ /**
111
+ * Quit a JobAccount that you have started.
112
+ */
113
+ quit: Instructions.Quit;
114
+ /**
115
+ * Exit the node queue
116
+ */
117
+ stop: Instructions.Stop;
90
118
  /**
91
119
  * Monitor program account updates using async iterators.
92
120
  * Automatically merges run account data into job account updates.
@@ -400,10 +400,25 @@ export function createJobsProgram(deps, config) {
400
400
  }
401
401
  },
402
402
  /**
403
- * Post a new job to the marketplace
403
+ * List a new job to the marketplace
404
+ */
405
+ async list(params) {
406
+ return Instructions.list(params, createInstructionsHelper(this.get, this.runs));
407
+ },
408
+ /**
409
+ * Post a new job to the marketplace (can list or assign based on params)
404
410
  */
405
411
  async post(params) {
406
- return Instructions.post(params, createInstructionsHelper(this.get, this.runs));
412
+ const helperParams = createInstructionsHelper(this.get, this.runs);
413
+ // If node is provided, it's an assign operation
414
+ if ('node' in params) {
415
+ return Instructions.assign(params, helperParams);
416
+ }
417
+ // Otherwise, it's a list operation
418
+ return Instructions.list(params, helperParams);
419
+ },
420
+ async assign(params) {
421
+ return Instructions.assign(params, createInstructionsHelper(this.get, this.runs));
407
422
  },
408
423
  async extend(params) {
409
424
  return Instructions.extend(params, createInstructionsHelper(this.get, this.runs));
@@ -414,6 +429,21 @@ export function createJobsProgram(deps, config) {
414
429
  async end(params) {
415
430
  return Instructions.end(params, createInstructionsHelper(this.get, this.runs));
416
431
  },
432
+ async finish(params) {
433
+ return Instructions.finish(params, createInstructionsHelper(this.get, this.runs));
434
+ },
435
+ async complete(params) {
436
+ return Instructions.complete(params, createInstructionsHelper(this.get, this.runs));
437
+ },
438
+ async quit(params) {
439
+ return Instructions.quit(params, createInstructionsHelper(this.get, this.runs));
440
+ },
441
+ async stop(params) {
442
+ return Instructions.stop(params, createInstructionsHelper(this.get, this.runs));
443
+ },
444
+ async work(params) {
445
+ return Instructions.work(params, createInstructionsHelper(this.get, this.runs));
446
+ },
417
447
  /**
418
448
  * Monitor program account updates using async iterators.
419
449
  * Automatically merges run account data into job account updates.
@@ -1 +1 @@
1
- {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/JobsProgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/JobsProgram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type Address, type TransactionSigner } from '@solana/kit';
2
+ import type { getAssignInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type AssignParams = {
5
+ market: Address;
6
+ timeout: number | bigint;
7
+ ipfsHash: string;
8
+ node: Address;
9
+ payer?: TransactionSigner;
10
+ };
11
+ export type AssignInstruction = ReturnType<typeof getAssignInstruction>;
12
+ export type Assign = (params: AssignParams) => Promise<AssignInstruction>;
13
+ export declare function assign({ market, timeout, ipfsHash, node, payer }: AssignParams, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<AssignInstruction>;
@@ -0,0 +1,40 @@
1
+ import { ipfsHashToSolBytesArray } from '@nosana/ipfs';
2
+ import { generateKeyPairSigner } from '@solana/kit';
3
+ export async function assign({ market, timeout, ipfsHash, node, payer }, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }) {
4
+ try {
5
+ const wallet = getRequiredWallet();
6
+ // Use provided payer or fall back to wallet
7
+ const nosPayer = payer ?? wallet;
8
+ // Generate new keypairs for job and run
9
+ const [jobKey, runKey, associatedTokenAddress, { jobsProgram, ...staticAccounts }] = await Promise.all([
10
+ generateKeyPairSigner(),
11
+ generateKeyPairSigner(),
12
+ getNosATA(nosPayer.address),
13
+ getStaticAccounts(),
14
+ ]);
15
+ const vault = await deps.solana.pda([market, config.nosTokenAddress], jobsProgram);
16
+ // Convert IPFS hash to Solana bytes array
17
+ const ipfsJobBytes = ipfsHashToSolBytesArray(ipfsHash);
18
+ return client.getAssignInstruction({
19
+ job: jobKey,
20
+ run: runKey,
21
+ node,
22
+ market,
23
+ ipfsJob: new Uint8Array(ipfsJobBytes),
24
+ timeout,
25
+ user: associatedTokenAddress,
26
+ vault: vault,
27
+ payer: nosPayer,
28
+ authority: wallet,
29
+ ...staticAccounts,
30
+ }, {
31
+ programAddress: jobsProgram,
32
+ });
33
+ }
34
+ catch (err) {
35
+ const errorMessage = `Failed to create assign instruction: ${err instanceof Error ? err.message : String(err)}`;
36
+ deps.logger.error(errorMessage);
37
+ throw new Error(errorMessage);
38
+ }
39
+ }
40
+ //# sourceMappingURL=assign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assign.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/assign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAwC,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgB1F,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAgB,EACxD,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;QAEjC,wCAAwC;QACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,GAChF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAqB,EAAE;YACvB,qBAAqB,EAAE;YACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,iBAAiB,EAAE;SACpB,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAEnF,0CAA0C;QAC1C,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEvD,OAAO,MAAM,CAAC,oBAAoB,CAChC;YACE,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,MAAM;YACX,IAAI;YACJ,MAAM;YACN,OAAO,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC;YACrC,OAAO;YACP,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAChH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { getCompleteInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type CompleteParams = {
5
+ job: Address;
6
+ ipfsResultsHash: string;
7
+ };
8
+ export type CompleteInstruction = ReturnType<typeof getCompleteInstruction>;
9
+ export type Complete = (params: CompleteParams) => Promise<CompleteInstruction>;
10
+ export declare function complete({ job, ipfsResultsHash }: CompleteParams, { client, get, getRequiredWallet }: InstructionsHelperParams): Promise<CompleteInstruction>;
@@ -0,0 +1,17 @@
1
+ import { ipfsHashToSolBytesArray } from '@nosana/ipfs';
2
+ import { JobState } from '../JobsProgram.js';
3
+ export async function complete({ job, ipfsResultsHash }, { client, get, getRequiredWallet }) {
4
+ const wallet = getRequiredWallet();
5
+ const jobAccount = await get(job);
6
+ if (jobAccount.state !== JobState.COMPLETED)
7
+ throw new Error(`Cannot complete a job that is not in state COMPLETED. Current state: ${JobState[jobAccount.state]}`);
8
+ if (jobAccount.ipfsResult !== null) {
9
+ throw new Error('Job has already been completed.');
10
+ }
11
+ return client.getCompleteInstruction({
12
+ job,
13
+ ipfsResult: new Uint8Array(ipfsHashToSolBytesArray(ipfsResultsHash)),
14
+ authority: wallet,
15
+ });
16
+ }
17
+ //# sourceMappingURL=complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAW7C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAE,GAAG,EAAE,eAAe,EAAkB,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAA4B;IAE5D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS;QACzC,MAAM,IAAI,KAAK,CACb,wEAAwE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;IAEJ,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC,sBAAsB,CAAC;QACnC,GAAG;QACH,UAAU,EAAE,IAAI,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACpE,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Address } from '@solana/kit';
2
+ import { getCreateAssociatedTokenIdempotentInstructionAsync } from '@solana-program/token';
3
+ import type { getFinishInstruction } from '../../../../generated_clients/jobs/index.js';
4
+ import type { InstructionsHelperParams } from './types.js';
5
+ type CreateATAInstruction = Awaited<ReturnType<typeof getCreateAssociatedTokenIdempotentInstructionAsync>>;
6
+ export type FinishParams = {
7
+ job: Address;
8
+ ipfsResultsHash: string;
9
+ };
10
+ export type FinishInstruction = ReturnType<typeof getFinishInstruction>;
11
+ export type FinishInstructions = [FinishInstruction] | [CreateATAInstruction, FinishInstruction] | [CreateATAInstruction, CreateATAInstruction, FinishInstruction];
12
+ export type Finish = (params: FinishParams) => Promise<FinishInstructions>;
13
+ export declare function finish({ job, ipfsResultsHash }: FinishParams, { config, deps, client, get, getRuns, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<FinishInstructions>;
14
+ export {};
@@ -0,0 +1,63 @@
1
+ import { ipfsHashToSolBytesArray } from '@nosana/ipfs';
2
+ export async function finish({ job, ipfsResultsHash }, { config, deps, client, get, getRuns, getRequiredWallet, getStaticAccounts, getNosATA, }) {
3
+ try {
4
+ const wallet = getRequiredWallet();
5
+ // Get required accounts in parallel
6
+ const [jobAccount, [run], { jobsProgram, ...staticAccounts }] = await Promise.all([
7
+ get(job, false),
8
+ getRuns({ job }),
9
+ getStaticAccounts(),
10
+ ]);
11
+ if (!run) {
12
+ throw new Error('No job run account found for the specified job');
13
+ }
14
+ // Derive vault PDA and get user ATA in parallel
15
+ const [vault, nodeATA] = await Promise.all([
16
+ deps.solana.pda([jobAccount.market, config.nosTokenAddress], jobsProgram),
17
+ getNosATA(run.node), // ATA for the node (user)
18
+ ]);
19
+ // Determine deposit account: if job.price > 0, use job payer's ATA, otherwise use vault
20
+ const deposit = jobAccount.price > 0 ? await getNosATA(jobAccount.payer) : vault;
21
+ // Convert IPFS result hash to Solana bytes array
22
+ const ipfsResult = new Uint8Array(ipfsHashToSolBytesArray(ipfsResultsHash));
23
+ // Create the finish instruction
24
+ const finishInstruction = client.getFinishInstruction({
25
+ job,
26
+ run: run.address,
27
+ market: jobAccount.market,
28
+ vault,
29
+ deposit,
30
+ user: nodeATA,
31
+ payerJob: jobAccount.payer,
32
+ payerRun: run.payer,
33
+ project: jobAccount.project,
34
+ authority: wallet,
35
+ ipfsResult,
36
+ ...staticAccounts,
37
+ }, {
38
+ programAddress: jobsProgram,
39
+ });
40
+ // Check if ATA accounts exist and create instructions if needed
41
+ const preInstructions = [];
42
+ // Check if node ATA exists, if not create it
43
+ const createNodeATAInstruction = await deps.solana.getCreateATAInstructionIfNeeded(nodeATA, config.nosTokenAddress, run.node, wallet);
44
+ if (createNodeATAInstruction) {
45
+ preInstructions.push(createNodeATAInstruction);
46
+ }
47
+ // Check if deposit ATA exists (only if job.price > 0)
48
+ if (jobAccount.price > 0) {
49
+ const createDepositATAInstruction = await deps.solana.getCreateATAInstructionIfNeeded(deposit, config.nosTokenAddress, jobAccount.payer, wallet);
50
+ if (createDepositATAInstruction) {
51
+ preInstructions.push(createDepositATAInstruction);
52
+ }
53
+ }
54
+ // Return tuple with pre-instructions (if any) followed by finish instruction
55
+ return [...preInstructions, finishInstruction];
56
+ }
57
+ catch (err) {
58
+ const errorMessage = `Failed to create finish instruction: ${err instanceof Error ? err.message : String(err)}`;
59
+ deps.logger.error(errorMessage);
60
+ throw new Error(errorMessage);
61
+ }
62
+ }
63
+ //# sourceMappingURL=finish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finish.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/finish.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
+ export * from './assign.js';
2
+ export * from './complete.js';
1
3
  export * from './delist.js';
2
4
  export * from './end.js';
3
5
  export * from './extend.js';
4
- export * from './post.js';
6
+ export * from './list.js';
7
+ export * from './complete.js';
8
+ export * from './finish.js';
9
+ export * from './quit.js';
10
+ export * from './work.js';
11
+ export * from './stop.js';
@@ -1,5 +1,12 @@
1
+ export * from './assign.js';
2
+ export * from './complete.js';
1
3
  export * from './delist.js';
2
4
  export * from './end.js';
3
5
  export * from './extend.js';
4
- export * from './post.js';
6
+ export * from './list.js';
7
+ export * from './complete.js';
8
+ export * from './finish.js';
9
+ export * from './quit.js';
10
+ export * from './work.js';
11
+ export * from './stop.js';
5
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Address, type TransactionSigner } from '@solana/kit';
2
+ import type { getListInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type ListParams = {
5
+ market: Address;
6
+ timeout: number | bigint;
7
+ ipfsHash: string;
8
+ payer?: TransactionSigner;
9
+ };
10
+ export type ListInstruction = ReturnType<typeof getListInstruction>;
11
+ export type List = (params: ListParams) => Promise<ListInstruction>;
12
+ export declare function list({ market, timeout, ipfsHash, payer }: ListParams, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<ListInstruction>;
@@ -1,6 +1,6 @@
1
- import bs58 from 'bs58';
1
+ import { ipfsHashToSolBytesArray } from '@nosana/ipfs';
2
2
  import { generateKeyPairSigner } from '@solana/kit';
3
- export async function post({ market, timeout, ipfsHash, payer }, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }) {
3
+ export async function list({ market, timeout, ipfsHash, payer }, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }) {
4
4
  try {
5
5
  const wallet = getRequiredWallet();
6
6
  // Use provided payer or fall back to wallet
@@ -13,12 +13,14 @@ export async function post({ market, timeout, ipfsHash, payer }, { config, deps,
13
13
  getStaticAccounts(),
14
14
  ]);
15
15
  const vault = await deps.solana.pda([market, config.nosTokenAddress], jobsProgram);
16
+ // Convert IPFS hash to Solana bytes array
17
+ const ipfsJobBytes = ipfsHashToSolBytesArray(ipfsHash);
16
18
  // Create the list instruction
17
19
  return client.getListInstruction({
18
20
  job: jobKey,
19
21
  run: runKey,
20
22
  market,
21
- ipfsJob: bs58.decode(ipfsHash).subarray(2),
23
+ ipfsJob: new Uint8Array(ipfsJobBytes),
22
24
  timeout,
23
25
  user: associatedTokenAddress,
24
26
  vault: vault,
@@ -35,4 +37,4 @@ export async function post({ market, timeout, ipfsHash, payer }, { config, deps,
35
37
  throw new Error(errorMessage);
36
38
  }
37
39
  }
38
- //# sourceMappingURL=post.js.map
40
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAwC,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgB1F,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAc,EAChD,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;QAEjC,wCAAwC;QACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,GAChF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAqB,EAAE;YACvB,qBAAqB,EAAE;YACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,iBAAiB,EAAE;SACpB,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAEnF,0CAA0C;QAC1C,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEvD,8BAA8B;QAC9B,OAAO,MAAM,CAAC,kBAAkB,CAC9B;YACE,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,MAAM;YACX,MAAM;YACN,OAAO,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC;YACrC,OAAO;YACP,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { getQuitInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type QuitParams = {
5
+ run: Address;
6
+ };
7
+ export type QuitInstruction = ReturnType<typeof getQuitInstruction>;
8
+ export type Quit = (params: QuitParams) => Promise<QuitInstruction>;
9
+ export declare function quit({ run }: QuitParams, { deps, client, getRequiredWallet, getStaticAccounts }: InstructionsHelperParams): Promise<QuitInstruction>;
@@ -0,0 +1,25 @@
1
+ export async function quit({ run }, { deps, client, getRequiredWallet, getStaticAccounts }) {
2
+ try {
3
+ const wallet = getRequiredWallet();
4
+ // Fetch run account and get static accounts in parallel
5
+ const [runAccount, { jobsProgram, ...staticAccounts }] = await Promise.all([
6
+ client.fetchRunAccount(deps.solana.rpc, run),
7
+ getStaticAccounts(),
8
+ ]);
9
+ return client.getQuitInstruction({
10
+ job: runAccount.data.job,
11
+ run,
12
+ payer: runAccount.data.payer,
13
+ authority: wallet,
14
+ ...staticAccounts,
15
+ }, {
16
+ programAddress: jobsProgram,
17
+ });
18
+ }
19
+ catch (err) {
20
+ const errorMessage = `Failed to create quit instruction: ${err instanceof Error ? err.message : String(err)}`;
21
+ deps.logger.error(errorMessage);
22
+ throw new Error(errorMessage);
23
+ }
24
+ }
25
+ //# sourceMappingURL=quit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quit.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/quit.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAE,GAAG,EAAc,EACnB,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAA4B;IAEhF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAEnC,wDAAwD;QACxD,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;YAC5C,iBAAiB,EAAE;SACpB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,kBAAkB,CAC9B;YACE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG;YACxB,GAAG;YACH,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK;YAC5B,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { getStopInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type StopParams = {
5
+ market: Address;
6
+ node?: Address;
7
+ };
8
+ export type StopInstruction = ReturnType<typeof getStopInstruction>;
9
+ export type Stop = (params: StopParams) => Promise<StopInstruction>;
10
+ export declare function stop({ market, node }: StopParams, { deps, client, getRequiredWallet, getStaticAccounts }: InstructionsHelperParams): Promise<StopInstruction>;
@@ -0,0 +1,23 @@
1
+ export async function stop({ market, node }, { deps, client, getRequiredWallet, getStaticAccounts }) {
2
+ try {
3
+ const wallet = getRequiredWallet();
4
+ // Get static accounts
5
+ const { jobsProgram, ...staticAccounts } = await getStaticAccounts();
6
+ // Use provided node or default to wallet address
7
+ const nodeAddress = node ?? wallet.address;
8
+ return client.getStopInstruction({
9
+ market,
10
+ node: nodeAddress,
11
+ authority: wallet,
12
+ ...staticAccounts,
13
+ }, {
14
+ programAddress: jobsProgram,
15
+ });
16
+ }
17
+ catch (err) {
18
+ const errorMessage = `Failed to create stop instruction: ${err instanceof Error ? err.message : String(err)}`;
19
+ deps.logger.error(errorMessage);
20
+ throw new Error(errorMessage);
21
+ }
22
+ }
23
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/stop.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAE,MAAM,EAAE,IAAI,EAAc,EAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAA4B;IAEhF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAEnC,sBAAsB;QACtB,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAErE,iDAAiD;QACjD,MAAM,WAAW,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;QAE3C,OAAO,MAAM,CAAC,kBAAkB,CAC9B;YACE,MAAM;YACN,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Address } from '@solana/kit';
2
+ import { getWorkInstruction } from '../../../../generated_clients/jobs/index.js';
3
+ import { InstructionsHelperParams } from './types.js';
4
+ export type WorkParams = {
5
+ market: Address;
6
+ nft?: Address;
7
+ };
8
+ export type WorkInstruction = ReturnType<typeof getWorkInstruction>;
9
+ export type Work = (params: WorkParams) => Promise<WorkInstruction>;
10
+ export declare function work({ market, nft }: WorkParams, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<WorkInstruction>;
@@ -0,0 +1,61 @@
1
+ import { generateKeyPairSigner } from '@solana/kit';
2
+ import { findAssociatedTokenPda, TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
3
+ import { SYSTEM_PROGRAM_ADDRESS } from '@solana-program/system';
4
+ // Metaplex Token Metadata Program ID
5
+ const METADATA_PROGRAM_ID = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s';
6
+ export async function work({ market, nft }, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }) {
7
+ try {
8
+ const wallet = getRequiredWallet();
9
+ // Parallelize independent async operations
10
+ const [runKey, { jobsProgram, ...staticAccounts }, stake, nosAta] = await Promise.all([
11
+ generateKeyPairSigner(),
12
+ getStaticAccounts(),
13
+ // Derive stake PDA: ["stake", nosTokenAddress, wallet.address]
14
+ deps.solana.pda(['stake', config.nosTokenAddress, wallet.address], config.stakeAddress),
15
+ // Get NOS ATA (needed if no NFT provided)
16
+ getNosATA(wallet.address),
17
+ ]);
18
+ // Handle NFT: if no NFT provided, use NOS token ATA; otherwise use NFT ATA
19
+ let nftAta;
20
+ let metadata;
21
+ if (!nft) {
22
+ // No NFT: use NOS token ATA for wallet
23
+ nftAta = nosAta;
24
+ // Use system program as placeholder for metadata
25
+ metadata = SYSTEM_PROGRAM_ADDRESS;
26
+ }
27
+ else {
28
+ // NFT provided: parallelize NFT ATA and metadata PDA derivation
29
+ const [nftAtaPda, metadataPda] = await Promise.all([
30
+ findAssociatedTokenPda({
31
+ mint: nft,
32
+ owner: wallet.address,
33
+ tokenProgram: TOKEN_PROGRAM_ADDRESS,
34
+ }).then(([pda]) => pda),
35
+ // Derive Metaplex metadata PDA: ["metadata", METADATA_PROGRAM_ID, MINT_ADDRESS]
36
+ deps.solana.pda(['metadata', METADATA_PROGRAM_ID, nft], METADATA_PROGRAM_ID),
37
+ ]);
38
+ nftAta = nftAtaPda;
39
+ metadata = metadataPda;
40
+ }
41
+ // Create the work instruction
42
+ return client.getWorkInstruction({
43
+ run: runKey,
44
+ market,
45
+ payer: wallet,
46
+ stake,
47
+ nft: nftAta,
48
+ metadata,
49
+ authority: wallet,
50
+ ...staticAccounts,
51
+ }, {
52
+ programAddress: jobsProgram,
53
+ });
54
+ }
55
+ catch (err) {
56
+ const errorMessage = `Failed to create work instruction: ${err instanceof Error ? err.message : String(err)}`;
57
+ deps.logger.error(errorMessage);
58
+ throw new Error(errorMessage);
59
+ }
60
+ }
61
+ //# sourceMappingURL=work.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,qCAAqC;AACrC,MAAM,mBAAmB,GACvB,6CAAuG,CAAC;AAW1G,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAE,MAAM,EAAE,GAAG,EAAc,EAC3B,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAEnC,2CAA2C;QAC3C,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpF,qBAAqB,EAAE;YACvB,iBAAiB,EAAE;YACnB,+DAA+D;YAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;YACvF,0CAA0C;YAC1C,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;SAC1B,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,MAAe,CAAC;QACpB,IAAI,QAAiB,CAAC;QAEtB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,uCAAuC;YACvC,MAAM,GAAG,MAAM,CAAC;YAChB,iDAAiD;YACjD,QAAQ,GAAG,sBAAsB,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjD,sBAAsB,CAAC;oBACrB,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,MAAM,CAAC,OAAO;oBACrB,YAAY,EAAE,qBAAqB;iBACpC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;gBACvB,gFAAgF;gBAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,mBAAmB,CAAC;aAC7E,CAAC,CAAC;YACH,MAAM,GAAG,SAAS,CAAC;YACnB,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,8BAA8B;QAC9B,OAAO,MAAM,CAAC,kBAAkB,CAC9B;YACE,GAAG,EAAE,MAAM;YACX,MAAM;YACN,KAAK,EAAE,MAAM;YACb,KAAK;YACL,GAAG,EAAE,MAAM;YACX,QAAQ;YACR,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nosana/kit",
3
- "version": "2.0.47",
3
+ "version": "2.0.50",
4
4
  "description": "Nosana KIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,13 +0,0 @@
1
- import { type Address, type TransactionSigner } from '@solana/kit';
2
- import type { getListInstruction } from '../../../../generated_clients/jobs/index.js';
3
- import type { InstructionsHelperParams } from './types.js';
4
- export type PostParams = {
5
- market: Address;
6
- timeout: number | bigint;
7
- ipfsHash: string;
8
- node?: Address;
9
- payer?: TransactionSigner;
10
- };
11
- export type PostInstruction = ReturnType<typeof getListInstruction>;
12
- export type Post = (params: PostParams) => Promise<PostInstruction>;
13
- export declare function post({ market, timeout, ipfsHash, payer }: PostParams, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<PostInstruction>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/post.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAwC,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgB1F,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAc,EAChD,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;QAEjC,wCAAwC;QACxC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,GAChF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAqB,EAAE;YACvB,qBAAqB,EAAE;YACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,iBAAiB,EAAE;SACpB,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAEnF,8BAA8B;QAC9B,OAAO,MAAM,CAAC,kBAAkB,CAC9B;YACE,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,MAAM;YACX,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO;YACP,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,MAAM;YACjB,GAAG,cAAc;SAClB,EACD;YACE,cAAc,EAAE,WAAW;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}