@nosana/kit 2.0.18 → 2.0.19

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.
@@ -44,6 +44,18 @@ export interface SolanaService {
44
44
  feePayer?: TransactionSigner;
45
45
  commitment?: 'processed' | 'confirmed' | 'finalized';
46
46
  }): Promise<Signature>;
47
+ /**
48
+ * Get an instruction to create an associated token account if it doesn't exist.
49
+ * Checks if the ATA exists, and if not, returns an instruction to create it.
50
+ * Uses the idempotent version so it's safe to call even if the account already exists.
51
+ *
52
+ * @param ata The associated token account address
53
+ * @param mint The token mint address
54
+ * @param owner The owner of the associated token account
55
+ * @param payer Optional payer for the account creation. If not provided, uses the wallet or service feePayer.
56
+ * @returns An instruction to create the ATA if it doesn't exist, or null if it already exists
57
+ */
58
+ getCreateATAInstructionIfNeeded(ata: Address, mint: Address, owner: Address, payer?: TransactionSigner): Promise<Instruction | null>;
47
59
  }
48
60
  /**
49
61
  * Creates a Solana service instance.
@@ -1,5 +1,7 @@
1
1
  import { createSolanaRpc, createSolanaRpcSubscriptions, address, getProgramDerivedAddress, getAddressEncoder, createTransactionMessage, signTransactionMessageWithSigners, getSignatureFromTransaction, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, sendAndConfirmTransactionFactory, appendTransactionMessageInstructions, pipe, assertIsSendableTransaction, } from '@solana/kit';
2
2
  import { estimateComputeUnitLimitFactory, getSetComputeUnitLimitInstruction, } from '@solana-program/compute-budget';
3
+ import { getCreateAssociatedTokenIdempotentInstructionAsync, TOKEN_PROGRAM_ADDRESS, } from '@solana-program/token';
4
+ import { SYSTEM_PROGRAM_ADDRESS } from '@solana-program/system';
3
5
  import { NosanaError, ErrorCodes } from '../errors/NosanaError.js';
4
6
  /**
5
7
  * Factory function to create an estimateAndSetComputeUnitLimit function
@@ -197,6 +199,46 @@ export function createSolanaService(deps, config) {
197
199
  const signedTransaction = await this.signTransaction(transactionMessage);
198
200
  return await this.sendTransaction(signedTransaction, { commitment: options?.commitment });
199
201
  },
202
+ /**
203
+ * Get an instruction to create an associated token account if it doesn't exist.
204
+ * Checks if the ATA exists, and if not, returns an instruction to create it.
205
+ * Uses the idempotent version so it's safe to call even if the account already exists.
206
+ *
207
+ * @param ata The associated token account address
208
+ * @param mint The token mint address
209
+ * @param owner The owner of the associated token account
210
+ * @param payer Optional payer for the account creation. If not provided, uses the wallet or service feePayer.
211
+ * @returns An instruction to create the ATA if it doesn't exist, or null if it already exists
212
+ */
213
+ async getCreateATAInstructionIfNeeded(ata, mint, owner, payer) {
214
+ try {
215
+ // Check if the account exists
216
+ const accountInfo = await rpc.getAccountInfo(ata).send();
217
+ if (accountInfo.value !== null) {
218
+ // Account already exists
219
+ return null;
220
+ }
221
+ // Account doesn't exist, create instruction
222
+ // Priority: provided payer > service feePayer > wallet
223
+ const instructionPayer = payer ?? feePayer ?? deps.getWallet();
224
+ if (!instructionPayer) {
225
+ throw new NosanaError('No payer found for creating associated token account', ErrorCodes.NO_WALLET);
226
+ }
227
+ const instruction = await getCreateAssociatedTokenIdempotentInstructionAsync({
228
+ payer: instructionPayer,
229
+ ata,
230
+ owner,
231
+ mint,
232
+ systemProgram: SYSTEM_PROGRAM_ADDRESS,
233
+ tokenProgram: TOKEN_PROGRAM_ADDRESS,
234
+ });
235
+ return instruction;
236
+ }
237
+ catch (error) {
238
+ deps.logger.error(`Failed to get create ATA instruction: ${error}`);
239
+ throw new NosanaError('Failed to get create ATA instruction', ErrorCodes.RPC_ERROR, error);
240
+ }
241
+ },
200
242
  };
