@nosana/kit 2.0.18 → 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.
Files changed (80) hide show
  1. package/README.md +96 -24
  2. package/dist/NosanaClient.d.ts +5 -5
  3. package/dist/NosanaClient.js +6 -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/jobs/JobsProgram.d.ts +152 -0
  9. package/dist/services/programs/{JobsProgram.js → jobs/JobsProgram.js} +133 -224
  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/jobs/instructions/delist.d.ts +9 -0
  15. package/dist/services/programs/jobs/instructions/delist.js +29 -0
  16. package/dist/services/programs/jobs/instructions/delist.js.map +1 -0
  17. package/dist/services/programs/jobs/instructions/end.d.ts +9 -0
  18. package/dist/services/programs/jobs/instructions/end.js +36 -0
  19. package/dist/services/programs/jobs/instructions/end.js.map +1 -0
  20. package/dist/services/programs/jobs/instructions/extend.d.ts +11 -0
  21. package/dist/services/programs/jobs/instructions/extend.js +27 -0
  22. package/dist/services/programs/jobs/instructions/extend.js.map +1 -0
  23. package/dist/services/programs/jobs/instructions/index.d.ts +4 -0
  24. package/dist/services/programs/jobs/instructions/index.js +5 -0
  25. package/dist/services/programs/jobs/instructions/index.js.map +1 -0
  26. package/dist/services/programs/jobs/instructions/post.d.ts +13 -0
  27. package/dist/services/programs/jobs/instructions/post.js +36 -0
  28. package/dist/services/programs/jobs/instructions/post.js.map +1 -0
  29. package/dist/services/programs/jobs/instructions/types.d.ts +16 -0
  30. package/dist/services/programs/jobs/instructions/types.js +2 -0
  31. package/dist/services/programs/jobs/instructions/types.js.map +1 -0
  32. package/dist/services/programs/jobs/monitor/index.d.ts +3 -0
  33. package/dist/services/programs/jobs/monitor/index.js +3 -0
  34. package/dist/services/programs/jobs/monitor/index.js.map +1 -0
  35. package/dist/services/programs/jobs/monitor/monitor.d.ts +22 -0
  36. package/dist/services/programs/jobs/monitor/monitor.js +180 -0
  37. package/dist/services/programs/jobs/monitor/monitor.js.map +1 -0
  38. package/dist/services/programs/jobs/monitor/types.d.ts +27 -0
  39. package/dist/services/programs/jobs/monitor/types.js +9 -0
  40. package/dist/services/programs/jobs/monitor/types.js.map +1 -0
  41. package/dist/services/programs/{MerkleDistributorProgram.d.ts → merkleDistributor/MerkleDistributorProgram.d.ts} +4 -4
  42. package/dist/services/programs/{MerkleDistributorProgram.js → merkleDistributor/MerkleDistributorProgram.js} +3 -3
  43. package/dist/services/programs/merkleDistributor/MerkleDistributorProgram.js.map +1 -0
  44. package/dist/services/programs/merkleDistributor/index.d.ts +1 -0
  45. package/dist/services/programs/merkleDistributor/index.js +2 -0
  46. package/dist/services/programs/merkleDistributor/index.js.map +1 -0
  47. package/dist/services/programs/{StakeProgram.d.ts → stake/StakeProgram.d.ts} +4 -4
  48. package/dist/services/programs/{StakeProgram.js → stake/StakeProgram.js} +2 -2
  49. package/dist/services/programs/stake/StakeProgram.js.map +1 -0
  50. package/dist/services/programs/stake/index.d.ts +1 -0
  51. package/dist/services/programs/stake/index.js +2 -0
  52. package/dist/services/programs/stake/index.js.map +1 -0
  53. package/dist/services/{SolanaService.d.ts → solana/SolanaService.d.ts} +31 -3
  54. package/dist/services/{SolanaService.js → solana/SolanaService.js} +84 -3
  55. package/dist/services/solana/SolanaService.js.map +1 -0
  56. package/dist/services/solana/index.d.ts +1 -0
  57. package/dist/services/solana/index.js +2 -0
  58. package/dist/services/solana/index.js.map +1 -0
  59. package/dist/services/token/TokenService.d.ts +63 -0
  60. package/dist/services/{TokenService.js → token/TokenService.js} +69 -2
  61. package/dist/services/token/TokenService.js.map +1 -0
  62. package/dist/services/token/index.d.ts +1 -0
  63. package/dist/services/token/index.js +2 -0
  64. package/dist/services/token/index.js.map +1 -0
  65. package/dist/types.d.ts +3 -1
  66. package/dist/utils/convertHttpToWebSocketUrl.d.ts +28 -0
  67. package/dist/utils/convertHttpToWebSocketUrl.js +37 -0
  68. package/dist/utils/convertHttpToWebSocketUrl.js.map +1 -0
  69. package/dist/utils/getStaticAccounts.d.ts +1 -1
  70. package/dist/utils/index.d.ts +1 -0
  71. package/dist/utils/index.js +1 -0
  72. package/dist/utils/index.js.map +1 -1
  73. package/package.json +4 -4
  74. package/dist/services/SolanaService.js.map +0 -1
  75. package/dist/services/TokenService.d.ts +0 -41
  76. package/dist/services/TokenService.js.map +0 -1
  77. package/dist/services/programs/JobsProgram.d.ts +0 -106
  78. package/dist/services/programs/JobsProgram.js.map +0 -1
  79. package/dist/services/programs/MerkleDistributorProgram.js.map +0 -1
  80. package/dist/services/programs/StakeProgram.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export * from './SolanaService.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/solana/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { Address, Instruction, TransactionSigner } from '@solana/kit';
