@nosana/jobs-program 2.14.1 → 2.23.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 (73) hide show
  1. package/dist/accounts/index.d.ts +1 -0
  2. package/dist/accounts/index.d.ts.map +1 -1
  3. package/dist/accounts/index.js +1 -0
  4. package/dist/accounts/jobAccount.d.ts +0 -1
  5. package/dist/accounts/jobAccount.d.ts.map +1 -1
  6. package/dist/accounts/marketAccount.d.ts +0 -1
  7. package/dist/accounts/marketAccount.d.ts.map +1 -1
  8. package/dist/accounts/marketSettingsAccount.d.ts +31 -0
  9. package/dist/accounts/marketSettingsAccount.d.ts.map +1 -0
  10. package/dist/accounts/marketSettingsAccount.js +59 -0
  11. package/dist/accounts/runAccount.d.ts +0 -1
  12. package/dist/accounts/runAccount.d.ts.map +1 -1
  13. package/dist/errors/nosanaJobs.d.ts +27 -17
  14. package/dist/errors/nosanaJobs.d.ts.map +1 -1
  15. package/dist/errors/nosanaJobs.js +31 -16
  16. package/dist/instructions/assign.d.ts +43 -5
  17. package/dist/instructions/assign.d.ts.map +1 -1
  18. package/dist/instructions/assign.js +105 -3
  19. package/dist/instructions/cleanAdmin.d.ts +2 -2
  20. package/dist/instructions/cleanAdmin.d.ts.map +1 -1
  21. package/dist/instructions/cleanAdmin.js +5 -0
  22. package/dist/instructions/close.d.ts +19 -4
  23. package/dist/instructions/close.d.ts.map +1 -1
  24. package/dist/instructions/close.js +54 -3
  25. package/dist/instructions/closeAdmin.d.ts +20 -5
  26. package/dist/instructions/closeAdmin.d.ts.map +1 -1
  27. package/dist/instructions/closeAdmin.js +62 -3
  28. package/dist/instructions/closeSettings.d.ts +57 -0
  29. package/dist/instructions/closeSettings.d.ts.map +1 -0
  30. package/dist/instructions/closeSettings.js +105 -0
  31. package/dist/instructions/extend.d.ts +2 -2
  32. package/dist/instructions/extend.d.ts.map +1 -1
  33. package/dist/instructions/extend.js +4 -0
  34. package/dist/instructions/index.d.ts +2 -1
  35. package/dist/instructions/index.d.ts.map +1 -1
  36. package/dist/instructions/index.js +2 -1
  37. package/dist/instructions/list.d.ts +42 -5
  38. package/dist/instructions/list.d.ts.map +1 -1
  39. package/dist/instructions/list.js +103 -3
  40. package/dist/instructions/open.d.ts +20 -2
  41. package/dist/instructions/open.d.ts.map +1 -1
  42. package/dist/instructions/open.js +65 -2
  43. package/dist/instructions/quitAdmin.d.ts +2 -2
  44. package/dist/instructions/quitAdmin.d.ts.map +1 -1
  45. package/dist/instructions/quitAdmin.js +5 -0
  46. package/dist/instructions/setSettings.d.ts +67 -0
  47. package/dist/instructions/setSettings.d.ts.map +1 -0
  48. package/dist/instructions/setSettings.js +132 -0
  49. package/dist/programs/nosanaJobs.d.ts +42 -38
  50. package/dist/programs/nosanaJobs.d.ts.map +1 -1
  51. package/dist/programs/nosanaJobs.js +52 -44
  52. package/dist/types/index.d.ts +2 -3
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/index.js +2 -3
  55. package/dist/types/reflectionAccount.d.ts +27 -0
  56. package/dist/types/reflectionAccount.d.ts.map +1 -0
  57. package/dist/types/reflectionAccount.js +29 -0
  58. package/dist/types/stakeAccount.d.ts +31 -0
  59. package/dist/types/stakeAccount.d.ts.map +1 -0
  60. package/dist/types/stakeAccount.js +33 -0
  61. package/package.json +2 -2
  62. package/dist/instructions/claim.d.ts +0 -73
  63. package/dist/instructions/claim.d.ts.map +0 -1
  64. package/dist/instructions/claim.js +0 -103
  65. package/dist/types/jobState.d.ts +0 -20
  66. package/dist/types/jobState.d.ts.map +0 -1
  67. package/dist/types/jobState.js +0 -23
  68. package/dist/types/jobType.d.ts +0 -23
  69. package/dist/types/jobType.d.ts.map +0 -1
  70. package/dist/types/jobType.js +0 -26
  71. package/dist/types/queueType.d.ts +0 -20
  72. package/dist/types/queueType.d.ts.map +0 -1
  73. package/dist/types/queueType.js +0 -23
@@ -5,9 +5,8 @@
5
5
  *
6
6
  * @see https://github.com/codama-idl/codama
