@solana/rpc-graphql 2.0.0-experimental.ee4214c → 2.0.0-experimental.fbd3974

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 (36) hide show
  1. package/README.md +1172 -30
  2. package/dist/index.browser.cjs +3141 -287
  3. package/dist/index.browser.cjs.map +1 -1
  4. package/dist/index.browser.js +3141 -287
  5. package/dist/index.browser.js.map +1 -1
  6. package/dist/index.native.js +3141 -287
  7. package/dist/index.native.js.map +1 -1
  8. package/dist/index.node.cjs +3141 -287
  9. package/dist/index.node.cjs.map +1 -1
  10. package/dist/index.node.js +3141 -287
  11. package/dist/index.node.js.map +1 -1
  12. package/dist/types/cache.d.ts.map +1 -0
  13. package/dist/types/context.d.ts +3 -2
  14. package/dist/types/context.d.ts.map +1 -0
  15. package/dist/types/index.d.ts.map +1 -0
  16. package/dist/types/rpc.d.ts.map +1 -0
  17. package/dist/types/schema/account/index.d.ts.map +1 -0
  18. package/dist/types/schema/account/query.d.ts +2 -2
  19. package/dist/types/schema/account/query.d.ts.map +1 -0
  20. package/dist/types/schema/account/types.d.ts.map +1 -0
  21. package/dist/types/schema/block/index.d.ts.map +1 -0
  22. package/dist/types/schema/block/query.d.ts +1 -1
  23. package/dist/types/schema/block/query.d.ts.map +1 -0
  24. package/dist/types/schema/block/types.d.ts.map +1 -0
  25. package/dist/types/schema/inputs.d.ts.map +1 -0
  26. package/dist/types/schema/picks.d.ts.map +1 -0
  27. package/dist/types/schema/program-accounts/index.d.ts.map +1 -0
  28. package/dist/types/schema/program-accounts/query.d.ts +2 -2
  29. package/dist/types/schema/program-accounts/query.d.ts.map +1 -0
  30. package/dist/types/schema/scalars.d.ts.map +1 -0
  31. package/dist/types/schema/transaction/index.d.ts.map +1 -0
  32. package/dist/types/schema/transaction/query.d.ts +1 -1
  33. package/dist/types/schema/transaction/query.d.ts.map +1 -0
  34. package/dist/types/schema/transaction/types.d.ts.map +1 -0
  35. package/package.json +14 -13
  36. package/dist/types/schema/program-accounts/types.d.ts +0 -3
@@ -38,7 +38,19 @@ function createGraphQLCache() {
38
38
  }
39
39
 
40
40
  // src/context.ts
41
- async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc) {
41
+ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc, info) {
42
+ if (info && info.fieldNodes[0].selectionSet) {
43
+ const selectionSet = info.fieldNodes[0].selectionSet;
44
+ const requestedFields = selectionSet.selections.map((field) => {
45
+ if (field.kind === "Field") {
46
+ return field.name.value;
47
+ }
48
+ return null;
49
+ });
50
+ if (requestedFields && requestedFields.length === 1 && requestedFields[0] === "address") {
51
+ return { address };
52
+ }
53
+ }
42
54
  const requestConfig = { encoding, ...config };
43
55
  const cached = cache.get(address, requestConfig);
44
56
  if (cached !== null) {
@@ -48,11 +60,14 @@ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, c
48
60
  throw e;
49
61
  });
50
62
  if (account === null) {
51
- return null;
63
+ return {
64
+ address
65
+ };
52
66
  }
