@nosana/kit 2.0.19 → 2.0.23
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/README.md +96 -24
- package/dist/NosanaClient.d.ts +5 -5
- package/dist/NosanaClient.js +6 -5
- package/dist/NosanaClient.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/services/programs/{JobsProgram.d.ts → jobs/JobsProgram.d.ts} +47 -11
- package/dist/services/programs/{JobsProgram.js → jobs/JobsProgram.js} +84 -208
- package/dist/services/programs/jobs/JobsProgram.js.map +1 -0
- package/dist/services/programs/jobs/index.d.ts +1 -0
- package/dist/services/programs/jobs/index.js +2 -0
- package/dist/services/programs/jobs/index.js.map +1 -0
- package/dist/services/programs/{instructions → jobs/instructions}/delist.d.ts +1 -1
- package/dist/services/programs/jobs/instructions/delist.js.map +1 -0
- package/dist/services/programs/{instructions → jobs/instructions}/end.d.ts +1 -1
- package/dist/services/programs/jobs/instructions/end.js.map +1 -0
- package/dist/services/programs/{instructions → jobs/instructions}/extend.d.ts +1 -1
- package/dist/services/programs/jobs/instructions/extend.js.map +1 -0
- package/dist/services/programs/jobs/instructions/index.js.map +1 -0
- package/dist/services/programs/{instructions → jobs/instructions}/post.d.ts +1 -1
- package/dist/services/programs/jobs/instructions/post.js.map +1 -0
- package/dist/services/programs/jobs/instructions/types.d.ts +16 -0
- package/dist/services/programs/jobs/instructions/types.js.map +1 -0
- package/dist/services/programs/jobs/monitor/index.d.ts +3 -0
- package/dist/services/programs/jobs/monitor/index.js +3 -0
- package/dist/services/programs/jobs/monitor/index.js.map +1 -0
- package/dist/services/programs/jobs/monitor/monitor.d.ts +22 -0
- package/dist/services/programs/jobs/monitor/monitor.js +180 -0
- package/dist/services/programs/jobs/monitor/monitor.js.map +1 -0
- package/dist/services/programs/jobs/monitor/types.d.ts +27 -0
- package/dist/services/programs/jobs/monitor/types.js +9 -0
- package/dist/services/programs/jobs/monitor/types.js.map +1 -0
- package/dist/services/programs/{MerkleDistributorProgram.d.ts → merkleDistributor/MerkleDistributorProgram.d.ts} +4 -4
- package/dist/services/programs/{MerkleDistributorProgram.js → merkleDistributor/MerkleDistributorProgram.js} +3 -3
- package/dist/services/programs/merkleDistributor/MerkleDistributorProgram.js.map +1 -0
- package/dist/services/programs/merkleDistributor/index.d.ts +1 -0
- package/dist/services/programs/merkleDistributor/index.js +2 -0
- package/dist/services/programs/merkleDistributor/index.js.map +1 -0
- package/dist/services/programs/{StakeProgram.d.ts → stake/StakeProgram.d.ts} +4 -4
- package/dist/services/programs/{StakeProgram.js → stake/StakeProgram.js} +2 -2
- package/dist/services/programs/stake/StakeProgram.js.map +1 -0
- package/dist/services/programs/stake/index.d.ts +1 -0
- package/dist/services/programs/stake/index.js +2 -0
- package/dist/services/programs/stake/index.js.map +1 -0
- package/dist/services/{SolanaService.d.ts → solana/SolanaService.d.ts} +20 -4
- package/dist/services/{SolanaService.js → solana/SolanaService.js} +43 -4
- package/dist/services/solana/SolanaService.js.map +1 -0
- package/dist/services/solana/index.d.ts +1 -0
- package/dist/services/solana/index.js +2 -0
- package/dist/services/solana/index.js.map +1 -0
- package/dist/services/token/TokenService.d.ts +63 -0
- package/dist/services/{TokenService.js → token/TokenService.js} +69 -2
- package/dist/services/token/TokenService.js.map +1 -0
- package/dist/services/token/index.d.ts +1 -0
- package/dist/services/token/index.js +2 -0
- package/dist/services/token/index.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/utils/convertHttpToWebSocketUrl.d.ts +28 -0
- package/dist/utils/convertHttpToWebSocketUrl.js +37 -0
- package/dist/utils/convertHttpToWebSocketUrl.js.map +1 -0
- package/dist/utils/getStaticAccounts.d.ts +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/services/SolanaService.js.map +0 -1
- package/dist/services/TokenService.d.ts +0 -41
- package/dist/services/TokenService.js.map +0 -1
- package/dist/services/programs/JobsProgram.js.map +0 -1
- package/dist/services/programs/MerkleDistributorProgram.js.map +0 -1
- package/dist/services/programs/StakeProgram.js.map +0 -1
- package/dist/services/programs/instructions/delist.js.map +0 -1
- package/dist/services/programs/instructions/end.js.map +0 -1
- package/dist/services/programs/instructions/extend.js.map +0 -1
- package/dist/services/programs/instructions/index.js.map +0 -1
- package/dist/services/programs/instructions/post.js.map +0 -1
- package/dist/services/programs/instructions/types.d.ts +0 -16
- package/dist/services/programs/instructions/types.js.map +0 -1
- /package/dist/services/programs/{instructions → jobs/instructions}/delist.js +0 -0
- /package/dist/services/programs/{instructions → jobs/instructions}/end.js +0 -0
- /package/dist/services/programs/{instructions → jobs/instructions}/extend.js +0 -0
- /package/dist/services/programs/{instructions → jobs/instructions}/index.d.ts +0 -0
- /package/dist/services/programs/{instructions → jobs/instructions}/index.js +0 -0
- /package/dist/services/programs/{instructions → jobs/instructions}/post.js +0 -0
- /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 {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
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 '
|
|
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
|
|
539
|
-
*
|
|
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:
|
|
544
|
-
* const
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
*
|
|
549
|
-
*
|
|
550
|
-
* console.log('
|
|
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
|
-
*
|
|
474
|
+
* stop();
|
|
559
475
|
* ```
|
|
560
476
|
*
|
|
561
|
-
* @
|
|
562
|
-
* @returns A function to stop monitoring
|
|
477
|
+
* @returns A tuple of [eventStream, stopFunction]
|
|
563
478
|
*/
|
|
564
|
-
async
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
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 @@
|
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 @@
|
|
|
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
|
+
};
|