@nosana/kit 2.0.19 → 2.0.25

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 (87) hide show
  1. package/README.md +96 -24
  2. package/dist/NosanaClient.d.ts +5 -5
  3. package/dist/NosanaClient.js +7 -5
  4. package/dist/NosanaClient.js.map +1 -1
  5. package/dist/index.d.ts +9 -9
  6. package/dist/index.js +5 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/services/programs/{JobsProgram.d.ts → jobs/JobsProgram.d.ts} +47 -11
  9. package/dist/services/programs/{JobsProgram.js → jobs/JobsProgram.js} +84 -208
  10. package/dist/services/programs/jobs/JobsProgram.js.map +1 -0
  11. package/dist/services/programs/jobs/index.d.ts +1 -0
  12. package/dist/services/programs/jobs/index.js +2 -0
  13. package/dist/services/programs/jobs/index.js.map +1 -0
  14. package/dist/services/programs/{instructions → jobs/instructions}/delist.d.ts +1 -1
  15. package/dist/services/programs/jobs/instructions/delist.js.map +1 -0
  16. package/dist/services/programs/{instructions → jobs/instructions}/end.d.ts +1 -1
  17. package/dist/services/programs/jobs/instructions/end.js.map +1 -0
  18. package/dist/services/programs/{instructions → jobs/instructions}/extend.d.ts +1 -1
  19. package/dist/services/programs/jobs/instructions/extend.js.map +1 -0
  20. package/dist/services/programs/jobs/instructions/index.js.map +1 -0
  21. package/dist/services/programs/{instructions → jobs/instructions}/post.d.ts +1 -1
  22. package/dist/services/programs/jobs/instructions/post.js.map +1 -0
  23. package/dist/services/programs/jobs/instructions/types.d.ts +16 -0
  24. package/dist/services/programs/jobs/instructions/types.js.map +1 -0
  25. package/dist/services/programs/jobs/monitor/index.d.ts +3 -0
  26. package/dist/services/programs/jobs/monitor/index.js +3 -0
  27. package/dist/services/programs/jobs/monitor/index.js.map +1 -0
  28. package/dist/services/programs/jobs/monitor/monitor.d.ts +22 -0
  29. package/dist/services/programs/jobs/monitor/monitor.js +180 -0
  30. package/dist/services/programs/jobs/monitor/monitor.js.map +1 -0
  31. package/dist/services/programs/jobs/monitor/types.d.ts +27 -0
  32. package/dist/services/programs/jobs/monitor/types.js +9 -0
  33. package/dist/services/programs/jobs/monitor/types.js.map +1 -0
  34. package/dist/services/programs/{MerkleDistributorProgram.d.ts → merkleDistributor/MerkleDistributorProgram.d.ts} +4 -4
  35. package/dist/services/programs/{MerkleDistributorProgram.js → merkleDistributor/MerkleDistributorProgram.js} +3 -3
  36. package/dist/services/programs/merkleDistributor/MerkleDistributorProgram.js.map +1 -0
  37. package/dist/services/programs/merkleDistributor/index.d.ts +1 -0
  38. package/dist/services/programs/merkleDistributor/index.js +2 -0
  39. package/dist/services/programs/merkleDistributor/index.js.map +1 -0
  40. package/dist/services/programs/{StakeProgram.d.ts → stake/StakeProgram.d.ts} +4 -4
  41. package/dist/services/programs/{StakeProgram.js → stake/StakeProgram.js} +2 -2
  42. package/dist/services/programs/stake/StakeProgram.js.map +1 -0
  43. package/dist/services/programs/stake/index.d.ts +1 -0
  44. package/dist/services/programs/stake/index.js +2 -0
  45. package/dist/services/programs/stake/index.js.map +1 -0
  46. package/dist/services/solana/SolanaService.d.ts +150 -0
  47. package/dist/services/{SolanaService.js → solana/SolanaService.js} +191 -9
  48. package/dist/services/solana/SolanaService.js.map +1 -0
  49. package/dist/services/solana/index.d.ts +1 -0
  50. package/dist/services/solana/index.js +2 -0
  51. package/dist/services/solana/index.js.map +1 -0
  52. package/dist/services/token/TokenService.d.ts +65 -0
  53. package/dist/services/{TokenService.js → token/TokenService.js} +82 -4
  54. package/dist/services/token/TokenService.js.map +1 -0
  55. package/dist/services/token/index.d.ts +1 -0
  56. package/dist/services/token/index.js +2 -0
  57. package/dist/services/token/index.js.map +1 -0
  58. package/dist/types.d.ts +3 -1
  59. package/dist/utils/convertHttpToWebSocketUrl.d.ts +28 -0
  60. package/dist/utils/convertHttpToWebSocketUrl.js +37 -0
  61. package/dist/utils/convertHttpToWebSocketUrl.js.map +1 -0
  62. package/dist/utils/getStaticAccounts.d.ts +1 -1
  63. package/dist/utils/index.d.ts +1 -0
  64. package/dist/utils/index.js +1 -0
  65. package/dist/utils/index.js.map +1 -1
  66. package/package.json +4 -4
  67. package/dist/services/SolanaService.d.ts +0 -64
  68. package/dist/services/SolanaService.js.map +0 -1
  69. package/dist/services/TokenService.d.ts +0 -41
  70. package/dist/services/TokenService.js.map +0 -1
  71. package/dist/services/programs/JobsProgram.js.map +0 -1
  72. package/dist/services/programs/MerkleDistributorProgram.js.map +0 -1
  73. package/dist/services/programs/StakeProgram.js.map +0 -1
  74. package/dist/services/programs/instructions/delist.js.map +0 -1
  75. package/dist/services/programs/instructions/end.js.map +0 -1
  76. package/dist/services/programs/instructions/extend.js.map +0 -1
  77. package/dist/services/programs/instructions/index.js.map +0 -1
  78. package/dist/services/programs/instructions/post.js.map +0 -1
  79. package/dist/services/programs/instructions/types.d.ts +0 -16
  80. package/dist/services/programs/instructions/types.js.map +0 -1
  81. /package/dist/services/programs/{instructions → jobs/instructions}/delist.js +0 -0
  82. /package/dist/services/programs/{instructions → jobs/instructions}/end.js +0 -0
  83. /package/dist/services/programs/{instructions → jobs/instructions}/extend.js +0 -0
  84. /package/dist/services/programs/{instructions → jobs/instructions}/index.d.ts +0 -0
  85. /package/dist/services/programs/{instructions → jobs/instructions}/index.js +0 -0
  86. /package/dist/services/programs/{instructions → jobs/instructions}/post.js +0 -0
  87. /package/dist/services/programs/{instructions → jobs/instructions}/types.js +0 -0