53
67
  const [data, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [account.data, "jsonParsed"];
54
68
  const queryResponse = {
55
69
  ...account,
70
+ address,
56
71
  data,
57
72
  encoding: responseEncoding
58
73
  };
@@ -86,13 +101,14 @@ async function resolveProgramAccounts({ programAddress, encoding = "jsonParsed",
86
101
  }).catch((e) => {
87
102
  throw e;
88
103
  });
89
- const queryResponse = programAccounts.map((programAccount2) => {
90
- const [data, responseEncoding] = Array.isArray(programAccount2.account.data) ? encoding === "jsonParsed" ? [programAccount2.account.data[0], "base64"] : [programAccount2.account.data[0], encoding] : [programAccount2.account.data, "jsonParsed"];
91
- const pubkey = programAccount2.pubkey;
92
- const account = { ...programAccount2.account, data, encoding: responseEncoding };
104
+ const queryResponse = programAccounts.map((programAccount) => {
105
+ const [data, responseEncoding] = Array.isArray(programAccount.account.data) ? encoding === "jsonParsed" ? [programAccount.account.data[0], "base64"] : [programAccount.account.data[0], encoding] : [programAccount.account.data, "jsonParsed"];
106
+ const pubkey = programAccount.pubkey;
93
107
  return {
94
- account,
95
- pubkey
108
+ ...programAccount.account,
109
+ address: pubkey,
110
+ data,
111
+ encoding: responseEncoding
96
112
  };
97
113
  });
98
114
  cache.insert(programAddress, requestConfig, queryResponse);
@@ -127,8 +143,8 @@ function createSolanaGraphQLContext(rpc) {
127
143
  const cache = createGraphQLCache();
128
144
  return {
129
145
  cache,
130
- resolveAccount(args) {
131
- return resolveAccount(args, this.cache, this.rpc);
146
+ resolveAccount(args, info) {
147
+ return resolveAccount(args, this.cache, this.rpc, info);
132
148
  },
133
149
  resolveBlock(args) {
134
150
  return resolveBlock(args, this.cache, this.rpc);
@@ -270,7 +286,7 @@ var dataSliceInputType = () => {
270
286
  length: number(),
271
287
  offset: number()
272
288
  },
273
- name: "DataSliceConfig"
289
+ name: "DataSlice"
274
290
  });
275
291
  return memoisedDataSliceInputType;
276
292
  };
@@ -345,6 +361,7 @@ var memoisedAccountInterfaceFields;
345
361
  var accountInterfaceFields = () => {
346
362
  if (!memoisedAccountInterfaceFields) {
347
363
  memoisedAccountInterfaceFields = {
364
+ address: string(),
348
365
  encoding: string(),
349
366
  executable: boolean(),
350
367
  lamports: bigint(),
@@ -404,6 +421,7 @@ var accountType = (name, description, data) => new GraphQLObjectType({
404
421
  fields: {
405
422
  ...accountInterfaceFields(),
406
423
  data,
424
+ // Nested Account interface
407
425
  owner: {
408
426
  args: {
409
427
  commitment: type(commitmentInputType()),
@@ -411,7 +429,7 @@ var accountType = (name, description, data) => new GraphQLObjectType({
411
429
  encoding: type(accountEncodingInputType()),
412
430
  minContextSlot: bigint()
413
431
  },
414
- resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
432
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
415
433
  type: accountInterface()
416
434
  }
417
435
  },
@@ -455,7 +473,18 @@ var accountNonceAccount = () => {
455
473
  "NonceAccount",
456
474
  "A nonce account",
457
475
  accountDataJsonParsed("Nonce", {
458
- authority: string(),
476
+ // Nested Account interface
477
+ authority: {
478
+ args: {
479
+ commitment: type(commitmentInputType()),
480
+ dataSlice: type(dataSliceInputType()),
481
+ encoding: type(accountEncodingInputType()),
482
+ minContextSlot: bigint()
483
+ },
484
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
485
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
486
+ type: accountInterface()
487
+ },
459
488
  blockhash: string(),
460
489
  feeCalculator: object("NonceFeeCalculator", {
461
490
  lamportsPerSignature: string()
@@ -472,7 +501,18 @@ var accountLookupTable = () => {
472
501
  "An address lookup table account",
473
502
  accountDataJsonParsed("LookupTable", {
474
503
  addresses: list(string()),
475
- authority: string(),
504
+ // Nested Account interface
505
+ authority: {
506
+ args: {
507
+ commitment: type(commitmentInputType()),
508
+ dataSlice: type(dataSliceInputType()),
509
+ encoding: type(accountEncodingInputType()),
510
+ minContextSlot: bigint()
511
+ },
512
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
513
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
514
+ type: accountInterface()
515
+ },
476
516
  deactivationSlot: string(),
477
517
  lastExtendedSlot: string(),
478
518
  lastExtendedSlotStartIndex: number()
@@ -490,7 +530,18 @@ var accountMint = () => {
490
530
  decimals: number(),
491
531
  freezeAuthority: string(),
492
532
  isInitialized: boolean(),
493
- mintAuthority: string(),
533
+ // Nested Account interface
534
+ mintAuthority: {
535
+ args: {
536
+ commitment: type(commitmentInputType()),
537
+ dataSlice: type(dataSliceInputType()),
538
+ encoding: type(accountEncodingInputType()),
539
+ minContextSlot: bigint()
540
+ },
541
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
542
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
543
+ type: accountInterface()
544
+ },
494
545
  supply: string()
495
546
  })
496
547
  );
@@ -505,7 +556,18 @@ var accountTokenAccount = () => {
505
556
  accountDataJsonParsed("TokenAccount", {
506
557
  isNative: boolean(),
507
558
  mint: string(),
508
- owner: string(),
559
+ // Nested Account interface
560
+ owner: {
561
+ args: {
562
+ commitment: type(commitmentInputType()),
563
+ dataSlice: type(dataSliceInputType()),
564
+ encoding: type(accountEncodingInputType()),
565
+ minContextSlot: bigint()
566
+ },
567
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
568
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
569
+ type: accountInterface()
570
+ },
509
571
  state: string(),
510
572
  tokenAmount: type(tokenAmountType())
511
573
  })
@@ -521,11 +583,44 @@ var accountStakeAccount = () => {
521
583
  accountDataJsonParsed("Stake", {
522
584
  meta: object("StakeMeta", {
523
585
  authorized: object("StakeMetaAuthorized", {
524
- staker: string(),
525
- withdrawer: string()
586
+ // Nested Account interface
587
+ staker: {
588
+ args: {
589
+ commitment: type(commitmentInputType()),
590
+ dataSlice: type(dataSliceInputType()),
591
+ encoding: type(accountEncodingInputType()),
592
+ minContextSlot: bigint()
593
+ },
594
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
595
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
596
+ type: accountInterface()
597
+ },
598
+ // Nested Account interface
599
+ withdrawer: {
600
+ args: {
601
+ commitment: type(commitmentInputType()),
602
+ dataSlice: type(dataSliceInputType()),
603
+ encoding: type(accountEncodingInputType()),
604
+ minContextSlot: bigint()
605
+ },
606
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
607
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
608
+ type: accountInterface()
609
+ }
526
610
  }),
527
611
  lockup: object("StakeMetaLockup", {
528
- custodian: string(),
612
+ // Nested Account interface
613
+ custodian: {
614
+ args: {
615
+ commitment: type(commitmentInputType()),
616
+ dataSlice: type(dataSliceInputType()),
617
+ encoding: type(accountEncodingInputType()),
618
+ minContextSlot: bigint()
619
+ },
620
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
621
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
622
+ type: accountInterface()
623
+ },
529
624
  epoch: bigint(),
530
625
  unixTimestamp: bigint()
531
626
  }),
@@ -537,7 +632,18 @@ var accountStakeAccount = () => {
537
632
  activationEpoch: bigint(),
538
633
  deactivationEpoch: bigint(),
539
634
  stake: string(),
540
- voter: string(),
635
+ // Nested Account interface
636
+ voter: {
637
+ args: {
638
+ commitment: type(commitmentInputType()),
639
+ dataSlice: type(dataSliceInputType()),
640
+ encoding: type(accountEncodingInputType()),
641
+ minContextSlot: bigint()
642
+ },
643
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
644
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voter }, info),
645
+ type: accountInterface()
646
+ },
541
647
  warmupCooldownRate: number()
542
648
  })
543
649
  })
@@ -554,11 +660,33 @@ var accountVoteAccount = () => {
554
660
  accountDataJsonParsed("Vote", {
555
661
  authorizedVoters: list(
556
662
  object("VoteAuthorizedVoter", {
557
- authorizedVoter: string(),
663
+ // Nested Account interface
664
+ authorizedVoter: {
665
+ args: {
666
+ commitment: type(commitmentInputType()),
667
+ dataSlice: type(dataSliceInputType()),
668
+ encoding: type(accountEncodingInputType()),
669
+ minContextSlot: bigint()
670
+ },
671
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
672
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedVoter }, info),
673
+ type: accountInterface()
674
+ },
558
675
  epoch: bigint()
559
676
  })
560
677
  ),
561
- authorizedWithdrawer: string(),
678
+ // Nested Account interface
679
+ authorizedWithdrawer: {
680
+ args: {
681
+ commitment: type(commitmentInputType()),
682
+ dataSlice: type(dataSliceInputType()),
683
+ encoding: type(accountEncodingInputType()),
684
+ minContextSlot: bigint()
685
+ },
686
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
687
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedWithdrawer }, info),
688
+ type: accountInterface()
689
+ },
562
690
  commission: number(),
563
691
  epochCredits: list(
564
692
  object("VoteEpochCredits", {
@@ -571,7 +699,18 @@ var accountVoteAccount = () => {
571
699
  slot: bigint(),
572
700
  timestamp: bigint()
573
701
  }),
574
- nodePubkey: string(),
702
+ // Nested Account interface
703
+ node: {
704
+ args: {
705
+ commitment: type(commitmentInputType()),
706
+ dataSlice: type(dataSliceInputType()),
707
+ encoding: type(accountEncodingInputType()),
708
+ minContextSlot: bigint()
709
+ },
710
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
711
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nodePubkey }, info),
712
+ type: accountInterface()
713
+ },
575
714
  priorVoters: list(string()),
576
715
  rootSlot: bigint(),
577
716
  votes: list(
@@ -611,7 +750,8 @@ var accountQuery = () => ({
611
750
  encoding: type(accountEncodingInputType()),
612
751
  minContextSlot: bigint()
613
752
  },
614
- resolve: (_parent, args, context) => context.resolveAccount(args),
753
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
754
+ resolve: (_parent, args, context, info) => context.resolveAccount(args, info),
615
755
  type: accountInterface()
616
756
  }
617
757
  });
@@ -621,8 +761,30 @@ var tokenBalance = () => {
621
761
  memoisedTokenBalance = new GraphQLObjectType({
622
762
  fields: {
623
763
  accountIndex: number(),
624
- mint: string(),
625
- owner: string(),
764
+ // Nested Account interface
765
+ mint: {
766
+ args: {
767
+ commitment: type(commitmentInputType()),
768
+ dataSlice: type(dataSliceInputType()),
769
+ encoding: type(accountEncodingInputType()),
770
+ minContextSlot: bigint()
771
+ },
772
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
773
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
774
+ type: accountInterface()
775
+ },
776
+ // Nested Account interface
777
+ owner: {
778
+ args: {
779
+ commitment: type(commitmentInputType()),
780
+ dataSlice: type(dataSliceInputType()),
781
+ encoding: type(accountEncodingInputType()),
782
+ minContextSlot: bigint()
783
+ },
784
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
785
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
786
+ type: accountInterface()
787
+ },
626
788
  programId: string(),
627
789
  uiAmountString: string()
628
790
  },
@@ -1042,30 +1204,184 @@ var parsedInstructionsAddressLookupTable = () => {
1042
1204
  memoisedParsedInstructionsAddressLookupTable = [
1043
1205
  parsedTransactionInstructionType("CreateLookupTableInstruction", {
1044
1206
  bumpSeed: number(),
1045
- lookupTableAccount: string(),
1046
- lookupTableAuthority: string(),
1047
- payerAccount: string(),
1207
+ // Nested Account interface
1208
+ lookupTableAccount: {
1209
+ args: {
1210
+ commitment: type(commitmentInputType()),
1211
+ dataSlice: type(dataSliceInputType()),
1212
+ encoding: type(accountEncodingInputType()),
1213
+ minContextSlot: bigint()
1214
+ },
1215
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1216
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1217
+ type: accountInterface()
1218
+ },
1219
+ // Nested Account interface
1220
+ lookupTableAuthority: {
1221
+ args: {
1222
+ commitment: type(commitmentInputType()),
1223
+ dataSlice: type(dataSliceInputType()),
1224
+ encoding: type(accountEncodingInputType()),
1225
+ minContextSlot: bigint()
1226
+ },
1227
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1228
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1229
+ type: accountInterface()
1230
+ },
1231
+ // Nested Account interface
1232
+ payerAccount: {
1233
+ args: {
1234
+ commitment: type(commitmentInputType()),
1235
+ dataSlice: type(dataSliceInputType()),
1236
+ encoding: type(accountEncodingInputType()),
1237
+ minContextSlot: bigint()
1238
+ },
1239
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1240
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1241
+ type: accountInterface()
1242
+ },
1048
1243
  recentSlot: bigint(),
1049
- systemProgram: string()
1244
+ // Nested Account interface
1245
+ systemProgram: {
1246
+ args: {
1247
+ commitment: type(commitmentInputType()),
1248
+ dataSlice: type(dataSliceInputType()),
1249
+ encoding: type(accountEncodingInputType()),
1250
+ minContextSlot: bigint()
1251
+ },
1252
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1253
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1254
+ type: accountInterface()
1255
+ }
1050
1256
  }),
1051
1257
  parsedTransactionInstructionType("FreezeLookupTableInstruction", {
1052
- lookupTableAccount: string(),
1053
- lookupTableAuthority: string()
1258
+ // Nested Account interface
1259
+ lookupTableAccount: {
1260
+ args: {
1261
+ commitment: type(commitmentInputType()),
1262
+ dataSlice: type(dataSliceInputType()),
1263
+ encoding: type(accountEncodingInputType()),
1264
+ minContextSlot: bigint()
1265
+ },
1266
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1267
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1268
+ type: accountInterface()
1269
+ },
1270
+ // Nested Account interface
1271
+ lookupTableAuthority: {
1272
+ args: {
1273
+ commitment: type(commitmentInputType()),
1274
+ dataSlice: type(dataSliceInputType()),
1275
+ encoding: type(accountEncodingInputType()),
1276
+ minContextSlot: bigint()
1277
+ },
1278
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1279
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1280
+ type: accountInterface()
1281
+ }
1054
1282
  }),
1055
1283
  parsedTransactionInstructionType("ExtendLookupTableInstruction", {
1056
- lookupTableAccount: string(),
1057
- lookupTableAuthority: string(),
1284
+ // Nested Account interface
1285
+ lookupTableAccount: {
1286
+ args: {
1287
+ commitment: type(commitmentInputType()),
1288
+ dataSlice: type(dataSliceInputType()),
1289
+ encoding: type(accountEncodingInputType()),
1290
+ minContextSlot: bigint()
1291
+ },
1292
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1293
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1294
+ type: accountInterface()
1295
+ },
1296
+ // Nested Account interface
1297
+ lookupTableAuthority: {
1298
+ args: {
1299
+ commitment: type(commitmentInputType()),
1300
+ dataSlice: type(dataSliceInputType()),
1301
+ encoding: type(accountEncodingInputType()),
1302
+ minContextSlot: bigint()
1303
+ },
1304
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1305
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1306
+ type: accountInterface()
1307
+ },
1058
1308
  newAddresses: list(string()),
1059
- payerAccount: string(),
1060
- systemProgram: string()
1309
+ // Nested Account interface
1310
+ payerAccount: {
1311
+ args: {
1312
+ commitment: type(commitmentInputType()),
1313
+ dataSlice: type(dataSliceInputType()),
1314
+ encoding: type(accountEncodingInputType()),
1315
+ minContextSlot: bigint()
1316
+ },
1317
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1318
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1319
+ type: accountInterface()
1320
+ },
1321
+ // Nested Account interface
1322
+ systemProgram: {
1323
+ args: {
1324
+ commitment: type(commitmentInputType()),
1325
+ dataSlice: type(dataSliceInputType()),
1326
+ encoding: type(accountEncodingInputType()),
1327
+ minContextSlot: bigint()
1328
+ },
1329
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1330
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1331
+ type: accountInterface()
1332
+ }
1061
1333
  }),
1062
1334
  parsedTransactionInstructionType("DeactivateLookupTableInstruction", {
1063
- lookupTableAccount: string(),
1064
- lookupTableAuthority: string()
1335
+ // Nested Account interface
1336
+ lookupTableAccount: {
1337
+ args: {
1338
+ commitment: type(commitmentInputType()),
1339
+ dataSlice: type(dataSliceInputType()),
1340
+ encoding: type(accountEncodingInputType()),
1341
+ minContextSlot: bigint()
1342
+ },
1343
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1344
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1345
+ type: accountInterface()
1346
+ },
1347
+ // Nested Account interface
1348
+ lookupTableAuthority: {
1349
+ args: {
1350
+ commitment: type(commitmentInputType()),
1351
+ dataSlice: type(dataSliceInputType()),
1352
+ encoding: type(accountEncodingInputType()),
1353
+ minContextSlot: bigint()
1354
+ },
1355
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1356
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1357
+ type: accountInterface()
1358
+ }
1065
1359
  }),
1066
1360
  parsedTransactionInstructionType("CloseLookupTableInstruction", {
1067
- lookupTableAccount: string(),
1068
- lookupTableAuthority: string(),
1361
+ // Nested Account interface
1362
+ lookupTableAccount: {
1363
+ args: {
1364
+ commitment: type(commitmentInputType()),
1365
+ dataSlice: type(dataSliceInputType()),
1366
+ encoding: type(accountEncodingInputType()),
1367
+ minContextSlot: bigint()
1368
+ },
1369
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1370
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1371
+ type: accountInterface()
1372
+ },
1373
+ // Nested Account interface
1374
+ lookupTableAuthority: {
1375
+ args: {
1376
+ commitment: type(commitmentInputType()),
1377
+ dataSlice: type(dataSliceInputType()),
1378
+ encoding: type(accountEncodingInputType()),
1379
+ minContextSlot: bigint()
1380
+ },
1381
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1382
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1383
+ type: accountInterface()
1384
+ },
1069
1385
  recipient: string()
1070
1386
  })
1071
1387
  ];
@@ -1076,12 +1392,34 @@ var parsedInstructionsBpfLoader = () => {
1076
1392
  if (!memoisedParsedInstructionsBpfLoader)
1077
1393
  memoisedParsedInstructionsBpfLoader = [
1078
1394
  parsedTransactionInstructionType("BpfLoaderWriteInstruction", {
1079
- account: string(),
1395
+ // Nested Account interface
1396
+ account: {
1397
+ args: {
1398
+ commitment: type(commitmentInputType()),
1399
+ dataSlice: type(dataSliceInputType()),
1400
+ encoding: type(accountEncodingInputType()),
1401
+ minContextSlot: bigint()
1402
+ },
1403
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1404
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1405
+ type: accountInterface()
1406
+ },
1080
1407
  bytes: string(),
1081
1408
  offset: number()
1082
1409
  }),
1083
1410
  parsedTransactionInstructionType("BpfLoaderFinalizeInstruction", {
1084
- account: string()
1411
+ // Nested Account interface
1412
+ account: {
1413
+ args: {
1414
+ commitment: type(commitmentInputType()),
1415
+ dataSlice: type(dataSliceInputType()),
1416
+ encoding: type(accountEncodingInputType()),
1417
+ minContextSlot: bigint()
1418
+ },
1419
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1420
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1421
+ type: accountInterface()
1422
+ }
1085
1423
  })
1086
1424
  ];
1087
1425
  return memoisedParsedInstructionsBpfLoader;
@@ -1091,55 +1429,329 @@ var parsedInstructionsBpfUpgradeableLoader = () => {
1091
1429
  if (!memoisedParsedInstructionsBpfUpgradeableLoader)
1092
1430
  memoisedParsedInstructionsBpfUpgradeableLoader = [
1093
1431
  parsedTransactionInstructionType("BpfUpgradeableLoaderInitializeBufferInstruction", {
1094
- account: string()
1432
+ // Nested Account interface
1433
+ account: {
1434
+ args: {
1435
+ commitment: type(commitmentInputType()),
1436
+ dataSlice: type(dataSliceInputType()),
1437
+ encoding: type(accountEncodingInputType()),
1438
+ minContextSlot: bigint()
1439
+ },
1440
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1441
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1442
+ type: accountInterface()
1443
+ }
1095
1444
  }),
1096
1445
  parsedTransactionInstructionType("BpfUpgradeableLoaderWriteInstruction", {
1097
- account: string(),
1098
- authority: string(),
1446
+ // Nested Account interface
1447
+ account: {
1448
+ args: {
1449
+ commitment: type(commitmentInputType()),
1450
+ dataSlice: type(dataSliceInputType()),
1451
+ encoding: type(accountEncodingInputType()),
1452
+ minContextSlot: bigint()
1453
+ },
1454
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1455
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1456
+ type: accountInterface()
1457
+ },
1458
+ // Nested Account interface
1459
+ authority: {
1460
+ args: {
1461
+ commitment: type(commitmentInputType()),
1462
+ dataSlice: type(dataSliceInputType()),
1463
+ encoding: type(accountEncodingInputType()),
1464
+ minContextSlot: bigint()
1465
+ },
1466
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1467
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1468
+ type: accountInterface()
1469
+ },
1099
1470
  bytes: string(),
1100
1471
  offset: number()
1101
1472
  }),
1102
1473
  parsedTransactionInstructionType("BpfUpgradeableLoaderDeployWithMaxDataLenInstruction", {
1103
- authority: string(),
1104
- bufferAccount: string(),
1474
+ // Nested Account interface
1475
+ authority: {
1476
+ args: {
1477
+ commitment: type(commitmentInputType()),
1478
+ dataSlice: type(dataSliceInputType()),
1479
+ encoding: type(accountEncodingInputType()),
1480
+ minContextSlot: bigint()
1481
+ },
1482
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1483
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1484
+ type: accountInterface()
1485
+ },
1486
+ // Nested Account interface
1487
+ bufferAccount: {
1488
+ args: {
1489
+ commitment: type(commitmentInputType()),
1490
+ dataSlice: type(dataSliceInputType()),
1491
+ encoding: type(accountEncodingInputType()),
1492
+ minContextSlot: bigint()
1493
+ },
1494
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1495
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.bufferAccount }, info),
1496
+ type: accountInterface()
1497
+ },
1105
1498
  clockSysvar: string(),
1106
1499
  maxDataLen: bigint(),
1107
- payerAccount: string(),
1108
- programAccount: string(),
1109
- programDataAccount: string(),
1500
+ // Nested Account interface
1501
+ payerAccount: {
1502
+ args: {
1503
+ commitment: type(commitmentInputType()),
1504
+ dataSlice: type(dataSliceInputType()),
1505
+ encoding: type(accountEncodingInputType()),
1506
+ minContextSlot: bigint()
1507
+ },
1508
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1509
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1510
+ type: accountInterface()
1511
+ },
1512
+ // Nested Account interface
1513
+ programAccount: {
1514
+ args: {
1515
+ commitment: type(commitmentInputType()),
1516
+ dataSlice: type(dataSliceInputType()),
1517
+ encoding: type(accountEncodingInputType()),
1518
+ minContextSlot: bigint()
1519
+ },
1520
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1521
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1522
+ type: accountInterface()
1523
+ },
1524
+ // Nested Account interface
1525
+ programDataAccount: {
1526
+ args: {
1527
+ commitment: type(commitmentInputType()),
1528
+ dataSlice: type(dataSliceInputType()),
1529
+ encoding: type(accountEncodingInputType()),
1530
+ minContextSlot: bigint()
1531
+ },
1532
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1533
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1534
+ type: accountInterface()
1535
+ },
1110
1536
  rentSysvar: string()
1111
1537
  }),
1112
1538
  parsedTransactionInstructionType("BpfUpgradeableLoaderUpgradeInstruction", {
1113
- authority: string(),
1114
- bufferAccount: string(),
1539
+ // Nested Account interface
1540
+ authority: {
1541
+ args: {
1542
+ commitment: type(commitmentInputType()),
1543
+ dataSlice: type(dataSliceInputType()),
1544
+ encoding: type(accountEncodingInputType()),
1545
+ minContextSlot: bigint()
1546
+ },
1547
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1548
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1549
+ type: accountInterface()
1550
+ },
1551
+ // Nested Account interface
1552
+ bufferAccount: {
1553
+ args: {
1554
+ commitment: type(commitmentInputType()),
1555
+ dataSlice: type(dataSliceInputType()),
1556
+ encoding: type(accountEncodingInputType()),
1557
+ minContextSlot: bigint()
1558
+ },
1559
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1560
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.bufferAccount }, info),
1561
+ type: accountInterface()
1562
+ },
1115
1563
  clockSysvar: string(),
1116
- programAccount: string(),
1117
- programDataAccount: string(),
1564
+ // Nested Account interface
1565
+ programAccount: {
1566
+ args: {
1567
+ commitment: type(commitmentInputType()),
1568
+ dataSlice: type(dataSliceInputType()),
1569
+ encoding: type(accountEncodingInputType()),
1570
+ minContextSlot: bigint()
1571
+ },
1572
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1573
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1574
+ type: accountInterface()
1575
+ },
1576
+ // Nested Account interface
1577
+ programDataAccount: {
1578
+ args: {
1579
+ commitment: type(commitmentInputType()),
1580
+ dataSlice: type(dataSliceInputType()),
1581
+ encoding: type(accountEncodingInputType()),
1582
+ minContextSlot: bigint()
1583
+ },
1584
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1585
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1586
+ type: accountInterface()
1587
+ },
1118
1588
  rentSysvar: string(),
1119
- spillAccount: string()
1589
+ // Nested Account interface
1590
+ spillAccount: {
1591
+ args: {
1592
+ commitment: type(commitmentInputType()),
1593
+ dataSlice: type(dataSliceInputType()),
1594
+ encoding: type(accountEncodingInputType()),
1595
+ minContextSlot: bigint()
1596
+ },
1597
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1598
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.spillAccount }, info),
1599
+ type: accountInterface()
1600
+ }
1120
1601
  }),
1121
1602
  parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityInstruction", {
1122
1603
  account: string(),
1123
- authority: string(),
1124
- newAuthority: string()
1604
+ // Nested Account interface
1605
+ authority: {
1606
+ args: {
1607
+ commitment: type(commitmentInputType()),
1608
+ dataSlice: type(dataSliceInputType()),
1609
+ encoding: type(accountEncodingInputType()),
1610
+ minContextSlot: bigint()
1611
+ },
1612
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1613
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1614
+ type: accountInterface()
1615
+ },
1616
+ // Nested Account interface
1617
+ newAuthority: {
1618
+ args: {
1619
+ commitment: type(commitmentInputType()),
1620
+ dataSlice: type(dataSliceInputType()),
1621
+ encoding: type(accountEncodingInputType()),
1622
+ minContextSlot: bigint()
1623
+ },
1624
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1625
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
1626
+ type: accountInterface()
1627
+ }
1125
1628
  }),
1126
1629
  parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityCheckedInstruction", {
1127
- account: string(),
1128
- authority: string(),
1129
- newAuthority: string()
1630
+ // Nested Account interface
1631
+ account: {
1632
+ args: {
1633
+ commitment: type(commitmentInputType()),
1634
+ dataSlice: type(dataSliceInputType()),
1635
+ encoding: type(accountEncodingInputType()),
1636
+ minContextSlot: bigint()
1637
+ },
1638
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1639
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1640
+ type: accountInterface()
1641
+ },
1642
+ // Nested Account interface
1643
+ authority: {
1644
+ args: {
1645
+ commitment: type(commitmentInputType()),
1646
+ dataSlice: type(dataSliceInputType()),
1647
+ encoding: type(accountEncodingInputType()),
1648
+ minContextSlot: bigint()
1649
+ },
1650
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1651
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1652
+ type: accountInterface()
1653
+ },
1654
+ // Nested Account interface
1655
+ newAuthority: {
1656
+ args: {
1657
+ commitment: type(commitmentInputType()),
1658
+ dataSlice: type(dataSliceInputType()),
1659
+ encoding: type(accountEncodingInputType()),
1660
+ minContextSlot: bigint()
1661
+ },
1662
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1663
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
1664
+ type: accountInterface()
1665
+ }
1130
1666
  }),
1131
1667
  parsedTransactionInstructionType("BpfUpgradeableLoaderCloseInstruction", {
1132
- account: string(),
1133
- authority: string(),
1134
- programAccount: string(),
1668
+ // Nested Account interface
1669
+ account: {
1670
+ args: {
1671
+ commitment: type(commitmentInputType()),
1672
+ dataSlice: type(dataSliceInputType()),
1673
+ encoding: type(accountEncodingInputType()),
1674
+ minContextSlot: bigint()
1675
+ },
1676
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1677
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1678
+ type: accountInterface()
1679
+ },
1680
+ // Nested Account interface
1681
+ authority: {
1682
+ args: {
1683
+ commitment: type(commitmentInputType()),
1684
+ dataSlice: type(dataSliceInputType()),
1685
+ encoding: type(accountEncodingInputType()),
1686
+ minContextSlot: bigint()
1687
+ },
1688
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1689
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1690
+ type: accountInterface()
1691
+ },
1692
+ // Nested Account interface
1693
+ programAccount: {
1694
+ args: {
1695
+ commitment: type(commitmentInputType()),
1696
+ dataSlice: type(dataSliceInputType()),
1697
+ encoding: type(accountEncodingInputType()),
1698
+ minContextSlot: bigint()
1699
+ },
1700
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1701
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1702
+ type: accountInterface()
1703
+ },
1135
1704
  recipient: string()
1136
1705
  }),
1137
1706
  parsedTransactionInstructionType("BpfUpgradeableLoaderExtendProgramInstruction", {
1138
1707
  additionalBytes: bigint(),
1139
- payerAccount: string(),
1140
- programAccount: string(),
1141
- programDataAccount: string(),
1142
- systemProgram: string()
1708
+ payerAccount: {
1709
+ args: {
1710
+ commitment: type(commitmentInputType()),
1711
+ dataSlice: type(dataSliceInputType()),
1712
+ encoding: type(accountEncodingInputType()),
1713
+ minContextSlot: bigint()
1714
+ },
1715
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1716
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1717
+ type: accountInterface()
1718
+ },
1719
+ // Nested Account interface
1720
+ programAccount: {
1721
+ args: {
1722
+ commitment: type(commitmentInputType()),
1723
+ dataSlice: type(dataSliceInputType()),
1724
+ encoding: type(accountEncodingInputType()),
1725
+ minContextSlot: bigint()
1726
+ },
1727
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1728
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1729
+ type: accountInterface()
1730
+ },
1731
+ // Nested Account interface
1732
+ programDataAccount: {
1733
+ args: {
1734
+ commitment: type(commitmentInputType()),
1735
+ dataSlice: type(dataSliceInputType()),
1736
+ encoding: type(accountEncodingInputType()),
1737
+ minContextSlot: bigint()
1738
+ },
1739
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1740
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1741
+ type: accountInterface()
1742
+ },
1743
+ // Nested Account interface
1744
+ systemProgram: {
1745
+ args: {
1746
+ commitment: type(commitmentInputType()),
1747
+ dataSlice: type(dataSliceInputType()),
1748
+ encoding: type(accountEncodingInputType()),
1749
+ minContextSlot: bigint()
1750
+ },
1751
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1752
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1753
+ type: accountInterface()
1754
+ }
1143
1755
  })
1144
1756
  ];
1145
1757
  return memoisedParsedInstructionsBpfUpgradeableLoader;
@@ -1149,29 +1761,221 @@ var parsedInstructionsSplAssociatedToken = () => {
1149
1761
  if (!memoisedParsedInstructionsSplAssociatedToken)
1150
1762
  memoisedParsedInstructionsSplAssociatedToken = [
1151
1763
  parsedTransactionInstructionType("SplAssociatedTokenCreateInstruction", {
1152
- account: string(),
1153
- mint: string(),
1154
- source: string(),
1155
- systemProgram: string(),
1156
- tokenProgram: string(),
1157
- wallet: string()
1764
+ // Nested Account interface
1765
+ account: {
1766
+ args: {
1767
+ commitment: type(commitmentInputType()),
1768
+ dataSlice: type(dataSliceInputType()),
1769
+ encoding: type(accountEncodingInputType()),
1770
+ minContextSlot: bigint()
1771
+ },
1772
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1773
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1774
+ type: accountInterface()
1775
+ },
1776
+ mint: {
1777
+ args: {
1778
+ commitment: type(commitmentInputType()),
1779
+ dataSlice: type(dataSliceInputType()),
1780
+ encoding: type(accountEncodingInputType()),
1781
+ minContextSlot: bigint()
1782
+ },
1783
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1784
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
1785
+ type: accountInterface()
1786
+ },
1787
+ source: {
1788
+ args: {
1789
+ commitment: type(commitmentInputType()),
1790
+ dataSlice: type(dataSliceInputType()),
1791
+ encoding: type(accountEncodingInputType()),
1792
+ minContextSlot: bigint()
1793
+ },
1794
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1795
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
1796
+ type: accountInterface()
1797
+ },
1798
+ systemProgram: {
1799
+ args: {
1800
+ commitment: type(commitmentInputType()),
1801
+ dataSlice: type(dataSliceInputType()),
1802
+ encoding: type(accountEncodingInputType()),
1803
+ minContextSlot: bigint()
1804
+ },
1805
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1806
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1807
+ type: accountInterface()
1808
+ },
1809
+ tokenProgram: {
1810
+ args: {
1811
+ commitment: type(commitmentInputType()),
1812
+ dataSlice: type(dataSliceInputType()),
1813
+ encoding: type(accountEncodingInputType()),
1814
+ minContextSlot: bigint()
1815
+ },
1816
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1817
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
1818
+ type: accountInterface()
1819
+ },
1820
+ wallet: {
1821
+ args: {
1822
+ commitment: type(commitmentInputType()),
1823
+ dataSlice: type(dataSliceInputType()),
1824
+ encoding: type(accountEncodingInputType()),
1825
+ minContextSlot: bigint()
1826
+ },
1827
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1828
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
1829
+ type: accountInterface()
1830
+ }
1158
1831
  }),
1159
1832
  parsedTransactionInstructionType("SplAssociatedTokenCreateIdempotentInstruction", {
1160
- account: string(),
1161
- mint: string(),
1162
- source: string(),
1163
- systemProgram: string(),
1164
- tokenProgram: string(),
1165
- wallet: string()
1833
+ // Nested Account interface
1834
+ account: {
1835
+ args: {
1836
+ commitment: type(commitmentInputType()),
1837
+ dataSlice: type(dataSliceInputType()),
1838
+ encoding: type(accountEncodingInputType()),
1839
+ minContextSlot: bigint()
1840
+ },
1841
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1842
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1843
+ type: accountInterface()
1844
+ },
1845
+ mint: {
1846
+ args: {
1847
+ commitment: type(commitmentInputType()),
1848
+ dataSlice: type(dataSliceInputType()),
1849
+ encoding: type(accountEncodingInputType()),
1850
+ minContextSlot: bigint()
1851
+ },
1852
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1853
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
1854
+ type: accountInterface()
1855
+ },
1856
+ source: {
1857
+ args: {
1858
+ commitment: type(commitmentInputType()),
1859
+ dataSlice: type(dataSliceInputType()),
1860
+ encoding: type(accountEncodingInputType()),
1861
+ minContextSlot: bigint()
1862
+ },
1863
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1864
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
1865
+ type: accountInterface()
1866
+ },
1867
+ systemProgram: {
1868
+ args: {
1869
+ commitment: type(commitmentInputType()),
1870
+ dataSlice: type(dataSliceInputType()),
1871
+ encoding: type(accountEncodingInputType()),
1872
+ minContextSlot: bigint()
1873
+ },
1874
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1875
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1876
+ type: accountInterface()
1877
+ },
1878
+ tokenProgram: {
1879
+ args: {
1880
+ commitment: type(commitmentInputType()),
1881
+ dataSlice: type(dataSliceInputType()),
1882
+ encoding: type(accountEncodingInputType()),
1883
+ minContextSlot: bigint()
1884
+ },
1885
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1886
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
1887
+ type: accountInterface()
1888
+ },
1889
+ wallet: {
1890
+ args: {
1891
+ commitment: type(commitmentInputType()),
1892
+ dataSlice: type(dataSliceInputType()),
1893
+ encoding: type(accountEncodingInputType()),
1894
+ minContextSlot: bigint()
1895
+ },
1896
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1897
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
1898
+ type: accountInterface()
1899
+ }
1166
1900
  }),
1167
1901
  parsedTransactionInstructionType("SplAssociatedTokenRecoverNestedInstruction", {
1168
- destination: string(),
1169
- nestedMint: string(),
1170
- nestedOwner: string(),
1171
- nestedSource: string(),
1172
- ownerMint: string(),
1173
- tokenProgram: string(),
1174
- wallet: string()
1902
+ destination: {
1903
+ args: {
1904
+ commitment: type(commitmentInputType()),
1905
+ dataSlice: type(dataSliceInputType()),
1906
+ encoding: type(accountEncodingInputType()),
1907
+ minContextSlot: bigint()
1908
+ },
1909
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1910
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
1911
+ type: accountInterface()
1912
+ },
1913
+ nestedMint: {
1914
+ args: {
1915
+ commitment: type(commitmentInputType()),
1916
+ dataSlice: type(dataSliceInputType()),
1917
+ encoding: type(accountEncodingInputType()),
1918
+ minContextSlot: bigint()
1919
+ },
1920
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1921
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedMint }, info),
1922
+ type: accountInterface()
1923
+ },
1924
+ nestedOwner: {
1925
+ args: {
1926
+ commitment: type(commitmentInputType()),
1927
+ dataSlice: type(dataSliceInputType()),
1928
+ encoding: type(accountEncodingInputType()),
1929
+ minContextSlot: bigint()
1930
+ },
1931
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1932
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedOwner }, info),
1933
+ type: accountInterface()
1934
+ },
1935
+ nestedSource: {
1936
+ args: {
1937
+ commitment: type(commitmentInputType()),
1938
+ dataSlice: type(dataSliceInputType()),
1939
+ encoding: type(accountEncodingInputType()),
1940
+ minContextSlot: bigint()
1941
+ },
1942
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1943
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedSource }, info),
1944
+ type: accountInterface()
1945
+ },
1946
+ ownerMint: {
1947
+ args: {
1948
+ commitment: type(commitmentInputType()),
1949
+ dataSlice: type(dataSliceInputType()),
1950
+ encoding: type(accountEncodingInputType()),
1951
+ minContextSlot: bigint()
1952
+ },
1953
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1954
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.ownerMint }, info),
1955
+ type: accountInterface()
1956
+ },
1957
+ tokenProgram: {
1958
+ args: {
1959
+ commitment: type(commitmentInputType()),
1960
+ dataSlice: type(dataSliceInputType()),
1961
+ encoding: type(accountEncodingInputType()),
1962
+ minContextSlot: bigint()
1963
+ },
1964
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1965
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
1966
+ type: accountInterface()
1967
+ },
1968
+ wallet: {
1969
+ args: {
1970
+ commitment: type(commitmentInputType()),
1971
+ dataSlice: type(dataSliceInputType()),
1972
+ encoding: type(accountEncodingInputType()),
1973
+ minContextSlot: bigint()
1974
+ },
1975
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1976
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
1977
+ type: accountInterface()
1978
+ }
1175
1979
  })
1176
1980
  ];
1177
1981
  return memoisedParsedInstructionsSplAssociatedToken;
@@ -1196,155 +2000,980 @@ var parsedInstructionsSplToken = () => {
1196
2000
  memoisedParsedInstructionsSplToken = [
1197
2001
  parsedTransactionInstructionType("SplTokenInitializeMintInstruction", {
1198
2002
  decimals: number(),
1199
- freezeAuthority: string(),
1200
- mint: string(),
1201
- mintAuthority: string(),
2003
+ freezeAuthority: {
2004
+ args: {
2005
+ commitment: type(commitmentInputType()),
2006
+ dataSlice: type(dataSliceInputType()),
2007
+ encoding: type(accountEncodingInputType()),
2008
+ minContextSlot: bigint()
2009
+ },
2010
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2011
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2012
+ type: accountInterface()
2013
+ },
2014
+ mint: {
2015
+ args: {
2016
+ commitment: type(commitmentInputType()),
2017
+ dataSlice: type(dataSliceInputType()),
2018
+ encoding: type(accountEncodingInputType()),
2019
+ minContextSlot: bigint()
2020
+ },
2021
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2022
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2023
+ type: accountInterface()
2024
+ },
2025
+ mintAuthority: {
2026
+ args: {
2027
+ commitment: type(commitmentInputType()),
2028
+ dataSlice: type(dataSliceInputType()),
2029
+ encoding: type(accountEncodingInputType()),
2030
+ minContextSlot: bigint()
2031
+ },
2032
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2033
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2034
+ type: accountInterface()
2035
+ },
1202
2036
  rentSysvar: string()
1203
2037
  }),
1204
2038
  parsedTransactionInstructionType("SplTokenInitializeMint2Instruction", {
1205
2039
  decimals: number(),
1206
- freezeAuthority: string(),
1207
- mint: string(),
1208
- mintAuthority: string()
2040
+ freezeAuthority: {
2041
+ args: {
2042
+ commitment: type(commitmentInputType()),
2043
+ dataSlice: type(dataSliceInputType()),
2044
+ encoding: type(accountEncodingInputType()),
2045
+ minContextSlot: bigint()
2046
+ },
2047
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2048
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2049
+ type: accountInterface()
2050
+ },
2051
+ mint: {
2052
+ args: {
2053
+ commitment: type(commitmentInputType()),
2054
+ dataSlice: type(dataSliceInputType()),
2055
+ encoding: type(accountEncodingInputType()),
2056
+ minContextSlot: bigint()
2057
+ },
2058
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2059
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2060
+ type: accountInterface()
2061
+ },
2062
+ mintAuthority: {
2063
+ args: {
2064
+ commitment: type(commitmentInputType()),
2065
+ dataSlice: type(dataSliceInputType()),
2066
+ encoding: type(accountEncodingInputType()),
2067
+ minContextSlot: bigint()
2068
+ },
2069
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2070
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2071
+ type: accountInterface()
2072
+ }
1209
2073
  }),
1210
2074
  parsedTransactionInstructionType("SplTokenInitializeAccountInstruction", {
1211
- account: string(),
1212
- mint: string(),
1213
- owner: string(),
2075
+ // Nested Account interface
2076
+ account: {
2077
+ args: {
2078
+ commitment: type(commitmentInputType()),
2079
+ dataSlice: type(dataSliceInputType()),
2080
+ encoding: type(accountEncodingInputType()),
2081
+ minContextSlot: bigint()
2082
+ },
2083
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2084
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2085
+ type: accountInterface()
2086
+ },
2087
+ mint: {
2088
+ args: {
2089
+ commitment: type(commitmentInputType()),
2090
+ dataSlice: type(dataSliceInputType()),
2091
+ encoding: type(accountEncodingInputType()),
2092
+ minContextSlot: bigint()
2093
+ },
2094
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2095
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2096
+ type: accountInterface()
2097
+ },
2098
+ // Nested Account interface
2099
+ owner: {
2100
+ args: {
2101
+ commitment: type(commitmentInputType()),
2102
+ dataSlice: type(dataSliceInputType()),
2103
+ encoding: type(accountEncodingInputType()),
2104
+ minContextSlot: bigint()
2105
+ },
2106
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2107
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2108
+ type: accountInterface()
2109
+ },
1214
2110
  rentSysvar: string()
1215
2111
  }),
1216
2112
  parsedTransactionInstructionType("SplTokenInitializeAccount2Instruction", {
1217
- account: string(),
1218
- mint: string(),
1219
- owner: string(),
2113
+ // Nested Account interface
2114
+ account: {
2115
+ args: {
2116
+ commitment: type(commitmentInputType()),
2117
+ dataSlice: type(dataSliceInputType()),
2118
+ encoding: type(accountEncodingInputType()),
2119
+ minContextSlot: bigint()
2120
+ },
2121
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2122
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2123
+ type: accountInterface()
2124
+ },
2125
+ mint: {
2126
+ args: {
2127
+ commitment: type(commitmentInputType()),
2128
+ dataSlice: type(dataSliceInputType()),
2129
+ encoding: type(accountEncodingInputType()),
2130
+ minContextSlot: bigint()
2131
+ },
2132
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2133
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2134
+ type: accountInterface()
2135
+ },
2136
+ // Nested Account interface
2137
+ owner: {
2138
+ args: {
2139
+ commitment: type(commitmentInputType()),
2140
+ dataSlice: type(dataSliceInputType()),
2141
+ encoding: type(accountEncodingInputType()),
2142
+ minContextSlot: bigint()
2143
+ },
2144
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2145
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2146
+ type: accountInterface()
2147
+ },
1220
2148
  rentSysvar: string()
1221
2149
  }),
1222
2150
  parsedTransactionInstructionType("SplTokenInitializeAccount3Instruction", {
1223
- account: string(),
1224
- mint: string(),
1225
- owner: string()
2151
+ // Nested Account interface
2152
+ account: {
2153
+ args: {
2154
+ commitment: type(commitmentInputType()),
2155
+ dataSlice: type(dataSliceInputType()),
2156
+ encoding: type(accountEncodingInputType()),
2157
+ minContextSlot: bigint()
2158
+ },
2159
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2160
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2161
+ type: accountInterface()
2162
+ },
2163
+ mint: {
2164
+ args: {
2165
+ commitment: type(commitmentInputType()),
2166
+ dataSlice: type(dataSliceInputType()),
2167
+ encoding: type(accountEncodingInputType()),
2168
+ minContextSlot: bigint()
2169
+ },
2170
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2171
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2172
+ type: accountInterface()
2173
+ },
2174
+ // Nested Account interface
2175
+ owner: {
2176
+ args: {
2177
+ commitment: type(commitmentInputType()),
2178
+ dataSlice: type(dataSliceInputType()),
2179
+ encoding: type(accountEncodingInputType()),
2180
+ minContextSlot: bigint()
2181
+ },
2182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2183
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2184
+ type: accountInterface()
2185
+ }
1226
2186
  }),
1227
2187
  parsedTransactionInstructionType("SplTokenInitializeMultisigInstruction", {
1228
2188
  m: number(),
1229
- multisig: string(),
2189
+ // Nested Account interface
2190
+ multisig: {
2191
+ args: {
2192
+ commitment: type(commitmentInputType()),
2193
+ dataSlice: type(dataSliceInputType()),
2194
+ encoding: type(accountEncodingInputType()),
2195
+ minContextSlot: bigint()
2196
+ },
2197
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2198
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisig }, info),
2199
+ type: accountInterface()
2200
+ },
1230
2201
  rentSysvar: string(),
1231
2202
  signers: list(string())
1232
2203
  }),
1233
2204
  parsedTransactionInstructionType("SplTokenInitializeMultisig2Instruction", {
1234
2205
  m: number(),
1235
- multisig: string(),
2206
+ // Nested Account interface
2207
+ multisig: {
2208
+ args: {
2209
+ commitment: type(commitmentInputType()),
2210
+ dataSlice: type(dataSliceInputType()),
2211
+ encoding: type(accountEncodingInputType()),
2212
+ minContextSlot: bigint()
2213
+ },
2214
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2215
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisig }, info),
2216
+ type: accountInterface()
2217
+ },
1236
2218
  signers: list(string())
1237
2219
  }),
1238
2220
  parsedTransactionInstructionType("SplTokenTransferInstruction", {
1239
2221
  amount: string(),
1240
- authority: string(),
1241
- destination: string(),
1242
- multisigAuthority: string(),
1243
- source: string()
2222
+ // Nested Account interface
2223
+ authority: {
2224
+ args: {
2225
+ commitment: type(commitmentInputType()),
2226
+ dataSlice: type(dataSliceInputType()),
2227
+ encoding: type(accountEncodingInputType()),
2228
+ minContextSlot: bigint()
2229
+ },
2230
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2231
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2232
+ type: accountInterface()
2233
+ },
2234
+ destination: {
2235
+ args: {
2236
+ commitment: type(commitmentInputType()),
2237
+ dataSlice: type(dataSliceInputType()),
2238
+ encoding: type(accountEncodingInputType()),
2239
+ minContextSlot: bigint()
2240
+ },
2241
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2242
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2243
+ type: accountInterface()
2244
+ },
2245
+ // Nested Account interface
2246
+ multisigAuthority: {
2247
+ args: {
2248
+ commitment: type(commitmentInputType()),
2249
+ dataSlice: type(dataSliceInputType()),
2250
+ encoding: type(accountEncodingInputType()),
2251
+ minContextSlot: bigint()
2252
+ },
2253
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2254
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2255
+ type: accountInterface()
2256
+ },
2257
+ source: {
2258
+ args: {
2259
+ commitment: type(commitmentInputType()),
2260
+ dataSlice: type(dataSliceInputType()),
2261
+ encoding: type(accountEncodingInputType()),
2262
+ minContextSlot: bigint()
2263
+ },
2264
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2265
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2266
+ type: accountInterface()
2267
+ }
1244
2268
  }),
1245
2269
  parsedTransactionInstructionType("SplTokenApproveInstruction", {
1246
2270
  amount: string(),
1247
- delegate: string(),
1248
- multisigOwner: string(),
1249
- owner: string(),
1250
- source: string()
2271
+ // Nested Account interface
2272
+ delegate: {
2273
+ args: {
2274
+ commitment: type(commitmentInputType()),
2275
+ dataSlice: type(dataSliceInputType()),
2276
+ encoding: type(accountEncodingInputType()),
2277
+ minContextSlot: bigint()
2278
+ },
2279
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2280
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.delegate }, info),
2281
+ type: accountInterface()
2282
+ },
2283
+ // Nested Account interface
2284
+ multisigOwner: {
2285
+ args: {
2286
+ commitment: type(commitmentInputType()),
2287
+ dataSlice: type(dataSliceInputType()),
2288
+ encoding: type(accountEncodingInputType()),
2289
+ minContextSlot: bigint()
2290
+ },
2291
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2292
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2293
+ type: accountInterface()
2294
+ },
2295
+ // Nested Account interface
2296
+ owner: {
2297
+ args: {
2298
+ commitment: type(commitmentInputType()),
2299
+ dataSlice: type(dataSliceInputType()),
2300
+ encoding: type(accountEncodingInputType()),
2301
+ minContextSlot: bigint()
2302
+ },
2303
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2304
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2305
+ type: accountInterface()
2306
+ },
2307
+ source: {
2308
+ args: {
2309
+ commitment: type(commitmentInputType()),
2310
+ dataSlice: type(dataSliceInputType()),
2311
+ encoding: type(accountEncodingInputType()),
2312
+ minContextSlot: bigint()
2313
+ },
2314
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2315
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2316
+ type: accountInterface()
2317
+ }
1251
2318
  }),
1252
2319
  parsedTransactionInstructionType("SplTokenRevokeInstruction", {
1253
- multisigOwner: string(),
1254
- owner: string(),
1255
- source: string()
2320
+ // Nested Account interface
2321
+ multisigOwner: {
2322
+ args: {
2323
+ commitment: type(commitmentInputType()),
2324
+ dataSlice: type(dataSliceInputType()),
2325
+ encoding: type(accountEncodingInputType()),
2326
+ minContextSlot: bigint()
2327
+ },
2328
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2329
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2330
+ type: accountInterface()
2331
+ },
2332
+ // Nested Account interface
2333
+ owner: {
2334
+ args: {
2335
+ commitment: type(commitmentInputType()),
2336
+ dataSlice: type(dataSliceInputType()),
2337
+ encoding: type(accountEncodingInputType()),
2338
+ minContextSlot: bigint()
2339
+ },
2340
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2341
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2342
+ type: accountInterface()
2343
+ },
2344
+ source: {
2345
+ args: {
2346
+ commitment: type(commitmentInputType()),
2347
+ dataSlice: type(dataSliceInputType()),
2348
+ encoding: type(accountEncodingInputType()),
2349
+ minContextSlot: bigint()
2350
+ },
2351
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2352
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2353
+ type: accountInterface()
2354
+ }
1256
2355
  }),
1257
2356
  parsedTransactionInstructionType("SplTokenSetAuthorityInstruction", {
1258
- authority: string(),
2357
+ // Nested Account interface
2358
+ authority: {
2359
+ args: {
2360
+ commitment: type(commitmentInputType()),
2361
+ dataSlice: type(dataSliceInputType()),
2362
+ encoding: type(accountEncodingInputType()),
2363
+ minContextSlot: bigint()
2364
+ },
2365
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2366
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2367
+ type: accountInterface()
2368
+ },
1259
2369
  authorityType: string(),
1260
- multisigAuthority: string(),
1261
- newAuthority: string()
2370
+ // Nested Account interface
2371
+ multisigAuthority: {
2372
+ args: {
2373
+ commitment: type(commitmentInputType()),
2374
+ dataSlice: type(dataSliceInputType()),
2375
+ encoding: type(accountEncodingInputType()),
2376
+ minContextSlot: bigint()
2377
+ },
2378
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2379
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2380
+ type: accountInterface()
2381
+ },
2382
+ // Nested Account interface
2383
+ newAuthority: {
2384
+ args: {
2385
+ commitment: type(commitmentInputType()),
2386
+ dataSlice: type(dataSliceInputType()),
2387
+ encoding: type(accountEncodingInputType()),
2388
+ minContextSlot: bigint()
2389
+ },
2390
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2391
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
2392
+ type: accountInterface()
2393
+ }
1262
2394
  }),
1263
2395
  parsedTransactionInstructionType("SplTokenMintToInstruction", {
1264
- account: string(),
2396
+ // Nested Account interface
2397
+ account: {
2398
+ args: {
2399
+ commitment: type(commitmentInputType()),
2400
+ dataSlice: type(dataSliceInputType()),
2401
+ encoding: type(accountEncodingInputType()),
2402
+ minContextSlot: bigint()
2403
+ },
2404
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2405
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2406
+ type: accountInterface()
2407
+ },
1265
2408
  amount: string(),
1266
- authority: string(),
1267
- mint: string(),
1268
- mintAuthority: string(),
1269
- multisigMintAuthority: string()
2409
+ // Nested Account interface
2410
+ authority: {
2411
+ args: {
2412
+ commitment: type(commitmentInputType()),
2413
+ dataSlice: type(dataSliceInputType()),
2414
+ encoding: type(accountEncodingInputType()),
2415
+ minContextSlot: bigint()
2416
+ },
2417
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2418
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2419
+ type: accountInterface()
2420
+ },
2421
+ mint: {
2422
+ args: {
2423
+ commitment: type(commitmentInputType()),
2424
+ dataSlice: type(dataSliceInputType()),
2425
+ encoding: type(accountEncodingInputType()),
2426
+ minContextSlot: bigint()
2427
+ },
2428
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2429
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2430
+ type: accountInterface()
2431
+ },
2432
+ mintAuthority: {
2433
+ args: {
2434
+ commitment: type(commitmentInputType()),
2435
+ dataSlice: type(dataSliceInputType()),
2436
+ encoding: type(accountEncodingInputType()),
2437
+ minContextSlot: bigint()
2438
+ },
2439
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2440
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2441
+ type: accountInterface()
2442
+ },
2443
+ // Nested Account interface
2444
+ multisigMintAuthority: {
2445
+ args: {
2446
+ commitment: type(commitmentInputType()),
2447
+ dataSlice: type(dataSliceInputType()),
2448
+ encoding: type(accountEncodingInputType()),
2449
+ minContextSlot: bigint()
2450
+ },
2451
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2452
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigMintAuthority }, info),
2453
+ type: accountInterface()
2454
+ }
1270
2455
  }),
