@nosana/kit 2.3.1 → 2.4.0

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 (45) hide show
  1. package/dist/index.d.ts +13 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/services/programs/jobs/JobsProgram.d.ts +146 -1
  6. package/dist/services/programs/jobs/JobsProgram.d.ts.map +1 -1
  7. package/dist/services/programs/jobs/JobsProgram.js +77 -0
  8. package/dist/services/programs/jobs/JobsProgram.js.map +1 -1
  9. package/dist/services/programs/jobs/computeUnits.d.ts +16 -0
  10. package/dist/services/programs/jobs/computeUnits.d.ts.map +1 -0
  11. package/dist/services/programs/jobs/computeUnits.generated.d.ts +39 -0
  12. package/dist/services/programs/jobs/computeUnits.generated.d.ts.map +1 -0
  13. package/dist/services/programs/jobs/computeUnits.generated.js +34 -0
  14. package/dist/services/programs/jobs/computeUnits.generated.js.map +1 -0
  15. package/dist/services/programs/jobs/computeUnits.js +20 -0
  16. package/dist/services/programs/jobs/computeUnits.js.map +1 -0
  17. package/dist/services/programs/jobs/decode.d.ts +29 -0
  18. package/dist/services/programs/jobs/decode.d.ts.map +1 -0
  19. package/dist/services/programs/jobs/decode.js +48 -0
  20. package/dist/services/programs/jobs/decode.js.map +1 -0
  21. package/dist/services/programs/jobs/discriminators.d.ts +21 -0
  22. package/dist/services/programs/jobs/discriminators.d.ts.map +1 -0
  23. package/dist/services/programs/jobs/discriminators.js +47 -0
  24. package/dist/services/programs/jobs/discriminators.js.map +1 -0
  25. package/dist/services/programs/jobs/index.d.ts +4 -0
  26. package/dist/services/programs/jobs/index.d.ts.map +1 -1
  27. package/dist/services/programs/jobs/index.js +4 -0
  28. package/dist/services/programs/jobs/index.js.map +1 -1
  29. package/dist/services/programs/jobs/instructions/complete.d.ts +1 -1
  30. package/dist/services/programs/jobs/instructions/complete.d.ts.map +1 -1
  31. package/dist/services/programs/jobs/instructions/complete.js +3 -3
  32. package/dist/services/programs/jobs/instructions/complete.js.map +1 -1
  33. package/dist/services/solana/SolanaService.d.ts +70 -0
  34. package/dist/services/solana/SolanaService.d.ts.map +1 -1
  35. package/dist/services/solana/SolanaService.js +115 -0
  36. package/dist/services/solana/SolanaService.js.map +1 -1
  37. package/dist/utils/index.d.ts +1 -0
  38. package/dist/utils/index.d.ts.map +1 -1
  39. package/dist/utils/index.js +1 -0
  40. package/dist/utils/index.js.map +1 -1
  41. package/dist/utils/packInstructions.d.ts +79 -0
  42. package/dist/utils/packInstructions.d.ts.map +1 -0
  43. package/dist/utils/packInstructions.js +110 -0
  44. package/dist/utils/packInstructions.js.map +1 -0
  45. package/package.json +2 -2