2
+ import { Logger } from '../../logger/Logger.js';
3
+ export interface TokenAccount {
4
+ pubkey: Address;
5
+ owner: Address;
6
+ mint: Address;
7
+ amount: bigint;
8
+ decimals: number;
9
+ }
10
+ export interface TokenAccountWithBalance extends TokenAccount {
11
+ uiAmount: number;
12
+ }
13
+ import type { SolanaService } from '../solana/index.js';
14
+ /**
15
+ * Dependencies for TokenService
16
+ */
17
+ export interface TokenServiceDeps {
18
+ logger: Logger;
19
+ solana: SolanaService;
20
+ }
21
+ /**
22
+ * Config for TokenService
23
+ */
24
+ export interface TokenServiceConfig {
25
+ tokenAddress: Address;
26
+ }
27
+ /**
28
+ * TokenService interface
29
+ */
30
+ export interface TokenService {
31
+ getAllTokenHolders(options?: {
32
+ includeZeroBalance?: boolean;
33
+ excludePdaAccounts?: boolean;
34
+ }): Promise<TokenAccountWithBalance[]>;
35
+ getTokenAccountForAddress(owner: string | Address): Promise<TokenAccountWithBalance | null>;
36
+ getBalance(owner: string | Address): Promise<number>;
37
+ /**
38
+ * Get the associated token account address for a given owner.
39
+ *
40
+ * @param owner The owner address
41
+ * @returns The associated token account address
42
+ */
43
+ getATA(owner: Address | string): Promise<Address>;
44
+ /**
45
+ * Get instruction(s) to transfer SPL tokens from one address to another.
46
+ * May return 1 or 2 instructions depending on whether the recipient's associated token account needs to be created.
47
+ *
48
+ * @param params Transfer parameters
49
+ * @param params.to Recipient address
50
+ * @param params.amount Amount in token base units (number or bigint)
51
+ * @param params.from Optional sender TransactionSigner. If not provided, uses wallet from client.
52
+ * @returns Array of instructions (create ATA instruction if needed, then transfer instruction)
53
+ */
54
+ transfer(params: {
55
+ to: Address | string;
56
+ amount: number | bigint;
57
+ from?: TransactionSigner;
58
+ }): Promise<Instruction[]>;
59
+ }
60
+ /**
61
+ * Creates a TokenService instance.
62
+ */
63
+ export declare function createTokenService(deps: TokenServiceDeps, config: TokenServiceConfig): TokenService;
@@ -1,6 +1,6 @@
1
1
  import { address } from '@solana/kit';
