@solana/rpc-graphql 2.0.0-experimental.aa4a701 → 2.0.0-experimental.acab173

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 (53) hide show
  1. package/dist/index.browser.cjs +1126 -1293
  2. package/dist/index.browser.cjs.map +1 -1
  3. package/dist/index.browser.js +1125 -1292
  4. package/dist/index.browser.js.map +1 -1
  5. package/dist/index.native.js +1125 -1288
  6. package/dist/index.native.js.map +1 -1
  7. package/dist/index.node.cjs +1126 -1289
  8. package/dist/index.node.cjs.map +1 -1
  9. package/dist/index.node.js +1125 -1288
  10. package/dist/index.node.js.map +1 -1
  11. package/dist/types/context.d.ts +14 -15
  12. package/dist/types/context.d.ts.map +1 -0
  13. package/dist/types/index.d.ts +1 -1
  14. package/dist/types/index.d.ts.map +1 -0
  15. package/dist/types/loaders/account.d.ts +8 -21
  16. package/dist/types/loaders/account.d.ts.map +1 -0
  17. package/dist/types/loaders/block.d.ts +12 -4
  18. package/dist/types/loaders/block.d.ts.map +1 -0
  19. package/dist/types/loaders/common/cache-key-fn.d.ts +2 -0
  20. package/dist/types/loaders/common/cache-key-fn.d.ts.map +1 -0
  21. package/dist/types/loaders/common/resolve-info.d.ts.map +1 -0
  22. package/dist/types/loaders/program-accounts.d.ts +17 -4
  23. package/dist/types/loaders/program-accounts.d.ts.map +1 -0
  24. package/dist/types/loaders/transaction.d.ts +10 -13
  25. package/dist/types/loaders/transaction.d.ts.map +1 -0
  26. package/dist/types/loaders/transformers/account.d.ts +8 -0
  27. package/dist/types/loaders/transformers/account.d.ts.map +1 -0
  28. package/dist/types/loaders/transformers/block.d.ts +6 -0
  29. package/dist/types/loaders/transformers/block.d.ts.map +1 -0
  30. package/dist/types/loaders/transformers/transaction.d.ts +5 -0
  31. package/dist/types/loaders/transformers/transaction.d.ts.map +1 -0
  32. package/dist/types/resolvers/account.d.ts +3 -3
  33. package/dist/types/resolvers/account.d.ts.map +1 -0
  34. package/dist/types/rpc.d.ts +3 -6
  35. package/dist/types/rpc.d.ts.map +1 -0
  36. package/dist/types/schema/account.d.ts +60 -81
  37. package/dist/types/schema/account.d.ts.map +1 -0
  38. package/dist/types/schema/block.d.ts +1 -9
  39. package/dist/types/schema/block.d.ts.map +1 -0
  40. package/dist/types/schema/common/inputs.d.ts +2 -9
  41. package/dist/types/schema/common/inputs.d.ts.map +1 -0
  42. package/dist/types/schema/common/scalars.d.ts +33 -1
  43. package/dist/types/schema/common/scalars.d.ts.map +1 -0
  44. package/dist/types/schema/common/types.d.ts +18 -3
  45. package/dist/types/schema/common/types.d.ts.map +1 -0
  46. package/dist/types/schema/index.d.ts.map +1 -0
  47. package/dist/types/schema/instruction.d.ts +342 -347
  48. package/dist/types/schema/instruction.d.ts.map +1 -0
  49. package/dist/types/schema/transaction.d.ts +1 -8
  50. package/dist/types/schema/transaction.d.ts.map +1 -0
  51. package/package.json +14 -14
  52. package/dist/types/cache.d.ts +0 -7
  53. package/dist/types/schema/program-accounts.d.ts +0 -12
@@ -1,44 +1,16 @@
1
1
  import { graphql, Kind } from 'graphql';
2
2
  import DataLoader from 'dataloader';
3
- import fastStableStringify from 'fast-stable-stringify';
3
+ import stringify from 'json-stable-stringify';
4
4
  import { makeExecutableSchema } from '@graphql-tools/schema';
5
5
 
6
6
  // src/rpc.ts