@@ -1,12 +1,12 @@
1
1
  import bs58 from 'bs58';
2
2
  import { solBytesArrayToIpfsHash } from '@nosana/ipfs';
3
3
  import { parseBase64RpcAccount } from '@solana/kit';
4
- import { findAssociatedTokenPda, TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
5
- import { ErrorCodes, NosanaError } from '../../errors/NosanaError.js';
6
- import { convertBigIntToNumber } from '../../utils/index.js';
7
- import { getStaticAccounts as getStaticAccountsFn, } from '../../utils/getStaticAccounts.js';
4
+ import { ErrorCodes, NosanaError } from '../../../errors/NosanaError.js';
5
+ import { convertBigIntToNumber } from '../../../utils/index.js';
6
+ import { getStaticAccounts as getStaticAccountsFn, } from '../../../utils/getStaticAccounts.js';
8
7
  import * as Instructions from './instructions/index.js';
9
- import * as programClient from '../../generated_clients/jobs/index.js';
8
+ import * as programClient from '../../../generated_clients/jobs/index.js';
9
+ import { createMonitorFunctions } from './monitor/index.js';
10
10
  export var JobState;
11
11
  (function (JobState) {
12
12
  JobState[JobState["QUEUED"] = 0] = "QUEUED";
@@ -19,6 +19,8 @@ export var MarketQueueType;
19
19
  MarketQueueType[MarketQueueType["JOB_QUEUE"] = 0] = "JOB_QUEUE";
20
20
  MarketQueueType[MarketQueueType["NODE_QUEUE"] = 1] = "NODE_QUEUE";
21
21
  })(MarketQueueType || (MarketQueueType = {}));
22
+ // Re-export monitor types for convenience
23
+ export { MonitorEventType } from './monitor/index.js';
22
24
  /**
23
25
  * Creates a new JobsProgram instance.
24
26
  *
@@ -79,6 +81,18 @@ export function createJobsProgram(deps, config) {
79
81
  ...convertBigIntToNumber(runAccountData),
80
82
  };
81
83
  }
84
+ /**
85
+ * Merge run account data into a job account.
86
+ * Updates the job state to RUNNING and sets node and timeStart from the run account.
87
+ */
88
+ function mergeRunIntoJob(job, run) {
89
+ return {
90
+ ...job,
91
+ state: JobState.RUNNING,
92
+ node: run.node,
93
+ timeStart: run.time,
94
+ };
95
+ }
82
96
  /**
83
97
  * Transform market account to include address and convert types
84
98
  */
@@ -91,66 +105,6 @@ export function createJobsProgram(deps, config) {
91
105
  queueType: converted.queueType,
92
106
  };
93
107
  }