1271
2456
  parsedTransactionInstructionType("SplTokenBurnInstruction", {
1272
- account: string(),
2457
+ // Nested Account interface
2458
+ account: {
2459
+ args: {
2460
+ commitment: type(commitmentInputType()),
2461
+ dataSlice: type(dataSliceInputType()),
2462
+ encoding: type(accountEncodingInputType()),
2463
+ minContextSlot: bigint()
2464
+ },
2465
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2466
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2467
+ type: accountInterface()
2468
+ },
1273
2469
  amount: string(),
1274
- authority: string(),
1275
- mint: string(),
1276
- multisigAuthority: string()
2470
+ // Nested Account interface
2471
+ authority: {
2472
+ args: {
2473
+ commitment: type(commitmentInputType()),
2474
+ dataSlice: type(dataSliceInputType()),
2475
+ encoding: type(accountEncodingInputType()),
2476
+ minContextSlot: bigint()
2477
+ },
2478
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2479
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2480
+ type: accountInterface()
2481
+ },
2482
+ mint: {
2483
+ args: {
2484
+ commitment: type(commitmentInputType()),
2485
+ dataSlice: type(dataSliceInputType()),
2486
+ encoding: type(accountEncodingInputType()),
2487
+ minContextSlot: bigint()
2488
+ },
2489
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2490
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2491
+ type: accountInterface()
2492
+ },
2493
+ // Nested Account interface
2494
+ multisigAuthority: {
2495
+ args: {
2496
+ commitment: type(commitmentInputType()),
2497
+ dataSlice: type(dataSliceInputType()),
2498
+ encoding: type(accountEncodingInputType()),
2499
+ minContextSlot: bigint()
2500
+ },
2501
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2502
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2503
+ type: accountInterface()
2504
+ }
1277
2505
  }),
