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