94
- /**
95
- * Set up WebSocket subscription for program notifications
96
- */
97
- async function setupSubscription(abortController) {
98
- try {
99
- // Set up the subscription using the correct API pattern
100
- const subscriptionIterable = await deps.solana.rpcSubscriptions
101
- .programNotifications(programId, { encoding: 'base64' })
102
- .subscribe({ abortSignal: abortController.signal });
103
- return subscriptionIterable;
104
- }
105
- catch (error) {
106
- throw new Error(`Failed to setup subscription: ${error}`);
107
- }
108
- }
109
- /**
110
- * Handle job account update
111
- */
112
- async function handleJobAccount(jobAccount, onJobAccount, _isMonitoring) {
113
- if (onJobAccount) {
114
- try {
115
- await onJobAccount(transformJobAccount(jobAccount));
116
- }
117
- catch (error) {
118
- deps.logger.error(`Error in onJobAccount callback: ${error}`);
119
- throw error;
120
- }
121
- }
122
- deps.logger.debug(`Processed job account ${jobAccount.address.toString()}`);
123
- }
124
- /**
125
- * Handle market account update
126
- */
127
- async function handleMarketAccount(marketAccount, onMarketAccount, _isMonitoring) {
128
- if (onMarketAccount) {
129
- try {
130
- await onMarketAccount(transformMarketAccount(marketAccount));
131
- }
132
- catch (error) {
133
- deps.logger.error(`Error in onMarketAccount callback: ${error}`);
134
- throw error;
135
- }
136
- }
137
- deps.logger.debug(`Processed market account ${marketAccount.address.toString()}`);
138
- }
139
- /**
140
- * Handle run account update
141
- */
142
- async function handleRunAccount(runAccount, onRunAccount, _isMonitoring) {
143
- if (onRunAccount) {
144
- try {
145
- await onRunAccount(transformRunAccount(runAccount));
146
- }
147
- catch (error) {
148
- deps.logger.error(`Error in onRunAccount callback: ${error}`);
149
- throw error;
150
- }
151
- }
152
- deps.logger.debug(`Processed run account ${runAccount.address.toString()}`);
153
- }
154
108
  /**
155
109
  * Get the required wallet or throw an error if not available
156
110
  */