1278
2506
  parsedTransactionInstructionType("SplTokenCloseAccountInstruction", {
1279
- account: string(),
1280
- destination: string(),
1281
- multisigOwner: string(),
1282
- owner: string()
2507
+ // Nested Account interface
2508
+ account: {
2509
+ args: {
2510
+ commitment: type(commitmentInputType()),
2511
+ dataSlice: type(dataSliceInputType()),
2512
+ encoding: type(accountEncodingInputType()),
2513
+ minContextSlot: bigint()
2514
+ },
2515
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2516
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2517
+ type: accountInterface()
2518
+ },
2519
+ destination: {
2520
+ args: {
2521
+ commitment: type(commitmentInputType()),
2522
+ dataSlice: type(dataSliceInputType()),
2523
+ encoding: type(accountEncodingInputType()),
2524
+ minContextSlot: bigint()
2525
+ },
2526
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2527
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2528
+ type: accountInterface()
2529
+ },
2530
+ // Nested Account interface
2531
+ multisigOwner: {
2532
+ args: {
2533
+ commitment: type(commitmentInputType()),
2534
+ dataSlice: type(dataSliceInputType()),
2535
+ encoding: type(accountEncodingInputType()),
2536
+ minContextSlot: bigint()
2537
+ },
2538
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2539
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2540
+ type: accountInterface()
2541
+ },
2542
+ // Nested Account interface
2543
+ owner: {
2544
+ args: {
2545
+ commitment: type(commitmentInputType()),
2546
+ dataSlice: type(dataSliceInputType()),
2547
+ encoding: type(accountEncodingInputType()),
2548
+ minContextSlot: bigint()
2549
+ },
2550
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2551
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2552
+ type: accountInterface()
2553
+ }
1283
2554
  }),
1284
2555
  parsedTransactionInstructionType("SplTokenFreezeAccountInstruction", {
1285
- account: string(),
1286
- freezeAuthority: string(),
1287
- mint: string(),
1288
- multisigFreezeAuthority: string()
2556
+ // Nested Account interface
2557
+ account: {
2558
+ args: {
2559
+ commitment: type(commitmentInputType()),
2560
+ dataSlice: type(dataSliceInputType()),
2561
+ encoding: type(accountEncodingInputType()),
2562
+ minContextSlot: bigint()
2563
+ },
2564
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2565
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2566
+ type: accountInterface()
2567
+ },
2568
+ freezeAuthority: {
2569
+ args: {
2570
+ commitment: type(commitmentInputType()),
2571
+ dataSlice: type(dataSliceInputType()),
2572
+ encoding: type(accountEncodingInputType()),
2573
+ minContextSlot: bigint()
2574
+ },
2575
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2576
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2577
+ type: accountInterface()
2578
+ },
2579
+ mint: {
2580
+ args: {
2581
+ commitment: type(commitmentInputType()),
2582
+ dataSlice: type(dataSliceInputType()),
2583
+ encoding: type(accountEncodingInputType()),
2584
+ minContextSlot: bigint()
2585
+ },
2586
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2587
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2588
+ type: accountInterface()
2589
+ },
2590
+ // Nested Account interface
2591
+ multisigFreezeAuthority: {
2592
+ args: {
2593
+ commitment: type(commitmentInputType()),
2594
+ dataSlice: type(dataSliceInputType()),
2595
+ encoding: type(accountEncodingInputType()),
2596
+ minContextSlot: bigint()
2597
+ },
2598
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2599
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigFreezeAuthority }, info),
2600
+ type: accountInterface()
2601
+ }
1289
2602
  }),
1290
2603
  parsedTransactionInstructionType("SplTokenThawAccountInstruction", {
1291
- account: string(),
1292
- freezeAuthority: string(),
1293
- mint: string(),
1294
- multisigFreezeAuthority: string()
2604
+ // Nested Account interface
2605
+ account: {
2606
+ args: {
2607
+ commitment: type(commitmentInputType()),
2608
+ dataSlice: type(dataSliceInputType()),
2609
+ encoding: type(accountEncodingInputType()),
2610
+ minContextSlot: bigint()
2611
+ },
2612
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2613
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2614
+ type: accountInterface()
2615
+ },
2616
+ freezeAuthority: {
2617
+ args: {
2618
+ commitment: type(commitmentInputType()),
2619
+ dataSlice: type(dataSliceInputType()),
2620
+ encoding: type(accountEncodingInputType()),
2621
+ minContextSlot: bigint()
2622
+ },
2623
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2624
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2625
+ type: accountInterface()
2626
+ },
2627
+ mint: {
2628
+ args: {
2629
+ commitment: type(commitmentInputType()),
2630
+ dataSlice: type(dataSliceInputType()),
2631
+ encoding: type(accountEncodingInputType()),
2632
+ minContextSlot: bigint()
2633
+ },
2634
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2635
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2636
+ type: accountInterface()
2637
+ },
2638
+ // Nested Account interface
2639
+ multisigFreezeAuthority: {
2640
+ args: {
2641
+ commitment: type(commitmentInputType()),
2642
+ dataSlice: type(dataSliceInputType()),
2643
+ encoding: type(accountEncodingInputType()),
2644
+ minContextSlot: bigint()
2645
+ },
2646
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2647
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigFreezeAuthority }, info),
2648
+ type: accountInterface()
2649
+ }
1295
2650
  }),
1296
2651
  parsedTransactionInstructionType("SplTokenTransferCheckedInstruction", {
1297
- authority: string(),
1298
- destination: string(),
1299
- mint: string(),
1300
- multisigAuthority: string(),
1301
- source: string(),
2652
+ // Nested Account interface
2653
+ authority: {
2654
+ args: {
2655
+ commitment: type(commitmentInputType()),
2656
+ dataSlice: type(dataSliceInputType()),
2657
+ encoding: type(accountEncodingInputType()),
2658
+ minContextSlot: bigint()
2659
+ },
2660
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2661
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2662
+ type: accountInterface()
2663
+ },
2664
+ destination: {
2665
+ args: {
2666
+ commitment: type(commitmentInputType()),
2667
+ dataSlice: type(dataSliceInputType()),
2668
+ encoding: type(accountEncodingInputType()),
2669
+ minContextSlot: bigint()
2670
+ },
2671
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2672
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2673
+ type: accountInterface()
2674
+ },
2675
+ mint: {
2676
+ args: {
2677
+ commitment: type(commitmentInputType()),
2678
+ dataSlice: type(dataSliceInputType()),
2679
+ encoding: type(accountEncodingInputType()),
2680
+ minContextSlot: bigint()
2681
+ },
2682
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2683
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2684
+ type: accountInterface()
2685
+ },
2686
+ // Nested Account interface
2687
+ multisigAuthority: {
2688
+ args: {
2689
+ commitment: type(commitmentInputType()),
2690
+ dataSlice: type(dataSliceInputType()),
2691
+ encoding: type(accountEncodingInputType()),
2692
+ minContextSlot: bigint()
2693
+ },
2694
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2695
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2696
+ type: accountInterface()
2697
+ },
2698
+ source: {
2699
+ args: {
2700
+ commitment: type(commitmentInputType()),
2701
+ dataSlice: type(dataSliceInputType()),
2702
+ encoding: type(accountEncodingInputType()),
2703
+ minContextSlot: bigint()
2704
+ },
2705
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2706
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2707
+ type: accountInterface()
2708
+ },
1302
2709
  tokenAmount: string()
1303
2710
  }),