@@ -0,0 +1,29 @@
1
+ import type { Address, Instruction } from '@solana/kit';
2
+ import type { JobsInstructionName } from './computeUnits.generated.js';
3
+ /** A decoded jobs instruction: its name plus its labelled accounts and arguments. */
4
+ export interface DecodedJobsInstruction {
5
+ /** The jobs instruction name (e.g. `'list'`, `'delist'`). */
6
+ name: JobsInstructionName;
7
+ /**
8
+ * The instruction's accounts keyed by their program-defined role name
9
+ * (e.g. `accounts.job`, `accounts.run`, `accounts.market`).
10
+ */
11
+ accounts: Record<string, Address>;
12
+ /** The decoded instruction arguments (values may include `bigint`). */
13
+ data: Record<string, unknown>;
14
+ }
15
+ /**
16
+ * Decode a jobs instruction into its name and labelled accounts/arguments.
17
+ *
18
+ * This is what lets a bulk `sendBatch` caller recover the accounts an instruction
19
+ * created or acted on — for example the freshly generated `job` and `run`
20
+ * addresses of a `list` — without threading that state through by hand. Account
21
+ * keys match the program's account names.
22
+ *
23
+ * @param instruction The instruction to decode.
24
+ * @returns The decoded instruction, or `undefined` if it is not a recognised
25
+ * jobs instruction (or cannot be decoded).
26
+ * @group @nosana/kit
27
+ */
28
+ export declare function decodeJobsInstruction(instruction: Instruction): DecodedJobsInstruction | undefined;
29
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../../../src/services/programs/jobs/decode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAexD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,qFAAqF;AACrF,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AA0BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,GACvB,sBAAsB,GAAG,SAAS,CAapC"}
@@ -0,0 +1,48 @@
1
+ import { parseAssignInstruction, parseCloseInstruction, parseCompleteInstruction, parseDelistInstruction, parseEndInstruction, parseExtendInstruction, parseFinishInstruction, parseListInstruction, parseOpenInstruction, parseQuitInstruction, parseStopInstruction, parseWorkInstruction, } from '@nosana/jobs-program';
2
+ import { getJobsInstructionName } from './discriminators.js';
3
+ // name -> generated parser. The casts bridge each parser's specific generic
4
+ // signature to a uniform one; we only ever call the parser matched by name.
5
+ const PARSERS = {
6
+ open: parseOpenInstruction,
7
+ list: parseListInstruction,
8
+ assign: parseAssignInstruction,
9
+ work: parseWorkInstruction,
10
+ complete: parseCompleteInstruction,
11
+ finish: parseFinishInstruction,
12
+ quit: parseQuitInstruction,
13
+ stop: parseStopInstruction,
14
+ extend: parseExtendInstruction,
15
+ delist: parseDelistInstruction,
16
+ close: parseCloseInstruction,
17
+ end: parseEndInstruction,
18
+ };
19
+ /**
20
+ * Decode a jobs instruction into its name and labelled accounts/arguments.
21
+ *
22
+ * This is what lets a bulk `sendBatch` caller recover the accounts an instruction
23
+ * created or acted on — for example the freshly generated `job` and `run`
24
+ * addresses of a `list` — without threading that state through by hand. Account
25
+ * keys match the program's account names.
26
+ *
27
+ * @param instruction The instruction to decode.
28
+ * @returns The decoded instruction, or `undefined` if it is not a recognised
29
+ * jobs instruction (or cannot be decoded).
30
+ * @group @nosana/kit
31
+ */
32
+ export function decodeJobsInstruction(instruction) {
33
+ const name = getJobsInstructionName(instruction);
34
+ if (!name)
35
+ return undefined;
36
+ try {
37
+ const parsed = PARSERS[name](instruction);
38
+ const accounts = {};
39
+ for (const [role, meta] of Object.entries(parsed.accounts)) {
40
+ accounts[role] = meta.address;
41
+ }
42
+ return { name, accounts, data: parsed.data };
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ }
48
+ //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/decode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAsB7D,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAM,OAAO,GAAmD;IAC9D,IAAI,EAAE,oBAAoD;IAC1D,IAAI,EAAE,oBAAoD;IAC1D,MAAM,EAAE,sBAAsD;IAC9D,IAAI,EAAE,oBAAoD;IAC1D,QAAQ,EAAE,wBAAwD;IAClE,MAAM,EAAE,sBAAsD;IAC9D,IAAI,EAAE,oBAAoD;IAC1D,IAAI,EAAE,oBAAoD;IAC1D,MAAM,EAAE,sBAAsD;IAC9D,MAAM,EAAE,sBAAsD;IAC9D,KAAK,EAAE,qBAAqD;IAC5D,GAAG,EAAE,mBAAmD;CACzD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAwB;IAExB,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type Instruction, type ReadonlyUint8Array } from '@solana/kit';
2
+ import type { JobsInstructionName } from './computeUnits.generated.js';
3
+ /** The number of leading bytes that make up an Anchor instruction discriminator. */
4
+ export declare const DISCRIMINATOR_LENGTH = 8;
5
+ /** The 8-byte Anchor discriminator for each named jobs instruction. */
6
+ export declare const DISCRIMINATORS: Record<JobsInstructionName, ReadonlyUint8Array>;
7
+ /** Hex-encode the first {@link DISCRIMINATOR_LENGTH} bytes of a byte array. */
8
+ export declare function discriminatorHex(bytes: ReadonlyUint8Array): string;
9
+ /**
10
+ * Identify a jobs instruction by matching its 8-byte Anchor discriminator.
11
+ *
12
+ * Works on any raw {@link Instruction} regardless of how it was built, so it can
13
+ * identify instructions in a mixed batch. Returns `undefined` for instructions
14
+ * that are not recognised jobs instructions.
15
+ *
16
+ * @param instruction The instruction to identify.
17
+ * @returns The jobs instruction name, or `undefined` if unrecognised.
18
+ * @group @nosana/kit
19
+ */
20
+ export declare function getJobsInstructionName(instruction: Instruction): JobsInstructionName | undefined;
21
+ //# sourceMappingURL=discriminators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discriminators.d.ts","sourceRoot":"","sources":["../../../../src/services/programs/jobs/discriminators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAe1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,uEAAuE;AACvE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAa1E,CAAC;AAIF,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAElE;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,CAIhG"}
@@ -0,0 +1,47 @@
1
+ import { getBase16Decoder } from '@solana/kit';
2
+ import { ASSIGN_DISCRIMINATOR, CLOSE_DISCRIMINATOR, COMPLETE_DISCRIMINATOR, DELIST_DISCRIMINATOR, END_DISCRIMINATOR, EXTEND_DISCRIMINATOR, FINISH_DISCRIMINATOR, LIST_DISCRIMINATOR, OPEN_DISCRIMINATOR, QUIT_DISCRIMINATOR, STOP_DISCRIMINATOR, WORK_DISCRIMINATOR, } from '@nosana/jobs-program';
3
+ /** The number of leading bytes that make up an Anchor instruction discriminator. */
4
+ export const DISCRIMINATOR_LENGTH = 8;
5
+ /** The 8-byte Anchor discriminator for each named jobs instruction. */
6
+ export const DISCRIMINATORS = {
7
+ open: OPEN_DISCRIMINATOR,
8
+ list: LIST_DISCRIMINATOR,
9
+ assign: ASSIGN_DISCRIMINATOR,
10
+ work: WORK_DISCRIMINATOR,
11
+ complete: COMPLETE_DISCRIMINATOR,
12
+ finish: FINISH_DISCRIMINATOR,
13
+ quit: QUIT_DISCRIMINATOR,
14
+ stop: STOP_DISCRIMINATOR,
15
+ extend: EXTEND_DISCRIMINATOR,
16
+ delist: DELIST_DISCRIMINATOR,
17
+ close: CLOSE_DISCRIMINATOR,
18
+ end: END_DISCRIMINATOR,
19
+ };
20
+ const base16 = getBase16Decoder();
21
+ /** Hex-encode the first {@link DISCRIMINATOR_LENGTH} bytes of a byte array. */
22
+ export function discriminatorHex(bytes) {
23
+ return base16.decode(bytes.slice(0, DISCRIMINATOR_LENGTH));
24
+ }
25
+ // hex(discriminator) -> instruction name, built once from the table above.
26
+ const NAME_BY_DISCRIMINATOR = new Map(Object.keys(DISCRIMINATORS).map((name) => [
27
+ discriminatorHex(DISCRIMINATORS[name]),
28
+ name,
29
+ ]));
30
+ /**
31
+ * Identify a jobs instruction by matching its 8-byte Anchor discriminator.
32
+ *
33
+ * Works on any raw {@link Instruction} regardless of how it was built, so it can
34
+ * identify instructions in a mixed batch. Returns `undefined` for instructions
35
+ * that are not recognised jobs instructions.
36
+ *
37
+ * @param instruction The instruction to identify.
38
+ * @returns The jobs instruction name, or `undefined` if unrecognised.
39
+ * @group @nosana/kit
40
+ */
41
+ export function getJobsInstructionName(instruction) {
42
+ const data = instruction.data;
43
+ if (!data || data.length < DISCRIMINATOR_LENGTH)
44
+ return undefined;
45
+ return NAME_BY_DISCRIMINATOR.get(discriminatorHex(data));
46
+ }
47
+ //# sourceMappingURL=discriminators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discriminators.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/discriminators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6C,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,oFAAoF;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAoD;IAC7E,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,MAAM,EAAE,oBAAoB;IAC5B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,GAAG,EAAE,iBAAiB;CACvB,CAAC;AAEF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;AAElC,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAClC,MAAM,CAAC,IAAI,CAAC,cAAc,CAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACnE,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI;CACL,CAAC,CACH,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAwB;IAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,oBAAoB;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,2 +1,6 @@
1
1
  export * from './JobsProgram.js';
2
+ export { getJobsInstructionComputeUnits } from './computeUnits.js';
3
+ export { getJobsInstructionName } from './discriminators.js';
4
+ export { decodeJobsInstruction, type DecodedJobsInstruction } from './decode.js';
5
+ export { JOBS_COMPUTE_UNITS, type JobsInstructionName } from './computeUnits.generated.js';
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/programs/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/programs/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,2 +1,6 @@
1
1
  export * from './JobsProgram.js';
2
+ export { getJobsInstructionComputeUnits } from './computeUnits.js';
3
+ export { getJobsInstructionName } from './discriminators.js';
4
+ export { decodeJobsInstruction } from './decode.js';
5
+ export { JOBS_COMPUTE_UNITS } from './computeUnits.generated.js';
2
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/programs/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAA+B,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAA4B,MAAM,6BAA6B,CAAC"}
@@ -7,5 +7,5 @@ export type CompleteParams = {
7
7
  };
8
8
  export type CompleteInstruction = ReturnType<typeof getCompleteInstruction>;
9
9
  export type Complete = (params: CompleteParams) => Promise<CompleteInstruction>;
10
- export declare function complete({ job, ipfsResultsHash }: CompleteParams, { client, get, getRequiredWallet }: InstructionsHelperParams): Promise<CompleteInstruction>;
10
+ export declare function complete({ job, ipfsResultsHash }: CompleteParams, { client, get, getRequiredWallet, getStaticAccounts }: InstructionsHelperParams): Promise<CompleteInstruction>;
11
11
  //# sourceMappingURL=complete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/complete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEhF,wBAAsB,QAAQ,CAC5B,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,cAAc,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,wBAAwB,GAC3D,OAAO,CAAC,mBAAmB,CAAC,CAkB9B"}
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/complete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEhF,wBAAsB,QAAQ,CAC5B,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,cAAc,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,wBAAwB,GAC9E,OAAO,CAAC,mBAAmB,CAAC,CAqB9B"}
@@ -1,8 +1,8 @@
1
1
  import { ipfsHashToSolBytesArray } from '@nosana/ipfs';
2
2
  import { JobState } from '../JobsProgram.js';
3
- export async function complete({ job, ipfsResultsHash }, { client, get, getRequiredWallet }) {
3
+ export async function complete({ job, ipfsResultsHash }, { client, get, getRequiredWallet, getStaticAccounts }) {
4
4
  const wallet = getRequiredWallet();
5
- const jobAccount = await get(job);
5
+ const [jobAccount, { jobsProgram }] = await Promise.all([get(job), getStaticAccounts()]);
6
6
  if (jobAccount.state !== JobState.COMPLETED)
7
7
  throw new Error(`Cannot complete a job that is not in state COMPLETED. Current state: ${JobState[jobAccount.state]}`);
8
8
  if (jobAccount.ipfsResult !== null) {
@@ -12,6 +12,6 @@ export async function complete({ job, ipfsResultsHash }, { client, get, getRequi
12
12
  job,
13
13
  ipfsResult: new Uint8Array(ipfsHashToSolBytesArray(ipfsResultsHash)),
14
14
  authority: wallet,
15
- });
15
+ }, { programAddress: jobsProgram });
16
16
  }
17
17
  //# sourceMappingURL=complete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAW7C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAE,GAAG,EAAE,eAAe,EAAkB,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAA4B;IAE5D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS;QACzC,MAAM,IAAI,KAAK,CACb,wEAAwE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;IAEJ,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC,sBAAsB,CAAC;QACnC,GAAG;QACH,UAAU,EAAE,IAAI,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACpE,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../../../../../src/services/programs/jobs/instructions/complete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAIvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAW7C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAE,GAAG,EAAE,eAAe,EAAkB,EACxC,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,iBAAiB,EAA4B;IAE/E,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAEzF,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS;QACzC,MAAM,IAAI,KAAK,CACb,wEAAwE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;IAEJ,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,MAAM,CAAC,sBAAsB,CAClC;QACE,GAAG;QACH,UAAU,EAAE,IAAI,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACpE,SAAS,EAAE,MAAM;KAClB,EACD,EAAE,cAAc,EAAE,WAAW,EAAE,CAChC,CAAC;AACJ,CAAC"}
@@ -30,6 +30,31 @@ export interface BalanceInfo {
30
30
  export interface SolBalanceInfo extends BalanceInfo {
31
31
  mint: 'SOL';
32
32
  }
33
+ /**
34
+ * Result of sending a single transaction within a batch.
35
+ * @group @nosana/kit
36
+ */
37
+ export interface BatchTransactionResult {
38
+ /** Whether the transaction was sent and confirmed successfully. */
39
+ status: 'fulfilled' | 'rejected';
40
+ /** Convenience flag: `true` when `status` is `'fulfilled'`. */
41
+ confirmed: boolean;
42
+ /** The transaction signature, present when `status` is `'fulfilled'`. */
43
+ signature?: Signature;
44
+ /** The error that occurred, present when `status` is `'rejected'`. */
45
+ error?: unknown;
46
+ /** The instructions that made up this transaction (the packed bucket). */
47
+ instructions: Instruction[];
48
+ /**
49
+ * The indices of the original `groups` this transaction carried, in order — the
50
+ * bridge back from a per-transaction result to the per-group input you submitted.
51
+ * For example `groupIndices: [6, 7]` means this transaction packed `groups[6]`
52
+ * and `groups[7]`, so both share this transaction's `status`/`signature`/`error`.
53
+ * When every group is a single instruction, `groupIndices[k]` corresponds to
54
+ * `instructions[k]`.
55
+ */
56
+ groupIndices: number[];
57
+ }
33
58
  /**
34
59
  * Solana service interface
35
60
  * @group @nosana/kit
@@ -91,6 +116,51 @@ export interface SolanaService {
91
116
  commitment?: 'processed' | 'confirmed' | 'finalized';
92
117
  estimateComputeUnits?: boolean;
93
118
  }): Promise<Signature>;
119
+ /**
120
+ * Pack instruction groups into the fewest transactions that each stay within the
121
+ * Solana transaction size limit, then build, sign, and send all of them.
122
+ *
123
+ * Each entry of `groups` is an *atomic group*: a single instruction, or an array
124
+ * of instructions that must stay together in the same transaction. Groups are
125
+ * never split across transactions; they are greedily packed into buckets sized by
126
+ * compiling each candidate transaction in-memory (no extra RPC calls).
127
+ *
128
+ * Unless `estimateComputeUnits` is set, each transaction gets an explicit
129
+ * `SetComputeUnitLimit` equal to the sum of its instructions' estimated compute
130
+ * units (from `computeUnits`), capped at the 1.4M per-transaction maximum. This
131
+ * keeps priority fees — which are charged against the compute-unit limit — tight
132
+ * instead of being billed against Solana's inflated per-instruction default.
133
+ *
134
+ * All transactions are attempted regardless of individual failures — the returned
135
+ * array reports the per-transaction outcome in input order.
136
+ *
137
+ * @param groups Atomic instruction groups to bulk together.
138
+ * @param options Optional configuration.
139
+ * @param options.feePayer Optional fee payer signer. Defaults to the service feePayer or wallet.
140
+ * @param options.commitment Commitment level for confirmation.
141
+ * @param options.computeUnits Per-instruction compute-unit estimate: a fixed number for
142
+ * every instruction, or a function mapping an instruction to its units (return undefined
143
+ * to fall back to the default). Used to set each transaction's compute-unit limit and to
144
+ * bound packing. Defaults to Solana's per-instruction default.
145
+ * @param options.maxComputeUnits Per-transaction compute-unit cap. Defaults to 1,400,000.
146
+ * @param options.estimateComputeUnits If true, estimates the compute unit limit per transaction
147
+ * via simulation instead of the static `computeUnits` estimate. Default: false.
148
+ * @param options.maxTransactionSize Override the maximum serialized transaction size in bytes.
149
+ * @param options.sequential If true, sends transactions one at a time, confirming each before the
150
+ * next. Combined with `estimateComputeUnits`, this makes each simulation reflect the chain
151
+ * state left by the prior transactions (e.g. a market queue that grows or shrinks across the
152
+ * batch). Default: false (all transactions are sent concurrently).
153
+ * @returns A per-transaction result array, in the order the buckets were packed.
154
+ */
155
+ buildSignAndSendBatch(groups: Array<Instruction | Instruction[]>, options?: {
156
+ feePayer?: TransactionSigner;
157
+ commitment?: 'processed' | 'confirmed' | 'finalized';
158
+ computeUnits?: number | ((instruction: Instruction) => number | undefined);
159
+ maxComputeUnits?: number;
160
+ estimateComputeUnits?: boolean;
161
+ maxTransactionSize?: number;
162
+ sequential?: boolean;
163
+ }): Promise<BatchTransactionResult[]>;
94
164
  /**
95
165
  * Partially sign a transaction message with the signers embedded in the transaction.
96
166
  * The transaction message must already have a fee payer address set (via buildTransaction with an address).
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaService.d.ts","sourceRoot":"","sources":["../../../src/services/solana/SolanaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaService.d.ts","sourceRoot":"","sources":["../../../src/services/solana/SolanaService.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,16 @@ import { SYSTEM_PROGRAM_ADDRESS, getTransferSolInstruction } from '@solana-progr
5
5
  import { NosanaError, ErrorCodes } from '../../errors/NosanaError.js';
6
6
  import { convertHttpToWebSocketUrl } from '../../utils/convertHttpToWebSocketUrl.js';
7
7
  import { resolveAddressOrWallet } from '../../utils/resolveAddressOrWallet.js';
8
+ import { packInstructions, MAX_COMPUTE_UNITS } from '../../utils/packInstructions.js';
8
9
  import { resolvePriorityFeeMicroLamports } from './priorityFees.js';
9
10
  const SOL_DECIMALS = 9;
11
+ /**
12
+ * Compute units assumed for an instruction whose cost is unknown to the batch
13
+ * sender (no `computeUnits` estimate provided, or an estimator returned
14
+ * undefined). Matches Solana's own per-instruction default, so a transaction is
15
+ * never under-provisioned.
16
+ */
17
+ const DEFAULT_INSTRUCTION_COMPUTE_UNITS = 200000;
10
18
  /**
11
19
  * Factory function to create an estimateAndSetComputeUnitLimit function
12
20
  * that estimates compute units and adds the set compute unit limit instruction
@@ -269,6 +277,113 @@ export function createSolanaService(deps, config) {
269
277
  const signedTransaction = await this.signTransaction(transactionMessage);
270
278
  return await this.sendTransaction(signedTransaction, { commitment: options?.commitment });
271
279
  },
280
+ /**
281
+ * Pack instruction groups into the fewest size-bounded transactions, then build,
282
+ * sign, and send all of them, reporting each transaction's outcome.
283
+ *
284
+ * See the interface documentation for details.
285
+ */
286
+ async buildSignAndSendBatch(groups, options) {
287
+ // Resolve the fee payer so size measurement accounts for account dedup accurately.
288
+ const transactionFeePayer = options?.feePayer ?? feePayer ?? deps.getWallet();
289
+ if (!transactionFeePayer) {
290
+ throw new NosanaError('No wallet found and no feePayer provided', ErrorCodes.NO_WALLET);
291
+ }
292
+ // Per-instruction compute-unit estimate, with a safe fallback for unknown instructions.
293
+ const cuOption = options?.computeUnits;
294
+ const resolveComputeUnits = typeof cuOption === 'function'
295
+ ? (ix) => cuOption(ix) ?? DEFAULT_INSTRUCTION_COMPUTE_UNITS
296
+ : () => cuOption ?? DEFAULT_INSTRUCTION_COMPUTE_UNITS;
297
+ // Never exceed Solana's hard per-transaction cap, even if a larger value is passed.
298
+ const maxCU = Math.min(options?.maxComputeUnits ?? MAX_COMPUTE_UNITS, MAX_COMPUTE_UNITS);
299
+ // Set the compute-unit limit statically unless the caller opts into simulation.
300
+ const useStaticLimit = options?.estimateComputeUnits !== true;
301
+ // Reserve headroom for the compute-budget / priority-fee instructions that
302
+ // buildTransaction prepends to every transaction, so a packed bucket can never
303
+ // overflow once those are added. Values are placeholders — only their size matters.
304
+ const reservedInstructions = [
305
+ getSetComputeUnitPriceInstruction({ microLamports: 0n }),
306
+ getSetComputeUnitLimitInstruction({ units: 0 }),
307
+ ];
308
+ const buckets = packInstructions(groups, {
309
+ feePayer: transactionFeePayer.address,
310
+ reservedInstructions,
311
+ maxTransactionSize: options?.maxTransactionSize,
312
+ // Bound packing by compute units only when we set the limit statically.
313
+ computeUnits: useStaticLimit ? resolveComputeUnits : undefined,
314
+ maxComputeUnits: maxCU,
315
+ });
316
+ // packInstructions preserves instruction object identity, so map each
317
+ // instruction reference back to the index of the group it came from. This
318
+ // lets every per-transaction result report which submitted groups it carried.
319
+ const groupIndexByInstruction = new Map();
320
+ groups.forEach((group, index) => {
321
+ for (const instruction of Array.isArray(group) ? group : [group]) {
322
+ if (!groupIndexByInstruction.has(instruction)) {
323
+ groupIndexByInstruction.set(instruction, index);
324
+ }
325
+ }
326
+ });
327
+ const groupIndicesOf = (bucket) => {
328
+ const indices = [];
329
+ const seen = new Set();
330
+ for (const instruction of bucket) {
331
+ const index = groupIndexByInstruction.get(instruction);
332
+ if (index !== undefined && !seen.has(index)) {
333
+ seen.add(index);
334
+ indices.push(index);
335
+ }
336
+ }
337
+ return indices;
338
+ };
339
+ // Build, sign, and send one packed bucket as a single transaction.
340
+ const sendBucket = async (bucket) => {
341
+ // Prepend an explicit, tight compute-unit limit so priority fees stay accurate.
342
+ const instructions = useStaticLimit
343
+ ? [
344
+ getSetComputeUnitLimitInstruction({
345
+ units: Math.min(bucket.reduce((sum, ix) => sum + resolveComputeUnits(ix), 0), maxCU),
346
+ }),
347
+ ...bucket,
348
+ ]
349
+ : bucket;
350
+ const transactionMessage = await this.buildTransaction(instructions, {
351
+ feePayer: options?.feePayer,
352
+ estimateComputeUnits: options?.estimateComputeUnits,
353
+ });
354
+ const signedTransaction = await this.signTransaction(transactionMessage);
355
+ return this.sendTransaction(signedTransaction, { commitment: options?.commitment });
356
+ };
357
+ const toResult = (bucket, outcome) => ({
358
+ instructions: bucket,
359
+ status: outcome.error === undefined ? 'fulfilled' : 'rejected',
360
+ confirmed: outcome.error === undefined,
361
+ signature: outcome.signature,
362
+ error: outcome.error,
363
+ groupIndices: groupIndicesOf(bucket),
364
+ });
365
+ // Attempt every transaction; a failure in one does not stop the others.
366
+ if (options?.sequential) {
367
+ // Send one at a time, confirming each before the next. When compute units
368
+ // are estimated by simulation, this makes each estimate reflect the true
369
+ // chain state produced by the prior transactions (e.g. a queue that grows
370
+ // or shrinks across the batch), which concurrent sending cannot.
371
+ const results = [];
372
+ for (const bucket of buckets) {
373
+ try {
374
+ results.push(toResult(bucket, { signature: await sendBucket(bucket) }));
375
+ }
376
+ catch (error) {
377
+ results.push(toResult(bucket, { error }));
378
+ }
379
+ }
380
+ return results;
381
+ }
382
+ const settled = await Promise.allSettled(buckets.map(sendBucket));
383
+ return settled.map((result, index) => result.status === 'fulfilled'
384
+ ? toResult(buckets[index], { signature: result.value })
385
+ : toResult(buckets[index], { error: result.reason }));
386
+ },
272
387
  /**
273
388
  * Get an instruction to transfer SOL from one address to another.
274
389
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaService.js","sourceRoot":"","sources":["../../../src/services/solana/SolanaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaService.js","sourceRoot":"","sources":["../../../src/services/solana/SolanaService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './convertBigIntToNumber.js';
2
2
  export * from './convertHttpToWebSocketUrl.js';
3
3
  export * from './getStaticAccounts.js';
4
+ export * from './packInstructions.js';
4
5
  export * from './resolveAddressOrWallet.js';
5
6
  export * from './walletToAuthorizationSigner.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  export * from './convertBigIntToNumber.js';
3
3
  export * from './convertHttpToWebSocketUrl.js';
4
4
  export * from './getStaticAccounts.js';
5
+ export * from './packInstructions.js';
5
6
  export * from './resolveAddressOrWallet.js';
6
7
  export * from './walletToAuthorizationSigner.js';
7
8
  //# 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,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,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,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}