2
- import { NosanaError, ErrorCodes } from '../errors/NosanaError.js';
3
- import { TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
2
+ import { NosanaError, ErrorCodes } from '../../errors/NosanaError.js';
3
+ import { TOKEN_PROGRAM_ADDRESS, getTransferInstruction, findAssociatedTokenPda, } from '@solana-program/token';
4
4
  // Standard SPL token account size
5
5
  const TOKEN_ACCOUNT_SIZE = 165;
6
6
  // Offset of mint address in token account data structure
@@ -131,6 +131,73 @@ export function createTokenService(deps, config) {
131
131
  const account = await this.getTokenAccountForAddress(owner);
132
132
  return account ? account.uiAmount : 0;
133
133
  },
134
+ /**
135
+ * Get the associated token account address for a given owner.
136
+ *
137
+ * @param owner The owner address
138
+ * @returns The associated token account address
139
+ */
140
+ async getATA(owner) {
141
+ const ownerAddr = typeof owner === 'string' ? address(owner) : owner;
142
+ const tokenMint = config.tokenAddress;
143
+ const [ata] = await findAssociatedTokenPda({
144
+ mint: tokenMint,
145
+ owner: ownerAddr,
146
+ tokenProgram: TOKEN_PROGRAM_ADDRESS,
147
+ });
148
+ return ata;
149
+ },
150
+ /**
151
+ * Get instruction(s) to transfer SPL tokens from one address to another.
152
+ * May return 1 or 2 instructions depending on whether the recipient's associated token account needs to be created.
153
+ *
154
+ * @param params Transfer parameters
155
+ * @param params.to Recipient address
156
+ * @param params.amount Amount in token base units (number or bigint)
157
+ * @param params.from Optional sender TransactionSigner. If not provided, uses wallet from client.
158
+ * @returns Array of instructions (create ATA instruction if needed, then transfer instruction)
159
+ */
160
+ async transfer(params) {
161
+ try {
162
+ // Determine sender: use params.from if provided, otherwise use feePayer from solana service
163
+ // Note: feePayer is typically set to the wallet when the client wallet is set
164
+ const sender = params.from ?? deps.solana.feePayer;
165
+ if (!sender) {
166
+ throw new NosanaError('No wallet found and no from parameter provided', ErrorCodes.NO_WALLET);
167
+ }
168
+ // Convert amount to bigint if it's a number
169
+ const amountBigInt = typeof params.amount === 'bigint' ? params.amount : BigInt(params.amount);
170
+ // Convert recipient to Address
171
+ const recipient = typeof params.to === 'string' ? address(params.to) : params.to;
172
+ const tokenMint = config.tokenAddress;
173
+ deps.logger.debug(`Creating SPL token transfer instruction: ${amountBigInt} tokens from ${sender.address} to ${recipient}`);
174
+ // Find sender's ATA
175
+ const senderAta = await this.getATA(sender.address);
176
+ // Find recipient's ATA
177
+ const recipientAta = await this.getATA(recipient);
178
+ // Check if recipient ATA exists and get create instruction if needed
179
+ const createAtaInstruction = await deps.solana.getCreateATAInstructionIfNeeded(recipientAta, tokenMint, recipient, sender);
180
+ // Create transfer instruction
181
+ const transferIx = getTransferInstruction({
182
+ source: senderAta,
183
+ destination: recipientAta,
184
+ authority: sender.address,
185
+ amount: amountBigInt,
186
+ });
187
+ // Return array of instructions - either 1 or 2 instructions
188
+ if (createAtaInstruction) {
189
+ return [createAtaInstruction, transferIx];
190
+ }
191
+ return [transferIx];
192
+ }
193
+ catch (error) {
194
+ if (error instanceof NosanaError) {
195
+ throw error;
196
+ }
197
+ deps.logger.error(`Failed to get transfer instruction: ${error}`);
198
+ throw new NosanaError('Failed to get transfer instruction', ErrorCodes.TRANSACTION_ERROR, error);
199
+ }
200
+ },
134
201
  };