1304
2711
  parsedTransactionInstructionType("SplTokenApproveCheckedInstruction", {
1305
- delegate: string(),
1306
- mint: string(),
1307
- multisigOwner: string(),
1308
- owner: string(),
1309
- source: string(),
2712
+ // Nested Account interface
2713
+ delegate: {
2714
+ args: {
2715
+ commitment: type(commitmentInputType()),
2716
+ dataSlice: type(dataSliceInputType()),
2717
+ encoding: type(accountEncodingInputType()),
2718
+ minContextSlot: bigint()
2719
+ },
2720
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2721
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.delegate }, info),
2722
+ type: accountInterface()
2723
+ },
2724
+ mint: {
2725
+ args: {
2726
+ commitment: type(commitmentInputType()),
2727
+ dataSlice: type(dataSliceInputType()),
2728
+ encoding: type(accountEncodingInputType()),
2729
+ minContextSlot: bigint()
2730
+ },
2731
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2732
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2733
+ type: accountInterface()
2734
+ },
2735
+ // Nested Account interface
2736
+ multisigOwner: {
2737
+ args: {
2738
+ commitment: type(commitmentInputType()),
2739
+ dataSlice: type(dataSliceInputType()),
2740
+ encoding: type(accountEncodingInputType()),
2741
+ minContextSlot: bigint()
2742
+ },
2743
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2744
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2745
+ type: accountInterface()
2746
+ },
2747
+ // Nested Account interface
2748
+ owner: {
2749
+ args: {
2750
+ commitment: type(commitmentInputType()),
2751
+ dataSlice: type(dataSliceInputType()),
2752
+ encoding: type(accountEncodingInputType()),
2753
+ minContextSlot: bigint()
2754
+ },
2755
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2756
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2757
+ type: accountInterface()
2758
+ },
2759
+ source: {
2760
+ args: {
2761
+ commitment: type(commitmentInputType()),
2762
+ dataSlice: type(dataSliceInputType()),
2763
+ encoding: type(accountEncodingInputType()),
2764
+ minContextSlot: bigint()
2765
+ },
2766
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2767
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2768
+ type: accountInterface()
2769
+ },
1310
2770
  tokenAmount: string()
1311
2771
  }),
1312
2772
  parsedTransactionInstructionType("SplTokenMintToCheckedInstruction", {
1313
- account: string(),
1314
- authority: string(),
1315
- mint: string(),
1316
- mintAuthority: string(),
1317
- multisigMintAuthority: string(),
2773
+ // Nested Account interface
2774
+ account: {
2775
+ args: {
2776
+ commitment: type(commitmentInputType()),
2777
+ dataSlice: type(dataSliceInputType()),
2778
+ encoding: type(accountEncodingInputType()),
2779
+ minContextSlot: bigint()
2780
+ },
2781
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2782
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2783
+ type: accountInterface()
2784
+ },
2785
+ // Nested Account interface
2786
+ authority: {
2787
+ args: {
2788
+ commitment: type(commitmentInputType()),
2789
+ dataSlice: type(dataSliceInputType()),
2790
+ encoding: type(accountEncodingInputType()),
2791
+ minContextSlot: bigint()
2792
+ },
2793
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2794
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2795
+ type: accountInterface()
2796
+ },
2797
+ mint: {
2798
+ args: {
2799
+ commitment: type(commitmentInputType()),
2800
+ dataSlice: type(dataSliceInputType()),
2801
+ encoding: type(accountEncodingInputType()),
2802
+ minContextSlot: bigint()
2803
+ },
2804
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2805
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2806
+ type: accountInterface()
2807
+ },
2808
+ mintAuthority: {
2809
+ args: {
2810
+ commitment: type(commitmentInputType()),
2811
+ dataSlice: type(dataSliceInputType()),
2812
+ encoding: type(accountEncodingInputType()),
2813
+ minContextSlot: bigint()
2814
+ },
2815
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2816
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2817
+ type: accountInterface()
2818
+ },
2819
+ // Nested Account interface
2820
+ multisigMintAuthority: {
2821
+ args: {
2822
+ commitment: type(commitmentInputType()),
2823
+ dataSlice: type(dataSliceInputType()),
2824
+ encoding: type(accountEncodingInputType()),
2825
+ minContextSlot: bigint()
2826
+ },
2827
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2828
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigMintAuthority }, info),
2829
+ type: accountInterface()
2830
+ },
1318
2831
  tokenAmount: string()
1319
2832
  }),
1320
2833
  parsedTransactionInstructionType("SplTokenBurnCheckedInstruction", {
1321
- account: string(),
1322
- authority: string(),
1323
- mint: string(),
1324
- multisigAuthority: string(),
2834
+ // Nested Account interface
2835
+ account: {
2836
+ args: {
2837
+ commitment: type(commitmentInputType()),
2838
+ dataSlice: type(dataSliceInputType()),
2839
+ encoding: type(accountEncodingInputType()),
2840
+ minContextSlot: bigint()
2841
+ },
2842
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2843
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2844
+ type: accountInterface()
2845
+ },
2846
+ // Nested Account interface
2847
+ authority: {
2848
+ args: {
2849
+ commitment: type(commitmentInputType()),
2850
+ dataSlice: type(dataSliceInputType()),
2851
+ encoding: type(accountEncodingInputType()),
2852
+ minContextSlot: bigint()
2853
+ },
2854
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2855
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2856
+ type: accountInterface()
2857
+ },
2858
+ mint: {
2859
+ args: {
2860
+ commitment: type(commitmentInputType()),
2861
+ dataSlice: type(dataSliceInputType()),
2862
+ encoding: type(accountEncodingInputType()),
2863
+ minContextSlot: bigint()
2864
+ },
2865
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2866
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2867
+ type: accountInterface()
2868
+ },
2869
+ // Nested Account interface
2870
+ multisigAuthority: {
2871
+ args: {
2872
+ commitment: type(commitmentInputType()),
2873
+ dataSlice: type(dataSliceInputType()),
2874
+ encoding: type(accountEncodingInputType()),
2875
+ minContextSlot: bigint()
2876
+ },
2877
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2878
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2879
+ type: accountInterface()
2880
+ },
1325
2881
  tokenAmount: string()
1326
2882
  }),
1327
2883
  parsedTransactionInstructionType("SplTokenSyncNativeInstruction", {
1328
- account: string()
2884
+ // Nested Account interface
2885
+ account: {
2886
+ args: {
2887
+ commitment: type(commitmentInputType()),
2888
+ dataSlice: type(dataSliceInputType()),
2889
+ encoding: type(accountEncodingInputType()),
2890
+ minContextSlot: bigint()
2891
+ },
2892
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2893
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2894
+ type: accountInterface()
2895
+ }
1329
2896
  }),
1330
2897
  parsedTransactionInstructionType("SplTokenGetAccountDataSizeInstruction", {
1331
2898
  extensionTypes: list(string()),
1332
- mint: string()
2899
+ mint: {
2900
+ args: {
2901
+ commitment: type(commitmentInputType()),
2902
+ dataSlice: type(dataSliceInputType()),
2903
+ encoding: type(accountEncodingInputType()),
2904
+ minContextSlot: bigint()
2905
+ },
2906
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2907
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2908
+ type: accountInterface()
2909
+ }
1333
2910
  }),
1334
2911
  parsedTransactionInstructionType("SplTokenInitializeImmutableOwnerInstruction", {
1335
- account: string()
2912
+ // Nested Account interface
2913
+ account: {
2914
+ args: {
2915
+ commitment: type(commitmentInputType()),
2916
+ dataSlice: type(dataSliceInputType()),
2917
+ encoding: type(accountEncodingInputType()),
2918
+ minContextSlot: bigint()
2919
+ },
2920
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2921
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2922
+ type: accountInterface()
2923
+ }
1336
2924
  }),
1337
2925
  parsedTransactionInstructionType("SplTokenAmountToUiAmountInstruction", {
1338
2926
  amount: string(),
1339
- mint: string()
2927
+ mint: {
2928
+ args: {
2929
+ commitment: type(commitmentInputType()),
2930
+ dataSlice: type(dataSliceInputType()),
2931
+ encoding: type(accountEncodingInputType()),
2932
+ minContextSlot: bigint()
2933
+ },
2934
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2935
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2936
+ type: accountInterface()
2937
+ }
1340
2938
  }),
1341
2939
  parsedTransactionInstructionType("SplTokenUiAmountToAmountInstruction", {
1342
- mint: string(),
2940
+ mint: {
2941
+ args: {
2942
+ commitment: type(commitmentInputType()),
2943
+ dataSlice: type(dataSliceInputType()),
2944
+ encoding: type(accountEncodingInputType()),
2945
+ minContextSlot: bigint()
2946
+ },
2947
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2948
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2949
+ type: accountInterface()
2950
+ },
1343
2951
  uiAmount: string()
1344
2952
  }),
1345
2953
  parsedTransactionInstructionType("SplTokenInitializeMintCloseAuthorityInstruction", {
1346
- mint: string(),
1347
- newAuthority: string()
2954
+ mint: {
2955
+ args: {
2956
+ commitment: type(commitmentInputType()),
2957
+ dataSlice: type(dataSliceInputType()),
2958
+ encoding: type(accountEncodingInputType()),
2959
+ minContextSlot: bigint()
2960
+ },
2961
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2962
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2963
+ type: accountInterface()
2964
+ },
2965
+ // Nested Account interface
2966
+ newAuthority: {
2967
+ args: {
2968
+ commitment: type(commitmentInputType()),
2969
+ dataSlice: type(dataSliceInputType()),
2970
+ encoding: type(accountEncodingInputType()),
2971
+ minContextSlot: bigint()
2972
+ },
2973
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2974
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
2975
+ type: accountInterface()
2976
+ }
1348
2977
  })
1349
2978
  // TODO: Extensions!
1350
2979
  // - TransferFeeExtension