7
-
8
- // src/cache.ts
9
- var stringifyValue = (value) => JSON.stringify(value, (_, value2) => {
10
- if (typeof value2 === "bigint") {
11
- return value2.toString() + "n";
12
- }
13
- return value2;
14
- });
15
- var parseValue = (value) => JSON.parse(value, (_, value2) => {
16
- if (typeof value2 === "string" && /\d+n$/.test(value2)) {
17
- return BigInt(value2.slice(0, -1));
7
+ function replacer(_, value) {
8
+ if (typeof value === "bigint") {
9
+ return value.toString() + "n";
18
10
  }
19
- return value2;
20
- });
21
- var cacheKey = (key, variables) => `GraphQLCache:${stringifyValue(key)}:${stringifyValue(variables)}`;
22
- function createGraphQLCache() {
23
- return {
24
- // Browser
25
- flush: () => {
26
- for (let i = localStorage.length - 1; i >= 0; i--) {
27
- const storageKey = localStorage.key(i);
28
- if (storageKey && storageKey.startsWith("GraphQLCache:")) {
29
- localStorage.removeItem(storageKey);
30
- }
31
- }
32
- },
33
- get: (key, variables) => {
34
- const value = localStorage.getItem(cacheKey(key, variables));
35
- return value === null ? null : parseValue(value);
36
- },
37
- insert: (key, variables, value) => {
38
- localStorage.setItem(cacheKey(key, variables), stringifyValue(value));
39
- }
40
- } ;
11
+ return value;
41
12
  }
13
+ var cacheKeyFn = (obj) => stringify(obj, { replacer });
42
14
 
43
15
  // src/loaders/common/resolve-info.ts
44
16
  function onlyPresentFieldRequested(fieldName, info) {
@@ -57,51 +29,67 @@ function onlyPresentFieldRequested(fieldName, info) {
57
29
  return false;
58
30
  }
59
31
 
60
- // src/loaders/account.ts
61
- function normalizeArgs(args) {
62
- const { address, commitment, dataSlice, encoding, minContextSlot } = args;
63
- return {
64
- address,
65
- commitment: commitment ?? "confirmed",
66
- dataSlice,
67
- encoding: encoding ?? "jsonParsed",
68
- minContextSlot
69
- };
70
- }
71
- function refineJsonParsedAccountData(jsonParsedAccountData) {
72
- const meta = {
73
- program: jsonParsedAccountData.program,
74
- space: jsonParsedAccountData.space,
75
- type: jsonParsedAccountData.parsed.type
76
- };
77
- const data = jsonParsedAccountData.parsed.info;
78
- return { data, meta };
32
+ // src/loaders/transformers/account.ts
33
+ function transformParsedAccountData(parsedAccountData) {
34
+ const {
35
+ parsed: { info: result, type: accountType },
36
+ program: programName,
37
+ programId
38
+ } = parsedAccountData;
39
+ result.accountType = accountType;
40
+ result.programId = programId;
41
+ result.programName = programName;
42
+ return result;
79
43
  }
80
- function processQueryResponse({ address, account, encoding }) {
81
- const [refinedData, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [refineJsonParsedAccountData(account.data), "jsonParsed"];
82
- const responseBase = {
44
+ function transformLoadedAccount({
45
+ account,
46
+ address,
47
+ encoding
48
+ }) {
49
+ const [
50
+ // The account's data, either encoded or parsed.
51
+ data,
52
+ // Tells GraphQL which encoding has been returned
53
+ // by the RPC.
54
+ responseEncoding
55
+ ] = Array.isArray(account.data) ? encoding === "jsonParsed" ? (
56
+ // The requested encoding is jsonParsed,
57
+ // but the data could not be parsed.
58
+ // Defaults to base64 encoding.
59
+ [{ data: account.data[0] }, "base64"]
60
+ ) : (
61
+ // The requested encoding is base58,
62
+ // base64, or base64+zstd.
63
+ [{ data: account.data[0] }, encoding]
64
+ ) : (
65
+ // The account data was returned as an object,
66
+ // so it was parsed successfully.
67
+ [transformParsedAccountData(account.data), "jsonParsed"]
68
+ );
69
+ account.address = address;
70
+ account.encoding = responseEncoding;
71
+ account.ownerProgram = account.owner;
72
+ return {
83
73
  ...account,
84
- address,
85
- encoding: responseEncoding
86
- };
87
- return typeof refinedData === "object" && "meta" in refinedData ? {
88
- ...responseBase,
89
- data: refinedData.data,
90
- meta: refinedData.meta
91
- } : {
92
- ...responseBase,
93
- data: refinedData
74
+ ...data
94
75
  };
95
76
  }
77
+
78
+ // src/loaders/account.ts
79
+ function normalizeArgs({
80
+ address,
81
+ commitment = "confirmed",
82
+ dataSlice,
83
+ encoding = "jsonParsed",
84
+ minContextSlot
85
+ }) {
86
+ return { address, commitment, dataSlice, encoding, minContextSlot };
87
+ }
96
88
  async function loadAccount(rpc, { address, ...config }) {
97
- const { encoding } = config;
98
89
  const account = await rpc.getAccountInfo(address, config).send().then((res) => res.value).catch((e) => {
99
90
  throw e;
100
91
  });
101
- if (account === null) {
102
- return { address };
103
- }
104
- return processQueryResponse({ account, address, encoding });
92
+ return account === null ? { address } : transformLoadedAccount({ account, address, encoding: config.encoding });
105
93
  }
106
94
  function createAccountBatchLoadFn(rpc) {
107
95
  const resolveAccountUsingRpc = loadAccount.bind(null, rpc);
@@ -110,7 +98,7 @@ function createAccountBatchLoadFn(rpc) {
110
98
  };
111
99
  }
112
100
  function createAccountLoader(rpc) {
113
- const loader = new DataLoader(createAccountBatchLoadFn(rpc), { cacheKeyFn: fastStableStringify });
101
+ const loader = new DataLoader(createAccountBatchLoadFn(rpc), { cacheKeyFn });
114
102
  return {
115
103
  load: async (args, info) => {
116
104
  if (onlyPresentFieldRequested("address", info)) {
@@ -121,221 +109,220 @@ function createAccountLoader(rpc) {
121
109
  };
122
110
  }
123
111
 
124
- // src/loaders/transaction.ts
125
- function normalizeArgs2(args) {
126
- const { commitment, encoding } = args;
112
+ // src/loaders/transformers/transaction.ts
113
+ function transformParsedInstruction(parsedInstruction) {
114
+ if ("parsed" in parsedInstruction) {
115
+ if (typeof parsedInstruction.parsed === "string" && parsedInstruction.program === "spl-memo") {
116
+ const { parsed: memo, program: programName2, programId: programId2 } = parsedInstruction;
117
+ const instructionType2 = "memo";
118
+ return { instructionType: instructionType2, memo, programId: programId2, programName: programName2 };
119
+ }
120
+ const {
121
+ parsed: { info: data, type: instructionType },
122
+ program: programName,
123
+ programId
124
+ } = parsedInstruction;
125
+ return { instructionType, programId, programName, ...data };
126
+ } else {
127
+ return parsedInstruction;
128
+ }
129
+ }
130
+ function transformParsedTransaction(parsedTransaction) {
131
+ const transactionData = parsedTransaction.transaction;
132
+ const transactionMeta = parsedTransaction.meta;
133
+ transactionData.message.instructions = transactionData.message.instructions.map(transformParsedInstruction);
134
+ transactionMeta.innerInstructions = transactionMeta.innerInstructions.map((innerInstruction) => {
135
+ innerInstruction.instructions = innerInstruction.instructions.map(transformParsedInstruction);
136
+ return innerInstruction;
137
+ });
138
+ return [transactionData, transactionMeta];
139
+ }
140
+ function transformLoadedTransaction({ encoding, transaction }) {
141
+ const [transactionData, transactionMeta] = Array.isArray(transaction.transaction) ? (
142
+ // The requested encoding is base58 or base64.
143
+ [transaction.transaction[0], transaction.meta]
144
+ ) : (
145
+ // The transaction was either partially parsed or
146
+ // fully JSON-parsed, which will be sorted later.
147
+ transformParsedTransaction(transaction)
148
+ );
149
+ transaction.data = transactionData;
150
+ transaction.encoding = encoding;
151
+ transaction.meta = transactionMeta;
152
+ return transaction;
153
+ }
154
+
155
+ // src/loaders/transformers/block.ts
156
+ function transformLoadedBlock({
157
+ encoding,
158
+ block,
159
+ transactionDetails
160
+ }) {
161
+ if (typeof block === "object" && "transactions" in block) {
162
+ block.transactions = block.transactions.map((transaction) => {
163
+ if (transactionDetails === "accounts") {
164
+ return {
165
+ data: transaction.transaction,
166
+ meta: transaction.meta,
167
+ version: transaction.version
168
+ };
169
+ } else {
170
+ return transformLoadedTransaction({ encoding, transaction });
171
+ }
172
+ });
173
+ }
174
+ block.encoding = encoding;
175
+ block.transactionDetails = transactionDetails;
176
+ return block;
177
+ }
178
+
179
+ // src/loaders/block.ts
180
+ function normalizeArgs2({
181
+ commitment = "confirmed",
182
+ encoding = "jsonParsed",
183
+ slot,
184
+ transactionDetails = "full"
185
+ }) {
127
186
  return {
128
- commitment: commitment ?? "confirmed",
129
- encoding: encoding ?? "jsonParsed",
187
+ commitment,
188
+ encoding,
130
189
  // Always use 0 to avoid silly errors
131
- maxSupportedTransactionVersion: 0
190
+ maxSupportedTransactionVersion: 0,
191
+ slot,
192
+ transactionDetails
132
193
  };
133
194
  }
134
- function refineJsonParsedInstructionData(jsonParsedInstructionData) {
135
- if ("parsed" in jsonParsedInstructionData) {
136
- const meta = {
137
- program: jsonParsedInstructionData.program,
138
- type: jsonParsedInstructionData.parsed.type
139
- };
140
- const programId = jsonParsedInstructionData.programId;
141
- const data = jsonParsedInstructionData.parsed.info;
142
- return { data, meta, programId };
143
- } else {
144
- return jsonParsedInstructionData;
145
- }
195
+ async function loadBlock(rpc, { slot, ...config }) {
196
+ const block = await rpc.getBlock(
197
+ slot,
198
+ // @ts-expect-error FIXME: https://github.com/solana-labs/solana-web3.js/issues/1984
199
+ config
200
+ ).send().catch((e) => {
201
+ throw e;
202
+ });
203
+ return block === null ? { slot } : transformLoadedBlock({ block, encoding: config.encoding, transactionDetails: config.transactionDetails });
146
204
  }
147
- function refineJsonParsedTransactionData(jsonParsedTransactionData) {
148
- const refinedInstructions = jsonParsedTransactionData.message.instructions.map(
149
- (instruction) => refineJsonParsedInstructionData(instruction)
150
- );
151
- const message = {
152
- ...jsonParsedTransactionData.message,
153
- instructions: refinedInstructions
205
+ function createBlockBatchLoadFn(rpc) {
206
+ const resolveBlockUsingRpc = loadBlock.bind(null, rpc);
207
+ return async (blockQueryArgs) => {
208
+ return await Promise.all(blockQueryArgs.map(async (args) => await resolveBlockUsingRpc(args)));
154
209
  };
155
- return { message, signatures: jsonParsedTransactionData.signatures };
156
210
  }
157
- function refineJsonParsedTransactionMeta(jsonParsedTransactionMeta) {
158
- const refinedInnerInstructions = jsonParsedTransactionMeta.innerInstructions.map(
159
- ({ index, instructions }) => {
160
- return {
161
- index,
162
- instructions: instructions.map((instruction) => refineJsonParsedInstructionData(instruction))
163
- };
211
+ function createBlockLoader(rpc) {
212
+ const loader = new DataLoader(createBlockBatchLoadFn(rpc), { cacheKeyFn });
213
+ return {
214
+ load: async (args, info) => {
215
+ if (onlyPresentFieldRequested("slot", info)) {
216
+ return { slot: args.slot };
217
+ }
218
+ return loader.load(normalizeArgs2(args));
164
219
  }
220
+ };
221
+ }
222
+ function normalizeArgs3({
223
+ commitment = "confirmed",
224
+ dataSlice,
225
+ encoding = "jsonParsed",
226
+ filters,
227
+ minContextSlot,
228
+ programAddress
229
+ }) {
230
+ return { commitment, dataSlice, encoding, filters, minContextSlot, programAddress };
231
+ }
232
+ async function loadProgramAccounts(rpc, { programAddress, ...config }) {
233
+ const programAccounts = await rpc.getProgramAccounts(programAddress, config).send().catch((e) => {
234
+ throw e;
235
+ });
236
+ return programAccounts.map(
237
+ (programAccount) => transformLoadedAccount({
238
+ account: programAccount.account,
239
+ address: programAccount.pubkey,
240
+ encoding: config.encoding
241
+ })
165
242
  );
243
+ }
244
+ function createProgramAccountsBatchLoadFn(rpc) {
245
+ const resolveProgramAccountsUsingRpc = loadProgramAccounts.bind(null, rpc);
246
+ return async (programAccountsQueryArgs) => {
247
+ return await Promise.all(
248
+ programAccountsQueryArgs.map(async (args) => await resolveProgramAccountsUsingRpc(args))
249
+ );
250
+ };
251
+ }
252
+ function createProgramAccountsLoader(rpc) {
253
+ const loader = new DataLoader(createProgramAccountsBatchLoadFn(rpc), { cacheKeyFn });
166
254
  return {
167
- ...jsonParsedTransactionMeta,
168
- innerInstructions: refinedInnerInstructions
255
+ load: async (args, info) => {
256
+ if (onlyPresentFieldRequested("programAddress", info)) {
257
+ return { programAddress: args.programAddress };
258
+ }
259
+ return loader.load(normalizeArgs3(args));
260
+ }
169
261
  };
170
262
  }
171
- function refineJsonParsedTransaction({ encoding, transaction }) {
172
- const [transactionData, transactionMeta] = Array.isArray(transaction.transaction) ? [transaction.transaction[0], transaction.meta] : [refineJsonParsedTransactionData(transaction.transaction), refineJsonParsedTransactionMeta(transaction.meta)];
263
+ function normalizeArgs4({ commitment = "confirmed", encoding = "jsonParsed", signature }) {
173
264
  return {
174
- data: transactionData,
265
+ commitment,
175
266
  encoding,
176
- meta: transactionMeta,
177
- slot: transaction.slot,
178
- version: transaction.version
267
+ // Always use 0 to avoid silly errors
268
+ maxSupportedTransactionVersion: 0,
269
+ signature
179
270
  };
180
271
  }
181
- function processQueryResponse2({ encoding, transaction }) {
182
- return refineJsonParsedTransaction({ encoding, transaction });
183
- }
184
- async function loadTransaction({ signature, ...config }, cache, rpc, _info) {
185
- const requestConfig = normalizeArgs2(config);
186
- const { encoding } = requestConfig;
187
- const cached = cache.get(signature, requestConfig);
188
- if (cached !== null) {
189
- return cached;
190
- }
191
- let transaction = await rpc.getTransaction(signature, requestConfig).send().catch((e) => {
272
+ async function loadTransaction(rpc, { signature, ...config }) {
273
+ const { encoding } = config;
274
+ const transaction = await rpc.getTransaction(
275
+ signature,
276
+ // @ts-expect-error FIXME: https://github.com/solana-labs/solana-web3.js/issues/1984
277
+ config
278
+ ).send().catch((e) => {
192
279
  throw e;
193
280
  });
194
281
  if (transaction === null) {
195
282
  return null;
196
283
  }
197
284
  if (encoding !== "jsonParsed") {
198
- const transactionJsonParsed = await rpc.getTransaction(signature, requestConfig).send().catch((e) => {
285
+ const jsonParsedConfig = { ...config, encoding: "jsonParsed" };
286
+ const transactionJsonParsed = await rpc.getTransaction(
287
+ signature,
288
+ // @ts-expect-error FIXME: https://github.com/solana-labs/solana-web3.js/issues/1984
289
+ jsonParsedConfig
290
+ ).send().catch((e) => {
199
291
  throw e;
200
292
  });
201
293
  if (transactionJsonParsed === null) {
202
294
  return null;
203
295
  }
204
- transaction = {
205
- ...transaction,
206
- meta: transactionJsonParsed.meta
207
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
208
- };
296
+ transaction.meta = transactionJsonParsed.meta;
209
297
  }
210
- const queryResponse = processQueryResponse2({ encoding, transaction });
211
- cache.insert(signature, requestConfig, queryResponse);
212
- return queryResponse;
213
- }
214
-
215
- // src/loaders/block.ts
216
- function normalizeArgs3(args) {
217
- const { commitment, encoding, transactionDetails } = args;
218
- return {
219
- commitment: commitment ?? "confirmed",
220
- encoding: encoding ?? "jsonParsed",
221
- // Always use 0 to avoid silly errors
222
- maxSupportedTransactionVersion: 0,
223
- transactionDetails: transactionDetails ?? "full"
224
- };
225
- }
226
- function refineJsonParsedTransactionForAccounts({ transaction }) {
227
- return {
228
- data: transaction.transaction,
229
- meta: transaction.meta,
230
- version: transaction.version
231
- };
298
+ return transformLoadedTransaction({ encoding, transaction });
232
299
  }
233
- function processQueryResponse3({
234
- encoding,
235
- block,
236
- transactionDetails
237
- }) {
238
- if (typeof block === "object" && "transactions" in block) {
239
- const refinedBlock = {
240
- ...block,
241
- transactions: block.transactions.map((transaction) => {
242
- if (transactionDetails === "accounts") {
243
- return refineJsonParsedTransactionForAccounts({ transaction });
244
- } else {
245
- return refineJsonParsedTransaction({ encoding, transaction });
246
- }
247
- })
248
- };
249
- block = refinedBlock;
250
- }
251
- return {
252
- ...block,
253
- encoding,
254
- transactionDetails
300
+ function createTransactionBatchLoadFn(rpc) {
301
+ const resolveTransactionUsingRpc = loadTransaction.bind(null, rpc);
302
+ return async (transactionQueryArgs) => {
303
+ return await Promise.all(transactionQueryArgs.map(async (args) => await resolveTransactionUsingRpc(args)));
255
304
  };
256
305
  }
257
- async function loadBlock({ slot, ...config }, cache, rpc, _info) {
258
- const requestConfig = normalizeArgs3(config);
259
- const { encoding, transactionDetails } = requestConfig;
260
- const cached = cache.get(slot, config);
261
- if (cached !== null) {
262
- return cached;
263
- }
264
- const block = await rpc.getBlock(slot, requestConfig).send().catch((e) => {
265
- throw e;
266
- });
267
- if (block === null) {
268
- return { slot };
269
- }
270
- const queryResponse = processQueryResponse3({ block, encoding, transactionDetails });
271
- cache.insert(slot, requestConfig, queryResponse);
272
- return queryResponse;
273
- }
274
-
275
- // src/loaders/program-accounts.ts
276
- function normalizeArgs4(args) {
277
- const { commitment, dataSlice, encoding, filters, minContextSlot } = args;
306
+ function createTransactionLoader(rpc) {
307
+ const loader = new DataLoader(createTransactionBatchLoadFn(rpc), { cacheKeyFn });
278
308
  return {
279
- commitment: commitment ?? "confirmed",
280
- dataSlice,
281
- encoding: encoding ?? "jsonParsed",
282
- filters,
283
- minContextSlot
284
- };
285
- }
286
- function processQueryResponse4({ encoding, programAccounts }) {
287
- return programAccounts.map((programAccount) => {
288
- const [refinedData, responseEncoding] = Array.isArray(programAccount.account.data) ? encoding === "jsonParsed" ? [programAccount.account.data[0], "base64"] : [programAccount.account.data[0], encoding] : [refineJsonParsedAccountData(programAccount.account.data), "jsonParsed"];
289
- const pubkey = programAccount.pubkey;
290
- const responseBase = {
291
- ...programAccount.account,
292
- address: pubkey,
293
- encoding: responseEncoding
294
- };
295
- return typeof refinedData === "object" && "meta" in refinedData ? {
296
- ...responseBase,
297
- data: refinedData.data,
298
- meta: refinedData.meta
299
- } : {
300
- ...responseBase,
301
- data: refinedData
302
- };
303
- });
304
- }
305
- async function loadProgramAccounts({ programAddress, ...config }, cache, rpc, _info) {
306
- const requestConfig = normalizeArgs4(config);
307
- const { encoding } = requestConfig;
308
- const cached = cache.get(programAddress, requestConfig);
309
- if (cached !== null) {
310
- return cached;
311
- }
312
- const programAccounts = await rpc.getProgramAccounts(programAddress, requestConfig).send().then((res) => {
313
- if ("value" in res) {
314
- return res.value;
309
+ load: async (args, info) => {
310
+ if (onlyPresentFieldRequested("signature", info)) {
311
+ return { signature: args.signature };
312
+ }
313
+ return loader.load(normalizeArgs4(args));
315
314
  }
316
- return res;
317
- }).catch((e) => {
318
- throw e;
319
- });
320
- const queryResponse = processQueryResponse4({ encoding, programAccounts });
321
- cache.insert(programAddress, requestConfig, queryResponse);
322
- return queryResponse;
315
+ };
323
316
  }
324
317
 
325
318
  // src/context.ts
326
319
  function createSolanaGraphQLContext(rpc) {
327
- const cache = createGraphQLCache();
328
320
  return {
329
- accountLoader: createAccountLoader(rpc),
330
- cache,
331
- loadBlock(args, info) {
332
- return loadBlock(args, this.cache, this.rpc);
333
- },
334
- loadProgramAccounts(args, info) {
335
- return loadProgramAccounts(args, this.cache, this.rpc);
336
- },
337
- loadTransaction(args, info) {
338
- return loadTransaction(args, this.cache, this.rpc);
321
+ loaders: {
322
+ account: createAccountLoader(rpc),
323
+ block: createBlockLoader(rpc),
324
+ programAccounts: createProgramAccountsLoader(rpc),
325
+ transaction: createTransactionLoader(rpc)
339
326
  },
340
327
  rpc
341
328
  };
@@ -343,144 +330,133 @@ function createSolanaGraphQLContext(rpc) {
343
330
 
344
331
  // src/resolvers/account.ts
345
332
  var resolveAccount = (fieldName) => {
346
- return (parent, args, context, info) => parent[fieldName] === null ? null : context.accountLoader.load({ ...args, address: parent[fieldName] }, info);
333
+ return (parent, args, context, info) => parent[fieldName] === null ? null : context.loaders.account.load({ ...args, address: parent[fieldName] }, info);
347
334
  };
348
335
 
349
336
  // src/schema/account.ts
350
337
  var accountTypeDefs = (
351
338
  /* GraphQL */
352
339
  `
353
- # Account interface
340
+ """
341
+ Account interface
342
+ """
354
343
  interface Account {
355
- address: String
356
- encoding: String
344
+ address: Address
357
345
  executable: Boolean
358
346
  lamports: BigInt
359
- owner: Account
347
+ ownerProgram: Account
348
+ space: BigInt
360
349
  rentEpoch: BigInt
361
350
  }
362
351
 
363
- # An account with base58 encoded data
352
+ """
353
+ An account with base58 encoded data
354
+ """
364
355
  type AccountBase58 implements Account {
365
- address: String
366
- data: String
367
- encoding: String
356
+ address: Address
357
+ data: Base58EncodedBytes
368
358
  executable: Boolean
369
359
  lamports: BigInt
370
- owner: Account
360
+ ownerProgram: Account
361
+ space: BigInt
371
362
  rentEpoch: BigInt
372
363
  }
373
364
 
374
- # An account with base64 encoded data
365
+ """
366
+ An account with base64 encoded data
367
+ """
375
368
  type AccountBase64 implements Account {
376
- address: String
377
- data: String
378
- encoding: String
369
+ address: Address
370
+ data: Base64EncodedBytes
379
371
  executable: Boolean
380
372
  lamports: BigInt
381
- owner: Account
373
+ ownerProgram: Account
374
+ space: BigInt
382
375
  rentEpoch: BigInt
383
376
  }
384
377
 
385
- # An account with base64+zstd encoded data
378
+ """
379
+ An account with base64+zstd encoded data
380
+ """
386
381
  type AccountBase64Zstd implements Account {
387
- address: String
388
- data: String
389
- encoding: String
382
+ address: Address
383
+ data: Base64ZstdEncodedBytes
390
384
  executable: Boolean
391
385
  lamports: BigInt
392
- owner: Account
393
- rentEpoch: BigInt
394
- }
395
-
396
- # Interface for JSON-parsed meta
397
- type JsonParsedAccountMeta {
398
- program: String
386
+ ownerProgram: Account
399
387
  space: BigInt
400
- type: String
401
- }
402
- interface AccountJsonParsed {
403
- meta: JsonParsedAccountMeta
388
+ rentEpoch: BigInt
404
389
  }
405
390
 
406
- # A nonce account
407
391
  type NonceAccountFeeCalculator {
408
392
  lamportsPerSignature: String
409
393
  }
410
- type NonceAccountData {
394
+ """
395
+ A nonce account
396
+ """
397
+ type NonceAccount implements Account {
398
+ address: Address
399
+ executable: Boolean
400
+ lamports: BigInt
401
+ ownerProgram: Account
402
+ space: BigInt
403
+ rentEpoch: BigInt
411
404
  authority: Account
412
405
  blockhash: String
413
406
  feeCalculator: NonceAccountFeeCalculator
414
407
  }
415
- type NonceAccount implements Account & AccountJsonParsed {
416
- address: String
417
- data: NonceAccountData
418
- encoding: String
408
+
409
+ """
410
+ A lookup table account
411
+ """
412
+ type LookupTableAccount implements Account {
413
+ address: Address
419
414
  executable: Boolean
420
415
  lamports: BigInt
421
- meta: JsonParsedAccountMeta
422
- owner: Account
416
+ ownerProgram: Account
417
+ space: BigInt
423
418
  rentEpoch: BigInt
424
- }
425
-
426
- # A lookup table account
427
- type LookupTableAccountData {
428
- addresses: [String]
419
+ addresses: [Address]
429
420
  authority: Account
430
421
  deactivationSlot: String
431
422
  lastExtendedSlot: String
432
423
  lastExtendedSlotStartIndex: Int
433
424
  }
434
- type LookupTableAccount implements Account & AccountJsonParsed {
435
- address: String
436
- data: LookupTableAccountData
437
- encoding: String
425
+
426
+ """
427
+ A mint account
428
+ """
429
+ type MintAccount implements Account {
430
+ address: Address
438
431
  executable: Boolean
439
432
  lamports: BigInt
440
- meta: JsonParsedAccountMeta
441
- owner: Account
433
+ ownerProgram: Account
434
+ space: BigInt
442
435
  rentEpoch: BigInt
443
- }
444
-
445
- # A mint account
446
- type MintAccountData {
447
436
  decimals: Int
448
437
  freezeAuthority: Account
449
438
  isInitialized: Boolean
450
439
  mintAuthority: Account
451
440
  supply: String
452
441
  }
453
- type MintAccount implements Account & AccountJsonParsed {
454
- address: String
455
- data: MintAccountData
456
- encoding: String
442
+
443
+ """
444
+ A token account
445
+ """
446
+ type TokenAccount implements Account {
447
+ address: Address
457
448
  executable: Boolean
458
449
  lamports: BigInt
459
- meta: JsonParsedAccountMeta
460
- owner: Account
450
+ ownerProgram: Account
451
+ space: BigInt
461
452
  rentEpoch: BigInt
462
- }
463
-
464
- # A token account
465
- type TokenAccountData {
466
453
  isNative: Boolean
467
454
  mint: Account
468
455
  owner: Account
469
456
  state: String
470
457
  tokenAmount: TokenAmount
471
458
  }
472
- type TokenAccount implements Account & AccountJsonParsed {
473
- address: String
474
- data: TokenAccountData
475
- encoding: String
476
- executable: Boolean
477
- lamports: BigInt
478
- meta: JsonParsedAccountMeta
479
- owner: Account
480
- rentEpoch: BigInt
481
- }
482
459
 
483
- # A stake account
484
460
  type StakeAccountDataMetaAuthorized {
485
461
  staker: Account
486
462
  withdrawer: Account
@@ -506,22 +482,20 @@ var accountTypeDefs = (
506
482
  creditsObserved: BigInt
507
483
  delegation: StakeAccountDataStakeDelegation
508
484
  }
509
- type StakeAccountData {
510
- meta: StakeAccountDataMeta
511
- stake: StakeAccountDataStake
512
- }
513
- type StakeAccount implements Account & AccountJsonParsed {
514
- address: String
515
- data: StakeAccountData
516
- encoding: String
485
+ """
486
+ A stake account
487
+ """
488
+ type StakeAccount implements Account {
489
+ address: Address
517
490
  executable: Boolean
518
491
  lamports: BigInt
519
- meta: JsonParsedAccountMeta
520
- owner: Account
492
+ ownerProgram: Account
493
+ space: BigInt
521
494
  rentEpoch: BigInt
495
+ meta: StakeAccountDataMeta
496
+ stake: StakeAccountDataStake
522
497
  }
523
498
 
524
- # A vote account
525
499
  type VoteAccountDataAuthorizedVoter {
526
500
  authorizedVoter: Account
527
501
  epoch: BigInt
@@ -539,27 +513,26 @@ var accountTypeDefs = (
539
513
  confirmationCount: Int
540
514
  slot: BigInt
541
515
  }
542
- type VoteAccountData {
516
+ """
517
+ A vote account
518
+ """
519
+ type VoteAccount implements Account {
520
+ address: Address
521
+ executable: Boolean
522
+ lamports: BigInt
523
+ ownerProgram: Account
524
+ space: BigInt
525
+ rentEpoch: BigInt
543
526
  authorizedVoters: [VoteAccountDataAuthorizedVoter]
544
527
  authorizedWithdrawer: Account
545
528
  commission: Int
546
529
  epochCredits: [VoteAccountDataEpochCredit]
547
530
  lastTimestamp: VoteAccountDataLastTimestamp
548
531
  node: Account
549
- priorVoters: [String]
532
+ priorVoters: [Address]
550
533
  rootSlot: BigInt
551
534
  votes: [VoteAccountDataVote]
552
535
  }
553
- type VoteAccount implements Account & AccountJsonParsed {
554
- address: String
555
- data: VoteAccountData
556
- encoding: String
557
- executable: Boolean
558
- lamports: BigInt
559
- meta: JsonParsedAccountMeta
560
- owner: Account
561
- rentEpoch: BigInt
562
- }
563
536
  `
564
537
  );
565
538
  var accountResolvers = {
@@ -575,22 +548,22 @@ var accountResolvers = {
575
548
  return "AccountBase64Zstd";
576
549
  }
577
550
  if (account.encoding === "jsonParsed") {
578
- if (account.meta.program === "nonce") {
551
+ if (account.programName === "nonce") {
579
552
  return "NonceAccount";
580
553
  }
581
- if (account.meta.type === "mint" && account.meta.program === "spl-token") {
554
+ if (account.accountType === "mint" && account.programName === "spl-token") {
582
555
  return "MintAccount";
583
556
  }
584
- if (account.meta.type === "account" && account.meta.program === "spl-token") {
557
+ if (account.accountType === "account" && account.programName === "spl-token") {
585
558
  return "TokenAccount";
586
559
  }
587
- if (account.meta.program === "stake") {
560
+ if (account.programName === "stake") {
588
561
  return "StakeAccount";
589
562
  }
590
- if (account.meta.type === "vote" && account.meta.program === "vote") {
563
+ if (account.accountType === "vote" && account.programName === "vote") {
591
564
  return "VoteAccount";
592
565
  }
593
- if (account.meta.type === "lookupTable" && account.meta.program === "address-lookup-table") {
566
+ if (account.accountType === "lookupTable" && account.programName === "address-lookup-table") {
594
567
  return "LookupTableAccount";
595
568
  }
596
569
  }
@@ -598,39 +571,31 @@ var accountResolvers = {
598
571
  }
599
572
  },
600
573
  AccountBase58: {
601
- owner: resolveAccount("owner")
574
+ ownerProgram: resolveAccount("ownerProgram")
602
575
  },
603
576
  AccountBase64: {
604
- owner: resolveAccount("owner")
577
+ ownerProgram: resolveAccount("ownerProgram")
605
578
  },
606
579
  AccountBase64Zstd: {
607
- owner: resolveAccount("owner")
608
- },
609
- NonceAccountData: {
610
- authority: resolveAccount("authority")
580
+ ownerProgram: resolveAccount("ownerProgram")
611
581
  },
612
582
  NonceAccount: {
613
- owner: resolveAccount("owner")
614
- },
615
- LookupTableAccountData: {
616
- authority: resolveAccount("authority")
583
+ authority: resolveAccount("authority"),
584
+ ownerProgram: resolveAccount("ownerProgram")
617
585
  },
618
586
  LookupTableAccount: {
619
- owner: resolveAccount("owner")
620
- },
621
- MintAccountData: {
622
- freezeAuthority: resolveAccount("freezeAuthority"),
623
- mintAuthority: resolveAccount("mintAuthority")
587
+ authority: resolveAccount("authority"),
588
+ ownerProgram: resolveAccount("ownerProgram")
624
589
  },
625
590
  MintAccount: {
626
- owner: resolveAccount("owner")
627
- },
628
- TokenAccountData: {
629
- mint: resolveAccount("mint"),
630
- owner: resolveAccount("owner")
591
+ freezeAuthority: resolveAccount("freezeAuthority"),
592
+ mintAuthority: resolveAccount("mintAuthority"),
593
+ ownerProgram: resolveAccount("ownerProgram")
631
594
  },
632
595
  TokenAccount: {
633
- owner: resolveAccount("owner")
596
+ mint: resolveAccount("mint"),
597
+ owner: resolveAccount("owner"),
598
+ ownerProgram: resolveAccount("ownerProgram")
634
599
  },
635
600
  StakeAccountDataMetaAuthorized: {
636
601
  staker: resolveAccount("staker"),
@@ -643,17 +608,15 @@ var accountResolvers = {
643
608
  voter: resolveAccount("voter")
644
609
  },
645
610
  StakeAccount: {
646
- owner: resolveAccount("owner")
611
+ ownerProgram: resolveAccount("ownerProgram")
647
612
  },
648
613
  VoteAccountDataAuthorizedVoter: {
649
614
  authorizedVoter: resolveAccount("authorizedVoter")
650
615
  },
651
- VoteAccountData: {
652
- authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
653
- node: resolveAccount("nodePubkey")
654
- },
655
616
  VoteAccount: {
656
- owner: resolveAccount("owner")
617
+ authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
618
+ node: resolveAccount("nodePubkey"),
619
+ ownerProgram: resolveAccount("ownerProgram")
657
620
  }
658
621
  };
659
622
 
@@ -672,7 +635,7 @@ var blockTypeDefs = (
672
635
  }
673
636
 
674
637
  type TransactionDataForAccounts {
675
- accountKeys: [String]
638
+ accountKeys: [Address]
676
639
  signatures: [String]
677
640
  }
678
641
 
@@ -682,7 +645,9 @@ var blockTypeDefs = (
682
645
  version: String
683
646
  }
684
647
 
685
- # Block interface
648
+ """
649
+ Block interface
650
+ """
686
651
  interface Block {
687
652
  blockhash: String
688
653
  blockHeight: BigInt
@@ -693,7 +658,9 @@ var blockTypeDefs = (
693
658
  transactionDetails: String
694
659
  }
695
660
 
696
- # A block with account transaction details
661
+ """
662
+ A block with account transaction details
663
+ """
697
664
  type BlockWithAccounts implements Block {
698
665
  blockhash: String
699
666
  blockHeight: BigInt
@@ -705,7 +672,9 @@ var blockTypeDefs = (
705
672
  transactionDetails: String
706
673
  }
707
674
 
708
- # A block with full transaction details
675
+ """
676
+ A block with full transaction details
677
+ """
709
678
  type BlockWithFull implements Block {
710
679
  blockhash: String
711
680
  blockHeight: BigInt
@@ -717,7 +686,9 @@ var blockTypeDefs = (
717
686
  transactionDetails: String
718
687
  }
719
688
 
720
- # A block with none transaction details
689
+ """
690
+ A block with no transaction details
691
+ """
721
692
  type BlockWithNone implements Block {
722
693
  blockhash: String
723
694
  blockHeight: BigInt
@@ -728,7 +699,9 @@ var blockTypeDefs = (
728
699
  transactionDetails: String
729
700
  }
730
701
 
731
- # A block with signature transaction details
702
+ """
703
+ A block with signature transaction details
704
+ """
732
705
  type BlockWithSignatures implements Block {
733
706
  blockhash: String
734
707
  blockHeight: BigInt
@@ -762,26 +735,6 @@ var blockResolvers = {
762
735
  var inputTypeDefs = (
763
736
  /* GraphQL */
764
737
  `
765
- enum AccountEncoding {
766
- base58
767
- base64
768
- base64Zstd
769
- jsonParsed
770
- }
771
-
772
- enum BlockTransactionDetails {
773
- accounts
774
- full
775
- none
776
- signatures
777
- }
778
-
779
- enum Commitment {
780
- confirmed
781
- finalized
782
- processed
783
- }
784
-
785
738
  input DataSlice {
786
739
  offset: Int
787
740
  length: Int
@@ -790,37 +743,41 @@ var inputTypeDefs = (
790
743
  input ProgramAccountsFilter {
791
744
  bytes: BigInt
792
745
  dataSize: BigInt
793
- encoding: String
746
+ encoding: AccountEncoding
794
747
  offset: BigInt
795
748
  }
796
-
797
- enum TransactionEncoding {
798
- base58
799
- base64
800
- jsonParsed
801
- }
802
-
803
- enum TransactionVersion {
804
- legacy
805
- zero
806
- }
807
749
  `
808
750
  );
809
- var inputResolvers = {
810
- AccountEncoding: {
811
- base64Zstd: "base64+zstd"
812
- },
813
- TransactionVersion: {
814
- zero: 0
815
- }
816
- };
751
+ var inputResolvers = {};
817
752
  var scalarTypeDefs = (
818
753
  /* GraphQL */
819
754
  `
755
+ scalar Address
756
+ scalar Base58EncodedBytes
757
+ scalar Base64EncodedBytes
758
+ scalar Base64ZstdEncodedBytes
820
759
  scalar BigInt
821
760
  `
822
761
  );
762
+ var stringScalarAlias = {
763
+ __parseLiteral(ast) {
764
+ if (ast.kind === Kind.STRING) {
765
+ return ast.value.toString();
766
+ }
767
+ return null;
768
+ },
769
+ __parseValue(value) {
770
+ return value;
771
+ },
772
+ __serialize(value) {
773
+ return value;
774
+ }
775
+ };
823
776
  var scalarResolvers = {
777
+ Address: stringScalarAlias,
778
+ Base58EncodedBytes: stringScalarAlias,
779
+ Base64EncodedBytes: stringScalarAlias,
780
+ Base64ZstdEncodedBytes: stringScalarAlias,
824
781
  BigInt: {
825
782
  __parseLiteral(ast) {
826
783
  if (ast.kind === Kind.STRING) {
@@ -841,16 +798,36 @@ var scalarResolvers = {
841
798
  var commonTypeDefs = (
842
799
  /* GraphQL */
843
800
  `
801
+ enum AccountEncoding {
802
+ BASE_58
803
+ BASE_64
804
+ BASE_64_ZSTD
805
+ PARSED
806
+ }
807
+
808
+ enum BlockTransactionDetails {
809
+ accounts
810
+ full
811
+ none
812
+ signatures
813
+ }
814
+
815
+ enum Commitment {
816
+ confirmed
817
+ finalized
818
+ processed
819
+ }
820
+
844
821
  type ReturnData {
845
- data: String
846
- programId: String
822
+ data: Base64EncodedBytes
823
+ programId: Address
847
824
  }
848
825
 
849
826
  type Reward {
850
827
  commission: Int
851
828
  lamports: BigInt
852
829
  postBalance: BigInt
853
- pubkey: String
830
+ pubkey: Address
854
831
  rewardType: String
855
832
  }
856
833
 
@@ -865,15 +842,41 @@ var commonTypeDefs = (
865
842
  accountIndex: Int
866
843
  mint: Account
867
844
  owner: Account
868
- programId: String
845
+ programId: Address
869
846
  uiTokenAmount: TokenAmount
870
847
  }
848
+
849
+ enum TransactionEncoding {
850
+ BASE_58
851
+ BASE_64
852
+ PARSED
853
+ }
854
+
855
+ enum TransactionVersion {
856
+ LEGACY
857
+ ZERO
858
+ }
871
859
  `
872
860
  );
873
861
  var commonResolvers = {
862
+ AccountEncoding: {
863
+ BASE_58: "base58",
864
+ BASE_64: "base64",
865
+ BASE_64_ZSTD: "base64+zstd",
866
+ PARSED: "jsonParsed"
867
+ },
874
868
  TokenBalance: {
875
869
  mint: resolveAccount("mint"),
876
870
  owner: resolveAccount("owner")
871
+ },
872
+ TransactionEncoding: {
873
+ BASE_58: "base58",
874
+ BASE_64: "base64",
875
+ PARSED: "jsonParsed"
876
+ },
877
+ TransactionVersion: {
878
+ LEGACY: "legacy",
879
+ ZERO: 0
877
880
  }
878
881
  };
879
882
 
@@ -881,25 +884,27 @@ var commonResolvers = {
881
884
  var instructionTypeDefs = (
882
885
  /* GraphQL */
883
886
  `
884
- type JsonParsedInstructionMeta {
885
- program: String
886
- type: String
887
- }
888
-
889
- # Transaction instruction interface
887
+ """
888
+ Transaction instruction interface
889
+ """
890
890
  interface TransactionInstruction {
891
- programId: String
891
+ programId: Address
892
892
  }
893
893
 
894
- # Generic transaction instruction
894
+ """
895
+ Generic transaction instruction
896
+ """
895
897
  type GenericInstruction implements TransactionInstruction {
896
- accounts: [String]
897
- data: String
898
- programId: String
898
+ accounts: [Address]
899
+ data: Base64EncodedBytes
900
+ programId: Address
899
901
  }
900
902
 
901
- # AddressLookupTable: CreateLookupTable
902
- type CreateLookupTableInstructionData {
903
+ """
904
+ AddressLookupTable: CreateLookupTable instruction
905
+ """
906
+ type CreateLookupTableInstruction implements TransactionInstruction {
907
+ programId: Address
903
908
  bumpSeed: BigInt # FIXME:*
904
909
  lookupTableAccount: Account
905
910
  lookupTableAuthority: Account
@@ -907,221 +912,187 @@ var instructionTypeDefs = (
907
912
  recentSlot: BigInt
908
913
  systemProgram: Account
909
914
  }
910
- type CreateLookupTableInstruction implements TransactionInstruction {
911
- data: CreateLookupTableInstructionData
912
- meta: JsonParsedInstructionMeta
913
- programId: String
914
- }
915
915
 
916
- # AddressLookupTable: ExtendLookupTable
917
- type ExtendLookupTableInstructionData {
916
+ """
917
+ AddressLookupTable: ExtendLookupTable instruction
918
+ """
919
+ type ExtendLookupTableInstruction implements TransactionInstruction {
920
+ programId: Address
918
921
  lookupTableAccount: Account
919
922
  lookupTableAuthority: Account
920
- newAddresses: [String]
923
+ newAddresses: [Address]
921
924
  payerAccount: Account
922
925
  systemProgram: Account
923
926
  }
924
- type ExtendLookupTableInstruction implements TransactionInstruction {
925
- data: ExtendLookupTableInstructionData
926
- meta: JsonParsedInstructionMeta
927
- programId: String
928
- }
929
927
 
930
- # AddressLookupTable: FreezeLookupTable
931
- type FreezeLookupTableInstructionData {
928
+ """
929
+ AddressLookupTable: FreezeLookupTable instruction
930
+ """
931
+ type FreezeLookupTableInstruction implements TransactionInstruction {
932
+ programId: Address
932
933
  lookupTableAccount: Account
933
934
  lookupTableAuthority: Account
934
935
  }
935
- type FreezeLookupTableInstruction implements TransactionInstruction {
936
- data: FreezeLookupTableInstructionData
937
- meta: JsonParsedInstructionMeta
938
- programId: String
939
- }
940
936
 
941
- # AddressLookupTable: DeactivateLookupTable
942
- type DeactivateLookupTableInstructionData {
937
+ """
938
+ AddressLookupTable: DeactivateLookupTable instruction
939
+ """
940
+ type DeactivateLookupTableInstruction implements TransactionInstruction {
941
+ programId: Address
943
942
  lookupTableAccount: Account
944
943
  lookupTableAuthority: Account
945
944
  }
946
- type DeactivateLookupTableInstruction implements TransactionInstruction {
947
- data: DeactivateLookupTableInstructionData
948
- meta: JsonParsedInstructionMeta
949
- programId: String
950
- }
951
945
 
952
- # AddressLookupTable: CloseLookupTable
953
- type CloseLookupTableInstructionData {
946
+ """
947
+ AddressLookupTable: CloseLookupTable instruction
948
+ """
949
+ type CloseLookupTableInstruction implements TransactionInstruction {
950
+ programId: Address
954
951
  lookupTableAccount: Account
955
952
  lookupTableAuthority: Account
956
953
  recipient: Account
957
954
  }
958
- type CloseLookupTableInstruction implements TransactionInstruction {
959
- data: CloseLookupTableInstructionData
960
- meta: JsonParsedInstructionMeta
961
- programId: String
962
- }
963
955
 
964
- # BpfLoader: Write
965
- type BpfLoaderWriteInstructionData {
956
+ """
957
+ BpfLoader: Write instruction
958
+ """
959
+ type BpfLoaderWriteInstruction implements TransactionInstruction {
960
+ programId: Address
966
961
  account: Account
967
- bytes: String
962
+ bytes: Base64EncodedBytes
968
963
  offset: BigInt # FIXME:*
969
964
  }
970
- type BpfLoaderWriteInstruction implements TransactionInstruction {
971
- data: BpfLoaderWriteInstructionData
972
- meta: JsonParsedInstructionMeta
973
- programId: String
974
- }
975
965
 
976
- # BpfLoader: Finalize
977
- type BpfLoaderFinalizeInstructionData {
978
- account: Account
979
- }
966
+ """
967
+ BpfLoader: Finalize instruction
968
+ """
980
969
  type BpfLoaderFinalizeInstruction implements TransactionInstruction {
981
- data: BpfLoaderFinalizeInstructionData
982
- meta: JsonParsedInstructionMeta
983
- programId: String
984
- }
985
-
986
- # BpfUpgradeableLoader: InitializeBuffer
987
- type BpfUpgradeableLoaderInitializeBufferInstructionData {
970
+ programId: Address
988
971
  account: Account
989
972
  }
973
+
974
+ """
975
+ BpfUpgradeableLoader: InitializeBuffer instruction
976
+ """
990
977
  type BpfUpgradeableLoaderInitializeBufferInstruction implements TransactionInstruction {
991
- data: BpfUpgradeableLoaderInitializeBufferInstructionData
992
- meta: JsonParsedInstructionMeta
993
- programId: String
978
+ programId: Address
979
+ account: Account
994
980
  }
995
981
 
996
- # BpfUpgradeableLoader: Write
997
- type BpfUpgradeableLoaderWriteInstructionData {
982
+ """
983
+ BpfUpgradeableLoader: Write instruction
984
+ """
985
+ type BpfUpgradeableLoaderWriteInstruction implements TransactionInstruction {
986
+ programId: Address
998
987
  account: Account
999
988
  authority: Account
1000
- bytes: String
989
+ bytes: Base64EncodedBytes
1001
990
  offset: BigInt # FIXME:*
1002
991
  }
1003
- type BpfUpgradeableLoaderWriteInstruction implements TransactionInstruction {
1004
- data: BpfUpgradeableLoaderWriteInstructionData
1005
- meta: JsonParsedInstructionMeta
1006
- programId: String
1007
- }
1008
992
 
1009
- # BpfUpgradeableLoader: DeployWithMaxDataLen
1010
- type BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData {
993
+ """
994
+ BpfUpgradeableLoader: DeployWithMaxDataLen instruction
995
+ """
996
+ type BpfUpgradeableLoaderDeployWithMaxDataLenInstruction implements TransactionInstruction {
997
+ programId: Address
1011
998
  authority: Account
1012
999
  bufferAccount: Account
1013
- clockSysvar: String
1000
+ clockSysvar: Address
1014
1001
  maxDataLen: BigInt
1015
1002
  payerAccount: Account
1016
1003
  programAccount: Account
1017
1004
  programDataAccount: Account
1018
- rentSysvar: String
1019
- }
1020
- type BpfUpgradeableLoaderDeployWithMaxDataLenInstruction implements TransactionInstruction {
1021
- data: BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData
1022
- meta: JsonParsedInstructionMeta
1023
- programId: String
1005
+ rentSysvar: Address
1024
1006
  }
1025
1007
 
1026
- # BpfUpgradeableLoader: Upgrade
1027
- type BpfUpgradeableLoaderUpgradeInstructionData {
1008
+ """
1009
+ BpfUpgradeableLoader: Upgrade instruction
1010
+ """
1011
+ type BpfUpgradeableLoaderUpgradeInstruction implements TransactionInstruction {
1012
+ programId: Address
1028
1013
  authority: Account
1029
1014
  bufferAccount: Account
1030
- clockSysvar: String
1015
+ clockSysvar: Address
1031
1016
  programAccount: Account
1032
1017
  programDataAccount: Account
1033
- rentSysvar: String
1018
+ rentSysvar: Address
1034
1019
  spillAccount: Account
1035
1020
  }
1036
- type BpfUpgradeableLoaderUpgradeInstruction implements TransactionInstruction {
1037
- data: BpfUpgradeableLoaderUpgradeInstructionData
1038
- meta: JsonParsedInstructionMeta
1039
- programId: String
1040
- }
1041
1021
 
1042
- # BpfUpgradeableLoader: SetAuthority
1043
- type BpfUpgradeableLoaderSetAuthorityInstructionData {
1022
+ """
1023
+ BpfUpgradeableLoader: SetAuthority instruction
1024
+ """
1025
+ type BpfUpgradeableLoaderSetAuthorityInstruction implements TransactionInstruction {
1026
+ programId: Address
1044
1027
  account: Account
1045
1028
  authority: Account
1046
1029
  newAuthority: Account
1047
1030
  }
1048
- type BpfUpgradeableLoaderSetAuthorityInstruction implements TransactionInstruction {
1049
- data: BpfUpgradeableLoaderSetAuthorityInstructionData
1050
- meta: JsonParsedInstructionMeta
1051
- programId: String
1052
- }
1053
1031
 
1054
- # BpfUpgradeableLoader: SetAuthorityChecked
1055
- type BpfUpgradeableLoaderSetAuthorityCheckedInstructionData {
1032
+ """
1033
+ BpfUpgradeableLoader: SetAuthorityChecked instruction
1034
+ """
1035
+ type BpfUpgradeableLoaderSetAuthorityCheckedInstruction implements TransactionInstruction {
1036
+ programId: Address
1056
1037
  account: Account
1057
1038
  authority: Account
1058
1039
  newAuthority: Account
1059
1040
  }
1060
- type BpfUpgradeableLoaderSetAuthorityCheckedInstruction implements TransactionInstruction {
1061
- data: BpfUpgradeableLoaderSetAuthorityCheckedInstructionData
1062
- meta: JsonParsedInstructionMeta
1063
- programId: String
1064
- }
1065
1041
 
1066
- # BpfUpgradeableLoader: Close
1067
- type BpfUpgradeableLoaderCloseInstructionData {
1042
+ """
1043
+ BpfUpgradeableLoader: Close instruction
1044
+ """
1045
+ type BpfUpgradeableLoaderCloseInstruction implements TransactionInstruction {
1046
+ programId: Address
1068
1047
  account: Account
1069
1048
  authority: Account
1070
1049
  programAccount: Account
1071
1050
  recipient: Account
1072
1051
  }
1073
- type BpfUpgradeableLoaderCloseInstruction implements TransactionInstruction {
1074
- data: BpfUpgradeableLoaderCloseInstructionData
1075
- meta: JsonParsedInstructionMeta
1076
- programId: String
1077
- }
1078
1052
 
1079
- # BpfUpgradeableLoader: ExtendProgram
1080
- type BpfUpgradeableLoaderExtendProgramInstructionData {
1053
+ """
1054
+ BpfUpgradeableLoader: ExtendProgram instruction
1055
+ """
1056
+ type BpfUpgradeableLoaderExtendProgramInstruction implements TransactionInstruction {
1057
+ programId: Address
1081
1058
  additionalBytes: BigInt
1082
1059
  payerAccount: Account
1083
1060
  programAccount: Account
1084
1061
  programDataAccount: Account
1085
1062
  systemProgram: Account
1086
1063
  }
1087
- type BpfUpgradeableLoaderExtendProgramInstruction implements TransactionInstruction {
1088
- data: BpfUpgradeableLoaderExtendProgramInstructionData
1089
- meta: JsonParsedInstructionMeta
1090
- programId: String
1091
- }
1092
1064
 
1093
- # SplAssociatedTokenAccount: Create
1094
- type SplAssociatedTokenCreateInstructionData {
1065
+ """
1066
+ SplAssociatedTokenAccount: Create instruction
1067
+ """
1068
+ type SplAssociatedTokenCreateInstruction implements TransactionInstruction {
1069
+ programId: Address
1095
1070
  account: Account
1096
- mint: String
1071
+ mint: Address
1097
1072
  source: Account
1098
1073
  systemProgram: Account
1099
1074
  tokenProgram: Account
1100
1075
  wallet: Account
1101
1076
  }
1102
- type SplAssociatedTokenCreateInstruction implements TransactionInstruction {
1103
- data: SplAssociatedTokenCreateInstructionData
1104
- meta: JsonParsedInstructionMeta
1105
- programId: String
1106
- }
1107
1077
 
1108
- # SplAssociatedTokenAccount: CreateIdempotent
1109
- type SplAssociatedTokenCreateIdempotentInstructionData {
1078
+ """
1079
+ SplAssociatedTokenAccount: CreateIdempotent instruction
1080
+ """
1081
+ type SplAssociatedTokenCreateIdempotentInstruction implements TransactionInstruction {
1082
+ programId: Address
1110
1083
  account: Account
1111
- mint: String
1084
+ mint: Address
1112
1085
  source: Account
1113
1086
  systemProgram: Account
1114
1087
  tokenProgram: Account
1115
1088
  wallet: Account
1116
1089
  }
1117
- type SplAssociatedTokenCreateIdempotentInstruction implements TransactionInstruction {
1118
- data: SplAssociatedTokenCreateIdempotentInstructionData
1119
- meta: JsonParsedInstructionMeta
1120
- programId: String
1121
- }
1122
1090
 
1123
- # SplAssociatedTokenAccount: RecoverNested
1124
- type SplAssociatedTokenRecoverNestedInstructionData {
1091
+ """
1092
+ SplAssociatedTokenAccount: RecoverNested instruction
1093
+ """
1094
+ type SplAssociatedTokenRecoverNestedInstruction implements TransactionInstruction {
1095
+ programId: Address
1125
1096
  destination: Account
1126
1097
  nestedMint: Account
1127
1098
  nestedOwner: Account
@@ -1130,167 +1101,141 @@ var instructionTypeDefs = (
1130
1101
  tokenProgram: Account
1131
1102
  wallet: Account
1132
1103
  }
1133
- type SplAssociatedTokenRecoverNestedInstruction implements TransactionInstruction {
1134
- data: SplAssociatedTokenRecoverNestedInstructionData
1135
- meta: JsonParsedInstructionMeta
1136
- programId: String
1137
- }
1138
1104
 
1139
- # SplMemo
1140
- type SplMemoInstructionData {
1141
- data: String
1142
- }
1105
+ """
1106
+ SplMemo instruction
1107
+ """
1143
1108
  type SplMemoInstruction implements TransactionInstruction {
1144
- data: SplMemoInstructionData
1145
- meta: JsonParsedInstructionMeta
1146
- programId: String
1109
+ programId: Address
1110
+ memo: String
1147
1111
  }
1148
1112
 
1149
- # SplToken: InitializeMint
1150
- type SplTokenInitializeMintInstructionData {
1113
+ """
1114
+ SplToken: InitializeMint instruction
1115
+ """
1116
+ type SplTokenInitializeMintInstruction implements TransactionInstruction {
1117
+ programId: Address
1151
1118
  decimals: BigInt # FIXME:*
1152
1119
  freezeAuthority: Account
1153
1120
  mint: Account
1154
1121
  mintAuthority: Account
1155
- rentSysvar: String
1156
- }
1157
- type SplTokenInitializeMintInstruction implements TransactionInstruction {
1158
- data: SplTokenInitializeMintInstructionData
1159
- meta: JsonParsedInstructionMeta
1160
- programId: String
1122
+ rentSysvar: Address
1161
1123
  }
1162
1124
 
1163
- # SplToken: InitializeMint2
1164
- type SplTokenInitializeMint2InstructionData {
1125
+ """
1126
+ SplToken: InitializeMint2 instruction
1127
+ """
1128
+ type SplTokenInitializeMint2Instruction implements TransactionInstruction {
1129
+ programId: Address
1165
1130
  decimals: BigInt # FIXME:*
1166
1131
  freezeAuthority: Account
1167
1132
  mint: Account
1168
1133
  mintAuthority: Account
1169
1134
  }
1170
- type SplTokenInitializeMint2Instruction implements TransactionInstruction {
1171
- data: SplTokenInitializeMint2InstructionData
1172
- meta: JsonParsedInstructionMeta
1173
- programId: String
1174
- }
1175
1135
 
1176
- # SplToken: InitializeAccount
1177
- type SplTokenInitializeAccountInstructionData {
1136
+ """
1137
+ SplToken: InitializeAccount instruction
1138
+ """
1139
+ type SplTokenInitializeAccountInstruction implements TransactionInstruction {
1140
+ programId: Address
1178
1141
  account: Account
1179
1142
  mint: Account
1180
1143
  owner: Account
1181
- rentSysvar: String
1182
- }
1183
- type SplTokenInitializeAccountInstruction implements TransactionInstruction {
1184
- data: SplTokenInitializeAccountInstructionData
1185
- meta: JsonParsedInstructionMeta
1186
- programId: String
1144
+ rentSysvar: Address
1187
1145
  }
1188
1146
 
1189
- # SplToken: InitializeAccount2
1190
- type SplTokenInitializeAccount2InstructionData {
1147
+ """
1148
+ SplToken: InitializeAccount2 instruction
1149
+ """
1150
+ type SplTokenInitializeAccount2Instruction implements TransactionInstruction {
1151
+ programId: Address
1191
1152
  account: Account
1192
1153
  mint: Account
1193
1154
  owner: Account
1194
- rentSysvar: String
1195
- }
1196
- type SplTokenInitializeAccount2Instruction implements TransactionInstruction {
1197
- data: SplTokenInitializeAccount2InstructionData
1198
- meta: JsonParsedInstructionMeta
1199
- programId: String
1155
+ rentSysvar: Address
1200
1156
  }
1201
1157
 
1202
- # SplToken: InitializeAccount3
1203
- type SplTokenInitializeAccount3InstructionData {
1158
+ """
1159
+ SplToken: InitializeAccount3 instruction
1160
+ """
1161
+ type SplTokenInitializeAccount3Instruction implements TransactionInstruction {
1162
+ programId: Address
1204
1163
  account: Account
1205
1164
  mint: Account
1206
1165
  owner: Account
1207
1166
  }
1208
- type SplTokenInitializeAccount3Instruction implements TransactionInstruction {
1209
- data: SplTokenInitializeAccount3InstructionData
1210
- meta: JsonParsedInstructionMeta
1211
- programId: String
1212
- }
1213
1167
 
1214
- # SplToken: InitializeMultisig
1215
- type SplTokenInitializeMultisigInstructionData {
1168
+ """
1169
+ SplToken: InitializeMultisig instruction
1170
+ """
1171
+ type SplTokenInitializeMultisigInstruction implements TransactionInstruction {
1172
+ programId: Address
1216
1173
  m: BigInt # FIXME:*
1217
1174
  multisig: Account
1218
- rentSysvar: String
1219
- signers: [String]
1220
- }
1221
- type SplTokenInitializeMultisigInstruction implements TransactionInstruction {
1222
- data: SplTokenInitializeMultisigInstructionData
1223
- meta: JsonParsedInstructionMeta
1224
- programId: String
1175
+ rentSysvar: Address
1176
+ signers: [Address]
1225
1177
  }
1226
1178
 
1227
- # SplToken: InitializeMultisig2
1228
- type SplTokenInitializeMultisig2InstructionData {
1179
+ """
1180
+ SplToken: InitializeMultisig2 instruction
1181
+ """
1182
+ type SplTokenInitializeMultisig2Instruction implements TransactionInstruction {
1183
+ programId: Address
1229
1184
  m: BigInt # FIXME:*
1230
1185
  multisig: Account
1231
- signers: [String]
1232
- }
1233
- type SplTokenInitializeMultisig2Instruction implements TransactionInstruction {
1234
- data: SplTokenInitializeMultisig2InstructionData
1235
- meta: JsonParsedInstructionMeta
1236
- programId: String
1186
+ signers: [Address]
1237
1187
  }
1238
1188
 
1239
- # SplToken: Transfer
1240
- type SplTokenTransferInstructionData {
1189
+ """
1190
+ SplToken: Transfer instruction
1191
+ """
1192
+ type SplTokenTransferInstruction implements TransactionInstruction {
1193
+ programId: Address
1241
1194
  amount: String
1242
1195
  authority: Account
1243
1196
  destination: Account
1244
1197
  multisigAuthority: Account
1245
1198
  source: Account
1246
1199
  }
1247
- type SplTokenTransferInstruction implements TransactionInstruction {
1248
- data: SplTokenTransferInstructionData
1249
- meta: JsonParsedInstructionMeta
1250
- programId: String
1251
- }
1252
1200
 
1253
- # SplToken: Approve
1254
- type SplTokenApproveInstructionData {
1201
+ """
1202
+ SplToken: Approve instruction
1203
+ """
1204
+ type SplTokenApproveInstruction implements TransactionInstruction {
1205
+ programId: Address
1255
1206
  amount: String
1256
1207
  delegate: Account
1257
1208
  multisigOwner: Account
1258
1209
  owner: Account
1259
1210
  source: Account
1260
1211
  }
1261
- type SplTokenApproveInstruction implements TransactionInstruction {
1262
- data: SplTokenApproveInstructionData
1263
- meta: JsonParsedInstructionMeta
1264
- programId: String
1265
- }
1266
1212
 
1267
- # SplToken: Revoke
1268
- type SplTokenRevokeInstructionData {
1213
+ """
1214
+ SplToken: Revoke instruction
1215
+ """
1216
+ type SplTokenRevokeInstruction implements TransactionInstruction {
1217
+ programId: Address
1269
1218
  multisigOwner: Account
1270
1219
  owner: Account
1271
1220
  source: Account
1272
1221
  }
1273
- type SplTokenRevokeInstruction implements TransactionInstruction {
1274
- data: SplTokenRevokeInstructionData
1275
- meta: JsonParsedInstructionMeta
1276
- programId: String
1277
- }
1278
1222
 
1279
- # SplToken: SetAuthority
1280
- type SplTokenSetAuthorityInstructionData {
1223
+ """
1224
+ SplToken: SetAuthority instruction
1225
+ """
1226
+ type SplTokenSetAuthorityInstruction implements TransactionInstruction {
1227
+ programId: Address
1281
1228
  authority: Account
1282
1229
  authorityType: String
1283
1230
  multisigAuthority: Account
1284
1231
  newAuthority: Account
1285
1232
  }
1286
- type SplTokenSetAuthorityInstruction implements TransactionInstruction {
1287
- data: SplTokenSetAuthorityInstructionData
1288
- meta: JsonParsedInstructionMeta
1289
- programId: String
1290
- }
1291
1233
 
1292
- # SplToken: MintTo
1293
- type SplTokenMintToInstructionData {
1234
+ """
1235
+ SplToken: MintTo instruction
1236
+ """
1237
+ type SplTokenMintToInstruction implements TransactionInstruction {
1238
+ programId: Address
1294
1239
  account: Account
1295
1240
  amount: String
1296
1241
  authority: Account
@@ -1298,67 +1243,57 @@ var instructionTypeDefs = (
1298
1243
  mintAuthority: Account
1299
1244
  multisigMintAuthority: Account
1300
1245
  }
1301
- type SplTokenMintToInstruction implements TransactionInstruction {
1302
- data: SplTokenMintToInstructionData
1303
- meta: JsonParsedInstructionMeta
1304
- programId: String
1305
- }
1306
1246
 
1307
- # SplToken: Burn
1308
- type SplTokenBurnInstructionData {
1247
+ """
1248
+ SplToken: Burn instruction
1249
+ """
1250
+ type SplTokenBurnInstruction implements TransactionInstruction {
1251
+ programId: Address
1309
1252
  account: Account
1310
1253
  amount: String
1311
1254
  authority: Account
1312
1255
  mint: Account
1313
1256
  multisigAuthority: Account
1314
1257
  }
1315
- type SplTokenBurnInstruction implements TransactionInstruction {
1316
- data: SplTokenBurnInstructionData
1317
- meta: JsonParsedInstructionMeta
1318
- programId: String
1319
- }
1320
1258
 
1321
- # SplToken: CloseAccount
1322
- type SplTokenCloseAccountInstructionData {
1259
+ """
1260
+ SplToken: CloseAccount instruction
1261
+ """
1262
+ type SplTokenCloseAccountInstruction implements TransactionInstruction {
1263
+ programId: Address
1323
1264
  account: Account
1324
1265
  destination: Account
1325
1266
  multisigOwner: Account
1326
1267
  owner: Account
1327
1268
  }
1328
- type SplTokenCloseAccountInstruction implements TransactionInstruction {
1329
- data: SplTokenCloseAccountInstructionData
1330
- meta: JsonParsedInstructionMeta
1331
- programId: String
1332
- }
1333
1269
 
1334
- # SplToken: FreezeAccount
1335
- type SplTokenFreezeAccountInstructionData {
1270
+ """
1271
+ SplToken: FreezeAccount instruction
1272
+ """
1273
+ type SplTokenFreezeAccountInstruction implements TransactionInstruction {
1274
+ programId: Address
1336
1275
  account: Account
1337
1276
  freezeAuthority: Account
1338
1277
  mint: Account
1339
1278
  multisigFreezeAuthority: Account
1340
1279
  }
1341
- type SplTokenFreezeAccountInstruction implements TransactionInstruction {
1342
- data: SplTokenFreezeAccountInstructionData
1343
- meta: JsonParsedInstructionMeta
1344
- programId: String
1345
- }
1346
1280
 
1347
- # SplToken: ThawAccount
1348
- type SplTokenThawAccountInstructionData {
1281
+ """
1282
+ SplToken: ThawAccount instruction
1283
+ """
1284
+ type SplTokenThawAccountInstruction implements TransactionInstruction {
1285
+ programId: Address
1349
1286
  account: Account
1350
1287
  freezeAuthority: Account
1351
1288
  mint: Account
1352
1289
  multisigFreezeAuthority: Account
1353
1290
  }
1354
- type SplTokenThawAccountInstruction implements TransactionInstruction {
1355
- data: SplTokenThawAccountInstructionData
1356
- meta: JsonParsedInstructionMeta
1357
- programId: String
1358
- }
1359
1291
 
1360
- # SplToken: TransferChecked
1361
- type SplTokenTransferCheckedInstructionData {
1292
+ """
1293
+ SplToken: TransferChecked instruction
1294
+ """
1295
+ type SplTokenTransferCheckedInstruction implements TransactionInstruction {
1296
+ programId: Address
1362
1297
  amount: String
1363
1298
  authority: Account
1364
1299
  decimals: BigInt # FIXME:*
@@ -1368,14 +1303,12 @@ var instructionTypeDefs = (
1368
1303
  source: Account
1369
1304
  tokenAmount: String
1370
1305
  }
1371
- type SplTokenTransferCheckedInstruction implements TransactionInstruction {
1372
- data: SplTokenTransferCheckedInstructionData
1373
- meta: JsonParsedInstructionMeta
1374
- programId: String
1375
- }
1376
1306
 
1377
- # SplToken: ApproveChecked
1378
- type SplTokenApproveCheckedInstructionData {
1307
+ """
1308
+ SplToken: ApproveChecked instruction
1309
+ """
1310
+ type SplTokenApproveCheckedInstruction implements TransactionInstruction {
1311
+ programId: Address
1379
1312
  delegate: Account
1380
1313
  mint: Account
1381
1314
  multisigOwner: Account
@@ -1383,14 +1316,12 @@ var instructionTypeDefs = (
1383
1316
  source: Account
1384
1317
  tokenAmount: String
1385
1318
  }
1386
- type SplTokenApproveCheckedInstruction implements TransactionInstruction {
1387
- data: SplTokenApproveCheckedInstructionData
1388
- meta: JsonParsedInstructionMeta
1389
- programId: String
1390
- }
1391
1319
 
1392
- # SplToken: MintToChecked
1393
- type SplTokenMintToCheckedInstructionData {
1320
+ """
1321
+ SplToken: MintToChecked instruction
1322
+ """
1323
+ type SplTokenMintToCheckedInstruction implements TransactionInstruction {
1324
+ programId: Address
1394
1325
  account: Account
1395
1326
  authority: Account
1396
1327
  mint: Account
@@ -1398,89 +1329,70 @@ var instructionTypeDefs = (
1398
1329
  multisigMintAuthority: Account
1399
1330
  tokenAmount: String
1400
1331
  }
1401
- type SplTokenMintToCheckedInstruction implements TransactionInstruction {
1402
- data: SplTokenMintToCheckedInstructionData
1403
- meta: JsonParsedInstructionMeta
1404
- programId: String
1405
- }
1406
1332
 
1407
- # SplToken: BurnChecked
1408
- type SplTokenBurnCheckedInstructionData {
1333
+ """
1334
+ SplToken: BurnChecked instruction
1335
+ """
1336
+ type SplTokenBurnCheckedInstruction implements TransactionInstruction {
1337
+ programId: Address
1409
1338
  account: Account
1410
1339
  authority: Account
1411
1340
  mint: Account
1412
1341
  multisigAuthority: Account
1413
1342
  tokenAmount: String
1414
1343
  }
1415
- type SplTokenBurnCheckedInstruction implements TransactionInstruction {
1416
- data: SplTokenBurnCheckedInstructionData
1417
- meta: JsonParsedInstructionMeta
1418
- programId: String
1419
- }
1420
1344
 
1421
- # SplToken: SyncNative
1422
- type SplTokenSyncNativeInstructionData {
1423
- account: Account
1424
- }
1345
+ """
1346
+ SplToken: SyncNative instruction
1347
+ """
1425
1348
  type SplTokenSyncNativeInstruction implements TransactionInstruction {
1426
- data: SplTokenSyncNativeInstructionData
1427
- meta: JsonParsedInstructionMeta
1428
- programId: String
1349
+ programId: Address
1350
+ account: Account
1429
1351
  }
1430
1352
 
1431
- # SplToken: GetAccountDataSize
1432
- type SplTokenGetAccountDataSizeInstructionData {
1353
+ """
1354
+ SplToken: GetAccountDataSize instruction
1355
+ """
1356
+ type SplTokenGetAccountDataSizeInstruction implements TransactionInstruction {
1357
+ programId: Address
1433
1358
  extensionTypes: [String]
1434
1359
  mint: Account
1435
1360
  }
1436
- type SplTokenGetAccountDataSizeInstruction implements TransactionInstruction {
1437
- data: SplTokenGetAccountDataSizeInstructionData
1438
- meta: JsonParsedInstructionMeta
1439
- programId: String
1440
- }
1441
1361
 
1442
- # SplToken: InitializeImmutableOwner
1443
- type SplTokenInitializeImmutableOwnerInstructionData {
1444
- account: Account
1445
- }
1362
+ """
1363
+ SplToken: InitializeImmutableOwner instruction
1364
+ """
1446
1365
  type SplTokenInitializeImmutableOwnerInstruction implements TransactionInstruction {
1447
- data: SplTokenInitializeImmutableOwnerInstructionData
1448
- meta: JsonParsedInstructionMeta
1449
- programId: String
1366
+ programId: Address
1367
+ account: Account
1450
1368
  }
1451
1369
 
1452
- # SplToken: AmountToUiAmount
1453
- type SplTokenAmountToUiAmountInstructionData {
1370
+ """
1371
+ SplToken: AmountToUiAmount instruction
1372
+ """
1373
+ type SplTokenAmountToUiAmountInstruction implements TransactionInstruction {
1374
+ programId: Address
1454
1375
  amount: String
1455
1376
  mint: Account
1456
1377
  }
1457
- type SplTokenAmountToUiAmountInstruction implements TransactionInstruction {
1458
- data: SplTokenAmountToUiAmountInstructionData
1459
- meta: JsonParsedInstructionMeta
1460
- programId: String
1461
- }
1462
1378
 
1463
- # SplToken: UiAmountToAmount
1464
- type SplTokenUiAmountToAmountInstructionData {
1379
+ """
1380
+ SplToken: UiAmountToAmount instruction
1381
+ """
1382
+ type SplTokenUiAmountToAmountInstruction implements TransactionInstruction {
1383
+ programId: Address
1465
1384
  mint: Account
1466
1385
  uiAmount: String
1467
1386
  }
1468
- type SplTokenUiAmountToAmountInstruction implements TransactionInstruction {
1469
- data: SplTokenUiAmountToAmountInstructionData
1470
- meta: JsonParsedInstructionMeta
1471
- programId: String
1472
- }
1473
1387
 
1474
- # SplToken: InitializeMintCloseAuthority
1475
- type SplTokenInitializeMintCloseAuthorityInstructionData {
1388
+ """
1389
+ SplToken: InitializeMintCloseAuthority instruction
1390
+ """
1391
+ type SplTokenInitializeMintCloseAuthorityInstruction implements TransactionInstruction {
1392
+ programId: Address
1476
1393
  mint: Account
1477
1394
  newAuthority: Account
1478
1395
  }
1479
- type SplTokenInitializeMintCloseAuthorityInstruction implements TransactionInstruction {
1480
- data: SplTokenInitializeMintCloseAuthorityInstructionData
1481
- meta: JsonParsedInstructionMeta
1482
- programId: String
1483
- }
1484
1396
 
1485
1397
  # TODO: Extensions!
1486
1398
  # - TransferFeeExtension
@@ -1504,446 +1416,386 @@ var instructionTypeDefs = (
1504
1416
  unixTimestamp: BigInt
1505
1417
  }
1506
1418
 
1507
- # Stake: Initialize
1419
+ """
1420
+ Stake: Initialize instruction
1421
+ """
1508
1422
  type StakeInitializeInstructionDataAuthorized {
1509
1423
  staker: Account
1510
1424
  withdrawer: Account
1511
1425
  }
1512
- type StakeInitializeInstructionData {
1426
+ type StakeInitializeInstruction implements TransactionInstruction {
1427
+ programId: Address
1513
1428
  authorized: StakeInitializeInstructionDataAuthorized
1514
1429
  lockup: Lockup
1515
- rentSysvar: String
1430
+ rentSysvar: Address
1516
1431
  stakeAccount: Account
1517
1432
  }
1518
- type StakeInitializeInstruction implements TransactionInstruction {
1519
- data: StakeInitializeInstructionData
1520
- meta: JsonParsedInstructionMeta
1521
- programId: String
1522
- }
1523
1433
 
1524
- # Stake: Authorize
1525
- type StakeAuthorizeInstructionData {
1434
+ """
1435
+ Stake: Authorize instruction
1436
+ """
1437
+ type StakeAuthorizeInstruction implements TransactionInstruction {
1438
+ programId: Address
1526
1439
  authority: Account
1527
1440
  authorityType: String
1528
- clockSysvar: String
1441
+ clockSysvar: Address
1529
1442
  custodian: Account
1530
1443
  newAuthority: Account
1531
1444
  stakeAccount: Account
1532
1445
  }
1533
- type StakeAuthorizeInstruction implements TransactionInstruction {
1534
- data: StakeAuthorizeInstructionData
1535
- meta: JsonParsedInstructionMeta
1536
- programId: String
1537
- }
1538
1446
 
1539
- # Stake: DelegateStake
1540
- type StakeDelegateStakeInstructionData {
1541
- clockSysvar: String
1447
+ """
1448
+ Stake: DelegateStake instruction
1449
+ """
1450
+ type StakeDelegateStakeInstruction implements TransactionInstruction {
1451
+ programId: Address
1452
+ clockSysvar: Address
1542
1453
  stakeAccount: Account
1543
1454
  stakeAuthority: Account
1544
1455
  stakeConfigAccount: Account
1545
- stakeHistorySysvar: String
1456
+ stakeHistorySysvar: Address
1546
1457
  voteAccount: Account
1547
1458
  }
1548
- type StakeDelegateStakeInstruction implements TransactionInstruction {
1549
- data: StakeDelegateStakeInstructionData
1550
- meta: JsonParsedInstructionMeta
1551
- programId: String
1552
- }
1553
1459
 
1554
- # Stake: Split
1555
- type StakeSplitInstructionData {
1460
+ """
1461
+ Stake: Split instruction
1462
+ """
1463
+ type StakeSplitInstruction implements TransactionInstruction {
1464
+ programId: Address
1556
1465
  lamports: BigInt
1557
1466
  newSplitAccount: Account
1558
1467
  stakeAccount: Account
1559
1468
  stakeAuthority: Account
1560
1469
  }
1561
- type StakeSplitInstruction implements TransactionInstruction {
1562
- data: StakeSplitInstructionData
1563
- meta: JsonParsedInstructionMeta
1564
- programId: String
1565
- }
1566
1470
 
1567
- # Stake: Withdraw
1568
- type StakeWithdrawInstructionData {
1569
- clockSysvar: String
1471
+ """
1472
+ Stake: Withdraw instruction
1473
+ """
1474
+ type StakeWithdrawInstruction implements TransactionInstruction {
1475
+ programId: Address
1476
+ clockSysvar: Address
1570
1477
  destination: Account
1571
1478
  lamports: BigInt
1572
1479
  stakeAccount: Account
1573
1480
  withdrawAuthority: Account
1574
1481
  }
1575
- type StakeWithdrawInstruction implements TransactionInstruction {
1576
- data: StakeWithdrawInstructionData
1577
- meta: JsonParsedInstructionMeta
1578
- programId: String
1579
- }
1580
1482
 
1581
- # Stake: Deactivate
1582
- type StakeDeactivateInstructionData {
1583
- clockSysvar: String
1483
+ """
1484
+ Stake: Deactivate instruction
1485
+ """
1486
+ type StakeDeactivateInstruction implements TransactionInstruction {
1487
+ programId: Address
1488
+ clockSysvar: Address
1584
1489
  stakeAccount: Account
1585
1490
  stakeAuthority: Account
1586
1491
  }
1587
- type StakeDeactivateInstruction implements TransactionInstruction {
1588
- data: StakeDeactivateInstructionData
1589
- meta: JsonParsedInstructionMeta
1590
- programId: String
1591
- }
1592
1492
 
1593
- # Stake: SetLockup
1594
- type StakeSetLockupInstructionData {
1493
+ """
1494
+ Stake: SetLockup instruction
1495
+ """
1496
+ type StakeSetLockupInstruction implements TransactionInstruction {
1497
+ programId: Address
1595
1498
  custodian: Account
1596
1499
  lockup: Lockup
1597
1500
  stakeAccount: Account
1598
1501
  }
1599
- type StakeSetLockupInstruction implements TransactionInstruction {
1600
- data: StakeSetLockupInstructionData
1601
- meta: JsonParsedInstructionMeta
1602
- programId: String
1603
- }
1604
1502
 
1605
- # Stake: Merge
1606
- type StakeMergeInstructionData {
1607
- clockSysvar: String
1503
+ """
1504
+ Stake: Merge instruction
1505
+ """
1506
+ type StakeMergeInstruction implements TransactionInstruction {
1507
+ programId: Address
1508
+ clockSysvar: Address
1608
1509
  destination: Account
1609
1510
  source: Account
1610
1511
  stakeAuthority: Account
1611
- stakeHistorySysvar: String
1612
- }
1613
- type StakeMergeInstruction implements TransactionInstruction {
1614
- data: StakeMergeInstructionData
1615
- meta: JsonParsedInstructionMeta
1616
- programId: String
1512
+ stakeHistorySysvar: Address
1617
1513
  }
1618
1514
 
1619
- # Stake: AuthorizeWithSeed
1620
- type StakeAuthorizeWithSeedInstructionData {
1515
+ """
1516
+ Stake: AuthorizeWithSeed instruction
1517
+ """
1518
+ type StakeAuthorizeWithSeedInstruction implements TransactionInstruction {
1519
+ programId: Address
1621
1520
  authorityBase: Account
1622
1521
  authorityOwner: Account
1623
1522
  authoritySeed: String
1624
1523
  authorityType: String
1625
- clockSysvar: String
1524
+ clockSysvar: Address
1626
1525
  custodian: Account
1627
1526
  newAuthorized: Account
1628
1527
  stakeAccount: Account
1629
1528
  }
1630
- type StakeAuthorizeWithSeedInstruction implements TransactionInstruction {
1631
- data: StakeAuthorizeWithSeedInstructionData
1632
- meta: JsonParsedInstructionMeta
1633
- programId: String
1634
- }
1635
1529
 
1636
- # Stake: InitializeChecked
1530
+ """
1531
+ Stake: InitializeChecked instruction
1532
+ """
1637
1533
  type StakeInitializeCheckedInstructionDataAuthorized {
1638
- rentSysvar: String
1639
- stakeAccount: Account
1640
1534
  staker: Account
1641
1535
  withdrawer: Account
1642
1536
  }
1643
1537
  type StakeInitializeCheckedInstruction implements TransactionInstruction {
1644
- data: StakeInitializeCheckedInstructionDataAuthorized
1645
- meta: JsonParsedInstructionMeta
1646
- programId: String
1538
+ programId: Address
1539
+ authorized: StakeInitializeCheckedInstructionDataAuthorized
1540
+ lockup: Lockup
1541
+ rentSysvar: Address
1542
+ stakeAccount: Account
1647
1543
  }
1648
1544
 
1649
- # Stake: AuthorizeChecked
1650
- type StakeAuthorizeCheckedInstructionData {
1545
+ """
1546
+ Stake: AuthorizeChecked instruction
1547
+ """
1548
+ type StakeAuthorizeCheckedInstruction implements TransactionInstruction {
1549
+ programId: Address
1651
1550
  authority: Account
1652
1551
  authorityType: String
1653
- clockSysvar: String
1552
+ clockSysvar: Address
1654
1553
  custodian: Account
1655
1554
  newAuthority: Account
1656
1555
  stakeAccount: Account
1657
1556
  }
1658
- type StakeAuthorizeCheckedInstruction implements TransactionInstruction {
1659
- data: StakeAuthorizeCheckedInstructionData
1660
- meta: JsonParsedInstructionMeta
1661
- programId: String
1662
- }
1663
1557
 
1664
- # Stake: AuthorizeCheckedWithSeed
1665
- type StakeAuthorizeCheckedWithSeedInstructionData {
1558
+ """
1559
+ Stake: AuthorizeCheckedWithSeed instruction
1560
+ """
1561
+ type StakeAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
1562
+ programId: Address
1666
1563
  authorityBase: Account
1667
1564
  authorityOwner: Account
1668
1565
  authoritySeed: String
1669
1566
  authorityType: String
1670
- clockSysvar: String
1567
+ clockSysvar: Address
1671
1568
  custodian: Account
1672
1569
  newAuthorized: Account
1673
1570
  stakeAccount: Account
1674
1571
  }
1675
- type StakeAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
1676
- data: StakeAuthorizeCheckedWithSeedInstructionData
1677
- meta: JsonParsedInstructionMeta
1678
- programId: String
1679
- }
1680
1572
 
1681
- # Stake: SetLockupChecked
1682
- type StakeSetLockupCheckedInstructionData {
1573
+ """
1574
+ Stake: SetLockupChecked instruction
1575
+ """
1576
+ type StakeSetLockupCheckedInstruction implements TransactionInstruction {
1577
+ programId: Address
1683
1578
  custodian: Account
1684
1579
  lockup: Lockup
1685
1580
  stakeAccount: Account
1686
1581
  }
1687
- type StakeSetLockupCheckedInstruction implements TransactionInstruction {
1688
- data: StakeSetLockupCheckedInstructionData
1689
- meta: JsonParsedInstructionMeta
1690
- programId: String
1691
- }
1692
1582
 
1693
- # Stake: DeactivateDelinquent
1694
- type StakeDeactivateDelinquentInstructionData {
1583
+ """
1584
+ Stake: DeactivateDelinquent instruction
1585
+ """
1586
+ type StakeDeactivateDelinquentInstruction implements TransactionInstruction {
1587
+ programId: Address
1695
1588
  referenceVoteAccount: Account
1696
1589
  stakeAccount: Account
1697
1590
  voteAccount: Account
1698
1591
  }
1699
- type StakeDeactivateDelinquentInstruction implements TransactionInstruction {
1700
- data: StakeDeactivateDelinquentInstructionData
1701
- meta: JsonParsedInstructionMeta
1702
- programId: String
1703
- }
1704
1592
 
1705
- # Stake: Redelegate
1706
- type StakeRedelegateInstructionData {
1593
+ """
1594
+ Stake: Redelegate instruction
1595
+ """
1596
+ type StakeRedelegateInstruction implements TransactionInstruction {
1597
+ programId: Address
1707
1598
  newStakeAccount: Account
1708
1599
  stakeAccount: Account
1709
1600
  stakeAuthority: Account
1710
1601
  stakeConfigAccount: Account
1711
1602
  voteAccount: Account
1712
1603
  }
1713
- type StakeRedelegateInstruction implements TransactionInstruction {
1714
- data: StakeRedelegateInstructionData
1715
- meta: JsonParsedInstructionMeta
1716
- programId: String
1717
- }
1718
1604
 
1719
- # System: CreateAccount
1720
- type CreateAccountInstructionData {
1605
+ """
1606
+ System: CreateAccount instruction
1607
+ """
1608
+ type CreateAccountInstruction implements TransactionInstruction {
1609
+ programId: Address
1721
1610
  lamports: BigInt
1722
1611
  newAccount: Account
1723
1612
  owner: Account
1724
1613
  source: Account
1725
1614
  space: BigInt
1726
1615
  }
1727
- type CreateAccountInstruction implements TransactionInstruction {
1728
- data: CreateAccountInstructionData
1729
- meta: JsonParsedInstructionMeta
1730
- programId: String
1731
- }
1732
1616
 
1733
- # System: Assign
1734
- type AssignInstructionData {
1617
+ """
1618
+ System: Assign instruction
1619
+ """
1620
+ type AssignInstruction implements TransactionInstruction {
1621
+ programId: Address
1735
1622
  account: Account
1736
1623
  owner: Account
1737
1624
  }
1738
- type AssignInstruction implements TransactionInstruction {
1739
- data: AssignInstructionData
1740
- meta: JsonParsedInstructionMeta
1741
- programId: String
1742
- }
1743
1625
 
1744
- # System: Transfer
1745
- type TransferInstructionData {
1626
+ """
1627
+ System: Transfer instruction
1628
+ """
1629
+ type TransferInstruction implements TransactionInstruction {
1630
+ programId: Address
1746
1631
  destination: Account
1747
1632
  lamports: BigInt
1748
1633
  source: Account
1749
1634
  }
1750
- type TransferInstruction implements TransactionInstruction {
1751
- data: TransferInstructionData
1752
- meta: JsonParsedInstructionMeta
1753
- programId: String
1754
- }
1755
1635
 
1756
- # System: CreateAccountWithSeed
1757
- type CreateAccountWithSeedInstructionData {
1636
+ """
1637
+ System: CreateAccountWithSeed instruction
1638
+ """
1639
+ type CreateAccountWithSeedInstruction implements TransactionInstruction {
1640
+ programId: Address
1758
1641
  base: Account
1759
1642
  lamports: BigInt
1760
1643
  owner: Account
1761
1644
  seed: String
1762
1645
  space: BigInt
1763
1646
  }
1764
- type CreateAccountWithSeedInstruction implements TransactionInstruction {
1765
- data: CreateAccountWithSeedInstructionData
1766
- meta: JsonParsedInstructionMeta
1767
- programId: String
1768
- }
1769
1647
 
1770
- # System: AdvanceNonceAccount
1771
- type AdvanceNonceAccountInstructionData {
1648
+ """
1649
+ System: AdvanceNonceAccount instruction
1650
+ """
1651
+ type AdvanceNonceAccountInstruction implements TransactionInstruction {
1652
+ programId: Address
1772
1653
  nonceAccount: Account
1773
1654
  nonceAuthority: Account
1774
- recentBlockhashesSysvar: String
1775
- }
1776
- type AdvanceNonceAccountInstruction implements TransactionInstruction {
1777
- data: AdvanceNonceAccountInstructionData
1778
- meta: JsonParsedInstructionMeta
1779
- programId: String
1655
+ recentBlockhashesSysvar: Address
1780
1656
  }
1781
1657
 
1782
- # System: WithdrawNonceAccount
1783
- type WithdrawNonceAccountInstructionData {
1658
+ """
1659
+ System: WithdrawNonceAccount instruction
1660
+ """
1661
+ type WithdrawNonceAccountInstruction implements TransactionInstruction {
1662
+ programId: Address
1784
1663
  destination: Account
1785
1664
  lamports: BigInt
1786
1665
  nonceAccount: Account
1787
1666
  nonceAuthority: Account
1788
- recentBlockhashesSysvar: String
1789
- rentSysvar: String
1790
- }
1791
- type WithdrawNonceAccountInstruction implements TransactionInstruction {
1792
- data: WithdrawNonceAccountInstructionData
1793
- meta: JsonParsedInstructionMeta
1794
- programId: String
1667
+ recentBlockhashesSysvar: Address
1668
+ rentSysvar: Address
1795
1669
  }
1796
1670
 
1797
- # System: InitializeNonceAccount
1798
- type InitializeNonceAccountInstructionData {
1671
+ """
1672
+ System: InitializeNonceAccount instruction
1673
+ """
1674
+ type InitializeNonceAccountInstruction implements TransactionInstruction {
1675
+ programId: Address
1799
1676
  nonceAccount: Account
1800
1677
  nonceAuthority: Account
1801
- recentBlockhashesSysvar: String
1802
- rentSysvar: String
1803
- }
1804
- type InitializeNonceAccountInstruction implements TransactionInstruction {
1805
- data: InitializeNonceAccountInstructionData
1806
- meta: JsonParsedInstructionMeta
1807
- programId: String
1678
+ recentBlockhashesSysvar: Address
1679
+ rentSysvar: Address
1808
1680
  }
1809
1681
 
1810
- # System: AuthorizeNonceAccount
1811
- type AuthorizeNonceAccountInstructionData {
1682
+ """
1683
+ System: AuthorizeNonceAccount instruction
1684
+ """
1685
+ type AuthorizeNonceAccountInstruction implements TransactionInstruction {
1686
+ programId: Address
1812
1687
  newAuthorized: Account
1813
1688
  nonceAccount: Account
1814
1689
  nonceAuthority: Account
1815
1690
  }
1816
- type AuthorizeNonceAccountInstruction implements TransactionInstruction {
1817
- data: AuthorizeNonceAccountInstructionData
1818
- meta: JsonParsedInstructionMeta
1819
- programId: String
1820
- }
1821
1691
 
1822
- # System: UpgradeNonceAccount
1823
- type UpgradeNonceAccountInstructionData {
1692
+ """
1693
+ System: UpgradeNonceAccount instruction
1694
+ """
1695
+ type UpgradeNonceAccountInstruction implements TransactionInstruction {
1696
+ programId: Address
1824
1697
  nonceAccount: Account
1825
1698
  nonceAuthority: Account
1826
1699
  }
1827
- type UpgradeNonceAccountInstruction implements TransactionInstruction {
1828
- data: UpgradeNonceAccountInstructionData
1829
- meta: JsonParsedInstructionMeta
1830
- programId: String
1831
- }
1832
1700
 
1833
- # System: Allocate
1834
- type AllocateInstructionData {
1701
+ """
1702
+ System: Allocate instruction
1703
+ """
1704
+ type AllocateInstruction implements TransactionInstruction {
1705
+ programId: Address
1835
1706
  account: Account
1836
1707
  space: BigInt
1837
1708
  }
1838
- type AllocateInstruction implements TransactionInstruction {
1839
- data: AllocateInstructionData
1840
- meta: JsonParsedInstructionMeta
1841
- programId: String
1842
- }
1843
1709
 
1844
- # System: AllocateWithSeed
1845
- type AllocateWithSeedInstructionData {
1710
+ """
1711
+ System: AllocateWithSeed instruction
1712
+ """
1713
+ type AllocateWithSeedInstruction implements TransactionInstruction {
1714
+ programId: Address
1846
1715
  account: Account
1847
- base: String
1716
+ base: Address
1848
1717
  owner: Account
1849
1718
  seed: String
1850
1719
  space: BigInt
1851
1720
  }
1852
- type AllocateWithSeedInstruction implements TransactionInstruction {
1853
- data: AllocateWithSeedInstructionData
1854
- meta: JsonParsedInstructionMeta
1855
- programId: String
1856
- }
1857
1721
 
1858
- # System: AssignWithSeed
1859
- type AssignWithSeedInstructionData {
1722
+ """
1723
+ System: AssignWithSeed instruction
1724
+ """
1725
+ type AssignWithSeedInstruction implements TransactionInstruction {
1726
+ programId: Address
1860
1727
  account: Account
1861
- base: String
1728
+ base: Address
1862
1729
  owner: Account
1863
1730
  seed: String
1864
1731
  }
1865
- type AssignWithSeedInstruction implements TransactionInstruction {
1866
- data: AssignWithSeedInstructionData
1867
- meta: JsonParsedInstructionMeta
1868
- programId: String
1869
- }
1870
1732
 
1871
- # System: TransferWithSeed
1872
- type TransferWithSeedInstructionData {
1733
+ """
1734
+ System: TransferWithSeed instruction
1735
+ """
1736
+ type TransferWithSeedInstruction implements TransactionInstruction {
1737
+ programId: Address
1873
1738
  destination: Account
1874
1739
  lamports: BigInt
1875
1740
  source: Account
1876
- sourceBase: String
1741
+ sourceBase: Address
1877
1742
  sourceOwner: Account
1878
1743
  sourceSeed: String
1879
1744
  }
1880
- type TransferWithSeedInstruction implements TransactionInstruction {
1881
- data: TransferWithSeedInstructionData
1882
- meta: JsonParsedInstructionMeta
1883
- programId: String
1884
- }
1885
1745
 
1886
- # Vote: InitializeAccount
1887
- type VoteInitializeAccountInstructionData {
1746
+ """
1747
+ Vote: InitializeAccount instruction
1748
+ """
1749
+ type VoteInitializeAccountInstruction implements TransactionInstruction {
1750
+ programId: Address
1888
1751
  authorizedVoter: Account
1889
1752
  authorizedWithdrawer: Account
1890
- clockSysvar: String
1753
+ clockSysvar: Address
1891
1754
  commission: BigInt # FIXME:*
1892
1755
  node: Account
1893
- rentSysvar: String
1756
+ rentSysvar: Address
1894
1757
  voteAccount: Account
1895
1758
  }
1896
- type VoteInitializeAccountInstruction implements TransactionInstruction {
1897
- data: VoteInitializeAccountInstructionData
1898
- meta: JsonParsedInstructionMeta
1899
- programId: String
1900
- }
1901
1759
 
1902
- # Vote: Authorize
1903
- type VoteAuthorizeInstructionData {
1760
+ """
1761
+ Vote: Authorize instruction
1762
+ """
1763
+ type VoteAuthorizeInstruction implements TransactionInstruction {
1764
+ programId: Address
1904
1765
  authority: Account
1905
1766
  authorityType: String
1906
- clockSysvar: String
1767
+ clockSysvar: Address
1907
1768
  newAuthority: Account
1908
1769
  voteAccount: Account
1909
1770
  }
1910
- type VoteAuthorizeInstruction implements TransactionInstruction {
1911
- data: VoteAuthorizeInstructionData
1912
- meta: JsonParsedInstructionMeta
1913
- programId: String
1914
- }
1915
1771
 
1916
- # Vote: AuthorizeWithSeed
1917
- type VoteAuthorizeWithSeedInstructionData {
1772
+ """
1773
+ Vote: AuthorizeWithSeed instruction
1774
+ """
1775
+ type VoteAuthorizeWithSeedInstruction implements TransactionInstruction {
1776
+ programId: Address
1918
1777
  authorityBaseKey: String
1919
1778
  authorityOwner: Account
1920
1779
  authoritySeed: String
1921
1780
  authorityType: String
1922
- clockSysvar: String
1781
+ clockSysvar: Address
1923
1782
  newAuthority: Account
1924
1783
  voteAccount: Account
1925
1784
  }
1926
- type VoteAuthorizeWithSeedInstruction implements TransactionInstruction {
1927
- data: VoteAuthorizeWithSeedInstructionData
1928
- meta: JsonParsedInstructionMeta
1929
- programId: String
1930
- }
1931
1785
 
1932
- # Vote: AuthorizeCheckedWithSeed
1933
- type VoteAuthorizeCheckedWithSeedInstructionData {
1786
+ """
1787
+ Vote: AuthorizeCheckedWithSeed instruction
1788
+ """
1789
+ type VoteAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
1790
+ programId: Address
1934
1791
  authorityBaseKey: String
1935
1792
  authorityOwner: Account
1936
1793
  authoritySeed: String
1937
1794
  authorityType: String
1938
- clockSysvar: String
1795
+ clockSysvar: Address
1939
1796
  newAuthority: Account
1940
1797
  voteAccount: Account
1941
1798
  }
1942
- type VoteAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
1943
- data: VoteAuthorizeCheckedWithSeedInstructionData
1944
- meta: JsonParsedInstructionMeta
1945
- programId: String
1946
- }
1947
1799
 
1948
1800
  type Vote {
1949
1801
  hash: String
@@ -1951,19 +1803,17 @@ var instructionTypeDefs = (
1951
1803
  timestamp: BigInt
1952
1804
  }
1953
1805
 
1954
- # Vote: Vote
1955
- type VoteVoteInstructionData {
1956
- clockSysvar: String
1957
- slotHashesSysvar: String
1806
+ """
1807
+ Vote: Vote instruction
1808
+ """
1809
+ type VoteVoteInstruction implements TransactionInstruction {
1810
+ programId: Address
1811
+ clockSysvar: Address
1812
+ slotHashesSysvar: Address
1958
1813
  vote: Vote
1959
1814
  voteAccount: Account
1960
1815
  voteAuthority: Account
1961
1816
  }
1962
- type VoteVoteInstruction implements TransactionInstruction {
1963
- data: VoteVoteInstructionData
1964
- meta: JsonParsedInstructionMeta
1965
- programId: String
1966
- }
1967
1817
 
1968
1818
  type VoteStateUpdateLockout {
1969
1819
  confirmationCount: BigInt # FIXME:*
@@ -1976,403 +1826,385 @@ var instructionTypeDefs = (
1976
1826
  timestamp: BigInt
1977
1827
  }
1978
1828
 
1979
- # Vote: UpdateVoteState
1980
- type VoteUpdateVoteStateInstructionData {
1829
+ """
1830
+ Vote: UpdateVoteState instruction
1831
+ """
1832
+ type VoteUpdateVoteStateInstruction implements TransactionInstruction {
1833
+ programId: Address
1981
1834
  hash: String
1982
1835
  voteAccount: Account
1983
1836
  voteAuthority: Account
1984
1837
  voteStateUpdate: VoteStateUpdate
1985
1838
  }
1986
- type VoteUpdateVoteStateInstruction implements TransactionInstruction {
1987
- data: VoteUpdateVoteStateInstructionData
1988
- meta: JsonParsedInstructionMeta
1989
- programId: String
1990
- }
1991
1839
 
1992
- # Vote: UpdateVoteStateSwitch
1993
- type VoteUpdateVoteStateSwitchInstructionData {
1840
+ """
1841
+ Vote: UpdateVoteStateSwitch instruction
1842
+ """
1843
+ type VoteUpdateVoteStateSwitchInstruction implements TransactionInstruction {
1844
+ programId: Address
1994
1845
  hash: String
1995
1846
  voteAccount: Account
1996
1847
  voteAuthority: Account
1997
1848
  voteStateUpdate: VoteStateUpdate
1998
1849
  }
1999
- type VoteUpdateVoteStateSwitchInstruction implements TransactionInstruction {
2000
- data: VoteUpdateVoteStateSwitchInstructionData
2001
- meta: JsonParsedInstructionMeta
2002
- programId: String
2003
- }
2004
1850
 
2005
- # Vote: CompactUpdateVoteState
2006
- type VoteCompactUpdateVoteStateInstructionData {
1851
+ """
1852
+ Vote: CompactUpdateVoteState instruction
1853
+ """
1854
+ type VoteCompactUpdateVoteStateInstruction implements TransactionInstruction {
1855
+ programId: Address
2007
1856
  hash: String
2008
1857
  voteAccount: Account
2009
1858
  voteAuthority: Account
2010
1859
  voteStateUpdate: VoteStateUpdate
2011
1860
  }
2012
- type VoteCompactUpdateVoteStateInstruction implements TransactionInstruction {
2013
- data: VoteCompactUpdateVoteStateInstructionData
2014
- meta: JsonParsedInstructionMeta
2015
- programId: String
2016
- }
2017
1861
 
2018
- # Vote: CompactUpdateVoteStateSwitch
2019
- type VoteCompactUpdateVoteStateSwitchInstructionData {
1862
+ """
1863
+ Vote: CompactUpdateVoteStateSwitch instruction
1864
+ """
1865
+ type VoteCompactUpdateVoteStateSwitchInstruction implements TransactionInstruction {
1866
+ programId: Address
2020
1867
  hash: String
2021
1868
  voteAccount: Account
2022
1869
  voteAuthority: Account
2023
1870
  voteStateUpdate: VoteStateUpdate
2024
1871
  }
2025
- type VoteCompactUpdateVoteStateSwitchInstruction implements TransactionInstruction {
2026
- data: VoteCompactUpdateVoteStateSwitchInstructionData
2027
- meta: JsonParsedInstructionMeta
2028
- programId: String
2029
- }
2030
1872
 
2031
- # Vote: Withdraw
2032
- type VoteWithdrawInstructionData {
1873
+ """
1874
+ Vote: Withdraw instruction
1875
+ """
1876
+ type VoteWithdrawInstruction implements TransactionInstruction {
1877
+ programId: Address
2033
1878
  destination: Account
2034
1879
  lamports: BigInt
2035
1880
  voteAccount: Account
2036
1881
  withdrawAuthority: Account
2037
1882
  }
2038
- type VoteWithdrawInstruction implements TransactionInstruction {
2039
- data: VoteWithdrawInstructionData
2040
- meta: JsonParsedInstructionMeta
2041
- programId: String
2042
- }
2043
1883
 
2044
- # Vote: UpdateValidatorIdentity
2045
- type VoteUpdateValidatorIdentityInstructionData {
1884
+ """
1885
+ Vote: UpdateValidatorIdentity instruction
1886
+ """
1887
+ type VoteUpdateValidatorIdentityInstruction implements TransactionInstruction {
1888
+ programId: Address
2046
1889
  newValidatorIdentity: Account
2047
1890
  voteAccount: Account
2048
1891
  withdrawAuthority: Account
2049
1892
  }
2050
- type VoteUpdateValidatorIdentityInstruction implements TransactionInstruction {
2051
- data: VoteUpdateValidatorIdentityInstructionData
2052
- meta: JsonParsedInstructionMeta
2053
- programId: String
2054
- }
2055
1893
 
2056
- # Vote: UpdateCommission
2057
- type VoteUpdateCommissionInstructionData {
1894
+ """
1895
+ Vote: UpdateCommission instruction
1896
+ """
1897
+ type VoteUpdateCommissionInstruction implements TransactionInstruction {
1898
+ programId: Address
2058
1899
  commission: BigInt # FIXME:*
2059
1900
  voteAccount: Account
2060
1901
  withdrawAuthority: Account
2061
1902
  }
2062
- type VoteUpdateCommissionInstruction implements TransactionInstruction {
2063
- data: VoteUpdateCommissionInstructionData
2064
- meta: JsonParsedInstructionMeta
2065
- programId: String
2066
- }
2067
1903
 
2068
- # Vote: VoteSwitch
2069
- type VoteVoteSwitchInstructionData {
2070
- clockSysvar: String
1904
+ """
1905
+ Vote: VoteSwitch instruction
1906
+ """
1907
+ type VoteVoteSwitchInstruction implements TransactionInstruction {
1908
+ programId: Address
1909
+ clockSysvar: Address
2071
1910
  hash: String
2072
- slotHashesSysvar: String
1911
+ slotHashesSysvar: Address
2073
1912
  vote: Vote
2074
1913
  voteAccount: Account
2075
1914
  voteAuthority: Account
2076
1915
  }
2077
- type VoteVoteSwitchInstruction implements TransactionInstruction {
2078
- data: VoteVoteSwitchInstructionData
2079
- meta: JsonParsedInstructionMeta
2080
- programId: String
2081
- }
2082
1916
 
2083
- # Vote: AuthorizeChecked
2084
- type VoteAuthorizeCheckedInstructionData {
1917
+ """
1918
+ Vote: AuthorizeChecked instruction
1919
+ """
1920
+ type VoteAuthorizeCheckedInstruction implements TransactionInstruction {
1921
+ programId: Address
2085
1922
  authority: Account
2086
1923
  authorityType: String
2087
- clockSysvar: String
1924
+ clockSysvar: Address
2088
1925
  newAuthority: Account
2089
1926
  voteAccount: Account
2090
1927
  }
2091
- type VoteAuthorizeCheckedInstruction implements TransactionInstruction {
2092
- data: VoteAuthorizeCheckedInstructionData
2093
- meta: JsonParsedInstructionMeta
2094
- programId: String
2095
- }
2096
1928
  `
2097
1929
  );
2098
1930
  var instructionResolvers = {
2099
1931
  TransactionInstruction: {
2100
1932
  __resolveType(instruction) {
2101
- if (instruction.meta) {
2102
- if (instruction.meta.program === "address-lookup-table") {
2103
- if (instruction.meta.type === "createLookupTable") {
1933
+ if (instruction.programName) {
1934
+ if (instruction.programName === "address-lookup-table") {
1935
+ if (instruction.instructionType === "createLookupTable") {
2104
1936
  return "CreateLookupTableInstruction";
2105
1937
  }
2106
- if (instruction.meta.type === "freezeLookupTable") {
1938
+ if (instruction.instructionType === "freezeLookupTable") {
2107
1939
  return "FreezeLookupTableInstruction";
2108
1940
  }
2109
- if (instruction.meta.type === "extendLookupTable") {
1941
+ if (instruction.instructionType === "extendLookupTable") {
2110
1942
  return "ExtendLookupTableInstruction";
2111
1943
  }
2112
- if (instruction.meta.type === "deactivateLookupTable") {
1944
+ if (instruction.instructionType === "deactivateLookupTable") {
2113
1945
  return "DeactivateLookupTableInstruction";
2114
1946
  }
2115
- if (instruction.meta.type === "closeLookupTable") {
1947
+ if (instruction.instructionType === "closeLookupTable") {
2116
1948
  return "CloseLookupTableInstruction";
2117
1949
  }
2118
1950
  }
2119
- if (instruction.meta.program === "bpf-loader") {
2120
- if (instruction.meta.type === "write") {
1951
+ if (instruction.programName === "bpf-loader") {
1952
+ if (instruction.instructionType === "write") {
2121
1953
  return "BpfLoaderWriteInstruction";
2122
1954
  }
2123
- if (instruction.meta.type === "finalize") {
1955
+ if (instruction.instructionType === "finalize") {
2124
1956
  return "BpfLoaderFinalizeInstruction";
2125
1957
  }
2126
1958
  }
2127
- if (instruction.meta.program === "bpf-upgradeable-loader") {
2128
- if (instruction.meta.type === "initializeBuffer") {
1959
+ if (instruction.programName === "bpf-upgradeable-loader") {
1960
+ if (instruction.instructionType === "initializeBuffer") {
2129
1961
  return "BpfUpgradeableLoaderInitializeBufferInstruction";
2130
1962
  }
2131
- if (instruction.meta.type === "write") {
1963
+ if (instruction.instructionType === "write") {
2132
1964
  return "BpfUpgradeableLoaderWriteInstruction";
2133
1965
  }
2134
- if (instruction.meta.type === "deployWithMaxDataLen") {
1966
+ if (instruction.instructionType === "deployWithMaxDataLen") {
2135
1967
  return "BpfUpgradeableLoaderDeployWithMaxDataLenInstruction";
2136
1968
  }
2137
- if (instruction.meta.type === "upgrade") {
1969
+ if (instruction.instructionType === "upgrade") {
2138
1970
  return "BpfUpgradeableLoaderUpgradeInstruction";
2139
1971
  }
2140
- if (instruction.meta.type === "setAuthority") {
1972
+ if (instruction.instructionType === "setAuthority") {
2141
1973
  return "BpfUpgradeableLoaderSetAuthorityInstruction";
2142
1974
  }
2143
- if (instruction.meta.type === "setAuthorityChecked") {
1975
+ if (instruction.instructionType === "setAuthorityChecked") {
2144
1976
  return "BpfUpgradeableLoaderSetAuthorityCheckedInstruction";
2145
1977
  }
2146
- if (instruction.meta.type === "close") {
1978
+ if (instruction.instructionType === "close") {
2147
1979
  return "BpfUpgradeableLoaderCloseInstruction";
2148
1980
  }
2149
- if (instruction.meta.type === "extendProgram") {
1981
+ if (instruction.instructionType === "extendProgram") {
2150
1982
  return "BpfUpgradeableLoaderExtendProgramInstruction";
2151
1983
  }
2152
1984
  }
2153
- if (instruction.meta.program === "spl-associated-token-account") {
2154
- if (instruction.meta.type === "create") {
1985
+ if (instruction.programName === "spl-associated-token-account") {
1986
+ if (instruction.instructionType === "create") {
2155
1987
  return "SplAssociatedTokenCreateInstruction";
2156
1988
  }
2157
- if (instruction.meta.type === "createIdempotent") {
1989
+ if (instruction.instructionType === "createIdempotent") {
2158
1990
  return "SplAssociatedTokenCreateIdempotentInstruction";
2159
1991
  }
2160
- if (instruction.meta.type === "recoverNested") {
1992
+ if (instruction.instructionType === "recoverNested") {
2161
1993
  return "SplAssociatedTokenRecoverNestedInstruction";
2162
1994
  }
2163
1995
  }
2164
- if (instruction.meta.program === "spl-memo") {
1996
+ if (instruction.programName === "spl-memo") {
2165
1997
  return "SplMemoInstruction";
2166
1998
  }
2167
- if (instruction.meta.program === "spl-token") {
2168
- if (instruction.meta.type === "initializeMint") {
1999
+ if (instruction.programName === "spl-token") {
2000
+ if (instruction.instructionType === "initializeMint") {
2169
2001
  return "SplTokenInitializeMintInstruction";
2170
2002
  }
2171
- if (instruction.meta.type === "initializeMint2") {
2003
+ if (instruction.instructionType === "initializeMint2") {
2172
2004
  return "SplTokenInitializeMint2Instruction";
2173
2005
  }
2174
- if (instruction.meta.type === "initializeAccount") {
2006
+ if (instruction.instructionType === "initializeAccount") {
2175
2007
  return "SplTokenInitializeAccountInstruction";
2176
2008
  }
2177
- if (instruction.meta.type === "initializeAccount2") {
2009
+ if (instruction.instructionType === "initializeAccount2") {
2178
2010
  return "SplTokenInitializeAccount2Instruction";
2179
2011
  }
2180
- if (instruction.meta.type === "initializeAccount3") {
2012
+ if (instruction.instructionType === "initializeAccount3") {
2181
2013
  return "SplTokenInitializeAccount3Instruction";
2182
2014
  }
2183
- if (instruction.meta.type === "initializeMultisig") {
2015
+ if (instruction.instructionType === "initializeMultisig") {
2184
2016
  return "SplTokenInitializeMultisigInstruction";
2185
2017
  }
2186
- if (instruction.meta.type === "initializeMultisig2") {
2018
+ if (instruction.instructionType === "initializeMultisig2") {
2187
2019
  return "SplTokenInitializeMultisig2Instruction";
2188
2020
  }
2189
- if (instruction.meta.type === "transfer") {
2021
+ if (instruction.instructionType === "transfer") {
2190
2022
  return "SplTokenTransferInstruction";
2191
2023
  }
2192
- if (instruction.meta.type === "approve") {
2024
+ if (instruction.instructionType === "approve") {
2193
2025
  return "SplTokenApproveInstruction";
2194
2026
  }
2195
- if (instruction.meta.type === "revoke") {
2027
+ if (instruction.instructionType === "revoke") {
2196
2028
  return "SplTokenRevokeInstruction";
2197
2029
  }
2198
- if (instruction.meta.type === "setAuthority") {
2030
+ if (instruction.instructionType === "setAuthority") {
2199
2031
  return "SplTokenSetAuthorityInstruction";
2200
2032
  }
2201
- if (instruction.meta.type === "mintTo") {
2033
+ if (instruction.instructionType === "mintTo") {
2202
2034
  return "SplTokenMintToInstruction";
2203
2035
  }
2204
- if (instruction.meta.type === "burn") {
2036
+ if (instruction.instructionType === "burn") {
2205
2037
  return "SplTokenBurnInstruction";
2206
2038
  }
2207
- if (instruction.meta.type === "closeAccount") {
2039
+ if (instruction.instructionType === "closeAccount") {
2208
2040
  return "SplTokenCloseAccountInstruction";
2209
2041
  }
2210
- if (instruction.meta.type === "freezeAccount") {
2042
+ if (instruction.instructionType === "freezeAccount") {
2211
2043
  return "SplTokenFreezeAccountInstruction";
2212
2044
  }
2213
- if (instruction.meta.type === "thawAccount") {
2045
+ if (instruction.instructionType === "thawAccount") {
2214
2046
  return "SplTokenThawAccountInstruction";
2215
2047
  }
2216
- if (instruction.meta.type === "transferChecked") {
2048
+ if (instruction.instructionType === "transferChecked") {
2217
2049
  return "SplTokenTransferCheckedInstruction";
2218
2050
  }
2219
- if (instruction.meta.type === "approveChecked") {
2051
+ if (instruction.instructionType === "approveChecked") {
2220
2052
  return "SplTokenApproveCheckedInstruction";
2221
2053
  }
2222
- if (instruction.meta.type === "mintToChecked") {
2054
+ if (instruction.instructionType === "mintToChecked") {
2223
2055
  return "SplTokenMintToCheckedInstruction";
2224
2056
  }
2225
- if (instruction.meta.type === "burnChecked") {
2057
+ if (instruction.instructionType === "burnChecked") {
2226
2058
  return "SplTokenBurnCheckedInstruction";
2227
2059
  }
2228
- if (instruction.meta.type === "syncNative") {
2060
+ if (instruction.instructionType === "syncNative") {
2229
2061
  return "SplTokenSyncNativeInstruction";
2230
2062
  }
2231
- if (instruction.meta.type === "getAccountDataSize") {
2063
+ if (instruction.instructionType === "getAccountDataSize") {
2232
2064
  return "SplTokenGetAccountDataSizeInstruction";
2233
2065
  }
2234
- if (instruction.meta.type === "initializeImmutableOwner") {
2066
+ if (instruction.instructionType === "initializeImmutableOwner") {
2235
2067
  return "SplTokenInitializeImmutableOwnerInstruction";
2236
2068
  }
2237
- if (instruction.meta.type === "amountToUiAmount") {
2069
+ if (instruction.instructionType === "amountToUiAmount") {
2238
2070
  return "SplTokenAmountToUiAmountInstruction";
2239
2071
  }
2240
- if (instruction.meta.type === "uiAmountToAmount") {
2072
+ if (instruction.instructionType === "uiAmountToAmount") {
2241
2073
  return "SplTokenUiAmountToAmountInstruction";
2242
2074
  }
2243
- if (instruction.meta.type === "initializeMintCloseAuthority") {
2075
+ if (instruction.instructionType === "initializeMintCloseAuthority") {
2244
2076
  return "SplTokenInitializeMintCloseAuthorityInstruction";
2245
2077
  }
2246
2078
  }
2247
- if (instruction.meta.program === "stake") {
2248
- if (instruction.meta.type === "initialize") {
2079
+ if (instruction.programName === "stake") {
2080
+ if (instruction.instructionType === "initialize") {
2249
2081
  return "StakeInitializeInstruction";
2250
2082
  }
2251
- if (instruction.meta.type === "authorize") {
2083
+ if (instruction.instructionType === "authorize") {
2252
2084
  return "StakeAuthorizeInstruction";
2253
2085
  }
2254
- if (instruction.meta.type === "delegate") {
2086
+ if (instruction.instructionType === "delegate") {
2255
2087
  return "StakeDelegateStakeInstruction";
2256
2088
  }
2257
- if (instruction.meta.type === "split") {
2089
+ if (instruction.instructionType === "split") {
2258
2090
  return "StakeSplitInstruction";
2259
2091
  }
2260
- if (instruction.meta.type === "withdraw") {
2092
+ if (instruction.instructionType === "withdraw") {
2261
2093
  return "StakeWithdrawInstruction";
2262
2094
  }
2263
- if (instruction.meta.type === "deactivate") {
2095
+ if (instruction.instructionType === "deactivate") {
2264
2096
  return "StakeDeactivateInstruction";
2265
2097
  }
2266
- if (instruction.meta.type === "setLockup") {
2098
+ if (instruction.instructionType === "setLockup") {
2267
2099
  return "StakeSetLockupInstruction";
2268
2100
  }
2269
- if (instruction.meta.type === "merge") {
2101
+ if (instruction.instructionType === "merge") {
2270
2102
  return "StakeMergeInstruction";
2271
2103
  }
2272
- if (instruction.meta.type === "authorizeWithSeed") {
2104
+ if (instruction.instructionType === "authorizeWithSeed") {
2273
2105
  return "StakeAuthorizeWithSeedInstruction";
2274
2106
  }
2275
- if (instruction.meta.type === "initializeChecked") {
2107
+ if (instruction.instructionType === "initializeChecked") {
2276
2108
  return "StakeInitializeCheckedInstruction";
2277
2109
  }
2278
- if (instruction.meta.type === "authorizeChecked") {
2110
+ if (instruction.instructionType === "authorizeChecked") {
2279
2111
  return "StakeAuthorizeCheckedInstruction";
2280
2112
  }
2281
- if (instruction.meta.type === "authorizeCheckedWithSeed") {
2113
+ if (instruction.instructionType === "authorizeCheckedWithSeed") {
2282
2114
  return "StakeAuthorizeCheckedWithSeedInstruction";
2283
2115
  }
2284
- if (instruction.meta.type === "setLockupChecked") {
2116
+ if (instruction.instructionType === "setLockupChecked") {
2285
2117
  return "StakeSetLockupCheckedInstruction";
2286
2118
  }
2287
- if (instruction.meta.type === "deactivateDelinquent") {
2119
+ if (instruction.instructionType === "deactivateDelinquent") {
2288
2120
  return "StakeDeactivateDelinquentInstruction";
2289
2121
  }
2290
- if (instruction.meta.type === "redelegate") {
2122
+ if (instruction.instructionType === "redelegate") {
2291
2123
  return "StakeRedelegateInstruction";
2292
2124
  }
2293
2125
  }
2294
- if (instruction.meta.program === "system") {
2295
- if (instruction.meta.type === "createAccount") {
2126
+ if (instruction.programName === "system") {
2127
+ if (instruction.instructionType === "createAccount") {
2296
2128
  return "CreateAccountInstruction";
2297
2129
  }
2298
- if (instruction.meta.type === "assign") {
2130
+ if (instruction.instructionType === "assign") {
2299
2131
  return "AssignInstruction";
2300
2132
  }
2301
- if (instruction.meta.type === "transfer") {
2133
+ if (instruction.instructionType === "transfer") {
2302
2134
  return "TransferInstruction";
2303
2135
  }
2304
- if (instruction.meta.type === "createAccountWithSeed") {
2136
+ if (instruction.instructionType === "createAccountWithSeed") {
2305
2137
  return "CreateAccountWithSeedInstruction";
2306
2138
  }
2307
- if (instruction.meta.type === "advanceNonceAccount") {
2139
+ if (instruction.instructionType === "advanceNonceAccount") {
2308
2140
  return "AdvanceNonceAccountInstruction";
2309
2141
  }
2310
- if (instruction.meta.type === "withdrawNonceAccount") {
2142
+ if (instruction.instructionType === "withdrawNonceAccount") {
2311
2143
  return "WithdrawNonceAccountInstruction";
2312
2144
  }
2313
- if (instruction.meta.type === "initializeNonceAccount") {
2145
+ if (instruction.instructionType === "initializeNonceAccount") {
2314
2146
  return "InitializeNonceAccountInstruction";
2315
2147
  }
2316
- if (instruction.meta.type === "authorizeNonceAccount") {
2148
+ if (instruction.instructionType === "authorizeNonceAccount") {
2317
2149
  return "AuthorizeNonceAccountInstruction";
2318
2150
  }
2319
- if (instruction.meta.type === "upgradeNonceAccount") {
2151
+ if (instruction.instructionType === "upgradeNonceAccount") {
2320
2152
  return "UpgradeNonceAccountInstruction";
2321
2153
  }
2322
- if (instruction.meta.type === "allocate") {
2154
+ if (instruction.instructionType === "allocate") {
2323
2155
  return "AllocateInstruction";
2324
2156
  }
2325
- if (instruction.meta.type === "allocateWithSeed") {
2157
+ if (instruction.instructionType === "allocateWithSeed") {
2326
2158
  return "AllocateWithSeedInstruction";
2327
2159
  }
2328
- if (instruction.meta.type === "assignWithSeed") {
2160
+ if (instruction.instructionType === "assignWithSeed") {
2329
2161
  return "AssignWithSeedInstruction";
2330
2162
  }
2331
- if (instruction.meta.type === "transferWithSeed") {
2163
+ if (instruction.instructionType === "transferWithSeed") {
2332
2164
  return "TransferWithSeedInstruction";
2333
2165
  }
2334
2166
  }
2335
- if (instruction.meta.program === "vote") {
2336
- if (instruction.meta.type === "initialize") {
2167
+ if (instruction.programName === "vote") {
2168
+ if (instruction.instructionType === "initialize") {
2337
2169
  return "VoteInitializeAccountInstruction";
2338
2170
  }
2339
- if (instruction.meta.type === "authorize") {
2171
+ if (instruction.instructionType === "authorize") {
2340
2172
  return "VoteAuthorizeInstruction";
2341
2173
  }
2342
- if (instruction.meta.type === "authorizeWithSeed") {
2174
+ if (instruction.instructionType === "authorizeWithSeed") {
2343
2175
  return "VoteAuthorizeWithSeedInstruction";
2344
2176
  }
2345
- if (instruction.meta.type === "authorizeCheckedWithSeed") {
2177
+ if (instruction.instructionType === "authorizeCheckedWithSeed") {
2346
2178
  return "VoteAuthorizeCheckedWithSeedInstruction";
2347
2179
  }
2348
- if (instruction.meta.type === "vote") {
2180
+ if (instruction.instructionType === "vote") {
2349
2181
  return "VoteVoteInstruction";
2350
2182
  }
2351
- if (instruction.meta.type === "updatevotestate") {
2183
+ if (instruction.instructionType === "updatevotestate") {
2352
2184
  return "VoteUpdateVoteStateInstruction";
2353
2185
  }
2354
- if (instruction.meta.type === "updatevotestateswitch") {
2186
+ if (instruction.instructionType === "updatevotestateswitch") {
2355
2187
  return "VoteUpdateVoteStateSwitchInstruction";
2356
2188
  }
2357
- if (instruction.meta.type === "compactupdatevotestate") {
2189
+ if (instruction.instructionType === "compactupdatevotestate") {
2358
2190
  return "VoteCompactUpdateVoteStateInstruction";
2359
2191
  }
2360
- if (instruction.meta.type === "compactupdatevotestateswitch") {
2192
+ if (instruction.instructionType === "compactupdatevotestateswitch") {
2361
2193
  return "VoteCompactUpdateVoteStateSwitchInstruction";
2362
2194
  }
2363
- if (instruction.meta.type === "withdraw") {
2195
+ if (instruction.instructionType === "withdraw") {
2364
2196
  return "VoteWithdrawInstruction";
2365
2197
  }
2366
- if (instruction.meta.type === "updateValidatorIdentity") {
2198
+ if (instruction.instructionType === "updateValidatorIdentity") {
2367
2199
  return "VoteUpdateValidatorIdentityInstruction";
2368
2200
  }
2369
- if (instruction.meta.type === "updateCommission") {
2201
+ if (instruction.instructionType === "updateCommission") {
2370
2202
  return "VoteUpdateCommissionInstruction";
2371
2203
  }
2372
- if (instruction.meta.type === "voteSwitch") {
2204
+ if (instruction.instructionType === "voteSwitch") {
2373
2205
  return "VoteVoteSwitchInstruction";
2374
2206
  }
2375
- if (instruction.meta.type === "authorizeChecked") {
2207
+ if (instruction.instructionType === "authorizeChecked") {
2376
2208
  return "VoteAuthorizeCheckedInstruction";
2377
2209
  }
2378
2210
  }
@@ -2380,80 +2212,80 @@ var instructionResolvers = {
2380
2212
  return "GenericInstruction";
2381
2213
  }
2382
2214
  },
2383
- CreateLookupTableInstructionData: {
2215
+ CreateLookupTableInstruction: {
2384
2216
  lookupTableAccount: resolveAccount("lookupTableAccount"),
2385
2217
  lookupTableAuthority: resolveAccount("lookupTableAuthority"),
2386
2218
  payerAccount: resolveAccount("payerAccount"),
2387
2219
  systemProgram: resolveAccount("systemProgram")
2388
2220
  },
2389
- ExtendLookupTableInstructionData: {
2221
+ ExtendLookupTableInstruction: {
2390
2222
  lookupTableAccount: resolveAccount("lookupTableAccount"),
2391
2223
  lookupTableAuthority: resolveAccount("lookupTableAuthority"),
2392
2224
  payerAccount: resolveAccount("payerAccount"),
2393
2225
  systemProgram: resolveAccount("systemProgram")
2394
2226
  },
2395
- FreezeLookupTableInstructionData: {
2227
+ FreezeLookupTableInstruction: {
2396
2228
  lookupTableAccount: resolveAccount("lookupTableAccount"),
2397
2229
  lookupTableAuthority: resolveAccount("lookupTableAuthority")
2398
2230
  },
2399
- DeactivateLookupTableInstructionData: {
2231
+ DeactivateLookupTableInstruction: {
2400
2232
  lookupTableAccount: resolveAccount("lookupTableAccount"),
2401
2233
  lookupTableAuthority: resolveAccount("lookupTableAuthority")
2402
2234
  },
2403
- CloseLookupTableInstructionData: {
2235
+ CloseLookupTableInstruction: {
2404
2236
  lookupTableAccount: resolveAccount("lookupTableAccount"),
2405
2237
  lookupTableAuthority: resolveAccount("lookupTableAuthority"),
2406
2238
  recipient: resolveAccount("recipient")
2407
2239
  },
2408
- BpfLoaderWriteInstructionData: {
2240
+ BpfLoaderWriteInstruction: {
2409
2241
  account: resolveAccount("account")
2410
2242
  },
2411
- BpfLoaderFinalizeInstructionData: {
2243
+ BpfLoaderFinalizeInstruction: {
2412
2244
  account: resolveAccount("account")
2413
2245
  },
2414
- BpfUpgradeableLoaderInitializeBufferInstructionData: {
2246
+ BpfUpgradeableLoaderInitializeBufferInstruction: {
2415
2247
  account: resolveAccount("account")
2416
2248
  },
2417
- BpfUpgradeableLoaderWriteInstructionData: {
2249
+ BpfUpgradeableLoaderWriteInstruction: {
2418
2250
  account: resolveAccount("account"),
2419
2251
  authority: resolveAccount("authority")
2420
2252
  },
2421
- BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData: {
2253
+ BpfUpgradeableLoaderDeployWithMaxDataLenInstruction: {
2422
2254
  authority: resolveAccount("authority"),
2423
2255
  bufferAccount: resolveAccount("bufferAccount"),
2424
2256
  payerAccount: resolveAccount("payerAccount"),
2425
2257
  programAccount: resolveAccount("programAccount"),
2426
2258
  programDataAccount: resolveAccount("programDataAccount")
2427
2259
  },
2428
- BpfUpgradeableLoaderUpgradeInstructionData: {
2260
+ BpfUpgradeableLoaderUpgradeInstruction: {
2429
2261
  authority: resolveAccount("authority"),
2430
2262
  bufferAccount: resolveAccount("bufferAccount"),
2431
2263
  programAccount: resolveAccount("programAccount"),
2432
2264
  programDataAccount: resolveAccount("programDataAccount")
2433
2265
  },
2434
- BpfUpgradeableLoaderSetAuthorityInstructionData: {
2266
+ BpfUpgradeableLoaderSetAuthorityInstruction: {
2435
2267
  account: resolveAccount("account"),
2436
2268
  authority: resolveAccount("authority"),
2437
2269
  newAuthority: resolveAccount("newAuthority")
2438
2270
  },
2439
- BpfUpgradeableLoaderSetAuthorityCheckedInstructionData: {
2271
+ BpfUpgradeableLoaderSetAuthorityCheckedInstruction: {
2440
2272
  account: resolveAccount("account"),
2441
2273
  authority: resolveAccount("authority"),
2442
2274
  newAuthority: resolveAccount("newAuthority")
2443
2275
  },
2444
- BpfUpgradeableLoaderCloseInstructionData: {
2276
+ BpfUpgradeableLoaderCloseInstruction: {
2445
2277
  account: resolveAccount("account"),
2446
2278
  authority: resolveAccount("authority"),
2447
2279
  programAccount: resolveAccount("programAccount"),
2448
2280
  recipient: resolveAccount("recipient")
2449
2281
  },
2450
- BpfUpgradeableLoaderExtendProgramInstructionData: {
2282
+ BpfUpgradeableLoaderExtendProgramInstruction: {
2451
2283
  payerAccount: resolveAccount("payerAccount"),
2452
2284
  programAccount: resolveAccount("programAccount"),
2453
2285
  programDataAccount: resolveAccount("programDataAccount"),
2454
2286
  systemProgram: resolveAccount("systemProgram")
2455
2287
  },
2456
- SplAssociatedTokenCreateInstructionData: {
2288
+ SplAssociatedTokenCreateInstruction: {
2457
2289
  account: resolveAccount("account"),
2458
2290
  mint: resolveAccount("mint"),
2459
2291
  source: resolveAccount("source"),
@@ -2461,7 +2293,7 @@ var instructionResolvers = {
2461
2293
  tokenProgram: resolveAccount("tokenProgram"),
2462
2294
  wallet: resolveAccount("wallet")
2463
2295
  },
2464
- SplAssociatedTokenCreateIdempotentInstructionData: {
2296
+ SplAssociatedTokenCreateIdempotentInstruction: {
2465
2297
  account: resolveAccount("account"),
2466
2298
  mint: resolveAccount("mint"),
2467
2299
  source: resolveAccount("source"),
@@ -2469,7 +2301,7 @@ var instructionResolvers = {
2469
2301
  tokenProgram: resolveAccount("tokenProgram"),
2470
2302
  wallet: resolveAccount("wallet")
2471
2303
  },
2472
- SplAssociatedTokenRecoverNestedInstructionData: {
2304
+ SplAssociatedTokenRecoverNestedInstruction: {
2473
2305
  destination: resolveAccount("destination"),
2474
2306
  nestedMint: resolveAccount("nestedMint"),
2475
2307
  nestedOwner: resolveAccount("nestedOwner"),
@@ -2478,130 +2310,130 @@ var instructionResolvers = {
2478
2310
  tokenProgram: resolveAccount("tokenProgram"),
2479
2311
  wallet: resolveAccount("wallet")
2480
2312
  },
2481
- SplTokenInitializeMintInstructionData: {
2313
+ SplTokenInitializeMintInstruction: {
2482
2314
  freezeAuthority: resolveAccount("freezeAuthority"),
2483
2315
  mint: resolveAccount("mint"),
2484
2316
  mintAuthority: resolveAccount("mintAuthority")
2485
2317
  },
2486
- SplTokenInitializeMint2InstructionData: {
2318
+ SplTokenInitializeMint2Instruction: {
2487
2319
  freezeAuthority: resolveAccount("freezeAuthority"),
2488
2320
  mint: resolveAccount("mint"),
2489
2321
  mintAuthority: resolveAccount("mintAuthority")
2490
2322
  },
2491
- SplTokenInitializeAccountInstructionData: {
2323
+ SplTokenInitializeAccountInstruction: {
2492
2324
  account: resolveAccount("account"),
2493
2325
  mint: resolveAccount("mint"),
2494
2326
  owner: resolveAccount("owner")
2495
2327
  },
2496
- SplTokenInitializeAccount2InstructionData: {
2328
+ SplTokenInitializeAccount2Instruction: {
2497
2329
  account: resolveAccount("account"),
2498
2330
  mint: resolveAccount("mint"),
2499
2331
  owner: resolveAccount("owner")
2500
2332
  },
2501
- SplTokenInitializeAccount3InstructionData: {
2333
+ SplTokenInitializeAccount3Instruction: {
2502
2334
  account: resolveAccount("account"),
2503
2335
  mint: resolveAccount("mint"),
2504
2336
  owner: resolveAccount("owner")
2505
2337
  },
2506
- SplTokenInitializeMultisigInstructionData: {
2338
+ SplTokenInitializeMultisigInstruction: {
2507
2339
  multisig: resolveAccount("multisig")
2508
2340
  },
2509
- SplTokenInitializeMultisig2InstructionData: {
2341
+ SplTokenInitializeMultisig2Instruction: {
2510
2342
  multisig: resolveAccount("multisig")
2511
2343
  },
2512
- SplTokenTransferInstructionData: {
2344
+ SplTokenTransferInstruction: {
2513
2345
  authority: resolveAccount("authority"),
2514
2346
  destination: resolveAccount("destination"),
2515
2347
  multisigAuthority: resolveAccount("multisigAuthority"),
2516
2348
  source: resolveAccount("source")
2517
2349
  },
2518
- SplTokenApproveInstructionData: {
2350
+ SplTokenApproveInstruction: {
2519
2351
  delegate: resolveAccount("delegate"),
2520
2352
  multisigOwner: resolveAccount("multisigOwner"),
2521
2353
  owner: resolveAccount("owner"),
2522
2354
  source: resolveAccount("source")
2523
2355
  },
2524
- SplTokenRevokeInstructionData: {
2356
+ SplTokenRevokeInstruction: {
2525
2357
  multisigOwner: resolveAccount("multisigOwner"),
2526
2358
  owner: resolveAccount("owner"),
2527
2359
  source: resolveAccount("source")
2528
2360
  },
2529
- SplTokenSetAuthorityInstructionData: {
2361
+ SplTokenSetAuthorityInstruction: {
2530
2362
  authority: resolveAccount("authority"),
2531
2363
  multisigAuthority: resolveAccount("multisigAuthority"),
2532
2364
  newAuthority: resolveAccount("newAuthority")
2533
2365
  },
2534
- SplTokenMintToInstructionData: {
2366
+ SplTokenMintToInstruction: {
2535
2367
  account: resolveAccount("account"),
2536
2368
  authority: resolveAccount("authority"),
2537
2369
  mint: resolveAccount("mint"),
2538
2370
  mintAuthority: resolveAccount("mintAuthority"),
2539
2371
  multisigMintAuthority: resolveAccount("multisigMintAuthority")
2540
2372
  },
2541
- SplTokenBurnInstructionData: {
2373
+ SplTokenBurnInstruction: {
2542
2374
  account: resolveAccount("account"),
2543
2375
  authority: resolveAccount("authority"),
2544
2376
  mint: resolveAccount("mint"),
2545
2377
  multisigAuthority: resolveAccount("multisigAuthority")
2546
2378
  },
2547
- SplTokenCloseAccountInstructionData: {
2379
+ SplTokenCloseAccountInstruction: {
2548
2380
  account: resolveAccount("account"),
2549
2381
  destination: resolveAccount("destination"),
2550
2382
  multisigOwner: resolveAccount("multisigOwner"),
2551
2383
  owner: resolveAccount("owner")
2552
2384
  },
2553
- SplTokenFreezeAccountInstructionData: {
2385
+ SplTokenFreezeAccountInstruction: {
2554
2386
  account: resolveAccount("account"),
2555
2387
  freezeAuthority: resolveAccount("freezeAuthority"),
2556
2388
  mint: resolveAccount("mint"),
2557
2389
  multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
2558
2390
  },
2559
- SplTokenThawAccountInstructionData: {
2391
+ SplTokenThawAccountInstruction: {
2560
2392
  account: resolveAccount("account"),
2561
2393
  freezeAuthority: resolveAccount("freezeAuthority"),
2562
2394
  mint: resolveAccount("mint"),
2563
2395
  multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
2564
2396
  },
2565
- SplTokenTransferCheckedInstructionData: {
2397
+ SplTokenTransferCheckedInstruction: {
2566
2398
  authority: resolveAccount("authority"),
2567
2399
  destination: resolveAccount("destination"),
2568
2400
  mint: resolveAccount("mint"),
2569
2401
  multisigAuthority: resolveAccount("multisigAuthority"),
2570
2402
  source: resolveAccount("source")
2571
2403
  },
2572
- SplTokenApproveCheckedInstructionData: {
2404
+ SplTokenApproveCheckedInstruction: {
2573
2405
  delegate: resolveAccount("delegate"),
2574
2406
  mint: resolveAccount("mint"),
2575
2407
  multisigOwner: resolveAccount("multisigOwner"),
2576
2408
  owner: resolveAccount("owner"),
2577
2409
  source: resolveAccount("source")
2578
2410
  },
2579
- SplTokenMintToCheckedInstructionData: {
2411
+ SplTokenMintToCheckedInstruction: {
2580
2412
  account: resolveAccount("account"),
2581
2413
  authority: resolveAccount("authority"),
2582
2414
  mint: resolveAccount("mint"),
2583
2415
  mintAuthority: resolveAccount("mintAuthority"),
2584
2416
  multisigMintAuthority: resolveAccount("multisigMintAuthority")
2585
2417
  },
2586
- SplTokenBurnCheckedInstructionData: {
2418
+ SplTokenBurnCheckedInstruction: {
2587
2419
  account: resolveAccount("account"),
2588
2420
  authority: resolveAccount("authority"),
2589
2421
  mint: resolveAccount("mint"),
2590
2422
  multisigAuthority: resolveAccount("multisigAuthority")
2591
2423
  },
2592
- SplTokenSyncNativeInstructionData: {
2424
+ SplTokenSyncNativeInstruction: {
2593
2425
  account: resolveAccount("account")
2594
2426
  },
2595
- SplTokenGetAccountDataSizeInstructionData: {
2427
+ SplTokenGetAccountDataSizeInstruction: {
2596
2428
  mint: resolveAccount("mint")
2597
2429
  },
2598
- SplTokenAmountToUiAmountInstructionData: {
2430
+ SplTokenAmountToUiAmountInstruction: {
2599
2431
  mint: resolveAccount("mint")
2600
2432
  },
2601
- SplTokenUiAmountToAmountInstructionData: {
2433
+ SplTokenUiAmountToAmountInstruction: {
2602
2434
  mint: resolveAccount("mint")
2603
2435
  },
2604
- SplTokenInitializeMintCloseAuthorityInstructionData: {
2436
+ SplTokenInitializeMintCloseAuthorityInstruction: {
2605
2437
  mint: resolveAccount("mint"),
2606
2438
  newAuthority: resolveAccount("newAuthority")
2607
2439
  },
@@ -2612,45 +2444,45 @@ var instructionResolvers = {
2612
2444
  staker: resolveAccount("staker"),
2613
2445
  withdrawer: resolveAccount("withdrawer")
2614
2446
  },
2615
- StakeInitializeInstructionData: {
2447
+ StakeInitializeInstruction: {
2616
2448
  stakeAccount: resolveAccount("stakeAccount")
2617
2449
  },
2618
- StakeAuthorizeInstructionData: {
2450
+ StakeAuthorizeInstruction: {
2619
2451
  authority: resolveAccount("authority"),
2620
2452
  custodian: resolveAccount("custodian"),
2621
2453
  newAuthority: resolveAccount("newAuthority"),
2622
2454
  stakeAccount: resolveAccount("stakeAccount")
2623
2455
  },
2624
- StakeDelegateStakeInstructionData: {
2456
+ StakeDelegateStakeInstruction: {
2625
2457
  stakeAccount: resolveAccount("stakeAccount"),
2626
2458
  stakeAuthority: resolveAccount("stakeAuthority"),
2627
2459
  stakeConfigAccount: resolveAccount("stakeConfigAccount"),
2628
2460
  voteAccount: resolveAccount("voteAccount")
2629
2461
  },
2630
- StakeSplitInstructionData: {
2462
+ StakeSplitInstruction: {
2631
2463
  newSplitAccount: resolveAccount("newSplitAccount"),
2632
2464
  stakeAccount: resolveAccount("stakeAccount"),
2633
2465
  stakeAuthority: resolveAccount("stakeAuthority")
2634
2466
  },
2635
- StakeWithdrawInstructionData: {
2467
+ StakeWithdrawInstruction: {
2636
2468
  destination: resolveAccount("destination"),
2637
2469
  stakeAccount: resolveAccount("stakeAccount"),
2638
2470
  withdrawAuthority: resolveAccount("withdrawAuthority")
2639
2471
  },
2640
- StakeDeactivateInstructionData: {
2472
+ StakeDeactivateInstruction: {
2641
2473
  stakeAccount: resolveAccount("stakeAccount"),
2642
2474
  stakeAuthority: resolveAccount("stakeAuthority")
2643
2475
  },
2644
- StakeSetLockupInstructionData: {
2476
+ StakeSetLockupInstruction: {
2645
2477
  custodian: resolveAccount("custodian"),
2646
2478
  stakeAccount: resolveAccount("stakeAccount")
2647
2479
  },
2648
- StakeMergeInstructionData: {
2480
+ StakeMergeInstruction: {
2649
2481
  destination: resolveAccount("destination"),
2650
2482
  source: resolveAccount("source"),
2651
2483
  stakeAuthority: resolveAccount("stakeAuthority")
2652
2484
  },
2653
- StakeAuthorizeWithSeedInstructionData: {
2485
+ StakeAuthorizeWithSeedInstruction: {
2654
2486
  authorityBase: resolveAccount("authorityBase"),
2655
2487
  authorityOwner: resolveAccount("authorityOwner"),
2656
2488
  custodian: resolveAccount("custodian"),
@@ -2658,154 +2490,153 @@ var instructionResolvers = {
2658
2490
  stakeAccount: resolveAccount("stakeAccount")
2659
2491
  },
2660
2492
  StakeInitializeCheckedInstructionDataAuthorized: {
2661
- stakeAccount: resolveAccount("stakeAccount"),
2662
2493
  staker: resolveAccount("staker"),
2663
2494
  withdrawer: resolveAccount("withdrawer")
2664
2495
  },
2665
- StakeAuthorizeCheckedInstructionData: {
2496
+ StakeAuthorizeCheckedInstruction: {
2666
2497
  authority: resolveAccount("authority"),
2667
2498
  custodian: resolveAccount("custodian"),
2668
2499
  newAuthority: resolveAccount("newAuthority"),
2669
2500
  stakeAccount: resolveAccount("stakeAccount")
2670
2501
  },
2671
- StakeAuthorizeCheckedWithSeedInstructionData: {
2502
+ StakeAuthorizeCheckedWithSeedInstruction: {
2672
2503
  authorityBase: resolveAccount("authorityBase"),
2673
2504
  authorityOwner: resolveAccount("authorityOwner"),
2674
2505
  custodian: resolveAccount("custodian"),
2675
2506
  newAuthorized: resolveAccount("newAuthorized"),
2676
2507
  stakeAccount: resolveAccount("stakeAccount")
2677
2508
  },
2678
- StakeSetLockupCheckedInstructionData: {
2509
+ StakeSetLockupCheckedInstruction: {
2679
2510
  custodian: resolveAccount("custodian"),
2680
2511
  stakeAccount: resolveAccount("stakeAccount")
2681
2512
  },
2682
- StakeDeactivateDelinquentInstructionData: {
2513
+ StakeDeactivateDelinquentInstruction: {
2683
2514
  referenceVoteAccount: resolveAccount("referenceVoteAccount"),
2684
2515
  stakeAccount: resolveAccount("stakeAccount"),
2685
2516
  voteAccount: resolveAccount("voteAccount")
2686
2517
  },
2687
- StakeRedelegateInstructionData: {
2518
+ StakeRedelegateInstruction: {
2688
2519
  newStakeAccount: resolveAccount("newStakeAccount"),
2689
2520
  stakeAccount: resolveAccount("stakeAccount"),
2690
2521
  stakeAuthority: resolveAccount("stakeAuthority"),
2691
2522
  stakeConfigAccount: resolveAccount("stakeConfigAccount"),
2692
2523
  voteAccount: resolveAccount("voteAccount")
2693
2524
  },
2694
- CreateAccountInstructionData: {
2525
+ CreateAccountInstruction: {
2695
2526
  newAccount: resolveAccount("newAccount"),
2696
2527
  owner: resolveAccount("owner"),
2697
2528
  source: resolveAccount("source")
2698
2529
  },
2699
- AssignInstructionData: {
2530
+ AssignInstruction: {
2700
2531
  account: resolveAccount("account"),
2701
2532
  owner: resolveAccount("owner")
2702
2533
  },
2703
- TransferInstructionData: {
2534
+ TransferInstruction: {
2704
2535
  destination: resolveAccount("destination"),
2705
2536
  source: resolveAccount("source")
2706
2537
  },
2707
- CreateAccountWithSeedInstructionData: {
2538
+ CreateAccountWithSeedInstruction: {
2708
2539
  base: resolveAccount("base"),
2709
2540
  owner: resolveAccount("owner"),
2710
2541
  seed: resolveAccount("seed")
2711
2542
  },
2712
- AdvanceNonceAccountInstructionData: {
2543
+ AdvanceNonceAccountInstruction: {
2713
2544
  nonceAccount: resolveAccount("nonceAccount"),
2714
2545
  nonceAuthority: resolveAccount("nonceAuthority")
2715
2546
  },
2716
- WithdrawNonceAccountInstructionData: {
2547
+ WithdrawNonceAccountInstruction: {
2717
2548
  destination: resolveAccount("destination"),
2718
2549
  nonceAccount: resolveAccount("nonceAccount"),
2719
2550
  nonceAuthority: resolveAccount("nonceAuthority")
2720
2551
  },
2721
- InitializeNonceAccountInstructionData: {
2552
+ InitializeNonceAccountInstruction: {
2722
2553
  nonceAccount: resolveAccount("nonceAccount"),
2723
2554
  nonceAuthority: resolveAccount("nonceAuthority")
2724
2555
  },
2725
- AuthorizeNonceAccountInstructionData: {
2556
+ AuthorizeNonceAccountInstruction: {
2726
2557
  newAuthorized: resolveAccount("newAuthorized"),
2727
2558
  nonceAccount: resolveAccount("nonceAccount"),
2728
2559
  nonceAuthority: resolveAccount("nonceAuthority")
2729
2560
  },
2730
- UpgradeNonceAccountInstructionData: {
2561
+ UpgradeNonceAccountInstruction: {
2731
2562
  nonceAccount: resolveAccount("nonceAccount"),
2732
2563
  nonceAuthority: resolveAccount("nonceAuthority")
2733
2564
  },
2734
- AllocateInstructionData: {
2565
+ AllocateInstruction: {
2735
2566
  account: resolveAccount("account")
2736
2567
  },
2737
- AllocateWithSeedInstructionData: {
2568
+ AllocateWithSeedInstruction: {
2738
2569
  account: resolveAccount("account"),
2739
2570
  owner: resolveAccount("owner")
2740
2571
  },
2741
- AssignWithSeedInstructionData: {
2572
+ AssignWithSeedInstruction: {
2742
2573
  account: resolveAccount("account"),
2743
2574
  owner: resolveAccount("owner")
2744
2575
  },
2745
- TransferWithSeedInstructionData: {
2576
+ TransferWithSeedInstruction: {
2746
2577
  destination: resolveAccount("destination"),
2747
2578
  source: resolveAccount("source"),
2748
2579
  sourceOwner: resolveAccount("sourceOwner")
2749
2580
  },
2750
- VoteInitializeAccountInstructionData: {
2581
+ VoteInitializeAccountInstruction: {
2751
2582
  authorizedVoter: resolveAccount("authorizedVoter"),
2752
2583
  authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
2753
2584
  node: resolveAccount("node"),
2754
2585
  voteAccount: resolveAccount("voteAccount")
2755
2586
  },
2756
- VoteAuthorizeInstructionData: {
2587
+ VoteAuthorizeInstruction: {
2757
2588
  authority: resolveAccount("authority"),
2758
2589
  newAuthority: resolveAccount("newAuthority"),
2759
2590
  voteAccount: resolveAccount("voteAccount")
2760
2591
  },
2761
- VoteAuthorizeWithSeedInstructionData: {
2592
+ VoteAuthorizeWithSeedInstruction: {
2762
2593
  authorityOwner: resolveAccount("authorityOwner"),
2763
2594
  newAuthority: resolveAccount("newAuthority"),
2764
2595
  voteAccount: resolveAccount("voteAccount")
2765
2596
  },
2766
- VoteAuthorizeCheckedWithSeedInstructionData: {
2597
+ VoteAuthorizeCheckedWithSeedInstruction: {
2767
2598
  authorityOwner: resolveAccount("authorityOwner"),
2768
2599
  newAuthority: resolveAccount("newAuthority"),
2769
2600
  voteAccount: resolveAccount("voteAccount")
2770
2601
  },
2771
- VoteVoteInstructionData: {
2602
+ VoteVoteInstruction: {
2772
2603
  voteAccount: resolveAccount("voteAccount"),
2773
2604
  voteAuthority: resolveAccount("voteAuthority")
2774
2605
  },
2775
- VoteUpdateVoteStateInstructionData: {
2606
+ VoteUpdateVoteStateInstruction: {
2776
2607
  voteAccount: resolveAccount("voteAccount"),
2777
2608
  voteAuthority: resolveAccount("voteAuthority")
2778
2609
  },
2779
- VoteUpdateVoteStateSwitchInstructionData: {
2610
+ VoteUpdateVoteStateSwitchInstruction: {
2780
2611
  voteAccount: resolveAccount("voteAccount"),
2781
2612
  voteAuthority: resolveAccount("voteAuthority")
2782
2613
  },
2783
- VoteCompactUpdateVoteStateInstructionData: {
2614
+ VoteCompactUpdateVoteStateInstruction: {
2784
2615
  voteAccount: resolveAccount("voteAccount"),
2785
2616
  voteAuthority: resolveAccount("voteAuthority")
2786
2617
  },
2787
- VoteCompactUpdateVoteStateSwitchInstructionData: {
2618
+ VoteCompactUpdateVoteStateSwitchInstruction: {
2788
2619
  voteAccount: resolveAccount("voteAccount"),
2789
2620
  voteAuthority: resolveAccount("voteAuthority")
2790
2621
  },
2791
- VoteWithdrawInstructionData: {
2622
+ VoteWithdrawInstruction: {
2792
2623
  voteAccount: resolveAccount("voteAccount"),
2793
2624
  withdrawAuthority: resolveAccount("withdrawAuthority")
2794
2625
  },
2795
- VoteUpdateValidatorIdentityInstructionData: {
2626
+ VoteUpdateValidatorIdentityInstruction: {
2796
2627
  newValidatorIdentity: resolveAccount("newValidatorIdentity"),
2797
2628
  voteAccount: resolveAccount("voteAccount"),
2798
2629
  withdrawAuthority: resolveAccount("withdrawAuthority")
2799
2630
  },
2800
- VoteUpdateCommissionInstructionData: {
2631
+ VoteUpdateCommissionInstruction: {
2801
2632
  voteAccount: resolveAccount("voteAccount"),
2802
2633
  withdrawAuthority: resolveAccount("withdrawAuthority")
2803
2634
  },
2804
- VoteVoteSwitchInstructionData: {
2635
+ VoteVoteSwitchInstruction: {
2805
2636
  voteAccount: resolveAccount("voteAccount"),
2806
2637
  voteAuthority: resolveAccount("voteAuthority")
2807
2638
  },
2808
- VoteAuthorizeCheckedInstructionData: {
2639
+ VoteAuthorizeCheckedInstruction: {
2809
2640
  authority: resolveAccount("authority"),
2810
2641
  newAuthority: resolveAccount("newAuthority"),
2811
2642
  voteAccount: resolveAccount("voteAccount")
@@ -2851,14 +2682,14 @@ var transactionTypeDefs = (
2851
2682
  }
2852
2683
 
2853
2684
  type TransactionMessageAccountKey {
2854
- pubkey: String
2685
+ pubkey: Address
2855
2686
  signer: Boolean
2856
2687
  source: String
2857
2688
  writable: Boolean
2858
2689
  }
2859
2690
 
2860
2691
  type TransactionMessageAddressTableLookup {
2861
- accountKey: String
2692
+ accountKey: Address
2862
2693
  readableIndexes: [Int]
2863
2694
  writableIndexes: [Int]
2864
2695
  }
@@ -2877,36 +2708,41 @@ var transactionTypeDefs = (
2877
2708
  recentBlockhash: String
2878
2709
  }
2879
2710
 
2880
- # Transaction interface
2711
+ """
2712
+ Transaction interface
2713
+ """
2881
2714
  interface Transaction {
2882
2715
  blockTime: String
2883
- encoding: String
2884
2716
  meta: TransactionMeta
2885
2717
  slot: BigInt
2886
2718
  version: String
2887
2719
  }
2888
2720
 
2889
- # A transaction with base58 encoded data
2721
+ """
2722
+ A transaction with base58 encoded data
2723
+ """
2890
2724
  type TransactionBase58 implements Transaction {
2891
2725
  blockTime: String
2892
- data: String
2893
- encoding: String
2726
+ data: Base58EncodedBytes
2894
2727
  meta: TransactionMeta
2895
2728
  slot: BigInt
2896
2729
  version: String
2897
2730
  }
2898
2731
 
2899
- # A transaction with base64 encoded data
2732
+ """
2733
+ A transaction with base64 encoded data
2734
+ """
2900
2735
  type TransactionBase64 implements Transaction {
2901
2736
  blockTime: String
2902
- data: String
2903
- encoding: String
2737
+ data: Base64EncodedBytes
2904
2738
  meta: TransactionMeta
2905
2739
  slot: BigInt
2906
2740
  version: String
2907
2741
  }
2908
2742
 
2909
- # A transaction with JSON encoded data
2743
+ """
2744
+ A transaction with JSON encoded data
2745
+ """
2910
2746
  type TransactionDataParsed {
2911
2747
  message: TransactionMessage
2912
2748
  signatures: [String]
@@ -2914,7 +2750,6 @@ var transactionTypeDefs = (
2914
2750
  type TransactionParsed implements Transaction {
2915
2751
  blockTime: String
2916
2752
  data: TransactionDataParsed
2917
- encoding: String
2918
2753
  meta: TransactionMeta
2919
2754
  slot: BigInt
2920
2755
  version: String
@@ -2977,16 +2812,16 @@ var schemaTypeDefs = (
2977
2812
  var schemaResolvers = {
2978
2813
  Query: {
2979
2814
  account(_, args, context, info) {
2980
- return context.accountLoader.load(args, info);
2815
+ return context.loaders.account.load(args, info);
2981
2816
  },
2982
2817
  block(_, args, context, info) {
2983
- return context.loadBlock(args, info);
2818
+ return context.loaders.block.load(args, info);
2984
2819
  },
2985
2820
  programAccounts(_, args, context, info) {
2986
- return context.loadProgramAccounts(args, info);
2821
+ return context.loaders.programAccounts.load(args, info);
2987
2822
  },
2988
2823
  transaction(_, args, context, info) {
2989
- return context.loadTransaction(args, info);
2824
+ return context.loaders.transaction.load(args, info);
2990
2825
  }
2991
2826
  }
2992
2827
  };
@@ -3022,14 +2857,12 @@ function createRpcGraphQL(rpc) {
3022
2857
  return {
3023
2858
  context,
3024
2859
  async query(source, variableValues) {
3025
- const result = await graphql({
2860
+ return graphql({
3026
2861
  contextValue: this.context,
3027
2862
  schema: this.schema,
3028
2863
  source,
3029
2864
  variableValues
3030
2865
  });
3031
- this.context.cache.flush();
3032
- return result;
3033
2866
  },
3034
2867
  schema
3035
2868
  };