135
202
  }
136
203
  //# sourceMappingURL=TokenService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenService.js","sourceRoot":"","sources":["../../../src/services/token/TokenService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './TokenService.js';
@@ -0,0 +1,2 @@
1
+ export * from './TokenService.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/token/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { TransactionSigner, MessageSigner } from '@solana/kit';
2
- import type { SolanaService } from './services/SolanaService.js';
2
+ import type { SolanaService } from './services/solana/index.js';
3
+ import type { TokenService } from './services/token/index.js';
3
4
  import { Logger } from './logger/Logger.js';
4
5
  /**
5
6
  * A wallet that can sign both messages and transactions.
@@ -13,5 +14,6 @@ export type Wallet = MessageSigner & TransactionSigner;
13
14
  export interface ProgramDeps {
14
15
  logger: Logger;
15
16
  solana: SolanaService;
17
+ nos: TokenService;
16
18
  getWallet: () => Wallet | undefined;
17
19
  }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * URL protocol constants
3
+ */
4
+ export declare const PROTOCOL: {
5
+ readonly HTTP: "http";
6
+ readonly HTTPS: "https";
7
+ readonly WS: "ws";
8
+ readonly WSS: "wss";
9
+ };
10
+ /**
11
+ * Converts an HTTP/HTTPS URL to a WebSocket URL (ws/wss).
12
+ * Replaces the protocol: http -> ws, https -> wss
13
+ *
14
+ * @param httpUrl The HTTP or HTTPS URL to convert
15
+ * @returns The WebSocket URL with the protocol replaced
16
+ * @throws NosanaError if the URL doesn't use HTTP/HTTPS protocol
17
+ * @throws TypeError if the URL is invalid
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * convertHttpToWebSocketUrl('https://api.mainnet-beta.solana.com')
22
+ * // Returns: 'wss://api.mainnet-beta.solana.com'
23
+ *
24
+ * convertHttpToWebSocketUrl('http://localhost:8899')
25
+ * // Returns: 'ws://localhost:8899'
26
+ * ```
27
+ */
28
+ export declare function convertHttpToWebSocketUrl(httpUrl: string): string;
@@ -0,0 +1,37 @@
1
+ import { NosanaError, ErrorCodes } from '../errors/NosanaError.js';
2
+ /**
3
+ * URL protocol constants
4
+ */
5
+ export const PROTOCOL = {
6
+ HTTP: 'http',
7
+ HTTPS: 'https',
8
+ WS: 'ws',
9
+ WSS: 'wss',
10
+ };
11
+ /**
12
+ * Converts an HTTP/HTTPS URL to a WebSocket URL (ws/wss).
13
+ * Replaces the protocol: http -> ws, https -> wss
14
+ *
15
+ * @param httpUrl The HTTP or HTTPS URL to convert
16
+ * @returns The WebSocket URL with the protocol replaced
17
+ * @throws NosanaError if the URL doesn't use HTTP/HTTPS protocol
18
+ * @throws TypeError if the URL is invalid
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * convertHttpToWebSocketUrl('https://api.mainnet-beta.solana.com')
23
+ * // Returns: 'wss://api.mainnet-beta.solana.com'
24
+ *
25
+ * convertHttpToWebSocketUrl('http://localhost:8899')
26
+ * // Returns: 'ws://localhost:8899'
27
+ * ```
28
+ */
29
+ export function convertHttpToWebSocketUrl(httpUrl) {
30
+ const url = new URL(httpUrl);
31
+ if (!url.protocol.match(/^https?:$/i)) {
32
+ throw new NosanaError(`Unsupported protocol: ${url.protocol}. Only HTTP and HTTPS are supported.`, ErrorCodes.VALIDATION_ERROR);
33
+ }
34
+ url.protocol = url.protocol.replace(PROTOCOL.HTTP, PROTOCOL.WS);
35
+ return url.toString();
36
+ }
37
+ //# sourceMappingURL=convertHttpToWebSocketUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertHttpToWebSocketUrl.js","sourceRoot":"","sources":["../../src/utils/convertHttpToWebSocketUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;CACF,CAAC;AAEX;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,WAAW,CACnB,yBAAyB,GAAG,CAAC,QAAQ,sCAAsC,EAC3E,UAAU,CAAC,gBAAgB,CAC5B,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Address } from '@solana/kit';
2
- import type { SolanaService } from '../services/SolanaService.js';
2
+ import type { SolanaService } from '../services/solana/index.js';
3
3
  import type { ProgramConfig } from '../config/types.js';