@@ -1369,7 +2998,18 @@ var lockup = () => {
1369
2998
  if (!memoisedLockup)
1370
2999
  memoisedLockup = new GraphQLObjectType({
1371
3000
  fields: {
1372
- custodian: string(),
3001
+ // Nested Account interface
3002
+ custodian: {
3003
+ args: {
3004
+ commitment: type(commitmentInputType()),
3005
+ dataSlice: type(dataSliceInputType()),
3006
+ encoding: type(accountEncodingInputType()),
3007
+ minContextSlot: bigint()
3008
+ },
3009
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3010
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3011
+ type: accountInterface()
3012
+ },
1373
3013
  epoch: bigint(),
1374
3014
  unixTimestamp: bigint()
1375
3015
  },
@@ -1383,113 +3023,649 @@ var parsedInstructionsStake = () => {
1383
3023
  memoisedParsedInstructionsStake = [
1384
3024
  parsedTransactionInstructionType("StakeInitializeInstruction", {
1385
3025
  authorized: object("StakeInitializeInstructionAuthorized", {
1386
- staker: string(),
1387
- withdrawer: string()
3026
+ // Nested Account interface
3027
+ staker: {
3028
+ args: {
3029
+ commitment: type(commitmentInputType()),
3030
+ dataSlice: type(dataSliceInputType()),
3031
+ encoding: type(accountEncodingInputType()),
3032
+ minContextSlot: bigint()
3033
+ },
3034
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3035
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
3036
+ type: accountInterface()
3037
+ },
3038
+ // Nested Account interface
3039
+ withdrawer: {
3040
+ args: {
3041
+ commitment: type(commitmentInputType()),
3042
+ dataSlice: type(dataSliceInputType()),
3043
+ encoding: type(accountEncodingInputType()),
3044
+ minContextSlot: bigint()
3045
+ },
3046
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3047
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
3048
+ type: accountInterface()
3049
+ }
1388
3050
  }),
1389
3051
  lockup: object("StakeInitializeInstructionLockup", {
1390
- custodian: string(),
3052
+ // Nested Account interface
3053
+ custodian: {
3054
+ args: {
3055
+ commitment: type(commitmentInputType()),
3056
+ dataSlice: type(dataSliceInputType()),
3057
+ encoding: type(accountEncodingInputType()),
3058
+ minContextSlot: bigint()
3059
+ },
3060
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3061
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3062
+ type: accountInterface()
3063
+ },
1391
3064
  epoch: bigint(),
1392
3065
  unixTimestamp: bigint()
1393
3066
  }),
1394
3067
  rentSysvar: string(),
1395
- stakeAccount: string()
3068
+ // Nested Account interface
3069
+ stakeAccount: {
3070
+ args: {
3071
+ commitment: type(commitmentInputType()),
3072
+ dataSlice: type(dataSliceInputType()),
3073
+ encoding: type(accountEncodingInputType()),
3074
+ minContextSlot: bigint()
3075
+ },
3076
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3077
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3078
+ type: accountInterface()
3079
+ }
1396
3080
  }),
1397
3081
  parsedTransactionInstructionType("StakeAuthorizeInstruction", {
1398
- authority: string(),
3082
+ // Nested Account interface
3083
+ authority: {
3084
+ args: {
3085
+ commitment: type(commitmentInputType()),
3086
+ dataSlice: type(dataSliceInputType()),
3087
+ encoding: type(accountEncodingInputType()),
3088
+ minContextSlot: bigint()
3089
+ },
3090
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3091
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
3092
+ type: accountInterface()
3093
+ },
1399
3094
  authorityType: string(),
1400
3095
  clockSysvar: string(),
1401
- custodian: string(),
1402
- newAuthority: string(),
1403
- stakeAccount: string()
3096
+ // Nested Account interface
3097
+ custodian: {
3098
+ args: {
3099
+ commitment: type(commitmentInputType()),
3100
+ dataSlice: type(dataSliceInputType()),
3101
+ encoding: type(accountEncodingInputType()),
3102
+ minContextSlot: bigint()
3103
+ },
3104
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3105
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3106
+ type: accountInterface()
3107
+ },
3108
+ // Nested Account interface
3109
+ newAuthority: {
3110
+ args: {
3111
+ commitment: type(commitmentInputType()),
3112
+ dataSlice: type(dataSliceInputType()),
3113
+ encoding: type(accountEncodingInputType()),
3114
+ minContextSlot: bigint()
3115
+ },
3116
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3117
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
3118
+ type: accountInterface()
3119
+ },
3120
+ // Nested Account interface
3121
+ stakeAccount: {
3122
+ args: {
3123
+ commitment: type(commitmentInputType()),
3124
+ dataSlice: type(dataSliceInputType()),
3125
+ encoding: type(accountEncodingInputType()),
3126
+ minContextSlot: bigint()
3127
+ },
3128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3129
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3130
+ type: accountInterface()
3131
+ }
1404
3132
  }),
1405
3133
  parsedTransactionInstructionType("StakeDelegateStakeInstruction", {
1406
3134
  clockSysvar: string(),
1407
- stakeAccount: string(),
1408
- stakeAuthority: string(),
1409
- stakeConfigAccount: string(),
3135
+ // Nested Account interface
3136
+ stakeAccount: {
3137
+ args: {
3138
+ commitment: type(commitmentInputType()),
3139
+ dataSlice: type(dataSliceInputType()),
3140
+ encoding: type(accountEncodingInputType()),
3141
+ minContextSlot: bigint()
3142
+ },
3143
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3144
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3145
+ type: accountInterface()
3146
+ },
3147
+ // Nested Account interface
3148
+ stakeAuthority: {
3149
+ args: {
3150
+ commitment: type(commitmentInputType()),
3151
+ dataSlice: type(dataSliceInputType()),
3152
+ encoding: type(accountEncodingInputType()),
3153
+ minContextSlot: bigint()
3154
+ },
3155
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3156
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3157
+ type: accountInterface()
3158
+ },
3159
+ // Nested Account interface
3160
+ stakeConfigAccount: {
3161
+ args: {
3162
+ commitment: type(commitmentInputType()),
3163
+ dataSlice: type(dataSliceInputType()),
3164
+ encoding: type(accountEncodingInputType()),
3165
+ minContextSlot: bigint()
3166
+ },
3167
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3168
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeConfigAccount }, info),
3169
+ type: accountInterface()
3170
+ },
1410
3171
  stakeHistorySysvar: string(),
1411
- voteAccount: string()
3172
+ // Nested Account interface
3173
+ voteAccount: {
3174
+ args: {
3175
+ commitment: type(commitmentInputType()),
3176
+ dataSlice: type(dataSliceInputType()),
3177
+ encoding: type(accountEncodingInputType()),
3178
+ minContextSlot: bigint()
3179
+ },
3180
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3181
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3182
+ type: accountInterface()
3183
+ }
1412
3184
  }),
1413
3185
  parsedTransactionInstructionType("StakeSplitInstruction", {
1414
3186
  lamports: bigint(),
1415
3187
  newSplitAccount: string(),
1416
- stakeAccount: string(),
1417
- stakeAuthority: string()
3188
+ // Nested Account interface
3189
+ stakeAccount: {
3190
+ args: {
3191
+ commitment: type(commitmentInputType()),
3192
+ dataSlice: type(dataSliceInputType()),
3193
+ encoding: type(accountEncodingInputType()),
3194
+ minContextSlot: bigint()
3195
+ },
3196
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3197
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3198
+ type: accountInterface()
3199
+ },
3200
+ // Nested Account interface
3201
+ stakeAuthority: {
3202
+ args: {
3203
+ commitment: type(commitmentInputType()),
3204
+ dataSlice: type(dataSliceInputType()),
3205
+ encoding: type(accountEncodingInputType()),
3206
+ minContextSlot: bigint()
3207
+ },
3208
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3209
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3210
+ type: accountInterface()
3211
+ }
1418
3212
  }),
1419
3213
  parsedTransactionInstructionType("StakeWithdrawInstruction", {
1420
3214
  clockSysvar: string(),
1421
- destination: string(),
3215
+ destination: {
3216
+ args: {
3217
+ commitment: type(commitmentInputType()),
3218
+ dataSlice: type(dataSliceInputType()),
3219
+ encoding: type(accountEncodingInputType()),
3220
+ minContextSlot: bigint()
3221
+ },
3222
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3223
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3224
+ type: accountInterface()
3225
+ },
1422
3226
  lamports: bigint(),
1423
- stakeAccount: string(),
1424
- withdrawAuthority: string()
3227
+ // Nested Account interface
3228
+ stakeAccount: {
3229
+ args: {
3230
+ commitment: type(commitmentInputType()),
3231
+ dataSlice: type(dataSliceInputType()),
3232
+ encoding: type(accountEncodingInputType()),
3233
+ minContextSlot: bigint()
3234
+ },
3235
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3236
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3237
+ type: accountInterface()
3238
+ },
3239
+ // Nested Account interface
3240
+ withdrawAuthority: {
3241
+ args: {
3242
+ commitment: type(commitmentInputType()),
3243
+ dataSlice: type(dataSliceInputType()),
3244
+ encoding: type(accountEncodingInputType()),
3245
+ minContextSlot: bigint()
3246
+ },
3247
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3248
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
3249
+ type: accountInterface()
3250
+ }
1425
3251
  }),
1426
3252
  parsedTransactionInstructionType("StakeDeactivateInstruction", {
1427
3253
  clockSysvar: string(),
1428
- stakeAccount: string(),
1429
- stakeAuthority: string()
3254
+ // Nested Account interface
3255
+ stakeAccount: {
3256
+ args: {
3257
+ commitment: type(commitmentInputType()),
3258
+ dataSlice: type(dataSliceInputType()),
3259
+ encoding: type(accountEncodingInputType()),
3260
+ minContextSlot: bigint()
3261
+ },
3262
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3263
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3264
+ type: accountInterface()
3265
+ },
3266
+ // Nested Account interface
3267
+ stakeAuthority: {
3268
+ args: {
3269
+ commitment: type(commitmentInputType()),
3270
+ dataSlice: type(dataSliceInputType()),
3271
+ encoding: type(accountEncodingInputType()),
3272
+ minContextSlot: bigint()
3273
+ },
3274
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3275
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3276
+ type: accountInterface()
3277
+ }
1430
3278
  }),
1431
3279
  parsedTransactionInstructionType("StakeSetLockupInstruction", {
1432
- custodian: string(),
3280
+ // Nested Account interface
3281
+ custodian: {
3282
+ args: {
3283
+ commitment: type(commitmentInputType()),
3284
+ dataSlice: type(dataSliceInputType()),
3285
+ encoding: type(accountEncodingInputType()),
3286
+ minContextSlot: bigint()
3287
+ },
3288
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3289
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3290
+ type: accountInterface()
3291
+ },
1433
3292
  lockup: type(lockup()),
1434
- stakeAccount: string()
3293
+ // Nested Account interface
3294
+ stakeAccount: {
3295
+ args: {
3296
+ commitment: type(commitmentInputType()),
3297
+ dataSlice: type(dataSliceInputType()),
3298
+ encoding: type(accountEncodingInputType()),
3299
+ minContextSlot: bigint()
3300
+ },
3301
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3302
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3303
+ type: accountInterface()
3304
+ }
1435
3305
  }),
1436
3306
  parsedTransactionInstructionType("StakeMergeInstruction", {
1437
3307
  clockSysvar: string(),
1438
- destination: string(),
1439
- source: string(),
1440
- stakeAuthority: string(),
3308
+ destination: {
3309
+ args: {
3310
+ commitment: type(commitmentInputType()),
3311
+ dataSlice: type(dataSliceInputType()),
3312
+ encoding: type(accountEncodingInputType()),
3313
+ minContextSlot: bigint()
3314
+ },
3315
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3316
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3317
+ type: accountInterface()
3318
+ },
3319
+ source: {
3320
+ args: {
3321
+ commitment: type(commitmentInputType()),
3322
+ dataSlice: type(dataSliceInputType()),
3323
+ encoding: type(accountEncodingInputType()),
3324
+ minContextSlot: bigint()
3325
+ },
3326
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3327
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3328
+ type: accountInterface()
3329
+ },
3330
+ // Nested Account interface
3331
+ stakeAuthority: {
3332
+ args: {
3333
+ commitment: type(commitmentInputType()),
3334
+ dataSlice: type(dataSliceInputType()),
3335
+ encoding: type(accountEncodingInputType()),
3336
+ minContextSlot: bigint()
3337
+ },
3338
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3339
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3340
+ type: accountInterface()
3341
+ },
1441
3342
  stakeHistorySysvar: string()
1442
3343
  }),
1443
3344
  parsedTransactionInstructionType("StakeAuthorizeWithSeedInstruction", {
1444
- authorityBase: string(),
1445
- authorityOwner: string(),
3345
+ // Nested Account interface
3346
+ authorityBase: {
3347
+ args: {
3348
+ commitment: type(commitmentInputType()),
3349
+ dataSlice: type(dataSliceInputType()),
3350
+ encoding: type(accountEncodingInputType()),
3351
+ minContextSlot: bigint()
3352
+ },
3353
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3354
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBase }, info),
3355
+ type: accountInterface()
3356
+ },
3357
+ // Nested Account interface
3358
+ authorityOwner: {
3359
+ args: {
3360
+ commitment: type(commitmentInputType()),
3361
+ dataSlice: type(dataSliceInputType()),
3362
+ encoding: type(accountEncodingInputType()),
3363
+ minContextSlot: bigint()
3364
+ },
3365
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3366
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
3367
+ type: accountInterface()
3368
+ },
1446
3369
  authoritySeed: string(),
1447
3370
  authorityType: string(),
1448
3371
  clockSysvar: string(),
1449
- custodian: string(),
1450
- newAuthorized: string(),
1451
- stakeAccount: string()
3372
+ // Nested Account interface
3373
+ custodian: {
3374
+ args: {
3375
+ commitment: type(commitmentInputType()),
3376
+ dataSlice: type(dataSliceInputType()),
3377
+ encoding: type(accountEncodingInputType()),
3378
+ minContextSlot: bigint()
3379
+ },
3380
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3381
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3382
+ type: accountInterface()
3383
+ },
3384
+ // Nested Account interface
3385
+ newAuthorized: {
3386
+ args: {
3387
+ commitment: type(commitmentInputType()),
3388
+ dataSlice: type(dataSliceInputType()),
3389
+ encoding: type(accountEncodingInputType()),
3390
+ minContextSlot: bigint()
3391
+ },
3392
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3393
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3394
+ type: accountInterface()
3395
+ },
3396
+ // Nested Account interface
3397
+ stakeAccount: {
3398
+ args: {
3399
+ commitment: type(commitmentInputType()),
3400
+ dataSlice: type(dataSliceInputType()),
3401
+ encoding: type(accountEncodingInputType()),
3402
+ minContextSlot: bigint()
3403
+ },
3404
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3405
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3406
+ type: accountInterface()
3407
+ }
1452
3408
  }),
1453
3409
  parsedTransactionInstructionType("StakeInitializeCheckedInstruction", {
1454
3410
  rentSysvar: string(),
1455
- stakeAccount: string(),
1456
- staker: string(),
1457
- withdrawer: string()
3411
+ // Nested Account interface
3412
+ stakeAccount: {
3413
+ args: {
3414
+ commitment: type(commitmentInputType()),
3415
+ dataSlice: type(dataSliceInputType()),
3416
+ encoding: type(accountEncodingInputType()),
3417
+ minContextSlot: bigint()
3418
+ },
3419
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3420
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3421
+ type: accountInterface()
3422
+ },
3423
+ // Nested Account interface
3424
+ staker: {
3425
+ args: {
3426
+ commitment: type(commitmentInputType()),
3427
+ dataSlice: type(dataSliceInputType()),
3428
+ encoding: type(accountEncodingInputType()),
3429
+ minContextSlot: bigint()
3430
+ },
3431
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3432
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
3433
+ type: accountInterface()
3434
+ },
3435
+ // Nested Account interface
3436
+ withdrawer: {
3437
+ args: {
3438
+ commitment: type(commitmentInputType()),
3439
+ dataSlice: type(dataSliceInputType()),
3440
+ encoding: type(accountEncodingInputType()),
3441
+ minContextSlot: bigint()
3442
+ },
3443
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3444
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
3445
+ type: accountInterface()
3446
+ }
1458
3447
  }),
1459
3448
  parsedTransactionInstructionType("StakeAuthorizeCheckedInstruction", {
1460
- authority: string(),
3449
+ // Nested Account interface
3450
+ authority: {
3451
+ args: {
3452
+ commitment: type(commitmentInputType()),
3453
+ dataSlice: type(dataSliceInputType()),
3454
+ encoding: type(accountEncodingInputType()),
3455
+ minContextSlot: bigint()
3456
+ },
3457
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3458
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
3459
+ type: accountInterface()
3460
+ },
1461
3461
  authorityType: string(),
1462
3462
  clockSysvar: string(),
1463
- custodian: string(),
1464
- newAuthority: string(),
1465
- stakeAccount: string()
3463
+ // Nested Account interface
3464
+ custodian: {
3465
+ args: {
3466
+ commitment: type(commitmentInputType()),
3467
+ dataSlice: type(dataSliceInputType()),
3468
+ encoding: type(accountEncodingInputType()),
3469
+ minContextSlot: bigint()
3470
+ },
3471
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3472
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3473
+ type: accountInterface()
3474
+ },
3475
+ // Nested Account interface
3476
+ newAuthority: {
3477
+ args: {
3478
+ commitment: type(commitmentInputType()),
3479
+ dataSlice: type(dataSliceInputType()),
3480
+ encoding: type(accountEncodingInputType()),
3481
+ minContextSlot: bigint()
3482
+ },
3483
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3484
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
3485
+ type: accountInterface()
3486
+ },
3487
+ // Nested Account interface
3488
+ stakeAccount: {
3489
+ args: {
3490
+ commitment: type(commitmentInputType()),
3491
+ dataSlice: type(dataSliceInputType()),
3492
+ encoding: type(accountEncodingInputType()),
3493
+ minContextSlot: bigint()
3494
+ },
3495
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3496
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3497
+ type: accountInterface()
3498
+ }
1466
3499
  }),
1467
3500
  parsedTransactionInstructionType("StakeAuthorizeCheckedWithSeedInstruction", {
1468
- authorityBase: string(),
1469
- authorityOwner: string(),
3501
+ // Nested Account interface
3502
+ authorityBase: {
3503
+ args: {
3504
+ commitment: type(commitmentInputType()),
3505
+ dataSlice: type(dataSliceInputType()),
3506
+ encoding: type(accountEncodingInputType()),
3507
+ minContextSlot: bigint()
3508
+ },
3509
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3510
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBase }, info),
3511
+ type: accountInterface()
3512
+ },
3513
+ // Nested Account interface
3514
+ authorityOwner: {
3515
+ args: {
3516
+ commitment: type(commitmentInputType()),
3517
+ dataSlice: type(dataSliceInputType()),
3518
+ encoding: type(accountEncodingInputType()),
3519
+ minContextSlot: bigint()
3520
+ },
3521
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3522
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
3523
+ type: accountInterface()
3524
+ },
1470
3525
  authoritySeed: string(),
1471
3526
  authorityType: string(),
1472
3527
  clockSysvar: string(),
1473
- custodian: string(),
1474
- newAuthorized: string(),
1475
- stakeAccount: string()
3528
+ // Nested Account interface
3529
+ custodian: {
3530
+ args: {
3531
+ commitment: type(commitmentInputType()),
3532
+ dataSlice: type(dataSliceInputType()),
3533
+ encoding: type(accountEncodingInputType()),
3534
+ minContextSlot: bigint()
3535
+ },
3536
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3537
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3538
+ type: accountInterface()
3539
+ },
3540
+ // Nested Account interface
3541
+ newAuthorized: {
3542
+ args: {
3543
+ commitment: type(commitmentInputType()),
3544
+ dataSlice: type(dataSliceInputType()),
3545
+ encoding: type(accountEncodingInputType()),
3546
+ minContextSlot: bigint()
3547
+ },
3548
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3549
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3550
+ type: accountInterface()
3551
+ },
3552
+ // Nested Account interface
3553
+ stakeAccount: {
3554
+ args: {
3555
+ commitment: type(commitmentInputType()),
3556
+ dataSlice: type(dataSliceInputType()),
3557
+ encoding: type(accountEncodingInputType()),
3558
+ minContextSlot: bigint()
3559
+ },
3560
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3561
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3562
+ type: accountInterface()
3563
+ }
1476
3564
  }),
1477
3565
  parsedTransactionInstructionType("StakeSetLockupCheckedInstruction", {
1478
- custodian: string(),
3566
+ // Nested Account interface
3567
+ custodian: {
3568
+ args: {
3569
+ commitment: type(commitmentInputType()),
3570
+ dataSlice: type(dataSliceInputType()),
3571
+ encoding: type(accountEncodingInputType()),
3572
+ minContextSlot: bigint()
3573
+ },
3574
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3575
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3576
+ type: accountInterface()
3577
+ },
1479
3578
  lockup: type(lockup()),
1480
- stakeAccount: string()
3579
+ // Nested Account interface
3580
+ stakeAccount: {
3581
+ args: {
3582
+ commitment: type(commitmentInputType()),
3583
+ dataSlice: type(dataSliceInputType()),
3584
+ encoding: type(accountEncodingInputType()),
3585
+ minContextSlot: bigint()
3586
+ },
3587
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3588
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3589
+ type: accountInterface()
3590
+ }
1481
3591
  }),
1482
3592
  parsedTransactionInstructionType("StakeDeactivateDelinquentInstruction", {
1483
3593
  referenceVoteAccount: string(),
1484
- stakeAccount: string(),
1485
- voteAccount: string()
3594
+ // Nested Account interface
3595
+ stakeAccount: {
3596
+ args: {
3597
+ commitment: type(commitmentInputType()),
3598
+ dataSlice: type(dataSliceInputType()),
3599
+ encoding: type(accountEncodingInputType()),
3600
+ minContextSlot: bigint()
3601
+ },
3602
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3603
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3604
+ type: accountInterface()
3605
+ },
3606
+ // Nested Account interface
3607
+ voteAccount: {
3608
+ args: {
3609
+ commitment: type(commitmentInputType()),
3610
+ dataSlice: type(dataSliceInputType()),
3611
+ encoding: type(accountEncodingInputType()),
3612
+ minContextSlot: bigint()
3613
+ },
3614
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3615
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3616
+ type: accountInterface()
3617
+ }
1486
3618
  }),