7
7
  */
8
- import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
8
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressEncoder, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
9
9
  import { NOSANA_JOBS_PROGRAM_ADDRESS } from "../programs/index.js";
10
- import { getAccountMetaFactory } from "../shared/index.js";
11
10
  export const ASSIGN_INSTRUCTION_ACCOUNTS = {
12
11
  job: 0,
13
12
  market: 1,
@@ -22,7 +21,11 @@ export const ASSIGN_INSTRUCTION_ACCOUNTS = {
22
21
  rewardsProgram: 10,
23
22
  tokenProgram: 11,
24
23
  systemProgram: 12,
24
+ marketSettings: 13,
25
+ projectNft: 14,
26
+ projectMetadata: 15,
25
27
  };
28
+ import { expectAddress, getAccountMetaFactory, } from "../shared/index.js";
26
29
  export const ASSIGN_DISCRIMINATOR = new Uint8Array([
27
30
  73, 66, 125, 203, 81, 41, 64, 135,
28
31
  ]);
@@ -46,6 +49,83 @@ export function getAssignInstructionDataDecoder() {
46
49
  export function getAssignInstructionDataCodec() {
47
50
  return combineCodec(getAssignInstructionDataEncoder(), getAssignInstructionDataDecoder());
48
51
  }
52
+ export async function getAssignInstructionAsync(input, config) {
53
+ // Program address.
54
+ const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
55
+ // Original accounts.
56
+ const originalAccounts = {
57
+ job: { value: input.job ?? null, isWritable: true },
58
+ market: { value: input.market ?? null, isWritable: true },
59
+ run: { value: input.run ?? null, isWritable: true },
60
+ node: { value: input.node ?? null, isWritable: false },
61
+ user: { value: input.user ?? null, isWritable: true },
62
+ vault: { value: input.vault ?? null, isWritable: true },
63
+ payer: { value: input.payer ?? null, isWritable: true },
64
+ rewardsReflection: {
65
+ value: input.rewardsReflection ?? null,
66
+ isWritable: true,
67
+ },
68
+ rewardsVault: { value: input.rewardsVault ?? null, isWritable: true },
69
+ authority: { value: input.authority ?? null, isWritable: false },
70
+ rewardsProgram: { value: input.rewardsProgram ?? null, isWritable: false },
71
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
72
+ systemProgram: { value: input.systemProgram ?? null, isWritable: false },
73
+ marketSettings: { value: input.marketSettings ?? null, isWritable: false },
74
+ projectNft: { value: input.projectNft ?? null, isWritable: false },
75
+ projectMetadata: {
76
+ value: input.projectMetadata ?? null,
77
+ isWritable: false,
78
+ },
79
+ };
80
+ const accounts = originalAccounts;
81
+ // Original args.
82
+ const args = { ...input };
83
+ // Resolve default values.
84
+ if (!accounts.rewardsProgram.value) {
85
+ accounts.rewardsProgram.value =
86
+ "nosRB8DUV67oLNrL45bo2pFLrmsWPiewe2Lk2DRNYCp";
87
+ }
88
+ if (!accounts.tokenProgram.value) {
89
+ accounts.tokenProgram.value =
90
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
91
+ }
92
+ if (!accounts.systemProgram.value) {
93
+ accounts.systemProgram.value =
94
+ "11111111111111111111111111111111";
95
+ }
96
+ if (!accounts.marketSettings.value) {
97
+ accounts.marketSettings.value = await getProgramDerivedAddress({
98
+ programAddress,
99
+ seeds: [
100
+ getBytesEncoder().encode(new Uint8Array([115, 101, 116, 116, 105, 110, 103, 115])),
101
+ getAddressEncoder().encode(expectAddress(accounts.market.value)),
102
+ ],
103
+ });
104
+ }
105
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
106
+ return Object.freeze({
107
+ accounts: [
108
+ getAccountMeta(accounts.job),
109
+ getAccountMeta(accounts.market),
110
+ getAccountMeta(accounts.run),
111
+ getAccountMeta(accounts.node),
112
+ getAccountMeta(accounts.user),
113
+ getAccountMeta(accounts.vault),
114
+ getAccountMeta(accounts.payer),
115
+ getAccountMeta(accounts.rewardsReflection),
116
+ getAccountMeta(accounts.rewardsVault),
117
+ getAccountMeta(accounts.authority),
118
+ getAccountMeta(accounts.rewardsProgram),
119
+ getAccountMeta(accounts.tokenProgram),
120
+ getAccountMeta(accounts.systemProgram),
121
+ getAccountMeta(accounts.marketSettings),
122
+ getAccountMeta(accounts.projectNft),
123
+ getAccountMeta(accounts.projectMetadata),
124
+ ],
125
+ data: getAssignInstructionDataEncoder().encode(args),
126
+ programAddress,
127
+ });
128
+ }
49
129
  export function getAssignInstruction(input, config) {
50
130
  // Program address.
51
131
  const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
@@ -67,11 +147,21 @@ export function getAssignInstruction(input, config) {
67
147
  rewardsProgram: { value: input.rewardsProgram ?? null, isWritable: false },
68
148
  tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
69
149
  systemProgram: { value: input.systemProgram ?? null, isWritable: false },
150
+ marketSettings: { value: input.marketSettings ?? null, isWritable: false },
151
+ projectNft: { value: input.projectNft ?? null, isWritable: false },
152
+ projectMetadata: {
153
+ value: input.projectMetadata ?? null,
154
+ isWritable: false,
155
+ },
70
156
  };
71
157
  const accounts = originalAccounts;
72
158
  // Original args.
73
159
  const args = { ...input };
74
160
  // Resolve default values.
161
+ if (!accounts.rewardsProgram.value) {
162
+ accounts.rewardsProgram.value =
163
+ "nosRB8DUV67oLNrL45bo2pFLrmsWPiewe2Lk2DRNYCp";
164
+ }
75
165
  if (!accounts.tokenProgram.value) {
76
166
  accounts.tokenProgram.value =
77
167
  "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
@@ -96,13 +186,16 @@ export function getAssignInstruction(input, config) {
96
186
  getAccountMeta(accounts.rewardsProgram),
97
187
  getAccountMeta(accounts.tokenProgram),
98
188
  getAccountMeta(accounts.systemProgram),
189
+ getAccountMeta(accounts.marketSettings),
190
+ getAccountMeta(accounts.projectNft),
191
+ getAccountMeta(accounts.projectMetadata),
99
192
  ],
100
193
  data: getAssignInstructionDataEncoder().encode(args),
101
194
  programAddress,
102
195
  });
103
196
  }
104
197
  export function parseAssignInstruction(instruction) {
105
- if (instruction.accounts.length < 13) {
198
+ if (instruction.accounts.length < 16) {
106
199
  // TODO: Coded error.
107
200
  throw new Error("Not enough accounts");
108
201
  }
@@ -112,6 +205,12 @@ export function parseAssignInstruction(instruction) {
112
205
  accountIndex += 1;
113
206
  return accountMeta;
114
207
  };
208
+ const getNextOptionalAccount = () => {
209
+ const accountMeta = getNextAccount();
210
+ return accountMeta.address === NOSANA_JOBS_PROGRAM_ADDRESS
211
+ ? undefined
212
+ : accountMeta;
213
+ };
115
214
  return {
116
215
  programAddress: instruction.programAddress,
117
216
  accounts: {
@@ -128,6 +227,9 @@ export function parseAssignInstruction(instruction) {
128
227
  rewardsProgram: getNextAccount(),
129
228
  tokenProgram: getNextAccount(),
130
229
  systemProgram: getNextAccount(),
230
+ marketSettings: getNextOptionalAccount(),
231
+ projectNft: getNextOptionalAccount(),
232
+ projectMetadata: getNextOptionalAccount(),
131
233
  },
132
234
  data: getAssignInstructionDataDecoder().decode(instruction.data),
133
235
  };
@@ -15,7 +15,7 @@ export declare const CLEAN_ADMIN_INSTRUCTION_ACCOUNTS: {
15
15
  export type CleanAdminInstructionAccountName = keyof typeof CLEAN_ADMIN_INSTRUCTION_ACCOUNTS;
16
16
  export declare const CLEAN_ADMIN_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
17
17
  export declare function getCleanAdminDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
18
- export type CleanAdminInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountJob extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
18
+ export type CleanAdminInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountJob extends string | AccountMeta<string> = string, TAccountPayer extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = "XXXxddiNnmoD2h2LbQYaL76Swi21MaQbtBbRynAdQL8", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
19
19
  TAccountJob extends string ? WritableAccount<TAccountJob> : TAccountJob,
20
20
  TAccountPayer extends string ? WritableAccount<TAccountPayer> : TAccountPayer,
21
21
  TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
@@ -31,7 +31,7 @@ export declare function getCleanAdminInstructionDataCodec(): FixedSizeCodec<Clea
31
31
  export type CleanAdminInput<TAccountJob extends string = string, TAccountPayer extends string = string, TAccountAuthority extends string = string> = {
32
32
  job: Address<TAccountJob>;
33
33
  payer: Address<TAccountPayer>;
34
- authority: TransactionSigner<TAccountAuthority>;
34
+ authority?: TransactionSigner<TAccountAuthority>;
35
35
  };
36
36
  export declare function getCleanAdminInstruction<TAccountJob extends string, TAccountPayer extends string, TAccountAuthority extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CleanAdminInput<TAccountJob, TAccountPayer, TAccountAuthority>, config?: {
37
37
  programAddress?: TProgramAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanAdmin.d.ts","sourceRoot":"","sources":["../../src/instructions/cleanAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanAdmin.d.ts","sourceRoot":"","sources":["../../src/instructions/cleanAdmin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGnE,eAAO,MAAM,gCAAgC;;;;CAInC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAAG,MAAM,OAAO,gCAAgC,CAAC;AAC7F,eAAO,MAAM,yBAAyB,yBAEpC,CAAC;AAEH,wBAAgB,+BAA+B,oCAE9C;AAED,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,MAAM,GAAG,OAAO,2BAA2B,EAC5D,WAAW,SAAS,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EACzD,aAAa,SAAS,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAC3D,iBAAiB,SAAS,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GACpD,6CAA6C,EAC/C,kBAAkB,SAAS,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAC5D,WAAW,CAAC,QAAQ,CAAC,GACvB,mBAAmB,CAAC,kBAAkB,CAAC,GACvC,uBAAuB,CACrB;IACE,WAAW,SAAS,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,GAAG,WAAW;IACvE,aAAa,SAAS,MAAM,GACxB,eAAe,CAAC,aAAa,CAAC,GAC9B,aAAa;IACjB,iBAAiB,SAAS,MAAM,GAC5B,qBAAqB,CAAC,iBAAiB,CAAC,GACtC,iBAAiB,CAAC,iBAAiB,CAAC,GACtC,iBAAiB;IACrB,GAAG,kBAAkB;CACtB,CACF,CAAC;AAEJ,MAAM,MAAM,yBAAyB,GAAG;IAAE,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAE/C,wBAAgB,mCAAmC,IAAI,gBAAgB,CAAC,6BAA6B,CAAC,CAKrG;AAED,wBAAgB,mCAAmC,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAIjG;AAED,wBAAgB,iCAAiC,IAAI,cAAc,CACjE,6BAA6B,EAC7B,yBAAyB,CAC1B,CAKA;AAED,MAAM,MAAM,eAAe,CACzB,WAAW,SAAS,MAAM,GAAG,MAAM,EACnC,aAAa,SAAS,MAAM,GAAG,MAAM,EACrC,iBAAiB,SAAS,MAAM,GAAG,MAAM,IACvC;IACF,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,WAAW,SAAS,MAAM,EAC1B,aAAa,SAAS,MAAM,EAC5B,iBAAiB,SAAS,MAAM,EAChC,eAAe,SAAS,OAAO,GAAG,OAAO,2BAA2B,EAEpE,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,CAAC,EACrE,MAAM,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,eAAe,CAAA;CAAE,GAC5C,qBAAqB,CACtB,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,CAClB,CAoCA;AAED,MAAM,MAAM,2BAA2B,CACrC,QAAQ,SAAS,MAAM,GAAG,OAAO,2BAA2B,EAC5D,aAAa,SAAS,SAAS,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,IACnE;IACF,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,EAAE;QACR,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC7B,CAAC;IACF,IAAI,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,QAAQ,SAAS,MAAM,EACvB,aAAa,SAAS,SAAS,WAAW,EAAE,EAE5C,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAChC,uBAAuB,CAAC,aAAa,CAAC,GACtC,mBAAmB,CAAC,kBAAkB,CAAC,GACxC,2BAA2B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAoBtD"}
@@ -40,6 +40,11 @@ export function getCleanAdminInstruction(input, config) {
40
40
  authority: { value: input.authority ?? null, isWritable: false },
41
41
  };
42
42
  const accounts = originalAccounts;
43
+ // Resolve default values.
44
+ if (!accounts.authority.value) {
45
+ accounts.authority.value =
46
+ "XXXxddiNnmoD2h2LbQYaL76Swi21MaQbtBbRynAdQL8";
47
+ }
43
48
  const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
44
49
  return Object.freeze({
45
50
  accounts: [
@@ -13,16 +13,18 @@ export declare const CLOSE_INSTRUCTION_ACCOUNTS: {
13
13
  readonly user: 2;
14
14
  readonly authority: 3;
15
15
  readonly tokenProgram: 4;
16
+ readonly marketSettings: 5;
16
17
  };
17
18
  export type CloseInstructionAccountName = keyof typeof CLOSE_INSTRUCTION_ACCOUNTS;
18
19
  export declare const CLOSE_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
19
20
  export declare function getCloseDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
20
- export type CloseInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMarket extends string | AccountMeta<string> = string, TAccountVault extends string | AccountMeta<string> = string, TAccountUser extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
21
+ export type CloseInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMarket extends string | AccountMeta<string> = string, TAccountVault extends string | AccountMeta<string> = string, TAccountUser extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountMarketSettings extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
21
22
  TAccountMarket extends string ? WritableAccount<TAccountMarket> : TAccountMarket,
22
23
  TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault,
23
24
  TAccountUser extends string ? WritableAccount<TAccountUser> : TAccountUser,
24
25
  TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
25
26
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
27
+ TAccountMarketSettings extends string ? WritableAccount<TAccountMarketSettings> : TAccountMarketSettings,
26
28
  ...TRemainingAccounts
27
29
  ]>;
28
30
  export type CloseInstructionData = {
@@ -32,16 +34,28 @@ export type CloseInstructionDataArgs = {};
32
34
  export declare function getCloseInstructionDataEncoder(): FixedSizeEncoder<CloseInstructionDataArgs>;
33
35
  export declare function getCloseInstructionDataDecoder(): FixedSizeDecoder<CloseInstructionData>;
34
36
  export declare function getCloseInstructionDataCodec(): FixedSizeCodec<CloseInstructionDataArgs, CloseInstructionData>;
35
- export type CloseInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string> = {
37
+ export type CloseAsyncInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string, TAccountMarketSettings extends string = string> = {
36
38
  market: Address<TAccountMarket>;
37
39
  vault: Address<TAccountVault>;
38
40
  user: Address<TAccountUser>;
39
41
  authority: TransactionSigner<TAccountAuthority>;
40
42
  tokenProgram?: Address<TAccountTokenProgram>;
43
+ marketSettings?: Address<TAccountMarketSettings>;
41
44
  };
42
- export declare function getCloseInstruction<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram>, config?: {
45
+ export declare function getCloseInstructionAsync<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TAccountMarketSettings extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseAsyncInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>, config?: {
43
46
  programAddress?: TProgramAddress;
44
- }): CloseInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram>;
47
+ }): Promise<CloseInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>>;
48
+ export type CloseInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string, TAccountMarketSettings extends string = string> = {
49
+ market: Address<TAccountMarket>;
50
+ vault: Address<TAccountVault>;
51
+ user: Address<TAccountUser>;
52
+ authority: TransactionSigner<TAccountAuthority>;
53
+ tokenProgram?: Address<TAccountTokenProgram>;
54
+ marketSettings?: Address<TAccountMarketSettings>;
55
+ };
56
+ export declare function getCloseInstruction<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TAccountMarketSettings extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>, config?: {
57
+ programAddress?: TProgramAddress;
58
+ }): CloseInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>;
45
59
  export type ParsedCloseInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
46
60
  programAddress: Address<TProgram>;
47
61
  accounts: {
@@ -50,6 +64,7 @@ export type ParsedCloseInstruction<TProgram extends string = typeof NOSANA_JOBS_
50
64
  user: TAccountMetas[2];
51
65
  authority: TAccountMetas[3];
52
66
  tokenProgram: TAccountMetas[4];
67
+ marketSettings?: TAccountMetas[5] | undefined;
53
68
  };
54
69
  data: CloseInstructionData;
55
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/instructions/close.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/instructions/close.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,17 @@
5
5
  *
6
6
  * @see https://github.com/codama-idl/codama
7
7
  */
8
- import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
8
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressEncoder, getBytesDecoder, getBytesEncoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
9
9
  import { NOSANA_JOBS_PROGRAM_ADDRESS } from "../programs/index.js";
10
- import { getAccountMetaFactory } from "../shared/index.js";
11
10
  export const CLOSE_INSTRUCTION_ACCOUNTS = {
12
11
  market: 0,
13
12
  vault: 1,
14
13
  user: 2,
15
14
  authority: 3,
16
15
  tokenProgram: 4,
16
+ marketSettings: 5,
17
17
  };
18
+ import { expectAddress, getAccountMetaFactory, } from "../shared/index.js";
18
19
  export const CLOSE_DISCRIMINATOR = new Uint8Array([
19
20
  98, 165, 201, 177, 108, 65, 206, 96,
20
21
  ]);
@@ -32,6 +33,47 @@ export function getCloseInstructionDataDecoder() {
32
33
  export function getCloseInstructionDataCodec() {
33
34
  return combineCodec(getCloseInstructionDataEncoder(), getCloseInstructionDataDecoder());
34
35
  }
36
+ export async function getCloseInstructionAsync(input, config) {
37
+ // Program address.
38
+ const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
39
+ // Original accounts.
40
+ const originalAccounts = {
41
+ market: { value: input.market ?? null, isWritable: true },
42
+ vault: { value: input.vault ?? null, isWritable: true },
43
+ user: { value: input.user ?? null, isWritable: true },
44
+ authority: { value: input.authority ?? null, isWritable: false },
45
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
46
+ marketSettings: { value: input.marketSettings ?? null, isWritable: true },
47
+ };
48
+ const accounts = originalAccounts;
49
+ // Resolve default values.
50
+ if (!accounts.tokenProgram.value) {
51
+ accounts.tokenProgram.value =
52
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
53
+ }
54
+ if (!accounts.marketSettings.value) {
55
+ accounts.marketSettings.value = await getProgramDerivedAddress({
56
+ programAddress,
57
+ seeds: [
58
+ getBytesEncoder().encode(new Uint8Array([115, 101, 116, 116, 105, 110, 103, 115])),
59
+ getAddressEncoder().encode(expectAddress(accounts.market.value)),
60
+ ],
61
+ });
62
+ }
63
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
64
+ return Object.freeze({
65
+ accounts: [
66
+ getAccountMeta(accounts.market),
67
+ getAccountMeta(accounts.vault),
68
+ getAccountMeta(accounts.user),
69
+ getAccountMeta(accounts.authority),
70
+ getAccountMeta(accounts.tokenProgram),
71
+ getAccountMeta(accounts.marketSettings),
72
+ ],
73
+ data: getCloseInstructionDataEncoder().encode({}),
74
+ programAddress,
75
+ });
76
+ }
35
77
  export function getCloseInstruction(input, config) {
36
78
  // Program address.
37
79
  const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
@@ -42,6 +84,7 @@ export function getCloseInstruction(input, config) {
42
84
  user: { value: input.user ?? null, isWritable: true },
43
85
  authority: { value: input.authority ?? null, isWritable: false },
44
86
  tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
87
+ marketSettings: { value: input.marketSettings ?? null, isWritable: true },
45
88
  };
46
89
  const accounts = originalAccounts;
47
90
  // Resolve default values.
@@ -57,13 +100,14 @@ export function getCloseInstruction(input, config) {
57
100
  getAccountMeta(accounts.user),
58
101
  getAccountMeta(accounts.authority),
59
102
  getAccountMeta(accounts.tokenProgram),
103
+ getAccountMeta(accounts.marketSettings),
60
104
  ],
61
105
  data: getCloseInstructionDataEncoder().encode({}),
62
106
  programAddress,
63
107
  });
64
108
  }
65
109
  export function parseCloseInstruction(instruction) {
66
- if (instruction.accounts.length < 5) {
110
+ if (instruction.accounts.length < 6) {
67
111
  // TODO: Coded error.
68
112
  throw new Error("Not enough accounts");
69
113
  }
@@ -73,6 +117,12 @@ export function parseCloseInstruction(instruction) {
73
117
  accountIndex += 1;
74
118
  return accountMeta;
75
119
  };
120
+ const getNextOptionalAccount = () => {
121
+ const accountMeta = getNextAccount();
122
+ return accountMeta.address === NOSANA_JOBS_PROGRAM_ADDRESS
123
+ ? undefined
124
+ : accountMeta;
125
+ };
76
126
  return {
77
127
  programAddress: instruction.programAddress,
78
128
  accounts: {
@@ -81,6 +131,7 @@ export function parseCloseInstruction(instruction) {
81
131
  user: getNextAccount(),
82
132
  authority: getNextAccount(),
83
133
  tokenProgram: getNextAccount(),
134
+ marketSettings: getNextOptionalAccount(),
84
135
  },
85
136
  data: getCloseInstructionDataDecoder().decode(instruction.data),
86
137
  };
@@ -13,16 +13,18 @@ export declare const CLOSE_ADMIN_INSTRUCTION_ACCOUNTS: {
13
13
  readonly user: 2;
14
14
  readonly authority: 3;
15
15
  readonly tokenProgram: 4;
16
+ readonly marketSettings: 5;
16
17
  };
17
18
  export type CloseAdminInstructionAccountName = keyof typeof CLOSE_ADMIN_INSTRUCTION_ACCOUNTS;
18
19
  export declare const CLOSE_ADMIN_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
19
20
  export declare function getCloseAdminDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
20
- export type CloseAdminInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMarket extends string | AccountMeta<string> = string, TAccountVault extends string | AccountMeta<string> = string, TAccountUser extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
21
+ export type CloseAdminInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMarket extends string | AccountMeta<string> = string, TAccountVault extends string | AccountMeta<string> = string, TAccountUser extends string | AccountMeta<string> = string, TAccountAuthority extends string | AccountMeta<string> = "XXXxddiNnmoD2h2LbQYaL76Swi21MaQbtBbRynAdQL8", TAccountTokenProgram extends string | AccountMeta<string> = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TAccountMarketSettings extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
21
22
  TAccountMarket extends string ? WritableAccount<TAccountMarket> : TAccountMarket,
22
23
  TAccountVault extends string ? WritableAccount<TAccountVault> : TAccountVault,
23
24
  TAccountUser extends string ? WritableAccount<TAccountUser> : TAccountUser,
24
25
  TAccountAuthority extends string ? ReadonlySignerAccount<TAccountAuthority> & AccountSignerMeta<TAccountAuthority> : TAccountAuthority,
25
26
  TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
27
+ TAccountMarketSettings extends string ? WritableAccount<TAccountMarketSettings> : TAccountMarketSettings,
26
28
  ...TRemainingAccounts
27
29
  ]>;
28
30
  export type CloseAdminInstructionData = {
@@ -32,16 +34,28 @@ export type CloseAdminInstructionDataArgs = {};
32
34
  export declare function getCloseAdminInstructionDataEncoder(): FixedSizeEncoder<CloseAdminInstructionDataArgs>;
33
35
  export declare function getCloseAdminInstructionDataDecoder(): FixedSizeDecoder<CloseAdminInstructionData>;
34
36
  export declare function getCloseAdminInstructionDataCodec(): FixedSizeCodec<CloseAdminInstructionDataArgs, CloseAdminInstructionData>;
35
- export type CloseAdminInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string> = {
37
+ export type CloseAdminAsyncInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string, TAccountMarketSettings extends string = string> = {
36
38
  market: Address<TAccountMarket>;
37
39
  vault: Address<TAccountVault>;
38
40
  user: Address<TAccountUser>;
39
- authority: TransactionSigner<TAccountAuthority>;
41
+ authority?: TransactionSigner<TAccountAuthority>;
40
42
  tokenProgram?: Address<TAccountTokenProgram>;
43
+ marketSettings?: Address<TAccountMarketSettings>;
41
44
  };
42
- export declare function getCloseAdminInstruction<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseAdminInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram>, config?: {
45
+ export declare function getCloseAdminInstructionAsync<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TAccountMarketSettings extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseAdminAsyncInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>, config?: {
43
46
  programAddress?: TProgramAddress;
44
- }): CloseAdminInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram>;
47
+ }): Promise<CloseAdminInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>>;
48
+ export type CloseAdminInput<TAccountMarket extends string = string, TAccountVault extends string = string, TAccountUser extends string = string, TAccountAuthority extends string = string, TAccountTokenProgram extends string = string, TAccountMarketSettings extends string = string> = {
49
+ market: Address<TAccountMarket>;
50
+ vault: Address<TAccountVault>;
51
+ user: Address<TAccountUser>;
52
+ authority?: TransactionSigner<TAccountAuthority>;
53
+ tokenProgram?: Address<TAccountTokenProgram>;
54
+ marketSettings?: Address<TAccountMarketSettings>;
55
+ };
56
+ export declare function getCloseAdminInstruction<TAccountMarket extends string, TAccountVault extends string, TAccountUser extends string, TAccountAuthority extends string, TAccountTokenProgram extends string, TAccountMarketSettings extends string, TProgramAddress extends Address = typeof NOSANA_JOBS_PROGRAM_ADDRESS>(input: CloseAdminInput<TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>, config?: {
57
+ programAddress?: TProgramAddress;
58
+ }): CloseAdminInstruction<TProgramAddress, TAccountMarket, TAccountVault, TAccountUser, TAccountAuthority, TAccountTokenProgram, TAccountMarketSettings>;
45
59
  export type ParsedCloseAdminInstruction<TProgram extends string = typeof NOSANA_JOBS_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
46
60
  programAddress: Address<TProgram>;
47
61
  accounts: {
@@ -50,6 +64,7 @@ export type ParsedCloseAdminInstruction<TProgram extends string = typeof NOSANA_
50
64
  user: TAccountMetas[2];
51
65
  authority: TAccountMetas[3];
52
66
  tokenProgram: TAccountMetas[4];
67
+ marketSettings?: TAccountMetas[5] | undefined;
53
68
  };
54
69
  data: CloseAdminInstructionData;
55
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"closeAdmin.d.ts","sourceRoot":"","sources":["../../src/instructions/closeAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeAdmin.d.ts","sourceRoot":"","sources":["../../src/instructions/closeAdmin.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,17 @@
5
5
  *
6
6
  * @see https://github.com/codama-idl/codama
7
7
  */
8
- import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
8
+ import { combineCodec, fixDecoderSize, fixEncoderSize, getAddressEncoder, getBytesDecoder, getBytesEncoder, getProgramDerivedAddress, getStructDecoder, getStructEncoder, transformEncoder, } from "@solana/kit";
9
9
  import { NOSANA_JOBS_PROGRAM_ADDRESS } from "../programs/index.js";
10
- import { getAccountMetaFactory } from "../shared/index.js";
11
10
  export const CLOSE_ADMIN_INSTRUCTION_ACCOUNTS = {
12
11
  market: 0,
13
12
  vault: 1,
14
13
  user: 2,
15
14
  authority: 3,
16
15
  tokenProgram: 4,
16
+ marketSettings: 5,
17
17
  };
18
+ import { expectAddress, getAccountMetaFactory, } from "../shared/index.js";
18
19
  export const CLOSE_ADMIN_DISCRIMINATOR = new Uint8Array([
19
20
  202, 182, 185, 142, 208, 161, 145, 189,
20
21
  ]);
@@ -32,6 +33,51 @@ export function getCloseAdminInstructionDataDecoder() {
32
33
  export function getCloseAdminInstructionDataCodec() {
33
34
  return combineCodec(getCloseAdminInstructionDataEncoder(), getCloseAdminInstructionDataDecoder());
34
35
  }
36
+ export async function getCloseAdminInstructionAsync(input, config) {
37
+ // Program address.
38
+ const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
39
+ // Original accounts.
40
+ const originalAccounts = {
41
+ market: { value: input.market ?? null, isWritable: true },
42
+ vault: { value: input.vault ?? null, isWritable: true },
43
+ user: { value: input.user ?? null, isWritable: true },
44
+ authority: { value: input.authority ?? null, isWritable: false },
45
+ tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
46
+ marketSettings: { value: input.marketSettings ?? null, isWritable: true },
47
+ };
48
+ const accounts = originalAccounts;
49
+ // Resolve default values.
50
+ if (!accounts.authority.value) {
51
+ accounts.authority.value =
52
+ "XXXxddiNnmoD2h2LbQYaL76Swi21MaQbtBbRynAdQL8";
53
+ }
54
+ if (!accounts.tokenProgram.value) {
55
+ accounts.tokenProgram.value =
56
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
57
+ }
58
+ if (!accounts.marketSettings.value) {
59
+ accounts.marketSettings.value = await getProgramDerivedAddress({
60
+ programAddress,
61
+ seeds: [
62
+ getBytesEncoder().encode(new Uint8Array([115, 101, 116, 116, 105, 110, 103, 115])),
63
+ getAddressEncoder().encode(expectAddress(accounts.market.value)),
64
+ ],
65
+ });
66
+ }
67
+ const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
68
+ return Object.freeze({
69
+ accounts: [
70
+ getAccountMeta(accounts.market),
71
+ getAccountMeta(accounts.vault),
72
+ getAccountMeta(accounts.user),
73
+ getAccountMeta(accounts.authority),
74
+ getAccountMeta(accounts.tokenProgram),
75
+ getAccountMeta(accounts.marketSettings),
76
+ ],
77
+ data: getCloseAdminInstructionDataEncoder().encode({}),
78
+ programAddress,
79
+ });
80
+ }
35
81
  export function getCloseAdminInstruction(input, config) {
36
82
  // Program address.
37
83
  const programAddress = config?.programAddress ?? NOSANA_JOBS_PROGRAM_ADDRESS;
@@ -42,9 +88,14 @@ export function getCloseAdminInstruction(input, config) {
42
88
  user: { value: input.user ?? null, isWritable: true },
43
89
  authority: { value: input.authority ?? null, isWritable: false },
44
90
  tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
91
+ marketSettings: { value: input.marketSettings ?? null, isWritable: true },
45
92
  };
46
93
  const accounts = originalAccounts;
47
94
  // Resolve default values.
95
+ if (!accounts.authority.value) {
96
+ accounts.authority.value =
97
+ "XXXxddiNnmoD2h2LbQYaL76Swi21MaQbtBbRynAdQL8";
98
+ }
48
99
  if (!accounts.tokenProgram.value) {
49
100
  accounts.tokenProgram.value =
50
101
  "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
@@ -57,13 +108,14 @@ export function getCloseAdminInstruction(input, config) {
57
108
  getAccountMeta(accounts.user),
58
109
  getAccountMeta(accounts.authority),
59
110
  getAccountMeta(accounts.tokenProgram),
111
+ getAccountMeta(accounts.marketSettings),
60
112
  ],
61
113
  data: getCloseAdminInstructionDataEncoder().encode({}),
62
114
  programAddress,
63
115
  });
64
116
  }
65
117
  export function parseCloseAdminInstruction(instruction) {
66
- if (instruction.accounts.length < 5) {
118
+ if (instruction.accounts.length < 6) {
67
119
  // TODO: Coded error.
68
120
  throw new Error("Not enough accounts");
69
121
  }
@@ -73,6 +125,12 @@ export function parseCloseAdminInstruction(instruction) {
73
125
  accountIndex += 1;
74
126
  return accountMeta;
75
127
  };
128
+ const getNextOptionalAccount = () => {
129
+ const accountMeta = getNextAccount();
130
+ return accountMeta.address === NOSANA_JOBS_PROGRAM_ADDRESS
131
+ ? undefined
132
+ : accountMeta;
133
+ };
76
134
  return {
77
135
  programAddress: instruction.programAddress,
78
136
  accounts: {
@@ -81,6 +139,7 @@ export function parseCloseAdminInstruction(instruction) {
81
139
  user: getNextAccount(),
82
140
  authority: getNextAccount(),
83
141
  tokenProgram: getNextAccount(),
142
+ marketSettings: getNextOptionalAccount(),
84
143
  },
85
144
  data: getCloseAdminInstructionDataDecoder().decode(instruction.data),
86
145
  };