@@ -164,81 +118,6 @@ export function createJobsProgram(deps, config) {
164
118
  function getStaticAccounts() {
165
119
  return getStaticAccountsFn(config, deps.solana, staticAccountsCache);
166
120
  }
167
- async function getNosATA(owner) {
168
- const [ata] = await findAssociatedTokenPda({
169
- mint: config.nosTokenAddress,
170
- owner,
171
- tokenProgram: TOKEN_PROGRAM_ADDRESS,
172
- });
173
- return ata;
174
- }
175
- /**
176
- * Handle account update using callback functions
177
- */
178
- async function handleAccountUpdate(accountData, options, isMonitoring) {
179
- try {
180
- const { account, pubkey } = accountData;
181
- const encodedAccount = parseBase64RpcAccount(pubkey, account);
182
- const accountType = client.identifyNosanaJobsAccount(encodedAccount);
183
- switch (accountType) {
184
- case client.NosanaJobsAccount.JobAccount: {
185
- const jobAccount = client.decodeJobAccount(encodedAccount);
186
- await handleJobAccount(jobAccount, options.onJobAccount, isMonitoring);
187
- break;
188
- }
189
- case client.NosanaJobsAccount.MarketAccount: {
190
- const marketAccount = client.decodeMarketAccount(encodedAccount);
191
- await handleMarketAccount(marketAccount, options.onMarketAccount, isMonitoring);
192
- break;
193
- }
194
- case client.NosanaJobsAccount.RunAccount: {
195
- const runAccount = client.decodeRunAccount(encodedAccount);
196
- await handleRunAccount(runAccount, options.onRunAccount, isMonitoring);
197
- break;
198
- }
199
- default:
200
- deps.logger.error(`No support yet for account type: ${accountType}`);
201
- return;
202
- }
203
- }
204
- catch (error) {
205
- deps.logger.error(`Error in handleAccountUpdate: ${error}`);
206
- }
207
- }
208
- /**
209
- * Process subscription notifications
210
- */
211
- async function processSubscriptionNotifications(notificationIterable, options, isMonitoring) {
212
- try {
213
- for await (const notification of notificationIterable) {
214
- // Check if monitoring should continue
215
- if (!isMonitoring()) {
216
- deps.logger.info('Monitoring stopped, exiting subscription processing');
217
- break;
218
- }
219
- try {
220
- const { value } = notification;
221
- await handleAccountUpdate(value, options, isMonitoring);
222
- }
223
- catch (error) {
224
- deps.logger.error(`Error handling account update notification: ${error}`);
225
- if (options.onError) {
226
- try {
227
- await options.onError(error instanceof Error ? error : new Error(String(error)));
228
- }
229
- catch (callbackError) {
230
- deps.logger.error(`Error in onError callback: ${callbackError}`);
231
- }
232
- }
233
- }
234
- }
235
- }
236
- catch (error) {
237
- deps.logger.error(`Subscription error: ${error}`);
238
- // Throw the error so the calling function can restart the subscription
239
- throw error;
240
- }
241
- }
242
121
  function createInstructionsHelper(get, getRuns) {
243
122
  return {
244
123
  deps,
@@ -248,7 +127,7 @@ export function createJobsProgram(deps, config) {
248
127
  getRuns,
249
128
  getRequiredWallet,
250
129
  getStaticAccounts,
251
- getNosATA,
130
+ getNosATA: deps.nos.getATA,
252
131
  };
253
132
  }
254
133
  return {
@@ -535,82 +414,79 @@ export function createJobsProgram(deps, config) {
535
414
  return Instructions.end(params, createInstructionsHelper(this.get, this.runs));
536
415
  },
537
416
  /**
538
- * Monitor program account updates using callback functions
539
- * Uses WebSocket subscriptions with automatic restart on failure
417
+ * Monitor program account updates using async iterators.
418
+ * Automatically merges run account data into job account updates.
419
+ * Uses WebSocket subscriptions with automatic restart on failure.
540
420
  *
541
421
  * @example
542
422
  * ```typescript
543
- * // Example: Monitor job accounts and save to file
544
- * const stopMonitoring = await jobsProgram.monitor({
545
- * onJobAccount: async (jobAccount) => {
546
- * console.log('Job updated:', jobAccount.address.toString());
547
- * // Save to database, file, or process as needed
548
- * },
549
- * onRunAccount: async (runAccount) => {
550
- * console.log('Run updated:', runAccount.address.toString());
551
- * },
552
- * onError: async (error, accountType) => {
553
- * console.error('Error processing account:', error, accountType);
423
+ * // Example: Simple monitoring - run accounts are automatically merged into job updates
424
+ * const [eventStream, stop] = await jobsProgram.monitor();
425
+ * for await (const event of eventStream) {
426
+ * if (event.type === MonitorEventType.JOB) {
427
+ * console.log('Job updated:', event.data.address.toString());
428
+ * // event.data will have state, node, and timeStart from run account if it exists
429
+ * } else if (event.type === MonitorEventType.MARKET) {
430
+ * console.log('Market updated:', event.data.address.toString());
554
431
  * }
555
- * });
432
+ * }
433
+ * // Stop monitoring when done
434
+ * stop();
435
+ * ```
436
+ *
437
+ * @returns A tuple of [eventStream, stopFunction]
438
+ */
439
+ async monitor() {
440
+ const monitorFunctions = createMonitorFunctions(this.get, this.runs, {
441
+ deps,
442
+ config,
443
+ client,
444
+ transformJobAccount,
445
+ transformRunAccount,
446
+ transformMarketAccount,
447
+ mergeRunIntoJob,
448
+ });
449
+ return monitorFunctions.monitor();
450
+ },
451
+ /**
452
+ * Monitor program account updates with detailed events for each account type.
453
+ * Uses WebSocket subscriptions with automatic restart on failure.
454
+ * Provides separate events for job, market, and run accounts.
556
455
  *
456
+ * @example
457
+ * ```typescript
458
+ * // Example: Monitor job accounts and save to file
459
+ * const [eventStream, stop] = await jobsProgram.monitorDetailed();
460
+ * for await (const event of eventStream) {
461
+ * switch (event.type) {
462
+ * case MonitorEventType.JOB:
463
+ * console.log('Job updated:', event.data.address.toString());
464
+ * break;
465
+ * case MonitorEventType.MARKET:
466
+ * console.log('Market updated:', event.data.address.toString());
467
+ * break;
468
+ * case MonitorEventType.RUN:
469
+ * console.log('Run updated:', event.data.address.toString());
470
+ * break;
471
+ * }
472
+ * }
557
473
  * // Stop monitoring when done
558
- * stopMonitoring();
474
+ * stop();
559
475
  * ```
560
476
  *
561
- * @param options Configuration options for monitoring
562
- * @returns A function to stop monitoring
477
+ * @returns A tuple of [eventStream, stopFunction]
563
478
  */
564
- async monitor(options = {}) {
565
- const { onJobAccount, onMarketAccount, onRunAccount, onError } = options;
566
- try {
567
- deps.logger.info(`Starting to monitor job program account updates for program: ${programId}`);
568
- let abortController = null;
569
- let isMonitoring = true;
570
- // Function to stop all monitoring
571
- const stopMonitoring = () => {
572
- isMonitoring = false;
573
- if (abortController) {
574
- abortController.abort();
575
- }
576
- deps.logger.info(`Stopped monitoring job program account updates`);
577
- };
578
- // Function to start/restart subscription with retry logic
579
- const startSubscription = async () => {
580
- while (isMonitoring) {
581
- try {
582
- deps.logger.info('Attempting to establish WebSocket subscription...');
583
- abortController = new AbortController();
584
- const subscriptionIterable = await setupSubscription(abortController);
585
- deps.logger.info('Successfully established WebSocket subscription');
586
- // Start processing subscription notifications
587
- await processSubscriptionNotifications(subscriptionIterable, { onJobAccount, onMarketAccount, onRunAccount, onError }, () => isMonitoring);
588
- }
589
- catch (error) {
590
- deps.logger.warn(`WebSocket subscription failed: ${error}`);
591
- // Clean up current subscription
592
- if (abortController) {
593
- abortController.abort();
594
- abortController = null;
595
- }
596
- if (isMonitoring) {
597
- deps.logger.info('Retrying WebSocket subscription in 5 seconds...');
598
- await new Promise((resolve) => setTimeout(resolve, 5000));
599
- }
600
- }
601
- }
602
- };
603
- // Start the subscription loop
604
- startSubscription().catch((error) => {
605
- deps.logger.error(`Failed to start subscription loop: ${error}`);
606
- });
607
- deps.logger.info(`Successfully started monitoring job program account updates`);
608
- return stopMonitoring;
609
- }
610
- catch (error) {
611
- deps.logger.error(`Failed to start monitoring job program accounts: ${error}`);
612
- throw new NosanaError('Failed to start monitoring job program accounts', ErrorCodes.RPC_ERROR, error);
613
- }
479
+ async monitorDetailed() {
480
+ const monitorFunctions = createMonitorFunctions(this.get, this.runs, {
481
+ deps,
482
+ config,
483
+ client,
484
+ transformJobAccount,
485
+ transformRunAccount,
486
+ transformMarketAccount,
487
+ mergeRunIntoJob,
488
+ });
489
+ return monitorFunctions.monitorDetailed();
614
490
  },
615
491
  };
616
492
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/JobsProgram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './JobsProgram.js';
@@ -0,0 +1,2 @@
1
+ export * from './JobsProgram.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from '@solana/kit';
2
- import type { getDelistInstruction } from '../../../generated_clients/jobs/index.js';
2
+ import type { getDelistInstruction } from '../../../../generated_clients/jobs/index.js';
3
3
  import type { InstructionsHelperParams } from './types.js';
4
4
  export type DelistParams = {
5
5
  job: Address;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delist.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/delist.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAE,GAAG,EAAgB,EACrB,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,wBAAwB;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACf,iBAAiB,EAAE;SACpB,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;SAC/D,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,oBAAoB,CAAC;YACjC,GAAG;YACH,MAAM;YACN,KAAK;YACL,OAAO,EAAE,QAAQ,EAAE,+CAA+C;YAClE,KAAK;YACL,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,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"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from '@solana/kit';
2
- import type { getEndInstruction } from '../../../generated_clients/jobs/index.js';
2
+ import type { getEndInstruction } from '../../../../generated_clients/jobs/index.js';
3
3
  import type { InstructionsHelperParams } from './types.js';
4
4
  export type EndParams = {
5
5
  job: Address;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/end.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,EAAE,GAAG,EAAa,EAClB,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACgB;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,wBAAwB;QACxB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACf,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;YAChB,iBAAiB,EAAE;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,iCAAiC;QACjC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,SAAS,CAAC,KAAK,CAAC,EAAE,wCAAwC;YAC1D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,8BAA8B;SACpD,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAEnF,OAAO,MAAM,CAAC,iBAAiB,CAAC;YAC9B,GAAG;YACH,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,CAAC,OAAO;YAChB,OAAO,EAAE,QAAQ,EAAE,uBAAuB;YAC1C,IAAI,EAAE,OAAO,EAAE,qCAAqC;YACpD,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK,EAAE,iCAAiC;YAC/C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Address, TransactionSigner } from '@solana/kit';
2
- import type { getExtendInstruction } from '../../../generated_clients/jobs/index.js';
2
+ import type { getExtendInstruction } from '../../../../generated_clients/jobs/index.js';
3
3
  import type { InstructionsHelperParams } from './types.js';
4
4
  export type ExtendParams = {
5
5
  job: Address;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/extend.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAgB,EACrC,EACE,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,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,wBAAwB;QACxB,MAAM,CACJ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EACnC,sBAAsB,EACtB,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,EACnC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAEnF,gCAAgC;QAChC,OAAO,MAAM,CAAC,oBAAoB,CAAC;YACjC,GAAG;YACH,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACjD,MAAM,EAAE,MAAM;YACd,KAAK;YACL,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,sBAAsB;YAC5B,GAAG,cAAc;SAClB,CAAC,CAAC;IACL,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 @@
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,5 +1,5 @@
1
1
  import { type Address, type TransactionSigner } from '@solana/kit';
2
- import type { getListInstruction } from '../../../generated_clients/jobs/index.js';
2
+ import type { getListInstruction } from '../../../../generated_clients/jobs/index.js';
3
3
  import type { InstructionsHelperParams } from './types.js';
4
4
  export type PostParams = {
5
5
  market: Address;
@@ -0,0 +1 @@
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,CAAC;YAC/B,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,CAAC,CAAC;IACL,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,16 @@
1
+ import type { ProgramConfig } from '../../../../config/index.js';
2
+ import type { ProgramDeps, Wallet } from '../../../../types.js';
3
+ import type { JobsProgram } from '../JobsProgram.js';
4
+ import type { TokenService } from '../../../../services/token/index.js';
5
+ import type { StaticAccounts } from '../../../../utils/getStaticAccounts.js';
6
+ import * as programClient from '../../../../generated_clients/jobs/index.js';
7
+ export type InstructionsHelperParams = {
8
+ deps: ProgramDeps;
9
+ config: ProgramConfig;
10
+ client: typeof programClient;
11
+ get: JobsProgram['get'];
12
+ getRuns: JobsProgram['runs'];
13
+ getRequiredWallet: () => Wallet;
14
+ getStaticAccounts: () => Promise<StaticAccounts>;
15
+ getNosATA: TokenService['getATA'];
16
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export { createMonitorFunctions } from './monitor.js';
3
+ export type { MonitorDeps } from './monitor.js';
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export { createMonitorFunctions } from './monitor.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/monitor/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Account } from '@solana/kit';
2
+ import type { ProgramDeps } from '../../../../types.js';
3
+ import type { ProgramConfig } from '../../../../config/types.js';
4
+ import type { JobsProgram, Job, Market, Run } from '../JobsProgram.js';
5
+ import * as programClient from '../../../../generated_clients/jobs/index.js';
6
+ import { type MonitorEvent, type SimpleMonitorEvent } from './types.js';
7
+ export interface MonitorDeps {
8
+ deps: ProgramDeps;
9
+ config: ProgramConfig;
10
+ client: typeof programClient;
11
+ transformJobAccount: (jobAccount: Account<programClient.JobAccount>) => Job;
12
+ transformRunAccount: (runAccount: Account<programClient.RunAccount>) => Run;
13
+ transformMarketAccount: (marketAccount: Account<programClient.MarketAccount>) => Market;
14
+ mergeRunIntoJob: (job: Job, run: Run) => Job;
15
+ }
16
+ /**
17
+ * Factory function to create monitor functions
18
+ */
19
+ export declare function createMonitorFunctions(get: JobsProgram['get'], runs: JobsProgram['runs'], monitorDeps: MonitorDeps): {
20
+ monitor(): Promise<[AsyncIterable<SimpleMonitorEvent>, () => void]>;
21
+ monitorDetailed(): Promise<[AsyncIterable<MonitorEvent>, () => void]>;
22
+ };