1487
3619
  parsedTransactionInstructionType("StakeRedelegateInstruction", {
1488
3620
  newStakeAccount: string(),
1489
- stakeAccount: string(),
1490
- stakeAuthority: string(),
1491
- stakeConfigAccount: string(),
1492
- voteAccount: string()
3621
+ // Nested Account interface
3622
+ stakeAccount: {
3623
+ args: {
3624
+ commitment: type(commitmentInputType()),
3625
+ dataSlice: type(dataSliceInputType()),
3626
+ encoding: type(accountEncodingInputType()),
3627
+ minContextSlot: bigint()
3628
+ },
3629
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3630
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3631
+ type: accountInterface()
3632
+ },
3633
+ // Nested Account interface
3634
+ stakeAuthority: {
3635
+ args: {
3636
+ commitment: type(commitmentInputType()),
3637
+ dataSlice: type(dataSliceInputType()),
3638
+ encoding: type(accountEncodingInputType()),
3639
+ minContextSlot: bigint()
3640
+ },
3641
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3642
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3643
+ type: accountInterface()
3644
+ },
3645
+ // Nested Account interface
3646
+ stakeConfigAccount: {
3647
+ args: {
3648
+ commitment: type(commitmentInputType()),
3649
+ dataSlice: type(dataSliceInputType()),
3650
+ encoding: type(accountEncodingInputType()),
3651
+ minContextSlot: bigint()
3652
+ },
3653
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3654
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeConfigAccount }, info),
3655
+ type: accountInterface()
3656
+ },
3657
+ // Nested Account interface
3658
+ voteAccount: {
3659
+ args: {
3660
+ commitment: type(commitmentInputType()),
3661
+ dataSlice: type(dataSliceInputType()),
3662
+ encoding: type(accountEncodingInputType()),
3663
+ minContextSlot: bigint()
3664
+ },
3665
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3666
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3667
+ type: accountInterface()
3668
+ }
1493
3669
  })
1494
3670
  ];
1495
3671
  return memoisedParsedInstructionsStake;
@@ -1500,76 +3676,357 @@ var parsedInstructionsSystem = () => {
1500
3676
  memoisedParsedInstructionsSystem = [
1501
3677
  parsedTransactionInstructionType("CreateAccountInstruction", {
1502
3678
  lamports: bigint(),
1503
- newAccount: string(),
1504
- owner: string(),
1505
- source: string(),
3679
+ // Nested Account interface
3680
+ newAccount: {
3681
+ args: {
3682
+ commitment: type(commitmentInputType()),
3683
+ dataSlice: type(dataSliceInputType()),
3684
+ encoding: type(accountEncodingInputType()),
3685
+ minContextSlot: bigint()
3686
+ },
3687
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3688
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAccount }, info),
3689
+ type: accountInterface()
3690
+ },
3691
+ // Nested Account interface
3692
+ owner: {
3693
+ args: {
3694
+ commitment: type(commitmentInputType()),
3695
+ dataSlice: type(dataSliceInputType()),
3696
+ encoding: type(accountEncodingInputType()),
3697
+ minContextSlot: bigint()
3698
+ },
3699
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3700
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3701
+ type: accountInterface()
3702
+ },
3703
+ source: {
3704
+ args: {
3705
+ commitment: type(commitmentInputType()),
3706
+ dataSlice: type(dataSliceInputType()),
3707
+ encoding: type(accountEncodingInputType()),
3708
+ minContextSlot: bigint()
3709
+ },
3710
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3711
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3712
+ type: accountInterface()
3713
+ },
1506
3714
  space: bigint()
1507
3715
  }),
1508
3716
  parsedTransactionInstructionType("AssignInstruction", {
1509
- owner: string()
3717
+ // Nested Account interface
3718
+ owner: {
3719
+ args: {
3720
+ commitment: type(commitmentInputType()),
3721
+ dataSlice: type(dataSliceInputType()),
3722
+ encoding: type(accountEncodingInputType()),
3723
+ minContextSlot: bigint()
3724
+ },
3725
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3726
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3727
+ type: accountInterface()
3728
+ }
1510
3729
  }),
1511
3730
  parsedTransactionInstructionType("TransferInstruction", {
1512
3731
  amount: string(),
1513
3732
  lamports: number(),
1514
- source: string()
3733
+ source: {
3734
+ args: {
3735
+ commitment: type(commitmentInputType()),
3736
+ dataSlice: type(dataSliceInputType()),
3737
+ encoding: type(accountEncodingInputType()),
3738
+ minContextSlot: bigint()
3739
+ },
3740
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3741
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3742
+ type: accountInterface()
3743
+ }
1515
3744
  }),
1516
3745
  parsedTransactionInstructionType("CreateAccountWithSeedInstruction", {
1517
3746
  base: string(),
1518
3747
  lamports: bigint(),
1519
- owner: string(),
3748
+ // Nested Account interface
3749
+ owner: {
3750
+ args: {
3751
+ commitment: type(commitmentInputType()),
3752
+ dataSlice: type(dataSliceInputType()),
3753
+ encoding: type(accountEncodingInputType()),
3754
+ minContextSlot: bigint()
3755
+ },
3756
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3757
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3758
+ type: accountInterface()
3759
+ },
1520
3760
  seed: string(),
1521
3761
  space: bigint()
1522
3762
  }),
1523
3763
  parsedTransactionInstructionType("AdvanceNonceAccountInstruction", {
1524
- nonceAccount: string(),
1525
- nonceAuthority: string(),
3764
+ // Nested Account interface
3765
+ nonceAccount: {
3766
+ args: {
3767
+ commitment: type(commitmentInputType()),
3768
+ dataSlice: type(dataSliceInputType()),
3769
+ encoding: type(accountEncodingInputType()),
3770
+ minContextSlot: bigint()
3771
+ },
3772
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3773
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3774
+ type: accountInterface()
3775
+ },
3776
+ // Nested Account interface
3777
+ nonceAuthority: {
3778
+ args: {
3779
+ commitment: type(commitmentInputType()),
3780
+ dataSlice: type(dataSliceInputType()),
3781
+ encoding: type(accountEncodingInputType()),
3782
+ minContextSlot: bigint()
3783
+ },
3784
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3785
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3786
+ type: accountInterface()
3787
+ },
1526
3788
  recentBlockhashesSysvar: string()
1527
3789
  }),
1528
3790
  parsedTransactionInstructionType("WithdrawNonceAccountInstruction", {
1529
- destination: string(),
3791
+ destination: {
3792
+ args: {
3793
+ commitment: type(commitmentInputType()),
3794
+ dataSlice: type(dataSliceInputType()),
3795
+ encoding: type(accountEncodingInputType()),
3796
+ minContextSlot: bigint()
3797
+ },
3798
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3799
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3800
+ type: accountInterface()
3801
+ },
1530
3802
  lamports: bigint(),
1531
- nonceAccount: string(),
1532
- nonceAuthority: string(),
3803
+ // Nested Account interface
3804
+ nonceAccount: {
3805
+ args: {
3806
+ commitment: type(commitmentInputType()),
3807
+ dataSlice: type(dataSliceInputType()),
3808
+ encoding: type(accountEncodingInputType()),
3809
+ minContextSlot: bigint()
3810
+ },
3811
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3812
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3813
+ type: accountInterface()
3814
+ },
3815
+ // Nested Account interface
3816
+ nonceAuthority: {
3817
+ args: {
3818
+ commitment: type(commitmentInputType()),
3819
+ dataSlice: type(dataSliceInputType()),
3820
+ encoding: type(accountEncodingInputType()),
3821
+ minContextSlot: bigint()
3822
+ },
3823
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3824
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3825
+ type: accountInterface()
3826
+ },
1533
3827
  recentBlockhashesSysvar: string(),
1534
3828
  rentSysvar: string()
1535
3829
  }),
1536
3830
  parsedTransactionInstructionType("InitializeNonceAccountInstruction", {
1537
- nonceAccount: string(),
1538
- nonceAuthority: string(),
3831
+ // Nested Account interface
3832
+ nonceAccount: {
3833
+ args: {
3834
+ commitment: type(commitmentInputType()),
3835
+ dataSlice: type(dataSliceInputType()),
3836
+ encoding: type(accountEncodingInputType()),
3837
+ minContextSlot: bigint()
3838
+ },
3839
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3840
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3841
+ type: accountInterface()
3842
+ },
3843
+ // Nested Account interface
3844
+ nonceAuthority: {
3845
+ args: {
3846
+ commitment: type(commitmentInputType()),
3847
+ dataSlice: type(dataSliceInputType()),
3848
+ encoding: type(accountEncodingInputType()),
3849
+ minContextSlot: bigint()
3850
+ },
3851
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3852
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3853
+ type: accountInterface()
3854
+ },
1539
3855
  recentBlockhashesSysvar: string(),
1540
3856
  rentSysvar: string()
1541
3857
  }),
1542
3858
  parsedTransactionInstructionType("AuthorizeNonceAccountInstruction", {
1543
- newAuthorized: string(),
1544
- nonceAccount: string(),
1545
- nonceAuthority: string()
3859
+ // Nested Account interface
3860
+ newAuthorized: {
3861
+ args: {
3862
+ commitment: type(commitmentInputType()),
3863
+ dataSlice: type(dataSliceInputType()),
3864
+ encoding: type(accountEncodingInputType()),
3865
+ minContextSlot: bigint()
3866
+ },
3867
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3868
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3869
+ type: accountInterface()
3870
+ },
3871
+ // Nested Account interface
3872
+ nonceAccount: {
3873
+ args: {
3874
+ commitment: type(commitmentInputType()),
3875
+ dataSlice: type(dataSliceInputType()),
3876
+ encoding: type(accountEncodingInputType()),
3877
+ minContextSlot: bigint()
3878
+ },
3879
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3880
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3881
+ type: accountInterface()
3882
+ },
3883
+ // Nested Account interface
3884
+ nonceAuthority: {
3885
+ args: {
3886
+ commitment: type(commitmentInputType()),
3887
+ dataSlice: type(dataSliceInputType()),
3888
+ encoding: type(accountEncodingInputType()),
3889
+ minContextSlot: bigint()
3890
+ },
3891
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3892
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3893
+ type: accountInterface()
3894
+ }
1546
3895
  }),
1547
3896
  parsedTransactionInstructionType("UpgradeNonceAccountInstruction", {
1548
- nonceAccount: string()
3897
+ // Nested Account interface
3898
+ nonceAccount: {
3899
+ args: {
3900
+ commitment: type(commitmentInputType()),
3901
+ dataSlice: type(dataSliceInputType()),
3902
+ encoding: type(accountEncodingInputType()),
3903
+ minContextSlot: bigint()
3904
+ },
3905
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3906
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3907
+ type: accountInterface()
3908
+ }
1549
3909
  }),
1550
3910
  parsedTransactionInstructionType("AllocateInstruction", {
1551
- account: string(),
3911
+ // Nested Account interface
3912
+ account: {
3913
+ args: {
3914
+ commitment: type(commitmentInputType()),
3915
+ dataSlice: type(dataSliceInputType()),
3916
+ encoding: type(accountEncodingInputType()),
3917
+ minContextSlot: bigint()
3918
+ },
3919
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3920
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
3921
+ type: accountInterface()
3922
+ },
1552
3923
  space: bigint()
1553
3924
  }),
1554
3925
  parsedTransactionInstructionType("AllocateWithSeedInstruction", {
1555
- account: string(),
3926
+ // Nested Account interface
3927
+ account: {
3928
+ args: {
3929
+ commitment: type(commitmentInputType()),
3930
+ dataSlice: type(dataSliceInputType()),
3931
+ encoding: type(accountEncodingInputType()),
3932
+ minContextSlot: bigint()
3933
+ },
3934
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3935
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
3936
+ type: accountInterface()
3937
+ },
1556
3938
  base: string(),
1557
- owner: string(),
3939
+ // Nested Account interface
3940
+ owner: {
3941
+ args: {
3942
+ commitment: type(commitmentInputType()),
3943
+ dataSlice: type(dataSliceInputType()),
3944
+ encoding: type(accountEncodingInputType()),
3945
+ minContextSlot: bigint()
3946
+ },
3947
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3948
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3949
+ type: accountInterface()
3950
+ },
1558
3951
  seed: string(),
1559
3952
  space: bigint()
1560
3953
  }),
1561
3954
  parsedTransactionInstructionType("AssignWithSeedInstruction", {
1562
- account: string(),
3955
+ // Nested Account interface
3956
+ account: {
3957
+ args: {
3958
+ commitment: type(commitmentInputType()),
3959
+ dataSlice: type(dataSliceInputType()),
3960
+ encoding: type(accountEncodingInputType()),
3961
+ minContextSlot: bigint()
3962
+ },
3963
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3964
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
3965
+ type: accountInterface()
3966
+ },
1563
3967
  base: string(),
1564
- owner: string(),
3968
+ // Nested Account interface
3969
+ owner: {
3970
+ args: {
3971
+ commitment: type(commitmentInputType()),
3972
+ dataSlice: type(dataSliceInputType()),
3973
+ encoding: type(accountEncodingInputType()),
3974
+ minContextSlot: bigint()
3975
+ },
3976
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3977
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3978
+ type: accountInterface()
3979
+ },
1565
3980
  seed: string()
1566
3981
  }),
1567
3982
  parsedTransactionInstructionType("TransferWithSeedInstruction", {
1568
- destination: string(),
3983
+ destination: {
3984
+ args: {
3985
+ commitment: type(commitmentInputType()),
3986
+ dataSlice: type(dataSliceInputType()),
3987
+ encoding: type(accountEncodingInputType()),
3988
+ minContextSlot: bigint()
3989
+ },
3990
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3991
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3992
+ type: accountInterface()
3993
+ },
1569
3994
  lamports: bigint(),
1570
- source: string(),
1571
- sourceBase: string(),
1572
- sourceOwner: string(),
3995
+ source: {
3996
+ args: {
3997
+ commitment: type(commitmentInputType()),
3998
+ dataSlice: type(dataSliceInputType()),
3999
+ encoding: type(accountEncodingInputType()),
4000
+ minContextSlot: bigint()
4001
+ },
4002
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4003
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
4004
+ type: accountInterface()
4005
+ },
4006
+ // Nested Account interface
4007
+ sourceBase: {
4008
+ args: {
4009
+ commitment: type(commitmentInputType()),
4010
+ dataSlice: type(dataSliceInputType()),
4011
+ encoding: type(accountEncodingInputType()),
4012
+ minContextSlot: bigint()
4013
+ },
4014
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4015
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.sourceBase }, info),
4016
+ type: accountInterface()
4017
+ },
4018
+ // Nested Account interface
4019
+ sourceOwner: {
4020
+ args: {
4021
+ commitment: type(commitmentInputType()),
4022
+ dataSlice: type(dataSliceInputType()),
4023
+ encoding: type(accountEncodingInputType()),
4024
+ minContextSlot: bigint()
4025
+ },
4026
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4027
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.sourceOwner }, info),
4028
+ type: accountInterface()
4029
+ },
1573
4030
  sourceSeed: string()
1574
4031
  })
1575
4032
  ];
@@ -1612,100 +4069,506 @@ var parsedInstructionsVote = () => {
1612
4069
  if (!memoisedParsedInstructionsVote)
1613
4070
  memoisedParsedInstructionsVote = [
1614
4071
  parsedTransactionInstructionType("VoteInitializeAccountInstruction", {
1615
- authorizedVoter: string(),
1616
- authorizedWithdrawer: string(),
4072
+ // Nested Account interface
4073
+ authorizedVoter: {
4074
+ args: {
4075
+ commitment: type(commitmentInputType()),
4076
+ dataSlice: type(dataSliceInputType()),
4077
+ encoding: type(accountEncodingInputType()),
4078
+ minContextSlot: bigint()
4079
+ },
4080
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4081
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedVoter }, info),
4082
+ type: accountInterface()
4083
+ },
4084
+ // Nested Account interface
4085
+ authorizedWithdrawer: {
4086
+ args: {
4087
+ commitment: type(commitmentInputType()),
4088
+ dataSlice: type(dataSliceInputType()),
4089
+ encoding: type(accountEncodingInputType()),
4090
+ minContextSlot: bigint()
4091
+ },
4092
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4093
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedWithdrawer }, info),
4094
+ type: accountInterface()
4095
+ },
1617
4096
  clockSysvar: string(),
1618
4097
  commission: number(),
1619
4098
  node: string(),
1620
4099
  rentSysvar: string(),
1621
- voteAccount: string()
4100
+ // Nested Account interface
4101
+ voteAccount: {
4102
+ args: {
4103
+ commitment: type(commitmentInputType()),
4104
+ dataSlice: type(dataSliceInputType()),
4105
+ encoding: type(accountEncodingInputType()),
4106
+ minContextSlot: bigint()
4107
+ },
4108
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4109
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4110
+ type: accountInterface()
4111
+ }
1622
4112
  }),
1623
4113
  parsedTransactionInstructionType("VoteAuthorizeInstruction", {
1624
- authority: string(),
4114
+ // Nested Account interface
4115
+ authority: {
4116
+ args: {
4117
+ commitment: type(commitmentInputType()),
4118
+ dataSlice: type(dataSliceInputType()),
4119
+ encoding: type(accountEncodingInputType()),
4120
+ minContextSlot: bigint()
4121
+ },
4122
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4123
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
4124
+ type: accountInterface()
4125
+ },
1625
4126
  authorityType: string(),
1626
4127
  clockSysvar: string(),
1627
- newAuthority: string(),
1628
- voteAccount: string()
4128
+ // Nested Account interface
4129
+ newAuthority: {
4130
+ args: {
4131
+ commitment: type(commitmentInputType()),
4132
+ dataSlice: type(dataSliceInputType()),
4133
+ encoding: type(accountEncodingInputType()),
4134
+ minContextSlot: bigint()
4135
+ },
4136
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4137
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4138
+ type: accountInterface()
4139
+ },
4140
+ // Nested Account interface
4141
+ voteAccount: {
4142
+ args: {
4143
+ commitment: type(commitmentInputType()),
4144
+ dataSlice: type(dataSliceInputType()),
4145
+ encoding: type(accountEncodingInputType()),
4146
+ minContextSlot: bigint()
4147
+ },
4148
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4149
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4150
+ type: accountInterface()
4151
+ }
1629
4152
  }),