4
4
  export type StaticAccounts = {
5
5
  rewardsReflection: Address;
@@ -1,3 +1,4 @@
1
1
  export * from './convertBigIntToNumber.js';
2
+ export * from './convertHttpToWebSocketUrl.js';
2
3
  export * from './getStaticAccounts.js';
3
4
  export * from './walletToAuthorizationSigner.js';
@@ -1,5 +1,6 @@
1
1
  // Barrel export file - exports all utility functions and types
2
2
  export * from './convertBigIntToNumber.js';
3
+ export * from './convertHttpToWebSocketUrl.js';
3
4
  export * from './getStaticAccounts.js';
4
5
  export * from './walletToAuthorizationSigner.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@nosana/kit",
3
- "version": "2.0.18",
3
+ "version": "2.0.23",
4
4
  "description": "Nosana KIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "scripts": {
9
9
  "build": "tsc",
10
- "test": "vitest run",
11
- "test:coverage": "vitest run --coverage",
12
- "test:watch": "vitest",
10
+ "test": "NODE_NO_WARNINGS=1 vitest run",
11
+ "test:coverage": "NODE_NO_WARNINGS=1 vitest run --coverage",
12
+ "test:watch": "NODE_NO_WARNINGS=1 vitest",
13
13
  "generate-clients": "npx tsx scripts/generate-clients.ts",
14
14
  "lint": "eslint .",
15
15
  "lint:fix": "eslint . --fix",
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolanaService.js","sourceRoot":"","sources":["../../src/services/SolanaService.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { Address } from '@solana/kit';
2
- import { Logger } from '../logger/Logger.js';
3
- export interface TokenAccount {
4
- pubkey: Address;
5
- owner: Address;
6
- mint: Address;
7
- amount: bigint;
8
- decimals: number;
9
- }
10
- export interface TokenAccountWithBalance extends TokenAccount {
11
- uiAmount: number;
12
- }
13
- import type { SolanaService } from './SolanaService.js';
14
- /**
15
- * Dependencies for TokenService
16
- */
17
- export interface TokenServiceDeps {
18
- logger: Logger;
19
- solana: SolanaService;
20
- }
21
- /**
22
- * Config for TokenService
23
- */
24
- export interface TokenServiceConfig {
25
- tokenAddress: Address;
26
- }
27
- /**
28
- * TokenService interface
29
- */
30
- export interface TokenService {
31
- getAllTokenHolders(options?: {
32
- includeZeroBalance?: boolean;
33
- excludePdaAccounts?: boolean;
34
- }): Promise<TokenAccountWithBalance[]>;
35
- getTokenAccountForAddress(owner: string | Address): Promise<TokenAccountWithBalance | null>;
36
- getBalance(owner: string | Address): Promise<number>;
37
- }
38
- /**
39
- * Creates a TokenService instance.
40
- */
41
- export declare function createTokenService(deps: TokenServiceDeps, config: TokenServiceConfig): TokenService;
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenService.js","sourceRoot":"","sources":["../../src/services/TokenService.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- import { Address } from '@solana/kit';
2
- import type { ProgramDeps } from '../../types.js';
3
- import * as programClient from '../../generated_clients/jobs/index.js';
4
- import { ConvertTypesForDb } from '../../utils/index.js';
5
- export declare enum JobState {
6
- QUEUED = 0,
7
- RUNNING = 1,
8
- COMPLETED = 2,
9
- STOPPED = 3
10
- }
11
- export declare enum MarketQueueType {
12
- JOB_QUEUE = 0,
13
- NODE_QUEUE = 1
14
- }
15
- export type Job = Omit<ConvertTypesForDb<programClient.JobAccountArgs>, 'state'> & {
16
- address: Address;
17
- state: JobState;
18
- };
19
- export type Market = Omit<ConvertTypesForDb<programClient.MarketAccountArgs>, 'queueType'> & {
20
- address: Address;
21
- queueType: MarketQueueType;
22
- };
23
- export type Run = ConvertTypesForDb<programClient.RunAccountArgs> & {
24
- address: Address;
25
- };
26
- /**
27
- * Jobs program interface
28
- */
29
- export interface JobsProgram {
30
- /**
31
- * Fetch a job account by address
32
- */
33
- get(addr: Address, checkRun?: boolean): Promise<Job>;
34
- /**
35
- * Fetch a run account by address
36
- */
37
- run(addr: Address): Promise<Run>;
38
- /**
39
- * Fetch a market account by address
40
- */
41
- market(addr: Address): Promise<Market>;
42
- /**
43
- * Fetch multiple job accounts by address
44
- */
45
- multiple(addresses: Address[], checkRuns?: boolean): Promise<Job[]>;
46
- /**
47
- * Fetch all job accounts
48
- */
49
- all(filters?: {
50
- state?: JobState;
51
- market?: Address;
52
- node?: Address;
53
- project?: Address;
54
- }, checkRuns?: boolean): Promise<Job[]>;
55
- /**
56
- * Fetch all run accounts
57
- */
58
- runs(filters?: {
59
- node?: Address;
60
- job?: Address;
61
- }): Promise<Run[]>;
62
- /**
63
- * Fetch all market accounts
64
- */
65
- markets(): Promise<Market[]>;
66
- /**
67
- * Post a new job to the marketplace
68
- */
69
- post(params: {
70
- market: Address;
71
- timeout: number | bigint;
72
- ipfsHash: string;
73
- node?: Address;
74
- }): Promise<ReturnType<typeof programClient.getListInstruction>>;
75
- /**
76
- * Monitor program account updates using callback functions
77
- */
78
- monitor(options?: {
79
- onJobAccount?: (jobAccount: Job) => Promise<void> | void;
80
- onMarketAccount?: (marketAccount: Market) => Promise<void> | void;
81
- onRunAccount?: (runAccount: Run) => Promise<void> | void;
82
- onError?: (error: Error, accountType?: string) => Promise<void> | void;
83
- }): Promise<() => void>;
84
- }
85
- /**
86
- * Creates a new JobsProgram instance.
87
- *
88
- * @param deps - Program dependencies (config, logger, solana service, wallet getter)
89
- * @returns A JobsProgram instance with methods to interact with the jobs program
90
- *
91
- * @example
92
- * ```ts
93
- * import { createJobsProgram } from '@nosana/kit';
94
- *
95
- * const jobsProgram = createJobsProgram({
96
- * config,
97
- * logger,
98
- * solana,
99
- * getWallet,
100
- * });
101
- *
102
- * const job = await jobsProgram.get('job-address');
103
- * ```
104
- */
105
- import type { ProgramConfig } from '../../config/types.js';
106
- export declare function createJobsProgram(deps: ProgramDeps, config: ProgramConfig): JobsProgram;
@@ -1 +0,0 @@
1
- {"version":3,"file":"JobsProgram.js","sourceRoot":"","sources":["../../../src/services/programs/JobsProgram.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MerkleDistributorProgram.js","sourceRoot":"","sources":["../../../src/services/programs/MerkleDistributorProgram.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StakeProgram.js","sourceRoot":"","sources":["../../../src/services/programs/StakeProgram.ts"],"names":[],"mappings":"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"}