201
243
  }
202
244
  //# sourceMappingURL=SolanaService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaService.js","sourceRoot":"","sources":["../../src/services/SolanaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaService.js","sourceRoot":"","sources":["../../src/services/SolanaService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import { Address } from '@solana/kit';
1
+ import { type ConvertTypesForDb } from '../../utils/index.js';
2
+ import type { Address } from '@solana/kit';
2
3
  import type { ProgramDeps } from '../../types.js';
4
+ import type { ProgramConfig } from '../../config/types.js';
5
+ import * as Instructions from './instructions/index.js';
3
6
  import * as programClient from '../../generated_clients/jobs/index.js';
4
- import { ConvertTypesForDb } from '../../utils/index.js';
5
7
  export declare enum JobState {
6
8
  QUEUED = 0,
7
9
  RUNNING = 1,
@@ -66,12 +68,21 @@ export interface JobsProgram {
66
68
  /**
67
69
  * Post a new job to the marketplace
68
70
  */
69
- post(params: {
70
- market: Address;
71
- timeout: number | bigint;
72
- ipfsHash: string;
73
- node?: Address;
74
- }): Promise<ReturnType<typeof programClient.getListInstruction>>;
71
+ post: Instructions.Post;
72
+ /**
73
+ * Extend an existing job's timeout
74
+ */
75
+ extend: Instructions.Extend;
76
+ /**
77
+ * Delist a job from the marketplace
78
+ */
79
+ delist: Instructions.Delist;
80
+ /**
81
+ * Stop a running job
82
+ */
83
+ end(params: {
84
+ job: Address;
85
+ }): Promise<ReturnType<typeof programClient.getEndInstruction>>;
75
86
  /**
76
87
  * Monitor program account updates using callback functions
77
88
  */
@@ -102,5 +113,4 @@ export interface JobsProgram {
102
113
  * const job = await jobsProgram.get('job-address');
103
114
  * ```
104
115
  */
105
- import type { ProgramConfig } from '../../config/types.js';
106
116
  export declare function createJobsProgram(deps: ProgramDeps, config: ProgramConfig): JobsProgram;
@@ -1,11 +1,12 @@
1
- import { generateKeyPairSigner, parseBase64RpcAccount, } from '@solana/kit';
2
- import { ErrorCodes, NosanaError } from '../../errors/NosanaError.js';
3
- import * as programClient from '../../generated_clients/jobs/index.js';
4
- import { findAssociatedTokenPda, TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
5
1
  import bs58 from 'bs58';
6
2
  import { solBytesArrayToIpfsHash } from '@nosana/ipfs';
3
+ import { parseBase64RpcAccount } from '@solana/kit';
4
+ import { findAssociatedTokenPda, TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
5
+ import { ErrorCodes, NosanaError } from '../../errors/NosanaError.js';
7
6
  import { convertBigIntToNumber } from '../../utils/index.js';
8
- import { getStaticAccounts } from '../../utils/getStaticAccounts.js';
7
+ import { getStaticAccounts as getStaticAccountsFn, } from '../../utils/getStaticAccounts.js';
8
+ import * as Instructions from './instructions/index.js';
9
+ import * as programClient from '../../generated_clients/jobs/index.js';
9
10
  export var JobState;
10
11
  (function (JobState) {
11
12
  JobState[JobState["QUEUED"] = 0] = "QUEUED";
@@ -18,6 +19,26 @@ export var MarketQueueType;
18
19
  MarketQueueType[MarketQueueType["JOB_QUEUE"] = 0] = "JOB_QUEUE";
19
20
  MarketQueueType[MarketQueueType["NODE_QUEUE"] = 1] = "NODE_QUEUE";
20
21
  })(MarketQueueType || (MarketQueueType = {}));
22
+ /**
23
+ * Creates a new JobsProgram instance.
24
+ *
25
+ * @param deps - Program dependencies (config, logger, solana service, wallet getter)
26
+ * @returns A JobsProgram instance with methods to interact with the jobs program
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { createJobsProgram } from '@nosana/kit';
31
+ *
32
+ * const jobsProgram = createJobsProgram({
33
+ * config,
34
+ * logger,
35
+ * solana,
36
+ * getWallet,
37
+ * });
38
+ *
39
+ * const job = await jobsProgram.get('job-address');
40
+ * ```
41
+ */
21
42
  export function createJobsProgram(deps, config) {
22
43
  const programId = config.jobsAddress;
23
44
  const client = programClient;
@@ -130,6 +151,27 @@ export function createJobsProgram(deps, config) {
130
151
  }
131
152
  deps.logger.debug(`Processed run account ${runAccount.address.toString()}`);
132
153
  }
154
+ /**
155
+ * Get the required wallet or throw an error if not available
156
+ */
157
+ function getRequiredWallet() {
158
+ const wallet = deps.getWallet();
159
+ if (!wallet) {
160
+ throw new NosanaError('Wallet is required for this operation', ErrorCodes.NO_WALLET);
161
+ }
162
+ return wallet;
163
+ }
164
+ function getStaticAccounts() {
165
+ return getStaticAccountsFn(config, deps.solana, staticAccountsCache);
166
+ }
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
+ }
133
175
  /**
134
176
  * Handle account update using callback functions
135
177
  */
@@ -197,6 +239,18 @@ export function createJobsProgram(deps, config) {
197
239
  throw error;
198
240
  }
199
241
  }
242
+ function createInstructionsHelper(get, getRuns) {
243
+ return {
244
+ deps,
245
+ config,
246
+ client,
247
+ get,
248
+ getRuns,
249
+ getRequiredWallet,
250
+ getStaticAccounts,
251
+ getNosATA,
252
+ };
253
+ }
200
254
  return {
201
255
  /**
202
256
  * Fetch a job account by address
@@ -469,37 +523,16 @@ export function createJobsProgram(deps, config) {
469
523
  * Post a new job to the marketplace
470
524
  */
471
525
  async post(params) {
472
- const jobKey = await generateKeyPairSigner();
473
- const runKey = await generateKeyPairSigner();
474
- const [associatedTokenAddress] = await findAssociatedTokenPda({
475
- mint: config.nosTokenAddress,
476
- owner: deps.getWallet().address,
477
- tokenProgram: TOKEN_PROGRAM_ADDRESS,
478
- });
479
- try {
480
- const staticAccounts = await getStaticAccounts(config, deps.solana, staticAccountsCache);
481
- // Create the list instruction
482
- const instruction = client.getListInstruction({
483
- job: jobKey,
484
- market: params.market,
485
- run: runKey,
486
- user: associatedTokenAddress,
487
- vault: await deps.solana.pda([params.market, config.nosTokenAddress], staticAccounts.jobsProgram),
488
- payer: deps.getWallet(),
489
- rewardsReflection: staticAccounts.rewardsReflection,
490
- rewardsVault: staticAccounts.rewardsVault,
491
- authority: deps.getWallet(),
492
- rewardsProgram: staticAccounts.rewardsProgram,
493
- ipfsJob: bs58.decode(params.ipfsHash).subarray(2),
494
- timeout: params.timeout,
495
- });
496
- return instruction;
497
- }
498
- catch (err) {
499
- const errorMessage = `Failed to create list instruction: ${err instanceof Error ? err.message : String(err)}`;
500
- deps.logger.error(errorMessage);
501
- throw new Error(errorMessage);
502
- }
526
+ return Instructions.post(params, createInstructionsHelper(this.get, this.runs));
527
+ },
528
+ async extend(params) {
529
+ return Instructions.extend(params, createInstructionsHelper(this.get, this.runs));
530
+ },
531
+ async delist(params) {
532
+ return Instructions.delist(params, createInstructionsHelper(this.get, this.runs));
533
+ },
534
+ async end(params) {
535
+ return Instructions.end(params, createInstructionsHelper(this.get, this.runs));
503
536
  },
504
537
  /**
505
538
  * Monitor program account updates using callback functions
@@ -1 +1 @@
1
- {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../src/services/programs/JobsProgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../src/services/programs/JobsProgram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { getDelistInstruction } from '../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type DelistParams = {
5
+ job: Address;
6
+ };
7
+ export type DelistInstruction = ReturnType<typeof getDelistInstruction>;
8
+ export type Delist = (params: DelistParams) => Promise<DelistInstruction>;
9
+ export declare function delist({ job }: DelistParams, { config, deps, client, get, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<DelistInstruction>;
@@ -0,0 +1,29 @@
1
+ export async function delist({ job }, { config, deps, client, get, getRequiredWallet, getStaticAccounts, getNosATA, }) {
2
+ try {
3
+ const wallet = getRequiredWallet();
4
+ // Get Required accounts
5
+ const [{ market, payer }, { jobsProgram }] = await Promise.all([
6
+ get(job, false),
7
+ getStaticAccounts(),
8
+ ]);
9
+ // Get associated token address for the job's payer
10
+ const [payerATA, vault] = await Promise.all([
11
+ getNosATA(payer),
12
+ deps.solana.pda([market, config.nosTokenAddress], jobsProgram),
13
+ ]);
14
+ return client.getDelistInstruction({
15
+ job,
16
+ market,
17
+ vault,
18
+ deposit: payerATA, // Associated token address for the job's payer
19
+ payer,
20
+ authority: wallet,
21
+ });
22
+ }
23
+ catch (err) {
24
+ const errorMessage = `Failed to create delist instruction: ${err instanceof Error ? err.message : String(err)}`;
25
+ deps.logger.error(errorMessage);
26
+ throw new Error(errorMessage);
27
+ }
28
+ }
29
+ //# sourceMappingURL=delist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delist.js","sourceRoot":"","sources":["../../../../src/services/programs/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"}
@@ -0,0 +1,9 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { getEndInstruction } from '../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type EndParams = {
5
+ job: Address;
6
+ };
7
+ export type EndInstruction = ReturnType<typeof getEndInstruction>;
8
+ export type End = (params: EndParams) => Promise<EndInstruction>;
9
+ export declare function end({ job }: EndParams, { config, deps, client, get, getRuns, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<EndInstruction>;
@@ -0,0 +1,36 @@
1
+ export async function end({ job }, { config, deps, client, get, getRuns, getRequiredWallet, getStaticAccounts, getNosATA, }) {
2
+ try {
3
+ const wallet = getRequiredWallet();
4
+ // Get Required accounts
5
+ const [{ market, payer }, [run], { jobsProgram }] = await Promise.all([
6
+ get(job, false),
7
+ getRuns({ job }),
8
+ getStaticAccounts(),
9
+ ]);
10
+ if (!run) {
11
+ throw new Error('No job run account found for the specified job');
12
+ }
13
+ // Get associated token addresses
14
+ const [payerATA, nodeATA] = await Promise.all([
15
+ getNosATA(payer), // ATA for the job's payer (for deposit)
16
+ getNosATA(run.node), // ATA for the node (for user)
17
+ ]);
18
+ const vault = await deps.solana.pda([market, config.nosTokenAddress], jobsProgram);
19
+ return client.getEndInstruction({
20
+ job,
21
+ market: market,
22
+ run: run.address,
23
+ deposit: payerATA, // ATA of the job payer
24
+ user: nodeATA, // ATA of the node (from run account)
25
+ vault: vault,
26
+ payer: payer, // Use payer from the job account
27
+ authority: wallet,
28
+ });
29
+ }
30
+ catch (err) {
31
+ const errorMessage = `Failed to create end instruction: ${err instanceof Error ? err.message : String(err)}`;
32
+ deps.logger.error(errorMessage);
33
+ throw new Error(errorMessage);
34
+ }
35
+ }
36
+ //# sourceMappingURL=end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../../src/services/programs/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"}
@@ -0,0 +1,11 @@
1
+ import type { Address, TransactionSigner } from '@solana/kit';
2
+ import type { getExtendInstruction } from '../../../generated_clients/jobs/index.js';
3
+ import type { InstructionsHelperParams } from './types.js';
4
+ export type ExtendParams = {
5
+ job: Address;
6
+ timeout: number | bigint;
7
+ payer?: TransactionSigner;
8
+ };
9
+ export type ExtendInstruction = ReturnType<typeof getExtendInstruction>;
10
+ export type Extend = (params: ExtendParams) => Promise<ExtendInstruction>;
11
+ export declare function extend({ job, timeout, payer }: ExtendParams, { config, deps, client, get, getRequiredWallet, getStaticAccounts, getNosATA, }: InstructionsHelperParams): Promise<ExtendInstruction>;
@@ -0,0 +1,27 @@
1
+ export async function extend({ job, timeout, payer }, { config, deps, client, get, getRequiredWallet, getStaticAccounts, getNosATA, }) {
2
+ try {
3
+ const wallet = getRequiredWallet();
4
+ // Use provided payer or fall back to wallet
5
+ const nosPayer = payer ?? wallet;
6
+ // Get Required accounts
7
+ const [{ market, timeout: currentTimeout }, associatedTokenAddress, { jobsProgram, ...staticAccounts },] = await Promise.all([get(job, false), getNosATA(nosPayer.address), getStaticAccounts()]);
8
+ const vault = await deps.solana.pda([market, config.nosTokenAddress], jobsProgram);
9
+ // Create the extend instruction
10
+ return client.getExtendInstruction({
11
+ job,
12
+ timeout: BigInt(currentTimeout) + BigInt(timeout),
13
+ market: market,
14
+ vault,
15
+ payer: nosPayer,
16
+ authority: wallet,
17
+ user: associatedTokenAddress,
18
+ ...staticAccounts,
19
+ });
20
+ }
21
+ catch (err) {
22
+ const errorMessage = `Failed to create extend instruction: ${err instanceof Error ? err.message : String(err)}`;
23
+ deps.logger.error(errorMessage);
24
+ throw new Error(errorMessage);
25
+ }
26
+ }
27
+ //# sourceMappingURL=extend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../../src/services/programs/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,4 @@
1
+ export * from './delist.js';
2
+ export * from './end.js';
3
+ export * from './extend.js';
4
+ export * from './post.js';
@@ -0,0 +1,5 @@
1
+ export * from './delist.js';
2
+ export * from './end.js';
3
+ export * from './extend.js';
4
+ export * from './post.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/programs/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,13 @@
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>;
@@ -0,0 +1,36 @@
1
+ import bs58 from 'bs58';
2
+ import { generateKeyPairSigner } from '@solana/kit';
3
+ export async function post({ market, timeout, ipfsHash, 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
+ // Create the list instruction
17
+ return client.getListInstruction({
18
+ job: jobKey,
19
+ run: runKey,
20
+ market,
21
+ ipfsJob: bs58.decode(ipfsHash).subarray(2),
22
+ timeout,
23
+ user: associatedTokenAddress,
24
+ vault: vault,
25
+ payer: nosPayer,
26
+ authority: wallet,
27
+ ...staticAccounts,
28
+ });
29
+ }
30
+ catch (err) {
31
+ const errorMessage = `Failed to create list instruction: ${err instanceof Error ? err.message : String(err)}`;
32
+ deps.logger.error(errorMessage);
33
+ throw new Error(errorMessage);
34
+ }
35
+ }
36
+ //# sourceMappingURL=post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/services/programs/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 { Address } from '@solana/kit';
2
+ import type { ProgramConfig } from '../../../config';
3
+ import type { ProgramDeps, Wallet } from '../../../types';
4
+ import type { JobsProgram } from '../JobsProgram';
5
+ import type { StaticAccounts } from '../../../utils/getStaticAccounts';
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: (owner: Address) => Promise<Address<string>>;
16
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/programs/instructions/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nosana/kit",
3
- "version": "2.0.18",
3
+ "version": "2.0.19",
4
4
  "description": "Nosana KIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",