1630
4153
  parsedTransactionInstructionType("VoteAuthorizeWithSeedInstruction", {
1631
- authorityBaseKey: string(),
1632
- authorityOwner: string(),
4154
+ // Nested Account interface
4155
+ authorityBaseKey: {
4156
+ args: {
4157
+ commitment: type(commitmentInputType()),
4158
+ dataSlice: type(dataSliceInputType()),
4159
+ encoding: type(accountEncodingInputType()),
4160
+ minContextSlot: bigint()
4161
+ },
4162
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4163
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBaseKey }, info),
4164
+ type: accountInterface()
4165
+ },
4166
+ // Nested Account interface
4167
+ authorityOwner: {
4168
+ args: {
4169
+ commitment: type(commitmentInputType()),
4170
+ dataSlice: type(dataSliceInputType()),
4171
+ encoding: type(accountEncodingInputType()),
4172
+ minContextSlot: bigint()
4173
+ },
4174
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4175
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
4176
+ type: accountInterface()
4177
+ },
1633
4178
  authoritySeed: string(),
1634
4179
  authorityType: string(),
1635
4180
  clockSysvar: string(),
1636
- newAuthority: string(),
1637
- voteAccount: string()
4181
+ // Nested Account interface
4182
+ newAuthority: {
4183
+ args: {
4184
+ commitment: type(commitmentInputType()),
4185
+ dataSlice: type(dataSliceInputType()),
4186
+ encoding: type(accountEncodingInputType()),
4187
+ minContextSlot: bigint()
4188
+ },
4189
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4190
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4191
+ type: accountInterface()
4192
+ },
4193
+ // Nested Account interface
4194
+ voteAccount: {
4195
+ args: {
4196
+ commitment: type(commitmentInputType()),
4197
+ dataSlice: type(dataSliceInputType()),
4198
+ encoding: type(accountEncodingInputType()),
4199
+ minContextSlot: bigint()
4200
+ },
4201
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4202
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4203
+ type: accountInterface()
4204
+ }
1638
4205
  }),
1639
4206
  parsedTransactionInstructionType("VoteAuthorizeCheckedWithSeedInstruction", {
1640
- authorityBaseKey: string(),
1641
- authorityOwner: string(),
4207
+ // Nested Account interface
4208
+ authorityBaseKey: {
4209
+ args: {
4210
+ commitment: type(commitmentInputType()),
4211
+ dataSlice: type(dataSliceInputType()),
4212
+ encoding: type(accountEncodingInputType()),
4213
+ minContextSlot: bigint()
4214
+ },
4215
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4216
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBaseKey }, info),
4217
+ type: accountInterface()
4218
+ },
4219
+ // Nested Account interface
4220
+ authorityOwner: {
4221
+ args: {
4222
+ commitment: type(commitmentInputType()),
4223
+ dataSlice: type(dataSliceInputType()),
4224
+ encoding: type(accountEncodingInputType()),
4225
+ minContextSlot: bigint()
4226
+ },
4227
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4228
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
4229
+ type: accountInterface()
4230
+ },
1642
4231
  authoritySeed: string(),
1643
4232
  authorityType: string(),
1644
4233
  clockSysvar: string(),
1645
- newAuthority: string(),
1646
- voteAccount: string()
4234
+ // Nested Account interface
4235
+ newAuthority: {
4236
+ args: {
4237
+ commitment: type(commitmentInputType()),
4238
+ dataSlice: type(dataSliceInputType()),
4239
+ encoding: type(accountEncodingInputType()),
4240
+ minContextSlot: bigint()
4241
+ },
4242
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4243
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4244
+ type: accountInterface()
4245
+ },
4246
+ // Nested Account interface
4247
+ voteAccount: {
4248
+ args: {
4249
+ commitment: type(commitmentInputType()),
4250
+ dataSlice: type(dataSliceInputType()),
4251
+ encoding: type(accountEncodingInputType()),
4252
+ minContextSlot: bigint()
4253
+ },
4254
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4255
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4256
+ type: accountInterface()
4257
+ }
1647
4258
  }),
1648
4259
  parsedTransactionInstructionType("VoteVoteInstruction", {
1649
4260
  clockSysvar: string(),
1650
4261
  slotHashedSysvar: string(),
1651
4262
  vote: type(vote()),
1652
- voteAccount: string(),
1653
- voteAuthority: string()
4263
+ // Nested Account interface
4264
+ voteAccount: {
4265
+ args: {
4266
+ commitment: type(commitmentInputType()),
4267
+ dataSlice: type(dataSliceInputType()),
4268
+ encoding: type(accountEncodingInputType()),
4269
+ minContextSlot: bigint()
4270
+ },
4271
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4272
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4273
+ type: accountInterface()
4274
+ },
4275
+ // Nested Account interface
4276
+ voteAuthority: {
4277
+ args: {
4278
+ commitment: type(commitmentInputType()),
4279
+ dataSlice: type(dataSliceInputType()),
4280
+ encoding: type(accountEncodingInputType()),
4281
+ minContextSlot: bigint()
4282
+ },
4283
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4284
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4285
+ type: accountInterface()
4286
+ }
1654
4287
  }),
1655
4288
  parsedTransactionInstructionType("VoteUpdateVoteStateInstruction", {
1656
4289
  hash: string(),
1657
- voteAccount: string(),
1658
- voteAuthority: string(),
4290
+ // Nested Account interface
4291
+ voteAccount: {
4292
+ args: {
4293
+ commitment: type(commitmentInputType()),
4294
+ dataSlice: type(dataSliceInputType()),
4295
+ encoding: type(accountEncodingInputType()),
4296
+ minContextSlot: bigint()
4297
+ },
4298
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4299
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4300
+ type: accountInterface()
4301
+ },
4302
+ // Nested Account interface
4303
+ voteAuthority: {
4304
+ args: {
4305
+ commitment: type(commitmentInputType()),
4306
+ dataSlice: type(dataSliceInputType()),
4307
+ encoding: type(accountEncodingInputType()),
4308
+ minContextSlot: bigint()
4309
+ },
4310
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4311
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4312
+ type: accountInterface()
4313
+ },
1659
4314
  voteStateUpdate: type(voteStateUpdate())
1660
4315
  }),
1661
4316
  parsedTransactionInstructionType("VoteUpdateVoteStateSwitchInstruction", {
1662
4317
  hash: string(),
1663
- voteAccount: string(),
1664
- voteAuthority: string(),
4318
+ // Nested Account interface
4319
+ voteAccount: {
4320
+ args: {
4321
+ commitment: type(commitmentInputType()),
4322
+ dataSlice: type(dataSliceInputType()),
4323
+ encoding: type(accountEncodingInputType()),
4324
+ minContextSlot: bigint()
4325
+ },
4326
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4327
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4328
+ type: accountInterface()
4329
+ },
4330
+ // Nested Account interface
4331
+ voteAuthority: {
4332
+ args: {
4333
+ commitment: type(commitmentInputType()),
4334
+ dataSlice: type(dataSliceInputType()),
4335
+ encoding: type(accountEncodingInputType()),
4336
+ minContextSlot: bigint()
4337
+ },
4338
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4339
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4340
+ type: accountInterface()
4341
+ },
1665
4342
  voteStateUpdate: type(voteStateUpdate())
1666
4343
  }),
1667
4344
  parsedTransactionInstructionType("VoteCompactUpdateVoteStateInstruction", {
1668
4345
  hash: string(),
1669
- voteAccount: string(),
1670
- voteAuthority: string(),
4346
+ // Nested Account interface
4347
+ voteAccount: {
4348
+ args: {
4349
+ commitment: type(commitmentInputType()),
4350
+ dataSlice: type(dataSliceInputType()),
4351
+ encoding: type(accountEncodingInputType()),
4352
+ minContextSlot: bigint()
4353
+ },
4354
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4355
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4356
+ type: accountInterface()
4357
+ },
4358
+ // Nested Account interface
4359
+ voteAuthority: {
4360
+ args: {
4361
+ commitment: type(commitmentInputType()),
4362
+ dataSlice: type(dataSliceInputType()),
4363
+ encoding: type(accountEncodingInputType()),
4364
+ minContextSlot: bigint()
4365
+ },
4366
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4367
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4368
+ type: accountInterface()
4369
+ },
1671
4370
  voteStateUpdate: type(voteStateUpdate())
1672
4371
  }),
1673
4372
  parsedTransactionInstructionType("VoteCompactUpdateVoteStateSwitchInstruction", {
1674
4373
  hash: string(),
1675
- voteAccount: string(),
1676
- voteAuthority: string(),
4374
+ // Nested Account interface
4375
+ voteAccount: {
4376
+ args: {
4377
+ commitment: type(commitmentInputType()),
4378
+ dataSlice: type(dataSliceInputType()),
4379
+ encoding: type(accountEncodingInputType()),
4380
+ minContextSlot: bigint()
4381
+ },
4382
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4383
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4384
+ type: accountInterface()
4385
+ },
4386
+ // Nested Account interface
4387
+ voteAuthority: {
4388
+ args: {
4389
+ commitment: type(commitmentInputType()),
4390
+ dataSlice: type(dataSliceInputType()),
4391
+ encoding: type(accountEncodingInputType()),
4392
+ minContextSlot: bigint()
4393
+ },
4394
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4395
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4396
+ type: accountInterface()
4397
+ },
1677
4398
  voteStateUpdate: type(voteStateUpdate())
1678
4399
  }),
1679
4400
  parsedTransactionInstructionType("VoteWithdrawInstruction", {
1680
- destination: string(),
4401
+ destination: {
4402
+ args: {
4403
+ commitment: type(commitmentInputType()),
4404
+ dataSlice: type(dataSliceInputType()),
4405
+ encoding: type(accountEncodingInputType()),
4406
+ minContextSlot: bigint()
4407
+ },
4408
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4409
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
4410
+ type: accountInterface()
4411
+ },
1681
4412
  lamports: bigint(),
1682
- voteAccount: string(),
1683
- withdrawAuthority: string()
4413
+ // Nested Account interface
4414
+ voteAccount: {
4415
+ args: {
4416
+ commitment: type(commitmentInputType()),
4417
+ dataSlice: type(dataSliceInputType()),
4418
+ encoding: type(accountEncodingInputType()),
4419
+ minContextSlot: bigint()
4420
+ },
4421
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4422
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4423
+ type: accountInterface()
4424
+ },
4425
+ // Nested Account interface
4426
+ withdrawAuthority: {
4427
+ args: {
4428
+ commitment: type(commitmentInputType()),
4429
+ dataSlice: type(dataSliceInputType()),
4430
+ encoding: type(accountEncodingInputType()),
4431
+ minContextSlot: bigint()
4432
+ },
4433
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4434
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
4435
+ type: accountInterface()
4436
+ }
1684
4437
  }),
1685
4438
  parsedTransactionInstructionType("VoteUpdateValidatorIdentityInstruction", {
1686
- newValidatorIdentity: string(),
1687
- voteAccount: string(),
1688
- withdrawAuthority: string()
4439
+ // Nested Account interface
4440
+ newValidatorIdentity: {
4441
+ args: {
4442
+ commitment: type(commitmentInputType()),
4443
+ dataSlice: type(dataSliceInputType()),
4444
+ encoding: type(accountEncodingInputType()),
4445
+ minContextSlot: bigint()
4446
+ },
4447
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4448
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newValidatorIdentity }, info),
4449
+ type: accountInterface()
4450
+ },
4451
+ // Nested Account interface
4452
+ voteAccount: {
4453
+ args: {
4454
+ commitment: type(commitmentInputType()),
4455
+ dataSlice: type(dataSliceInputType()),
4456
+ encoding: type(accountEncodingInputType()),
4457
+ minContextSlot: bigint()
4458
+ },
4459
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4460
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4461
+ type: accountInterface()
4462
+ },
4463
+ // Nested Account interface
4464
+ withdrawAuthority: {
4465
+ args: {
4466
+ commitment: type(commitmentInputType()),
4467
+ dataSlice: type(dataSliceInputType()),
4468
+ encoding: type(accountEncodingInputType()),
4469
+ minContextSlot: bigint()
4470
+ },
4471
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4472
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
4473
+ type: accountInterface()
4474
+ }
1689
4475
  }),
1690
4476
  parsedTransactionInstructionType("VoteUpdateCommissionInstruction", {
1691
4477
  commission: string(),
1692
- voteAccount: string(),
1693
- withdrawAuthority: string()
4478
+ // Nested Account interface
4479
+ voteAccount: {
4480
+ args: {
4481
+ commitment: type(commitmentInputType()),
4482
+ dataSlice: type(dataSliceInputType()),
4483
+ encoding: type(accountEncodingInputType()),
4484
+ minContextSlot: bigint()
4485
+ },
4486
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4487
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4488
+ type: accountInterface()
4489
+ },
4490
+ // Nested Account interface
4491
+ withdrawAuthority: {
4492
+ args: {
4493
+ commitment: type(commitmentInputType()),
4494
+ dataSlice: type(dataSliceInputType()),
4495
+ encoding: type(accountEncodingInputType()),
4496
+ minContextSlot: bigint()
4497
+ },
4498
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4499
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
4500
+ type: accountInterface()
4501
+ }
1694
4502
  }),
1695
4503
  parsedTransactionInstructionType("VoteVoteSwitchInstruction", {
1696
4504
  clockSysvar: string(),
1697
4505
  hash: string(),
1698
4506
  slotHashesSysvar: string(),
1699
4507
  vote: type(vote()),
1700
- voteAccount: string(),
1701
- voteAuthority: string()
4508
+ // Nested Account interface
4509
+ voteAccount: {
4510
+ args: {
4511
+ commitment: type(commitmentInputType()),
4512
+ dataSlice: type(dataSliceInputType()),
4513
+ encoding: type(accountEncodingInputType()),
4514
+ minContextSlot: bigint()
4515
+ },
4516
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4517
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4518
+ type: accountInterface()
4519
+ },
4520
+ // Nested Account interface
4521
+ voteAuthority: {
4522
+ args: {
4523
+ commitment: type(commitmentInputType()),
4524
+ dataSlice: type(dataSliceInputType()),
4525
+ encoding: type(accountEncodingInputType()),
4526
+ minContextSlot: bigint()
4527
+ },
4528
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4529
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4530
+ type: accountInterface()
4531
+ }
1702
4532
  }),
1703
4533
  parsedTransactionInstructionType("VoteAuthorizeCheckedInstruction", {
1704
- authority: string(),
4534
+ // Nested Account interface
4535
+ authority: {
4536
+ args: {
4537
+ commitment: type(commitmentInputType()),
4538
+ dataSlice: type(dataSliceInputType()),
4539
+ encoding: type(accountEncodingInputType()),
4540
+ minContextSlot: bigint()
4541
+ },
4542
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4543
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
4544
+ type: accountInterface()
4545
+ },
1705
4546
  authorityType: string(),
1706
4547
  clockSysvar: string(),
1707
- newAuthority: string(),
1708
- voteAccount: string()
4548
+ // Nested Account interface
4549
+ newAuthority: {
4550
+ args: {
4551
+ commitment: type(commitmentInputType()),
4552
+ dataSlice: type(dataSliceInputType()),
4553
+ encoding: type(accountEncodingInputType()),
4554
+ minContextSlot: bigint()
4555
+ },
4556
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4557
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4558
+ type: accountInterface()
4559
+ },
4560
+ // Nested Account interface
4561
+ voteAccount: {
4562
+ args: {
4563
+ commitment: type(commitmentInputType()),
4564
+ dataSlice: type(dataSliceInputType()),
4565
+ encoding: type(accountEncodingInputType()),
4566
+ minContextSlot: bigint()
4567
+ },
4568
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4569
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4570
+ type: accountInterface()
4571
+ }
1709
4572
  })
1710
4573
  ];
1711
4574
  return memoisedParsedInstructionsVote;
@@ -2140,15 +5003,6 @@ var blockQuery = () => ({
2140
5003
  type: blockInterface()
2141
5004
  }
2142
5005
  });
2143
- var programAccount = () => new GraphQLObjectType({
2144
- fields: {
2145
- account: type(accountInterface()),
2146
- pubkey: string()
2147
- },
2148
- name: "ProgramAccount"
2149
- });
2150
-
2151
- // src/schema/program-accounts/query.ts
2152
5006
  var programAccountsQuery = () => ({
2153
5007
  programAccounts: {
2154
5008
  args: {
@@ -2161,7 +5015,7 @@ var programAccountsQuery = () => ({
2161
5015
  withContext: string()
2162
5016
  },
2163
5017
  resolve: (_parent, args, context) => context.resolveProgramAccounts(args),
2164
- type: new GraphQLList(programAccount())
5018
+ type: new GraphQLList(accountInterface())
2165
5019
  }
2166
5020
  });
2167
5021