@solana/rpc-graphql 2.0.0-experimental.df45965 → 2.0.0-experimental.e662875

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.
@@ -33,8 +33,29 @@ function createGraphQLCache() {
33
33
  };
34
34
  }
35
35
 
36
- // src/context.ts
37
- async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc) {
36
+ // src/resolvers/account.ts
37
+ function refineJsonParsedAccountData(jsonParsedData) {
38
+ const meta = {
39
+ program: jsonParsedData.program,
40
+ space: jsonParsedData.space,
41
+ type: jsonParsedData.parsed.type
42
+ };
43
+ const data = jsonParsedData.parsed.info;
44
+ return { data, meta };
45
+ }
46
+ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc, info) {
47
+ if (info && info.fieldNodes[0].selectionSet) {
48
+ const selectionSet = info.fieldNodes[0].selectionSet;
49
+ const requestedFields = selectionSet.selections.map((field) => {
50
+ if (field.kind === "Field") {
51
+ return field.name.value;
52
+ }
53
+ return null;
54
+ });
55
+ if (requestedFields && requestedFields.length === 1 && requestedFields[0] === "address") {
56
+ return { address };
57
+ }
58
+ }
38
59
  const requestConfig = { encoding, ...config };
39
60
  const cached = cache.get(address, requestConfig);
40
61
  if (cached !== null) {
@@ -44,17 +65,29 @@ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, c
44
65
  throw e;
45
66
  });
46
67
  if (account === null) {
47
- return null;
68
+ return {
69
+ address
70
+ };
48
71
  }
49
- const [data, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [account.data, "jsonParsed"];
50
- const queryResponse = {
72
+ const [refinedData, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [refineJsonParsedAccountData(account.data), "jsonParsed"];
73
+ const responseBase = {
51
74
  ...account,
52
- data,
75
+ address,
53
76
  encoding: responseEncoding
54
77
  };
78
+ const queryResponse = typeof refinedData === "object" && "meta" in refinedData ? {
79
+ ...responseBase,
80
+ data: refinedData.data,
81
+ meta: refinedData.meta
82
+ } : {
83
+ ...responseBase,
84
+ data: refinedData
85
+ };
55
86
  cache.insert(address, requestConfig, queryResponse);
56
87
  return queryResponse;
57
88
  }
89
+
90
+ // src/resolvers/block.ts
58
91
  async function resolveBlock({ slot, encoding = "jsonParsed", ...config }, cache, rpc) {
59
92
  const requestConfig = { encoding, ...config };
60
93
  const cached = cache.get(slot, config);
@@ -68,6 +101,8 @@ async function resolveBlock({ slot, encoding = "jsonParsed", ...config }, cache,
68
101
  cache.insert(slot, config, block);
69
102
  return block;
70
103
  }
104
+
105
+ // src/resolvers/program-accounts.ts
71
106
  async function resolveProgramAccounts({ programAddress, encoding = "jsonParsed", ...config }, cache, rpc) {
72
107
  const requestConfig = { encoding, ...config };
73
108
  const cached = cache.get(programAddress, requestConfig);
@@ -82,18 +117,28 @@ async function resolveProgramAccounts({ programAddress, encoding = "jsonParsed",
82
117
  }).catch((e) => {
83
118
  throw e;
84
119
  });
85
- const queryResponse = programAccounts.map((programAccount2) => {
86
- const [data, responseEncoding] = Array.isArray(programAccount2.account.data) ? encoding === "jsonParsed" ? [programAccount2.account.data[0], "base64"] : [programAccount2.account.data[0], encoding] : [programAccount2.account.data, "jsonParsed"];
87
- const pubkey = programAccount2.pubkey;
88
- const account = { ...programAccount2.account, data, encoding: responseEncoding };
89
- return {
90
- account,
91
- pubkey
120
+ const queryResponse = programAccounts.map((programAccount) => {
121
+ const [refinedData, responseEncoding] = Array.isArray(programAccount.account.data) ? encoding === "jsonParsed" ? [programAccount.account.data[0], "base64"] : [programAccount.account.data[0], encoding] : [refineJsonParsedAccountData(programAccount.account.data), "jsonParsed"];
122
+ const pubkey = programAccount.pubkey;
123
+ const responseBase = {
124
+ ...programAccount.account,
125
+ address: pubkey,
126
+ encoding: responseEncoding
127
+ };
128
+ return typeof refinedData === "object" && "meta" in refinedData ? {
129
+ ...responseBase,
130
+ data: refinedData.data,
131
+ meta: refinedData.meta
132
+ } : {
133
+ ...responseBase,
134
+ data: refinedData
92
135
  };
93
136
  });
94
137
  cache.insert(programAddress, requestConfig, queryResponse);
95
138
  return queryResponse;
96
139
  }
140
+
141
+ // src/resolvers/transaction.ts
97
142
  async function resolveTransaction({ signature, encoding = "jsonParsed", ...config }, cache, rpc) {
98
143
  const requestConfig = { encoding, ...config };
99
144
  const cached = cache.get(signature, requestConfig);
@@ -119,12 +164,14 @@ async function resolveTransaction({ signature, encoding = "jsonParsed", ...confi
119
164
  cache.insert(signature, requestConfig, queryResponse);
120
165
  return queryResponse;
121
166
  }
167
+
168
+ // src/context.ts
122
169
  function createSolanaGraphQLContext(rpc) {
123
170
  const cache = createGraphQLCache();
124
171
  return {
125
172
  cache,
126
- resolveAccount(args) {
127
- return resolveAccount(args, this.cache, this.rpc);
173
+ resolveAccount(args, info) {
174
+ return resolveAccount(args, this.cache, this.rpc, info);
128
175
  },
129
176
  resolveBlock(args) {
130
177
  return resolveBlock(args, this.cache, this.rpc);
@@ -266,7 +313,7 @@ var dataSliceInputType = () => {
266
313
  length: number(),
267
314
  offset: number()
268
315
  },
269
- name: "DataSliceConfig"
316
+ name: "DataSlice"
270
317
  });
271
318
  return memoisedDataSliceInputType;
272
319
  };
@@ -312,9 +359,6 @@ var transactionEncodingInputType = () => {
312
359
  base64: {
313
360
  value: "base64"
314
361
  },
315
- json: {
316
- value: "json"
317
- },
318
362
  jsonParsed: {
319
363
  value: "jsonParsed"
320
364
  }
@@ -337,10 +381,25 @@ var tokenAmountType = () => {
337
381
  }
338
382
  return memoisedTokenAmountType;
339
383
  };
384
+ var memoisedJsonParsedMeta;
385
+ var jsonParsedMeta = () => {
386
+ if (!memoisedJsonParsedMeta) {
387
+ memoisedJsonParsedMeta = new GraphQLObjectType({
388
+ fields: {
389
+ program: string(),
390
+ space: bigint(),
391
+ type: string()
392
+ },
393
+ name: "JsonParsedMeta"
394
+ });
395
+ }
396
+ return memoisedJsonParsedMeta;
397
+ };
340
398
  var memoisedAccountInterfaceFields;
341
399
  var accountInterfaceFields = () => {
342
400
  if (!memoisedAccountInterfaceFields) {
343
401
  memoisedAccountInterfaceFields = {
402
+ address: string(),
344
403
  encoding: string(),
345
404
  executable: boolean(),
346
405
  lamports: bigint(),
@@ -370,22 +429,22 @@ var accountInterface = () => {
370
429
  return "AccountBase64Zstd";
371
430
  }
372
431
  if (account.encoding === "jsonParsed") {
373
- if (account.data.parsed.type === "mint" && account.data.program === "spl-token") {
432
+ if (account.meta.type === "mint" && account.meta.program === "spl-token") {
374
433
  return "MintAccount";
375
434
  }
376
- if (account.data.parsed.type === "account" && account.data.program === "spl-token") {
435
+ if (account.meta.type === "account" && account.meta.program === "spl-token") {
377
436
  return "TokenAccount";
378
437
  }
379
- if (account.data.program === "nonce") {
438
+ if (account.meta.program === "nonce") {
380
439
  return "NonceAccount";
381
440
  }
382
- if (account.data.program === "stake") {
441
+ if (account.meta.program === "stake") {
383
442
  return "StakeAccount";
384
443
  }
385
- if (account.data.parsed.type === "vote" && account.data.program === "vote") {
444
+ if (account.meta.type === "vote" && account.meta.program === "vote") {
386
445
  return "VoteAccount";
387
446
  }
388
- if (account.data.parsed.type === "lookupTable" && account.data.program === "address-lookup-table") {
447
+ if (account.meta.type === "lookupTable" && account.meta.program === "address-lookup-table") {
389
448
  return "LookupTableAccount";
390
449
  }
391
450
  }
@@ -395,11 +454,11 @@ var accountInterface = () => {
395
454
  }
396
455
  return memoisedAccountInterface;
397
456
  };
398
- var accountType = (name, description, data) => new GraphQLObjectType({
399
- description,
400
- fields: {
457
+ var accountType = (name, description, data, meta) => {
458
+ const fieldsBase = {
401
459
  ...accountInterfaceFields(),
402
460
  data,
461
+ // Nested Account interface
403
462
  owner: {
404
463
  args: {
405
464
  commitment: type(commitmentInputType()),
@@ -407,31 +466,42 @@ var accountType = (name, description, data) => new GraphQLObjectType({
407
466
  encoding: type(accountEncodingInputType()),
408
467
  minContextSlot: bigint()
409
468
  },
410
- resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
469
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
470
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
411
471
  type: accountInterface()
412
472
  }
413
- },
414
- interfaces: [accountInterface()],
415
- name
416
- });
417
- var accountDataJsonParsed = (name, parsedInfoFields) => object(name + "Data", {
418
- parsed: object(name + "DataParsed", {
419
- info: object(name + "DataParsedInfo", parsedInfoFields),
420
- type: string()
421
- }),
422
- program: string(),
423
- space: bigint()
424
- });
473
+ };
474
+ const graphQLObject = (fields) => new GraphQLObjectType({
475
+ description,
476
+ fields,
477
+ interfaces: [accountInterface()],
478
+ name
479
+ });
480
+ return meta ? graphQLObject({
481
+ ...fieldsBase,
482
+ meta: type(jsonParsedMeta())
483
+ }) : graphQLObject(fieldsBase);
484
+ };
425
485
  var memoisedAccountBase58;
426
486
  var accountBase58 = () => {
427
487
  if (!memoisedAccountBase58)
428
- memoisedAccountBase58 = accountType("AccountBase58", "A Solana account with base58 encoded data", string());
488
+ memoisedAccountBase58 = accountType(
489
+ "AccountBase58",
490
+ "A Solana account with base58 encoded data",
491
+ string(),
492
+ false
493
+ );
429
494
  return memoisedAccountBase58;
430
495
  };
431
496
  var memoisedAccountBase64;
432
497
  var accountBase64 = () => {
433
498
  if (!memoisedAccountBase64)
434
- memoisedAccountBase64 = accountType("AccountBase64", "A Solana account with base64 encoded data", string());
499
+ memoisedAccountBase64 = accountType(
500
+ "AccountBase64",
501
+ "A Solana account with base64 encoded data",
502
+ string(),
503
+ false
504
+ );
435
505
  return memoisedAccountBase64;
436
506
  };
437
507
  var memoisedAccountBase64Zstd;
@@ -440,7 +510,8 @@ var accountBase64Zstd = () => {
440
510
  memoisedAccountBase64Zstd = accountType(
441
511
  "AccountBase64Zstd",
442
512
  "A Solana account with base64 encoded data compressed with zstd",
443
- string()
513
+ string(),
514
+ false
444
515
  );
445
516
  return memoisedAccountBase64Zstd;
446
517
  };
@@ -450,13 +521,25 @@ var accountNonceAccount = () => {
450
521
  memoisedAccountNonceAccount = accountType(
451
522
  "NonceAccount",
452
523
  "A nonce account",
453
- accountDataJsonParsed("Nonce", {
454
- authority: string(),
524
+ object("NonceData", {
525
+ // Nested Account interface
526
+ authority: {
527
+ args: {
528
+ commitment: type(commitmentInputType()),
529
+ dataSlice: type(dataSliceInputType()),
530
+ encoding: type(accountEncodingInputType()),
531
+ minContextSlot: bigint()
532
+ },
533
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
534
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
535
+ type: accountInterface()
536
+ },
455
537
  blockhash: string(),
456
538
  feeCalculator: object("NonceFeeCalculator", {
457
539
  lamportsPerSignature: string()
458
540
  })
459
- })
541
+ }),
542
+ true
460
543
  );
461
544
  return memoisedAccountNonceAccount;
462
545
  };
@@ -466,13 +549,25 @@ var accountLookupTable = () => {
466
549
  memoisedAccountLookupTable = accountType(
467
550
  "LookupTableAccount",
468
551
  "An address lookup table account",
469
- accountDataJsonParsed("LookupTable", {
552
+ object("LookupTableData", {
470
553
  addresses: list(string()),
471
- authority: string(),
554
+ // Nested Account interface
555
+ authority: {
556
+ args: {
557
+ commitment: type(commitmentInputType()),
558
+ dataSlice: type(dataSliceInputType()),
559
+ encoding: type(accountEncodingInputType()),
560
+ minContextSlot: bigint()
561
+ },
562
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
563
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
564
+ type: accountInterface()
565
+ },
472
566
  deactivationSlot: string(),
473
567
  lastExtendedSlot: string(),
474
568
  lastExtendedSlotStartIndex: number()
475
- })
569
+ }),
570
+ true
476
571
  );
477
572
  return memoisedAccountLookupTable;
478
573
  };
@@ -482,13 +577,25 @@ var accountMint = () => {
482
577
  memoisedAccountMint = accountType(
483
578
  "MintAccount",
484
579
  "An SPL mint",
485
- accountDataJsonParsed("Mint", {
580
+ object("MintData", {
486
581
  decimals: number(),
487
582
  freezeAuthority: string(),
488
583
  isInitialized: boolean(),
489
- mintAuthority: string(),
584
+ // Nested Account interface
585
+ mintAuthority: {
586
+ args: {
587
+ commitment: type(commitmentInputType()),
588
+ dataSlice: type(dataSliceInputType()),
589
+ encoding: type(accountEncodingInputType()),
590
+ minContextSlot: bigint()
591
+ },
592
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
593
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
594
+ type: accountInterface()
595
+ },
490
596
  supply: string()
491
- })
597
+ }),
598
+ true
492
599
  );
493
600
  return memoisedAccountMint;
494
601
  };
@@ -498,13 +605,25 @@ var accountTokenAccount = () => {
498
605
  memoisedAccountTokenAccount = accountType(
499
606
  "TokenAccount",
500
607
  "An SPL token account",
501
- accountDataJsonParsed("TokenAccount", {
608
+ object("TokenAccountData", {
502
609
  isNative: boolean(),
503
610
  mint: string(),
504
- owner: string(),
611
+ // Nested Account interface
612
+ owner: {
613
+ args: {
614
+ commitment: type(commitmentInputType()),
615
+ dataSlice: type(dataSliceInputType()),
616
+ encoding: type(accountEncodingInputType()),
617
+ minContextSlot: bigint()
618
+ },
619
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
620
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
621
+ type: accountInterface()
622
+ },
505
623
  state: string(),
506
624
  tokenAmount: type(tokenAmountType())
507
- })
625
+ }),
626
+ true
508
627
  );
509
628
  return memoisedAccountTokenAccount;
510
629
  };
@@ -514,14 +633,47 @@ var accountStakeAccount = () => {
514
633
  memoisedAccountStakeAccount = accountType(
515
634
  "StakeAccount",
516
635
  "A stake account",
517
- accountDataJsonParsed("Stake", {
636
+ object("StakeData", {
518
637
  meta: object("StakeMeta", {
519
638
  authorized: object("StakeMetaAuthorized", {
520
- staker: string(),
521
- withdrawer: string()
639
+ // Nested Account interface
640
+ staker: {
641
+ args: {
642
+ commitment: type(commitmentInputType()),
643
+ dataSlice: type(dataSliceInputType()),
644
+ encoding: type(accountEncodingInputType()),
645
+ minContextSlot: bigint()
646
+ },
647
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
648
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
649
+ type: accountInterface()
650
+ },
651
+ // Nested Account interface
652
+ withdrawer: {
653
+ args: {
654
+ commitment: type(commitmentInputType()),
655
+ dataSlice: type(dataSliceInputType()),
656
+ encoding: type(accountEncodingInputType()),
657
+ minContextSlot: bigint()
658
+ },
659
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
660
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
661
+ type: accountInterface()
662
+ }
522
663
  }),
523
664
  lockup: object("StakeMetaLockup", {
524
- custodian: string(),
665
+ // Nested Account interface
666
+ custodian: {
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.custodian }, info),
675
+ type: accountInterface()
676
+ },
525
677
  epoch: bigint(),
526
678
  unixTimestamp: bigint()
527
679
  }),
@@ -533,11 +685,23 @@ var accountStakeAccount = () => {
533
685
  activationEpoch: bigint(),
534
686
  deactivationEpoch: bigint(),
535
687
  stake: string(),
536
- voter: string(),
688
+ // Nested Account interface
689
+ voter: {
690
+ args: {
691
+ commitment: type(commitmentInputType()),
692
+ dataSlice: type(dataSliceInputType()),
693
+ encoding: type(accountEncodingInputType()),
694
+ minContextSlot: bigint()
695
+ },
696
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
697
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voter }, info),
698
+ type: accountInterface()
699
+ },
537
700
  warmupCooldownRate: number()
538
701
  })
539
702
  })
540
- })
703
+ }),
704
+ true
541
705
  );
542
706
  return memoisedAccountStakeAccount;
543
707
  };
@@ -547,14 +711,36 @@ var accountVoteAccount = () => {
547
711
  memoisedAccountVoteAccount = accountType(
548
712
  "VoteAccount",
549
713
  "A vote account",
550
- accountDataJsonParsed("Vote", {
714
+ object("VoteData", {
551
715
  authorizedVoters: list(
552
716
  object("VoteAuthorizedVoter", {
553
- authorizedVoter: string(),
717
+ // Nested Account interface
718
+ authorizedVoter: {
719
+ args: {
720
+ commitment: type(commitmentInputType()),
721
+ dataSlice: type(dataSliceInputType()),
722
+ encoding: type(accountEncodingInputType()),
723
+ minContextSlot: bigint()
724
+ },
725
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
726
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedVoter }, info),
727
+ type: accountInterface()
728
+ },
554
729
  epoch: bigint()
555
730
  })
556
731
  ),
557
- authorizedWithdrawer: string(),
732
+ // Nested Account interface
733
+ authorizedWithdrawer: {
734
+ args: {
735
+ commitment: type(commitmentInputType()),
736
+ dataSlice: type(dataSliceInputType()),
737
+ encoding: type(accountEncodingInputType()),
738
+ minContextSlot: bigint()
739
+ },
740
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
741
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedWithdrawer }, info),
742
+ type: accountInterface()
743
+ },
558
744
  commission: number(),
559
745
  epochCredits: list(
560
746
  object("VoteEpochCredits", {
@@ -567,7 +753,18 @@ var accountVoteAccount = () => {
567
753
  slot: bigint(),
568
754
  timestamp: bigint()
569
755
  }),
570
- nodePubkey: string(),
756
+ // Nested Account interface
757
+ node: {
758
+ args: {
759
+ commitment: type(commitmentInputType()),
760
+ dataSlice: type(dataSliceInputType()),
761
+ encoding: type(accountEncodingInputType()),
762
+ minContextSlot: bigint()
763
+ },
764
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
765
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nodePubkey }, info),
766
+ type: accountInterface()
767
+ },
571
768
  priorVoters: list(string()),
572
769
  rootSlot: bigint(),
573
770
  votes: list(
@@ -576,7 +773,8 @@ var accountVoteAccount = () => {
576
773
  slot: bigint()
577
774
  })
578
775
  )
579
- })
776
+ }),
777
+ true
580
778
  );
581
779
  return memoisedAccountVoteAccount;
582
780
  };
@@ -607,7 +805,8 @@ var accountQuery = () => ({
607
805
  encoding: type(accountEncodingInputType()),
608
806
  minContextSlot: bigint()
609
807
  },
610
- resolve: (_parent, args, context) => context.resolveAccount(args),
808
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
809
+ resolve: (_parent, args, context, info) => context.resolveAccount(args, info),
611
810
  type: accountInterface()
612
811
  }
613
812
  });
@@ -617,8 +816,30 @@ var tokenBalance = () => {
617
816
  memoisedTokenBalance = new GraphQLObjectType({
618
817
  fields: {
619
818
  accountIndex: number(),
620
- mint: string(),
621
- owner: string(),
819
+ // Nested Account interface
820
+ mint: {
821
+ args: {
822
+ commitment: type(commitmentInputType()),
823
+ dataSlice: type(dataSliceInputType()),
824
+ encoding: type(accountEncodingInputType()),
825
+ minContextSlot: bigint()
826
+ },
827
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
828
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
829
+ type: accountInterface()
830
+ },
831
+ // Nested Account interface
832
+ owner: {
833
+ args: {
834
+ commitment: type(commitmentInputType()),
835
+ dataSlice: type(dataSliceInputType()),
836
+ encoding: type(accountEncodingInputType()),
837
+ minContextSlot: bigint()
838
+ },
839
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
840
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
841
+ type: accountInterface()
842
+ },
622
843
  programId: string(),
623
844
  uiAmountString: string()
624
845
  },
@@ -1038,30 +1259,184 @@ var parsedInstructionsAddressLookupTable = () => {
1038
1259
  memoisedParsedInstructionsAddressLookupTable = [
1039
1260
  parsedTransactionInstructionType("CreateLookupTableInstruction", {
1040
1261
  bumpSeed: number(),
1041
- lookupTableAccount: string(),
1042
- lookupTableAuthority: string(),
1043
- payerAccount: string(),
1262
+ // Nested Account interface
1263
+ lookupTableAccount: {
1264
+ args: {
1265
+ commitment: type(commitmentInputType()),
1266
+ dataSlice: type(dataSliceInputType()),
1267
+ encoding: type(accountEncodingInputType()),
1268
+ minContextSlot: bigint()
1269
+ },
1270
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1271
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1272
+ type: accountInterface()
1273
+ },
1274
+ // Nested Account interface
1275
+ lookupTableAuthority: {
1276
+ args: {
1277
+ commitment: type(commitmentInputType()),
1278
+ dataSlice: type(dataSliceInputType()),
1279
+ encoding: type(accountEncodingInputType()),
1280
+ minContextSlot: bigint()
1281
+ },
1282
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1283
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1284
+ type: accountInterface()
1285
+ },
1286
+ // Nested Account interface
1287
+ payerAccount: {
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.payerAccount }, info),
1296
+ type: accountInterface()
1297
+ },
1044
1298
  recentSlot: bigint(),
1045
- systemProgram: string()
1299
+ // Nested Account interface
1300
+ systemProgram: {
1301
+ args: {
1302
+ commitment: type(commitmentInputType()),
1303
+ dataSlice: type(dataSliceInputType()),
1304
+ encoding: type(accountEncodingInputType()),
1305
+ minContextSlot: bigint()
1306
+ },
1307
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1308
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1309
+ type: accountInterface()
1310
+ }
1046
1311
  }),
1047
1312
  parsedTransactionInstructionType("FreezeLookupTableInstruction", {
1048
- lookupTableAccount: string(),
1049
- lookupTableAuthority: string()
1313
+ // Nested Account interface
1314
+ lookupTableAccount: {
1315
+ args: {
1316
+ commitment: type(commitmentInputType()),
1317
+ dataSlice: type(dataSliceInputType()),
1318
+ encoding: type(accountEncodingInputType()),
1319
+ minContextSlot: bigint()
1320
+ },
1321
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1322
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1323
+ type: accountInterface()
1324
+ },
1325
+ // Nested Account interface
1326
+ lookupTableAuthority: {
1327
+ args: {
1328
+ commitment: type(commitmentInputType()),
1329
+ dataSlice: type(dataSliceInputType()),
1330
+ encoding: type(accountEncodingInputType()),
1331
+ minContextSlot: bigint()
1332
+ },
1333
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1334
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1335
+ type: accountInterface()
1336
+ }
1050
1337
  }),
1051
1338
  parsedTransactionInstructionType("ExtendLookupTableInstruction", {
1052
- lookupTableAccount: string(),
1053
- lookupTableAuthority: string(),
1339
+ // Nested Account interface
1340
+ lookupTableAccount: {
1341
+ args: {
1342
+ commitment: type(commitmentInputType()),
1343
+ dataSlice: type(dataSliceInputType()),
1344
+ encoding: type(accountEncodingInputType()),
1345
+ minContextSlot: bigint()
1346
+ },
1347
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1348
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1349
+ type: accountInterface()
1350
+ },
1351
+ // Nested Account interface
1352
+ lookupTableAuthority: {
1353
+ args: {
1354
+ commitment: type(commitmentInputType()),
1355
+ dataSlice: type(dataSliceInputType()),
1356
+ encoding: type(accountEncodingInputType()),
1357
+ minContextSlot: bigint()
1358
+ },
1359
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1360
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1361
+ type: accountInterface()
1362
+ },
1054
1363
  newAddresses: list(string()),
1055
- payerAccount: string(),
1056
- systemProgram: string()
1364
+ // Nested Account interface
1365
+ payerAccount: {
1366
+ args: {
1367
+ commitment: type(commitmentInputType()),
1368
+ dataSlice: type(dataSliceInputType()),
1369
+ encoding: type(accountEncodingInputType()),
1370
+ minContextSlot: bigint()
1371
+ },
1372
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1373
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1374
+ type: accountInterface()
1375
+ },
1376
+ // Nested Account interface
1377
+ systemProgram: {
1378
+ args: {
1379
+ commitment: type(commitmentInputType()),
1380
+ dataSlice: type(dataSliceInputType()),
1381
+ encoding: type(accountEncodingInputType()),
1382
+ minContextSlot: bigint()
1383
+ },
1384
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1385
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1386
+ type: accountInterface()
1387
+ }
1057
1388
  }),
1058
1389
  parsedTransactionInstructionType("DeactivateLookupTableInstruction", {
1059
- lookupTableAccount: string(),
1060
- lookupTableAuthority: string()
1390
+ // Nested Account interface
1391
+ lookupTableAccount: {
1392
+ args: {
1393
+ commitment: type(commitmentInputType()),
1394
+ dataSlice: type(dataSliceInputType()),
1395
+ encoding: type(accountEncodingInputType()),
1396
+ minContextSlot: bigint()
1397
+ },
1398
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1399
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1400
+ type: accountInterface()
1401
+ },
1402
+ // Nested Account interface
1403
+ lookupTableAuthority: {
1404
+ args: {
1405
+ commitment: type(commitmentInputType()),
1406
+ dataSlice: type(dataSliceInputType()),
1407
+ encoding: type(accountEncodingInputType()),
1408
+ minContextSlot: bigint()
1409
+ },
1410
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1411
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1412
+ type: accountInterface()
1413
+ }
1061
1414
  }),
1062
1415
  parsedTransactionInstructionType("CloseLookupTableInstruction", {
1063
- lookupTableAccount: string(),
1064
- lookupTableAuthority: string(),
1416
+ // Nested Account interface
1417
+ lookupTableAccount: {
1418
+ args: {
1419
+ commitment: type(commitmentInputType()),
1420
+ dataSlice: type(dataSliceInputType()),
1421
+ encoding: type(accountEncodingInputType()),
1422
+ minContextSlot: bigint()
1423
+ },
1424
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1425
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAccount }, info),
1426
+ type: accountInterface()
1427
+ },
1428
+ // Nested Account interface
1429
+ lookupTableAuthority: {
1430
+ args: {
1431
+ commitment: type(commitmentInputType()),
1432
+ dataSlice: type(dataSliceInputType()),
1433
+ encoding: type(accountEncodingInputType()),
1434
+ minContextSlot: bigint()
1435
+ },
1436
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1437
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.lookupTableAuthority }, info),
1438
+ type: accountInterface()
1439
+ },
1065
1440
  recipient: string()
1066
1441
  })
1067
1442
  ];
@@ -1072,12 +1447,34 @@ var parsedInstructionsBpfLoader = () => {
1072
1447
  if (!memoisedParsedInstructionsBpfLoader)
1073
1448
  memoisedParsedInstructionsBpfLoader = [
1074
1449
  parsedTransactionInstructionType("BpfLoaderWriteInstruction", {
1075
- account: string(),
1450
+ // Nested Account interface
1451
+ account: {
1452
+ args: {
1453
+ commitment: type(commitmentInputType()),
1454
+ dataSlice: type(dataSliceInputType()),
1455
+ encoding: type(accountEncodingInputType()),
1456
+ minContextSlot: bigint()
1457
+ },
1458
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1459
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1460
+ type: accountInterface()
1461
+ },
1076
1462
  bytes: string(),
1077
1463
  offset: number()
1078
1464
  }),
1079
1465
  parsedTransactionInstructionType("BpfLoaderFinalizeInstruction", {
1080
- account: string()
1466
+ // Nested Account interface
1467
+ account: {
1468
+ args: {
1469
+ commitment: type(commitmentInputType()),
1470
+ dataSlice: type(dataSliceInputType()),
1471
+ encoding: type(accountEncodingInputType()),
1472
+ minContextSlot: bigint()
1473
+ },
1474
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1475
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1476
+ type: accountInterface()
1477
+ }
1081
1478
  })
1082
1479
  ];
1083
1480
  return memoisedParsedInstructionsBpfLoader;
@@ -1087,55 +1484,329 @@ var parsedInstructionsBpfUpgradeableLoader = () => {
1087
1484
  if (!memoisedParsedInstructionsBpfUpgradeableLoader)
1088
1485
  memoisedParsedInstructionsBpfUpgradeableLoader = [
1089
1486
  parsedTransactionInstructionType("BpfUpgradeableLoaderInitializeBufferInstruction", {
1090
- account: string()
1487
+ // Nested Account interface
1488
+ account: {
1489
+ args: {
1490
+ commitment: type(commitmentInputType()),
1491
+ dataSlice: type(dataSliceInputType()),
1492
+ encoding: type(accountEncodingInputType()),
1493
+ minContextSlot: bigint()
1494
+ },
1495
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1496
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1497
+ type: accountInterface()
1498
+ }
1091
1499
  }),
1092
1500
  parsedTransactionInstructionType("BpfUpgradeableLoaderWriteInstruction", {
1093
- account: string(),
1094
- authority: string(),
1501
+ // Nested Account interface
1502
+ account: {
1503
+ args: {
1504
+ commitment: type(commitmentInputType()),
1505
+ dataSlice: type(dataSliceInputType()),
1506
+ encoding: type(accountEncodingInputType()),
1507
+ minContextSlot: bigint()
1508
+ },
1509
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1510
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1511
+ type: accountInterface()
1512
+ },
1513
+ // Nested Account interface
1514
+ authority: {
1515
+ args: {
1516
+ commitment: type(commitmentInputType()),
1517
+ dataSlice: type(dataSliceInputType()),
1518
+ encoding: type(accountEncodingInputType()),
1519
+ minContextSlot: bigint()
1520
+ },
1521
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1522
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1523
+ type: accountInterface()
1524
+ },
1095
1525
  bytes: string(),
1096
1526
  offset: number()
1097
1527
  }),
1098
1528
  parsedTransactionInstructionType("BpfUpgradeableLoaderDeployWithMaxDataLenInstruction", {
1099
- authority: string(),
1100
- bufferAccount: string(),
1529
+ // Nested Account interface
1530
+ authority: {
1531
+ args: {
1532
+ commitment: type(commitmentInputType()),
1533
+ dataSlice: type(dataSliceInputType()),
1534
+ encoding: type(accountEncodingInputType()),
1535
+ minContextSlot: bigint()
1536
+ },
1537
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1538
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1539
+ type: accountInterface()
1540
+ },
1541
+ // Nested Account interface
1542
+ bufferAccount: {
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.bufferAccount }, info),
1551
+ type: accountInterface()
1552
+ },
1101
1553
  clockSysvar: string(),
1102
1554
  maxDataLen: bigint(),
1103
- payerAccount: string(),
1104
- programAccount: string(),
1105
- programDataAccount: string(),
1555
+ // Nested Account interface
1556
+ payerAccount: {
1557
+ args: {
1558
+ commitment: type(commitmentInputType()),
1559
+ dataSlice: type(dataSliceInputType()),
1560
+ encoding: type(accountEncodingInputType()),
1561
+ minContextSlot: bigint()
1562
+ },
1563
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1564
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1565
+ type: accountInterface()
1566
+ },
1567
+ // Nested Account interface
1568
+ programAccount: {
1569
+ args: {
1570
+ commitment: type(commitmentInputType()),
1571
+ dataSlice: type(dataSliceInputType()),
1572
+ encoding: type(accountEncodingInputType()),
1573
+ minContextSlot: bigint()
1574
+ },
1575
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1576
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1577
+ type: accountInterface()
1578
+ },
1579
+ // Nested Account interface
1580
+ programDataAccount: {
1581
+ args: {
1582
+ commitment: type(commitmentInputType()),
1583
+ dataSlice: type(dataSliceInputType()),
1584
+ encoding: type(accountEncodingInputType()),
1585
+ minContextSlot: bigint()
1586
+ },
1587
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1588
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1589
+ type: accountInterface()
1590
+ },
1106
1591
  rentSysvar: string()
1107
1592
  }),
1108
1593
  parsedTransactionInstructionType("BpfUpgradeableLoaderUpgradeInstruction", {
1109
- authority: string(),
1110
- bufferAccount: string(),
1594
+ // Nested Account interface
1595
+ authority: {
1596
+ args: {
1597
+ commitment: type(commitmentInputType()),
1598
+ dataSlice: type(dataSliceInputType()),
1599
+ encoding: type(accountEncodingInputType()),
1600
+ minContextSlot: bigint()
1601
+ },
1602
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1603
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1604
+ type: accountInterface()
1605
+ },
1606
+ // Nested Account interface
1607
+ bufferAccount: {
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.bufferAccount }, info),
1616
+ type: accountInterface()
1617
+ },
1111
1618
  clockSysvar: string(),
1112
- programAccount: string(),
1113
- programDataAccount: string(),
1619
+ // Nested Account interface
1620
+ programAccount: {
1621
+ args: {
1622
+ commitment: type(commitmentInputType()),
1623
+ dataSlice: type(dataSliceInputType()),
1624
+ encoding: type(accountEncodingInputType()),
1625
+ minContextSlot: bigint()
1626
+ },
1627
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1628
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1629
+ type: accountInterface()
1630
+ },
1631
+ // Nested Account interface
1632
+ programDataAccount: {
1633
+ args: {
1634
+ commitment: type(commitmentInputType()),
1635
+ dataSlice: type(dataSliceInputType()),
1636
+ encoding: type(accountEncodingInputType()),
1637
+ minContextSlot: bigint()
1638
+ },
1639
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1640
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1641
+ type: accountInterface()
1642
+ },
1114
1643
  rentSysvar: string(),
1115
- spillAccount: string()
1644
+ // Nested Account interface
1645
+ spillAccount: {
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.spillAccount }, info),
1654
+ type: accountInterface()
1655
+ }
1116
1656
  }),
1117
1657
  parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityInstruction", {
1118
1658
  account: string(),
1119
- authority: string(),
1120
- newAuthority: string()
1659
+ // Nested Account interface
1660
+ authority: {
1661
+ args: {
1662
+ commitment: type(commitmentInputType()),
1663
+ dataSlice: type(dataSliceInputType()),
1664
+ encoding: type(accountEncodingInputType()),
1665
+ minContextSlot: bigint()
1666
+ },
1667
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1668
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1669
+ type: accountInterface()
1670
+ },
1671
+ // Nested Account interface
1672
+ newAuthority: {
1673
+ args: {
1674
+ commitment: type(commitmentInputType()),
1675
+ dataSlice: type(dataSliceInputType()),
1676
+ encoding: type(accountEncodingInputType()),
1677
+ minContextSlot: bigint()
1678
+ },
1679
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1680
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
1681
+ type: accountInterface()
1682
+ }
1121
1683
  }),
1122
1684
  parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityCheckedInstruction", {
1123
- account: string(),
1124
- authority: string(),
1125
- newAuthority: string()
1685
+ // Nested Account interface
1686
+ account: {
1687
+ args: {
1688
+ commitment: type(commitmentInputType()),
1689
+ dataSlice: type(dataSliceInputType()),
1690
+ encoding: type(accountEncodingInputType()),
1691
+ minContextSlot: bigint()
1692
+ },
1693
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1694
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1695
+ type: accountInterface()
1696
+ },
1697
+ // Nested Account interface
1698
+ authority: {
1699
+ args: {
1700
+ commitment: type(commitmentInputType()),
1701
+ dataSlice: type(dataSliceInputType()),
1702
+ encoding: type(accountEncodingInputType()),
1703
+ minContextSlot: bigint()
1704
+ },
1705
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1706
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1707
+ type: accountInterface()
1708
+ },
1709
+ // Nested Account interface
1710
+ newAuthority: {
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.newAuthority }, info),
1719
+ type: accountInterface()
1720
+ }
1126
1721
  }),
1127
1722
  parsedTransactionInstructionType("BpfUpgradeableLoaderCloseInstruction", {
1128
- account: string(),
1129
- authority: string(),
1130
- programAccount: string(),
1723
+ // Nested Account interface
1724
+ account: {
1725
+ args: {
1726
+ commitment: type(commitmentInputType()),
1727
+ dataSlice: type(dataSliceInputType()),
1728
+ encoding: type(accountEncodingInputType()),
1729
+ minContextSlot: bigint()
1730
+ },
1731
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1732
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1733
+ type: accountInterface()
1734
+ },
1735
+ // Nested Account interface
1736
+ authority: {
1737
+ args: {
1738
+ commitment: type(commitmentInputType()),
1739
+ dataSlice: type(dataSliceInputType()),
1740
+ encoding: type(accountEncodingInputType()),
1741
+ minContextSlot: bigint()
1742
+ },
1743
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1744
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
1745
+ type: accountInterface()
1746
+ },
1747
+ // Nested Account interface
1748
+ programAccount: {
1749
+ args: {
1750
+ commitment: type(commitmentInputType()),
1751
+ dataSlice: type(dataSliceInputType()),
1752
+ encoding: type(accountEncodingInputType()),
1753
+ minContextSlot: bigint()
1754
+ },
1755
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1756
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1757
+ type: accountInterface()
1758
+ },
1131
1759
  recipient: string()
1132
1760
  }),
1133
1761
  parsedTransactionInstructionType("BpfUpgradeableLoaderExtendProgramInstruction", {
1134
1762
  additionalBytes: bigint(),
1135
- payerAccount: string(),
1136
- programAccount: string(),
1137
- programDataAccount: string(),
1138
- systemProgram: string()
1763
+ payerAccount: {
1764
+ args: {
1765
+ commitment: type(commitmentInputType()),
1766
+ dataSlice: type(dataSliceInputType()),
1767
+ encoding: type(accountEncodingInputType()),
1768
+ minContextSlot: bigint()
1769
+ },
1770
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1771
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.payerAccount }, info),
1772
+ type: accountInterface()
1773
+ },
1774
+ // Nested Account interface
1775
+ programAccount: {
1776
+ args: {
1777
+ commitment: type(commitmentInputType()),
1778
+ dataSlice: type(dataSliceInputType()),
1779
+ encoding: type(accountEncodingInputType()),
1780
+ minContextSlot: bigint()
1781
+ },
1782
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1783
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programAccount }, info),
1784
+ type: accountInterface()
1785
+ },
1786
+ // Nested Account interface
1787
+ programDataAccount: {
1788
+ args: {
1789
+ commitment: type(commitmentInputType()),
1790
+ dataSlice: type(dataSliceInputType()),
1791
+ encoding: type(accountEncodingInputType()),
1792
+ minContextSlot: bigint()
1793
+ },
1794
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1795
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.programDataAccount }, info),
1796
+ type: accountInterface()
1797
+ },
1798
+ // Nested Account interface
1799
+ systemProgram: {
1800
+ args: {
1801
+ commitment: type(commitmentInputType()),
1802
+ dataSlice: type(dataSliceInputType()),
1803
+ encoding: type(accountEncodingInputType()),
1804
+ minContextSlot: bigint()
1805
+ },
1806
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1807
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1808
+ type: accountInterface()
1809
+ }
1139
1810
  })
1140
1811
  ];
1141
1812
  return memoisedParsedInstructionsBpfUpgradeableLoader;
@@ -1145,29 +1816,221 @@ var parsedInstructionsSplAssociatedToken = () => {
1145
1816
  if (!memoisedParsedInstructionsSplAssociatedToken)
1146
1817
  memoisedParsedInstructionsSplAssociatedToken = [
1147
1818
  parsedTransactionInstructionType("SplAssociatedTokenCreateInstruction", {
1148
- account: string(),
1149
- mint: string(),
1150
- source: string(),
1151
- systemProgram: string(),
1152
- tokenProgram: string(),
1153
- wallet: string()
1819
+ // Nested Account interface
1820
+ account: {
1821
+ args: {
1822
+ commitment: type(commitmentInputType()),
1823
+ dataSlice: type(dataSliceInputType()),
1824
+ encoding: type(accountEncodingInputType()),
1825
+ minContextSlot: bigint()
1826
+ },
1827
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1828
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1829
+ type: accountInterface()
1830
+ },
1831
+ mint: {
1832
+ args: {
1833
+ commitment: type(commitmentInputType()),
1834
+ dataSlice: type(dataSliceInputType()),
1835
+ encoding: type(accountEncodingInputType()),
1836
+ minContextSlot: bigint()
1837
+ },
1838
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1839
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
1840
+ type: accountInterface()
1841
+ },
1842
+ source: {
1843
+ args: {
1844
+ commitment: type(commitmentInputType()),
1845
+ dataSlice: type(dataSliceInputType()),
1846
+ encoding: type(accountEncodingInputType()),
1847
+ minContextSlot: bigint()
1848
+ },
1849
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1850
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
1851
+ type: accountInterface()
1852
+ },
1853
+ systemProgram: {
1854
+ args: {
1855
+ commitment: type(commitmentInputType()),
1856
+ dataSlice: type(dataSliceInputType()),
1857
+ encoding: type(accountEncodingInputType()),
1858
+ minContextSlot: bigint()
1859
+ },
1860
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1861
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1862
+ type: accountInterface()
1863
+ },
1864
+ tokenProgram: {
1865
+ args: {
1866
+ commitment: type(commitmentInputType()),
1867
+ dataSlice: type(dataSliceInputType()),
1868
+ encoding: type(accountEncodingInputType()),
1869
+ minContextSlot: bigint()
1870
+ },
1871
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1872
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
1873
+ type: accountInterface()
1874
+ },
1875
+ wallet: {
1876
+ args: {
1877
+ commitment: type(commitmentInputType()),
1878
+ dataSlice: type(dataSliceInputType()),
1879
+ encoding: type(accountEncodingInputType()),
1880
+ minContextSlot: bigint()
1881
+ },
1882
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1883
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
1884
+ type: accountInterface()
1885
+ }
1154
1886
  }),
1155
1887
  parsedTransactionInstructionType("SplAssociatedTokenCreateIdempotentInstruction", {
1156
- account: string(),
1157
- mint: string(),
1158
- source: string(),
1159
- systemProgram: string(),
1160
- tokenProgram: string(),
1161
- wallet: string()
1888
+ // Nested Account interface
1889
+ account: {
1890
+ args: {
1891
+ commitment: type(commitmentInputType()),
1892
+ dataSlice: type(dataSliceInputType()),
1893
+ encoding: type(accountEncodingInputType()),
1894
+ minContextSlot: bigint()
1895
+ },
1896
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1897
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
1898
+ type: accountInterface()
1899
+ },
1900
+ mint: {
1901
+ args: {
1902
+ commitment: type(commitmentInputType()),
1903
+ dataSlice: type(dataSliceInputType()),
1904
+ encoding: type(accountEncodingInputType()),
1905
+ minContextSlot: bigint()
1906
+ },
1907
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1908
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
1909
+ type: accountInterface()
1910
+ },
1911
+ source: {
1912
+ args: {
1913
+ commitment: type(commitmentInputType()),
1914
+ dataSlice: type(dataSliceInputType()),
1915
+ encoding: type(accountEncodingInputType()),
1916
+ minContextSlot: bigint()
1917
+ },
1918
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1919
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
1920
+ type: accountInterface()
1921
+ },
1922
+ systemProgram: {
1923
+ args: {
1924
+ commitment: type(commitmentInputType()),
1925
+ dataSlice: type(dataSliceInputType()),
1926
+ encoding: type(accountEncodingInputType()),
1927
+ minContextSlot: bigint()
1928
+ },
1929
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1930
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.systemProgram }, info),
1931
+ type: accountInterface()
1932
+ },
1933
+ tokenProgram: {
1934
+ args: {
1935
+ commitment: type(commitmentInputType()),
1936
+ dataSlice: type(dataSliceInputType()),
1937
+ encoding: type(accountEncodingInputType()),
1938
+ minContextSlot: bigint()
1939
+ },
1940
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1941
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
1942
+ type: accountInterface()
1943
+ },
1944
+ wallet: {
1945
+ args: {
1946
+ commitment: type(commitmentInputType()),
1947
+ dataSlice: type(dataSliceInputType()),
1948
+ encoding: type(accountEncodingInputType()),
1949
+ minContextSlot: bigint()
1950
+ },
1951
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1952
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
1953
+ type: accountInterface()
1954
+ }
1162
1955
  }),
1163
1956
  parsedTransactionInstructionType("SplAssociatedTokenRecoverNestedInstruction", {
1164
- destination: string(),
1165
- nestedMint: string(),
1166
- nestedOwner: string(),
1167
- nestedSource: string(),
1168
- ownerMint: string(),
1169
- tokenProgram: string(),
1170
- wallet: string()
1957
+ destination: {
1958
+ args: {
1959
+ commitment: type(commitmentInputType()),
1960
+ dataSlice: type(dataSliceInputType()),
1961
+ encoding: type(accountEncodingInputType()),
1962
+ minContextSlot: bigint()
1963
+ },
1964
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1965
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
1966
+ type: accountInterface()
1967
+ },
1968
+ nestedMint: {
1969
+ args: {
1970
+ commitment: type(commitmentInputType()),
1971
+ dataSlice: type(dataSliceInputType()),
1972
+ encoding: type(accountEncodingInputType()),
1973
+ minContextSlot: bigint()
1974
+ },
1975
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1976
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedMint }, info),
1977
+ type: accountInterface()
1978
+ },
1979
+ nestedOwner: {
1980
+ args: {
1981
+ commitment: type(commitmentInputType()),
1982
+ dataSlice: type(dataSliceInputType()),
1983
+ encoding: type(accountEncodingInputType()),
1984
+ minContextSlot: bigint()
1985
+ },
1986
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1987
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedOwner }, info),
1988
+ type: accountInterface()
1989
+ },
1990
+ nestedSource: {
1991
+ args: {
1992
+ commitment: type(commitmentInputType()),
1993
+ dataSlice: type(dataSliceInputType()),
1994
+ encoding: type(accountEncodingInputType()),
1995
+ minContextSlot: bigint()
1996
+ },
1997
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1998
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nestedSource }, info),
1999
+ type: accountInterface()
2000
+ },
2001
+ ownerMint: {
2002
+ args: {
2003
+ commitment: type(commitmentInputType()),
2004
+ dataSlice: type(dataSliceInputType()),
2005
+ encoding: type(accountEncodingInputType()),
2006
+ minContextSlot: bigint()
2007
+ },
2008
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2009
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.ownerMint }, info),
2010
+ type: accountInterface()
2011
+ },
2012
+ tokenProgram: {
2013
+ args: {
2014
+ commitment: type(commitmentInputType()),
2015
+ dataSlice: type(dataSliceInputType()),
2016
+ encoding: type(accountEncodingInputType()),
2017
+ minContextSlot: bigint()
2018
+ },
2019
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2020
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.tokenProgram }, info),
2021
+ type: accountInterface()
2022
+ },
2023
+ wallet: {
2024
+ args: {
2025
+ commitment: type(commitmentInputType()),
2026
+ dataSlice: type(dataSliceInputType()),
2027
+ encoding: type(accountEncodingInputType()),
2028
+ minContextSlot: bigint()
2029
+ },
2030
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2031
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.wallet }, info),
2032
+ type: accountInterface()
2033
+ }
1171
2034
  })
1172
2035
  ];
1173
2036
  return memoisedParsedInstructionsSplAssociatedToken;
@@ -1192,155 +2055,980 @@ var parsedInstructionsSplToken = () => {
1192
2055
  memoisedParsedInstructionsSplToken = [
1193
2056
  parsedTransactionInstructionType("SplTokenInitializeMintInstruction", {
1194
2057
  decimals: number(),
1195
- freezeAuthority: string(),
1196
- mint: string(),
1197
- mintAuthority: string(),
2058
+ freezeAuthority: {
2059
+ args: {
2060
+ commitment: type(commitmentInputType()),
2061
+ dataSlice: type(dataSliceInputType()),
2062
+ encoding: type(accountEncodingInputType()),
2063
+ minContextSlot: bigint()
2064
+ },
2065
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2066
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2067
+ type: accountInterface()
2068
+ },
2069
+ mint: {
2070
+ args: {
2071
+ commitment: type(commitmentInputType()),
2072
+ dataSlice: type(dataSliceInputType()),
2073
+ encoding: type(accountEncodingInputType()),
2074
+ minContextSlot: bigint()
2075
+ },
2076
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2077
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2078
+ type: accountInterface()
2079
+ },
2080
+ mintAuthority: {
2081
+ args: {
2082
+ commitment: type(commitmentInputType()),
2083
+ dataSlice: type(dataSliceInputType()),
2084
+ encoding: type(accountEncodingInputType()),
2085
+ minContextSlot: bigint()
2086
+ },
2087
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2088
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2089
+ type: accountInterface()
2090
+ },
1198
2091
  rentSysvar: string()
1199
2092
  }),
1200
2093
  parsedTransactionInstructionType("SplTokenInitializeMint2Instruction", {
1201
2094
  decimals: number(),
1202
- freezeAuthority: string(),
1203
- mint: string(),
1204
- mintAuthority: string()
2095
+ freezeAuthority: {
2096
+ args: {
2097
+ commitment: type(commitmentInputType()),
2098
+ dataSlice: type(dataSliceInputType()),
2099
+ encoding: type(accountEncodingInputType()),
2100
+ minContextSlot: bigint()
2101
+ },
2102
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2103
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2104
+ type: accountInterface()
2105
+ },
2106
+ mint: {
2107
+ args: {
2108
+ commitment: type(commitmentInputType()),
2109
+ dataSlice: type(dataSliceInputType()),
2110
+ encoding: type(accountEncodingInputType()),
2111
+ minContextSlot: bigint()
2112
+ },
2113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2114
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2115
+ type: accountInterface()
2116
+ },
2117
+ mintAuthority: {
2118
+ args: {
2119
+ commitment: type(commitmentInputType()),
2120
+ dataSlice: type(dataSliceInputType()),
2121
+ encoding: type(accountEncodingInputType()),
2122
+ minContextSlot: bigint()
2123
+ },
2124
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2125
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2126
+ type: accountInterface()
2127
+ }
1205
2128
  }),
1206
2129
  parsedTransactionInstructionType("SplTokenInitializeAccountInstruction", {
1207
- account: string(),
1208
- mint: string(),
1209
- owner: string(),
2130
+ // Nested Account interface
2131
+ account: {
2132
+ args: {
2133
+ commitment: type(commitmentInputType()),
2134
+ dataSlice: type(dataSliceInputType()),
2135
+ encoding: type(accountEncodingInputType()),
2136
+ minContextSlot: bigint()
2137
+ },
2138
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2139
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2140
+ type: accountInterface()
2141
+ },
2142
+ mint: {
2143
+ args: {
2144
+ commitment: type(commitmentInputType()),
2145
+ dataSlice: type(dataSliceInputType()),
2146
+ encoding: type(accountEncodingInputType()),
2147
+ minContextSlot: bigint()
2148
+ },
2149
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2150
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2151
+ type: accountInterface()
2152
+ },
2153
+ // Nested Account interface
2154
+ owner: {
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.owner }, info),
2163
+ type: accountInterface()
2164
+ },
1210
2165
  rentSysvar: string()
1211
2166
  }),
1212
2167
  parsedTransactionInstructionType("SplTokenInitializeAccount2Instruction", {
1213
- account: string(),
1214
- mint: string(),
1215
- owner: string(),
2168
+ // Nested Account interface
2169
+ account: {
2170
+ args: {
2171
+ commitment: type(commitmentInputType()),
2172
+ dataSlice: type(dataSliceInputType()),
2173
+ encoding: type(accountEncodingInputType()),
2174
+ minContextSlot: bigint()
2175
+ },
2176
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2177
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2178
+ type: accountInterface()
2179
+ },
2180
+ mint: {
2181
+ args: {
2182
+ commitment: type(commitmentInputType()),
2183
+ dataSlice: type(dataSliceInputType()),
2184
+ encoding: type(accountEncodingInputType()),
2185
+ minContextSlot: bigint()
2186
+ },
2187
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2188
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2189
+ type: accountInterface()
2190
+ },
2191
+ // Nested Account interface
2192
+ owner: {
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.owner }, info),
2201
+ type: accountInterface()
2202
+ },
1216
2203
  rentSysvar: string()
1217
2204
  }),
1218
2205
  parsedTransactionInstructionType("SplTokenInitializeAccount3Instruction", {
1219
- account: string(),
1220
- mint: string(),
1221
- owner: string()
2206
+ // Nested Account interface
2207
+ account: {
2208
+ args: {
2209
+ commitment: type(commitmentInputType()),
2210
+ dataSlice: type(dataSliceInputType()),
2211
+ encoding: type(accountEncodingInputType()),
2212
+ minContextSlot: bigint()
2213
+ },
2214
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2215
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2216
+ type: accountInterface()
2217
+ },
2218
+ mint: {
2219
+ args: {
2220
+ commitment: type(commitmentInputType()),
2221
+ dataSlice: type(dataSliceInputType()),
2222
+ encoding: type(accountEncodingInputType()),
2223
+ minContextSlot: bigint()
2224
+ },
2225
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2226
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2227
+ type: accountInterface()
2228
+ },
2229
+ // Nested Account interface
2230
+ owner: {
2231
+ args: {
2232
+ commitment: type(commitmentInputType()),
2233
+ dataSlice: type(dataSliceInputType()),
2234
+ encoding: type(accountEncodingInputType()),
2235
+ minContextSlot: bigint()
2236
+ },
2237
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2238
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2239
+ type: accountInterface()
2240
+ }
1222
2241
  }),
1223
2242
  parsedTransactionInstructionType("SplTokenInitializeMultisigInstruction", {
1224
2243
  m: number(),
1225
- multisig: string(),
2244
+ // Nested Account interface
2245
+ multisig: {
2246
+ args: {
2247
+ commitment: type(commitmentInputType()),
2248
+ dataSlice: type(dataSliceInputType()),
2249
+ encoding: type(accountEncodingInputType()),
2250
+ minContextSlot: bigint()
2251
+ },
2252
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2253
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisig }, info),
2254
+ type: accountInterface()
2255
+ },
1226
2256
  rentSysvar: string(),
1227
2257
  signers: list(string())
1228
2258
  }),
1229
2259
  parsedTransactionInstructionType("SplTokenInitializeMultisig2Instruction", {
1230
2260
  m: number(),
1231
- multisig: string(),
2261
+ // Nested Account interface
2262
+ multisig: {
2263
+ args: {
2264
+ commitment: type(commitmentInputType()),
2265
+ dataSlice: type(dataSliceInputType()),
2266
+ encoding: type(accountEncodingInputType()),
2267
+ minContextSlot: bigint()
2268
+ },
2269
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2270
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisig }, info),
2271
+ type: accountInterface()
2272
+ },
1232
2273
  signers: list(string())
1233
2274
  }),
1234
2275
  parsedTransactionInstructionType("SplTokenTransferInstruction", {
1235
2276
  amount: string(),
1236
- authority: string(),
1237
- destination: string(),
1238
- multisigAuthority: string(),
1239
- source: string()
2277
+ // Nested Account interface
2278
+ authority: {
2279
+ args: {
2280
+ commitment: type(commitmentInputType()),
2281
+ dataSlice: type(dataSliceInputType()),
2282
+ encoding: type(accountEncodingInputType()),
2283
+ minContextSlot: bigint()
2284
+ },
2285
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2286
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2287
+ type: accountInterface()
2288
+ },
2289
+ destination: {
2290
+ args: {
2291
+ commitment: type(commitmentInputType()),
2292
+ dataSlice: type(dataSliceInputType()),
2293
+ encoding: type(accountEncodingInputType()),
2294
+ minContextSlot: bigint()
2295
+ },
2296
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2297
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2298
+ type: accountInterface()
2299
+ },
2300
+ // Nested Account interface
2301
+ multisigAuthority: {
2302
+ args: {
2303
+ commitment: type(commitmentInputType()),
2304
+ dataSlice: type(dataSliceInputType()),
2305
+ encoding: type(accountEncodingInputType()),
2306
+ minContextSlot: bigint()
2307
+ },
2308
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2309
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2310
+ type: accountInterface()
2311
+ },
2312
+ source: {
2313
+ args: {
2314
+ commitment: type(commitmentInputType()),
2315
+ dataSlice: type(dataSliceInputType()),
2316
+ encoding: type(accountEncodingInputType()),
2317
+ minContextSlot: bigint()
2318
+ },
2319
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2320
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2321
+ type: accountInterface()
2322
+ }
1240
2323
  }),
1241
2324
  parsedTransactionInstructionType("SplTokenApproveInstruction", {
1242
2325
  amount: string(),
1243
- delegate: string(),
1244
- multisigOwner: string(),
1245
- owner: string(),
1246
- source: string()
2326
+ // Nested Account interface
2327
+ delegate: {
2328
+ args: {
2329
+ commitment: type(commitmentInputType()),
2330
+ dataSlice: type(dataSliceInputType()),
2331
+ encoding: type(accountEncodingInputType()),
2332
+ minContextSlot: bigint()
2333
+ },
2334
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2335
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.delegate }, info),
2336
+ type: accountInterface()
2337
+ },
2338
+ // Nested Account interface
2339
+ multisigOwner: {
2340
+ args: {
2341
+ commitment: type(commitmentInputType()),
2342
+ dataSlice: type(dataSliceInputType()),
2343
+ encoding: type(accountEncodingInputType()),
2344
+ minContextSlot: bigint()
2345
+ },
2346
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2347
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2348
+ type: accountInterface()
2349
+ },
2350
+ // Nested Account interface
2351
+ owner: {
2352
+ args: {
2353
+ commitment: type(commitmentInputType()),
2354
+ dataSlice: type(dataSliceInputType()),
2355
+ encoding: type(accountEncodingInputType()),
2356
+ minContextSlot: bigint()
2357
+ },
2358
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2359
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2360
+ type: accountInterface()
2361
+ },
2362
+ source: {
2363
+ args: {
2364
+ commitment: type(commitmentInputType()),
2365
+ dataSlice: type(dataSliceInputType()),
2366
+ encoding: type(accountEncodingInputType()),
2367
+ minContextSlot: bigint()
2368
+ },
2369
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2370
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2371
+ type: accountInterface()
2372
+ }
1247
2373
  }),
1248
2374
  parsedTransactionInstructionType("SplTokenRevokeInstruction", {
1249
- multisigOwner: string(),
1250
- owner: string(),
1251
- source: string()
2375
+ // Nested Account interface
2376
+ multisigOwner: {
2377
+ args: {
2378
+ commitment: type(commitmentInputType()),
2379
+ dataSlice: type(dataSliceInputType()),
2380
+ encoding: type(accountEncodingInputType()),
2381
+ minContextSlot: bigint()
2382
+ },
2383
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2384
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2385
+ type: accountInterface()
2386
+ },
2387
+ // Nested Account interface
2388
+ owner: {
2389
+ args: {
2390
+ commitment: type(commitmentInputType()),
2391
+ dataSlice: type(dataSliceInputType()),
2392
+ encoding: type(accountEncodingInputType()),
2393
+ minContextSlot: bigint()
2394
+ },
2395
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2396
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2397
+ type: accountInterface()
2398
+ },
2399
+ source: {
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.source }, info),
2408
+ type: accountInterface()
2409
+ }
1252
2410
  }),
1253
2411
  parsedTransactionInstructionType("SplTokenSetAuthorityInstruction", {
1254
- authority: string(),
2412
+ // Nested Account interface
2413
+ authority: {
2414
+ args: {
2415
+ commitment: type(commitmentInputType()),
2416
+ dataSlice: type(dataSliceInputType()),
2417
+ encoding: type(accountEncodingInputType()),
2418
+ minContextSlot: bigint()
2419
+ },
2420
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2421
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2422
+ type: accountInterface()
2423
+ },
1255
2424
  authorityType: string(),
1256
- multisigAuthority: string(),
1257
- newAuthority: string()
2425
+ // Nested Account interface
2426
+ multisigAuthority: {
2427
+ args: {
2428
+ commitment: type(commitmentInputType()),
2429
+ dataSlice: type(dataSliceInputType()),
2430
+ encoding: type(accountEncodingInputType()),
2431
+ minContextSlot: bigint()
2432
+ },
2433
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2434
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2435
+ type: accountInterface()
2436
+ },
2437
+ // Nested Account interface
2438
+ newAuthority: {
2439
+ args: {
2440
+ commitment: type(commitmentInputType()),
2441
+ dataSlice: type(dataSliceInputType()),
2442
+ encoding: type(accountEncodingInputType()),
2443
+ minContextSlot: bigint()
2444
+ },
2445
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2446
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
2447
+ type: accountInterface()
2448
+ }
1258
2449
  }),
1259
2450
  parsedTransactionInstructionType("SplTokenMintToInstruction", {
1260
- account: string(),
2451
+ // Nested Account interface
2452
+ account: {
2453
+ args: {
2454
+ commitment: type(commitmentInputType()),
2455
+ dataSlice: type(dataSliceInputType()),
2456
+ encoding: type(accountEncodingInputType()),
2457
+ minContextSlot: bigint()
2458
+ },
2459
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2460
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2461
+ type: accountInterface()
2462
+ },
1261
2463
  amount: string(),
1262
- authority: string(),
1263
- mint: string(),
1264
- mintAuthority: string(),
1265
- multisigMintAuthority: string()
2464
+ // Nested Account interface
2465
+ authority: {
2466
+ args: {
2467
+ commitment: type(commitmentInputType()),
2468
+ dataSlice: type(dataSliceInputType()),
2469
+ encoding: type(accountEncodingInputType()),
2470
+ minContextSlot: bigint()
2471
+ },
2472
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2473
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2474
+ type: accountInterface()
2475
+ },
2476
+ mint: {
2477
+ args: {
2478
+ commitment: type(commitmentInputType()),
2479
+ dataSlice: type(dataSliceInputType()),
2480
+ encoding: type(accountEncodingInputType()),
2481
+ minContextSlot: bigint()
2482
+ },
2483
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2484
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2485
+ type: accountInterface()
2486
+ },
2487
+ mintAuthority: {
2488
+ args: {
2489
+ commitment: type(commitmentInputType()),
2490
+ dataSlice: type(dataSliceInputType()),
2491
+ encoding: type(accountEncodingInputType()),
2492
+ minContextSlot: bigint()
2493
+ },
2494
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2495
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2496
+ type: accountInterface()
2497
+ },
2498
+ // Nested Account interface
2499
+ multisigMintAuthority: {
2500
+ args: {
2501
+ commitment: type(commitmentInputType()),
2502
+ dataSlice: type(dataSliceInputType()),
2503
+ encoding: type(accountEncodingInputType()),
2504
+ minContextSlot: bigint()
2505
+ },
2506
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2507
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigMintAuthority }, info),
2508
+ type: accountInterface()
2509
+ }
1266
2510
  }),
1267
2511
  parsedTransactionInstructionType("SplTokenBurnInstruction", {
1268
- account: string(),
2512
+ // Nested Account interface
2513
+ account: {
2514
+ args: {
2515
+ commitment: type(commitmentInputType()),
2516
+ dataSlice: type(dataSliceInputType()),
2517
+ encoding: type(accountEncodingInputType()),
2518
+ minContextSlot: bigint()
2519
+ },
2520
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2521
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2522
+ type: accountInterface()
2523
+ },
1269
2524
  amount: string(),
1270
- authority: string(),
1271
- mint: string(),
1272
- multisigAuthority: string()
2525
+ // Nested Account interface
2526
+ authority: {
2527
+ args: {
2528
+ commitment: type(commitmentInputType()),
2529
+ dataSlice: type(dataSliceInputType()),
2530
+ encoding: type(accountEncodingInputType()),
2531
+ minContextSlot: bigint()
2532
+ },
2533
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2534
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2535
+ type: accountInterface()
2536
+ },
2537
+ mint: {
2538
+ args: {
2539
+ commitment: type(commitmentInputType()),
2540
+ dataSlice: type(dataSliceInputType()),
2541
+ encoding: type(accountEncodingInputType()),
2542
+ minContextSlot: bigint()
2543
+ },
2544
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2545
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2546
+ type: accountInterface()
2547
+ },
2548
+ // Nested Account interface
2549
+ multisigAuthority: {
2550
+ args: {
2551
+ commitment: type(commitmentInputType()),
2552
+ dataSlice: type(dataSliceInputType()),
2553
+ encoding: type(accountEncodingInputType()),
2554
+ minContextSlot: bigint()
2555
+ },
2556
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2557
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2558
+ type: accountInterface()
2559
+ }
1273
2560
  }),
1274
2561
  parsedTransactionInstructionType("SplTokenCloseAccountInstruction", {
1275
- account: string(),
1276
- destination: string(),
1277
- multisigOwner: string(),
1278
- owner: string()
2562
+ // Nested Account interface
2563
+ account: {
2564
+ args: {
2565
+ commitment: type(commitmentInputType()),
2566
+ dataSlice: type(dataSliceInputType()),
2567
+ encoding: type(accountEncodingInputType()),
2568
+ minContextSlot: bigint()
2569
+ },
2570
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2571
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2572
+ type: accountInterface()
2573
+ },
2574
+ destination: {
2575
+ args: {
2576
+ commitment: type(commitmentInputType()),
2577
+ dataSlice: type(dataSliceInputType()),
2578
+ encoding: type(accountEncodingInputType()),
2579
+ minContextSlot: bigint()
2580
+ },
2581
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2582
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2583
+ type: accountInterface()
2584
+ },
2585
+ // Nested Account interface
2586
+ multisigOwner: {
2587
+ args: {
2588
+ commitment: type(commitmentInputType()),
2589
+ dataSlice: type(dataSliceInputType()),
2590
+ encoding: type(accountEncodingInputType()),
2591
+ minContextSlot: bigint()
2592
+ },
2593
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2594
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2595
+ type: accountInterface()
2596
+ },
2597
+ // Nested Account interface
2598
+ owner: {
2599
+ args: {
2600
+ commitment: type(commitmentInputType()),
2601
+ dataSlice: type(dataSliceInputType()),
2602
+ encoding: type(accountEncodingInputType()),
2603
+ minContextSlot: bigint()
2604
+ },
2605
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2606
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2607
+ type: accountInterface()
2608
+ }
1279
2609
  }),
1280
2610
  parsedTransactionInstructionType("SplTokenFreezeAccountInstruction", {
1281
- account: string(),
1282
- freezeAuthority: string(),
1283
- mint: string(),
1284
- multisigFreezeAuthority: string()
2611
+ // Nested Account interface
2612
+ account: {
2613
+ args: {
2614
+ commitment: type(commitmentInputType()),
2615
+ dataSlice: type(dataSliceInputType()),
2616
+ encoding: type(accountEncodingInputType()),
2617
+ minContextSlot: bigint()
2618
+ },
2619
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2620
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2621
+ type: accountInterface()
2622
+ },
2623
+ freezeAuthority: {
2624
+ args: {
2625
+ commitment: type(commitmentInputType()),
2626
+ dataSlice: type(dataSliceInputType()),
2627
+ encoding: type(accountEncodingInputType()),
2628
+ minContextSlot: bigint()
2629
+ },
2630
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2631
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2632
+ type: accountInterface()
2633
+ },
2634
+ mint: {
2635
+ args: {
2636
+ commitment: type(commitmentInputType()),
2637
+ dataSlice: type(dataSliceInputType()),
2638
+ encoding: type(accountEncodingInputType()),
2639
+ minContextSlot: bigint()
2640
+ },
2641
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2642
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2643
+ type: accountInterface()
2644
+ },
2645
+ // Nested Account interface
2646
+ multisigFreezeAuthority: {
2647
+ args: {
2648
+ commitment: type(commitmentInputType()),
2649
+ dataSlice: type(dataSliceInputType()),
2650
+ encoding: type(accountEncodingInputType()),
2651
+ minContextSlot: bigint()
2652
+ },
2653
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2654
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigFreezeAuthority }, info),
2655
+ type: accountInterface()
2656
+ }
1285
2657
  }),
1286
2658
  parsedTransactionInstructionType("SplTokenThawAccountInstruction", {
1287
- account: string(),
1288
- freezeAuthority: string(),
1289
- mint: string(),
1290
- multisigFreezeAuthority: string()
2659
+ // Nested Account interface
2660
+ account: {
2661
+ args: {
2662
+ commitment: type(commitmentInputType()),
2663
+ dataSlice: type(dataSliceInputType()),
2664
+ encoding: type(accountEncodingInputType()),
2665
+ minContextSlot: bigint()
2666
+ },
2667
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2668
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2669
+ type: accountInterface()
2670
+ },
2671
+ freezeAuthority: {
2672
+ args: {
2673
+ commitment: type(commitmentInputType()),
2674
+ dataSlice: type(dataSliceInputType()),
2675
+ encoding: type(accountEncodingInputType()),
2676
+ minContextSlot: bigint()
2677
+ },
2678
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2679
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.freezeAuthority }, info),
2680
+ type: accountInterface()
2681
+ },
2682
+ mint: {
2683
+ args: {
2684
+ commitment: type(commitmentInputType()),
2685
+ dataSlice: type(dataSliceInputType()),
2686
+ encoding: type(accountEncodingInputType()),
2687
+ minContextSlot: bigint()
2688
+ },
2689
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2690
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2691
+ type: accountInterface()
2692
+ },
2693
+ // Nested Account interface
2694
+ multisigFreezeAuthority: {
2695
+ args: {
2696
+ commitment: type(commitmentInputType()),
2697
+ dataSlice: type(dataSliceInputType()),
2698
+ encoding: type(accountEncodingInputType()),
2699
+ minContextSlot: bigint()
2700
+ },
2701
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2702
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigFreezeAuthority }, info),
2703
+ type: accountInterface()
2704
+ }
1291
2705
  }),
1292
2706
  parsedTransactionInstructionType("SplTokenTransferCheckedInstruction", {
1293
- authority: string(),
1294
- destination: string(),
1295
- mint: string(),
1296
- multisigAuthority: string(),
1297
- source: string(),
2707
+ // Nested Account interface
2708
+ authority: {
2709
+ args: {
2710
+ commitment: type(commitmentInputType()),
2711
+ dataSlice: type(dataSliceInputType()),
2712
+ encoding: type(accountEncodingInputType()),
2713
+ minContextSlot: bigint()
2714
+ },
2715
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2716
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2717
+ type: accountInterface()
2718
+ },
2719
+ destination: {
2720
+ args: {
2721
+ commitment: type(commitmentInputType()),
2722
+ dataSlice: type(dataSliceInputType()),
2723
+ encoding: type(accountEncodingInputType()),
2724
+ minContextSlot: bigint()
2725
+ },
2726
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2727
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
2728
+ type: accountInterface()
2729
+ },
2730
+ mint: {
2731
+ args: {
2732
+ commitment: type(commitmentInputType()),
2733
+ dataSlice: type(dataSliceInputType()),
2734
+ encoding: type(accountEncodingInputType()),
2735
+ minContextSlot: bigint()
2736
+ },
2737
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2738
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2739
+ type: accountInterface()
2740
+ },
2741
+ // Nested Account interface
2742
+ multisigAuthority: {
2743
+ args: {
2744
+ commitment: type(commitmentInputType()),
2745
+ dataSlice: type(dataSliceInputType()),
2746
+ encoding: type(accountEncodingInputType()),
2747
+ minContextSlot: bigint()
2748
+ },
2749
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2750
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2751
+ type: accountInterface()
2752
+ },
2753
+ source: {
2754
+ args: {
2755
+ commitment: type(commitmentInputType()),
2756
+ dataSlice: type(dataSliceInputType()),
2757
+ encoding: type(accountEncodingInputType()),
2758
+ minContextSlot: bigint()
2759
+ },
2760
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2761
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2762
+ type: accountInterface()
2763
+ },
1298
2764
  tokenAmount: string()
1299
2765
  }),
1300
2766
  parsedTransactionInstructionType("SplTokenApproveCheckedInstruction", {
1301
- delegate: string(),
1302
- mint: string(),
1303
- multisigOwner: string(),
1304
- owner: string(),
1305
- source: string(),
2767
+ // Nested Account interface
2768
+ delegate: {
2769
+ args: {
2770
+ commitment: type(commitmentInputType()),
2771
+ dataSlice: type(dataSliceInputType()),
2772
+ encoding: type(accountEncodingInputType()),
2773
+ minContextSlot: bigint()
2774
+ },
2775
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2776
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.delegate }, info),
2777
+ type: accountInterface()
2778
+ },
2779
+ mint: {
2780
+ args: {
2781
+ commitment: type(commitmentInputType()),
2782
+ dataSlice: type(dataSliceInputType()),
2783
+ encoding: type(accountEncodingInputType()),
2784
+ minContextSlot: bigint()
2785
+ },
2786
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2787
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2788
+ type: accountInterface()
2789
+ },
2790
+ // Nested Account interface
2791
+ multisigOwner: {
2792
+ args: {
2793
+ commitment: type(commitmentInputType()),
2794
+ dataSlice: type(dataSliceInputType()),
2795
+ encoding: type(accountEncodingInputType()),
2796
+ minContextSlot: bigint()
2797
+ },
2798
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2799
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigOwner }, info),
2800
+ type: accountInterface()
2801
+ },
2802
+ // Nested Account interface
2803
+ owner: {
2804
+ args: {
2805
+ commitment: type(commitmentInputType()),
2806
+ dataSlice: type(dataSliceInputType()),
2807
+ encoding: type(accountEncodingInputType()),
2808
+ minContextSlot: bigint()
2809
+ },
2810
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2811
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
2812
+ type: accountInterface()
2813
+ },
2814
+ source: {
2815
+ args: {
2816
+ commitment: type(commitmentInputType()),
2817
+ dataSlice: type(dataSliceInputType()),
2818
+ encoding: type(accountEncodingInputType()),
2819
+ minContextSlot: bigint()
2820
+ },
2821
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2822
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
2823
+ type: accountInterface()
2824
+ },
1306
2825
  tokenAmount: string()
1307
2826
  }),
1308
2827
  parsedTransactionInstructionType("SplTokenMintToCheckedInstruction", {
1309
- account: string(),
1310
- authority: string(),
1311
- mint: string(),
1312
- mintAuthority: string(),
1313
- multisigMintAuthority: string(),
2828
+ // Nested Account interface
2829
+ account: {
2830
+ args: {
2831
+ commitment: type(commitmentInputType()),
2832
+ dataSlice: type(dataSliceInputType()),
2833
+ encoding: type(accountEncodingInputType()),
2834
+ minContextSlot: bigint()
2835
+ },
2836
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2837
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2838
+ type: accountInterface()
2839
+ },
2840
+ // Nested Account interface
2841
+ authority: {
2842
+ args: {
2843
+ commitment: type(commitmentInputType()),
2844
+ dataSlice: type(dataSliceInputType()),
2845
+ encoding: type(accountEncodingInputType()),
2846
+ minContextSlot: bigint()
2847
+ },
2848
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2849
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2850
+ type: accountInterface()
2851
+ },
2852
+ mint: {
2853
+ args: {
2854
+ commitment: type(commitmentInputType()),
2855
+ dataSlice: type(dataSliceInputType()),
2856
+ encoding: type(accountEncodingInputType()),
2857
+ minContextSlot: bigint()
2858
+ },
2859
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2860
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2861
+ type: accountInterface()
2862
+ },
2863
+ mintAuthority: {
2864
+ args: {
2865
+ commitment: type(commitmentInputType()),
2866
+ dataSlice: type(dataSliceInputType()),
2867
+ encoding: type(accountEncodingInputType()),
2868
+ minContextSlot: bigint()
2869
+ },
2870
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2871
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mintAuthority }, info),
2872
+ type: accountInterface()
2873
+ },
2874
+ // Nested Account interface
2875
+ multisigMintAuthority: {
2876
+ args: {
2877
+ commitment: type(commitmentInputType()),
2878
+ dataSlice: type(dataSliceInputType()),
2879
+ encoding: type(accountEncodingInputType()),
2880
+ minContextSlot: bigint()
2881
+ },
2882
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2883
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigMintAuthority }, info),
2884
+ type: accountInterface()
2885
+ },
1314
2886
  tokenAmount: string()
1315
2887
  }),
1316
2888
  parsedTransactionInstructionType("SplTokenBurnCheckedInstruction", {
1317
- account: string(),
1318
- authority: string(),
1319
- mint: string(),
1320
- multisigAuthority: string(),
2889
+ // Nested Account interface
2890
+ account: {
2891
+ args: {
2892
+ commitment: type(commitmentInputType()),
2893
+ dataSlice: type(dataSliceInputType()),
2894
+ encoding: type(accountEncodingInputType()),
2895
+ minContextSlot: bigint()
2896
+ },
2897
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2898
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2899
+ type: accountInterface()
2900
+ },
2901
+ // Nested Account interface
2902
+ authority: {
2903
+ args: {
2904
+ commitment: type(commitmentInputType()),
2905
+ dataSlice: type(dataSliceInputType()),
2906
+ encoding: type(accountEncodingInputType()),
2907
+ minContextSlot: bigint()
2908
+ },
2909
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2910
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
2911
+ type: accountInterface()
2912
+ },
2913
+ mint: {
2914
+ args: {
2915
+ commitment: type(commitmentInputType()),
2916
+ dataSlice: type(dataSliceInputType()),
2917
+ encoding: type(accountEncodingInputType()),
2918
+ minContextSlot: bigint()
2919
+ },
2920
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2921
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2922
+ type: accountInterface()
2923
+ },
2924
+ // Nested Account interface
2925
+ multisigAuthority: {
2926
+ args: {
2927
+ commitment: type(commitmentInputType()),
2928
+ dataSlice: type(dataSliceInputType()),
2929
+ encoding: type(accountEncodingInputType()),
2930
+ minContextSlot: bigint()
2931
+ },
2932
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2933
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.multisigAuthority }, info),
2934
+ type: accountInterface()
2935
+ },
1321
2936
  tokenAmount: string()
1322
2937
  }),
1323
2938
  parsedTransactionInstructionType("SplTokenSyncNativeInstruction", {
1324
- account: string()
2939
+ // Nested Account interface
2940
+ account: {
2941
+ args: {
2942
+ commitment: type(commitmentInputType()),
2943
+ dataSlice: type(dataSliceInputType()),
2944
+ encoding: type(accountEncodingInputType()),
2945
+ minContextSlot: bigint()
2946
+ },
2947
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2948
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
2949
+ type: accountInterface()
2950
+ }
1325
2951
  }),
1326
2952
  parsedTransactionInstructionType("SplTokenGetAccountDataSizeInstruction", {
1327
2953
  extensionTypes: list(string()),
1328
- mint: string()
2954
+ mint: {
2955
+ args: {
2956
+ commitment: type(commitmentInputType()),
2957
+ dataSlice: type(dataSliceInputType()),
2958
+ encoding: type(accountEncodingInputType()),
2959
+ minContextSlot: bigint()
2960
+ },
2961
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2962
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2963
+ type: accountInterface()
2964
+ }
1329
2965
  }),
1330
2966
  parsedTransactionInstructionType("SplTokenInitializeImmutableOwnerInstruction", {
1331
- account: string()
2967
+ // Nested Account interface
2968
+ account: {
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.account }, info),
2977
+ type: accountInterface()
2978
+ }
1332
2979
  }),
1333
2980
  parsedTransactionInstructionType("SplTokenAmountToUiAmountInstruction", {
1334
2981
  amount: string(),
1335
- mint: string()
2982
+ mint: {
2983
+ args: {
2984
+ commitment: type(commitmentInputType()),
2985
+ dataSlice: type(dataSliceInputType()),
2986
+ encoding: type(accountEncodingInputType()),
2987
+ minContextSlot: bigint()
2988
+ },
2989
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2990
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
2991
+ type: accountInterface()
2992
+ }
1336
2993
  }),
1337
2994
  parsedTransactionInstructionType("SplTokenUiAmountToAmountInstruction", {
1338
- mint: string(),
2995
+ mint: {
2996
+ args: {
2997
+ commitment: type(commitmentInputType()),
2998
+ dataSlice: type(dataSliceInputType()),
2999
+ encoding: type(accountEncodingInputType()),
3000
+ minContextSlot: bigint()
3001
+ },
3002
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3003
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
3004
+ type: accountInterface()
3005
+ },
1339
3006
  uiAmount: string()
1340
3007
  }),
1341
3008
  parsedTransactionInstructionType("SplTokenInitializeMintCloseAuthorityInstruction", {
1342
- mint: string(),
1343
- newAuthority: string()
3009
+ mint: {
3010
+ args: {
3011
+ commitment: type(commitmentInputType()),
3012
+ dataSlice: type(dataSliceInputType()),
3013
+ encoding: type(accountEncodingInputType()),
3014
+ minContextSlot: bigint()
3015
+ },
3016
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3017
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.mint }, info),
3018
+ type: accountInterface()
3019
+ },
3020
+ // Nested Account interface
3021
+ newAuthority: {
3022
+ args: {
3023
+ commitment: type(commitmentInputType()),
3024
+ dataSlice: type(dataSliceInputType()),
3025
+ encoding: type(accountEncodingInputType()),
3026
+ minContextSlot: bigint()
3027
+ },
3028
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3029
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
3030
+ type: accountInterface()
3031
+ }
1344
3032
  })
1345
3033
  // TODO: Extensions!
1346
3034
  // - TransferFeeExtension
@@ -1365,7 +3053,18 @@ var lockup = () => {
1365
3053
  if (!memoisedLockup)
1366
3054
  memoisedLockup = new GraphQLObjectType({
1367
3055
  fields: {
1368
- custodian: string(),
3056
+ // Nested Account interface
3057
+ custodian: {
3058
+ args: {
3059
+ commitment: type(commitmentInputType()),
3060
+ dataSlice: type(dataSliceInputType()),
3061
+ encoding: type(accountEncodingInputType()),
3062
+ minContextSlot: bigint()
3063
+ },
3064
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3065
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3066
+ type: accountInterface()
3067
+ },
1369
3068
  epoch: bigint(),
1370
3069
  unixTimestamp: bigint()
1371
3070
  },
@@ -1379,113 +3078,649 @@ var parsedInstructionsStake = () => {
1379
3078
  memoisedParsedInstructionsStake = [
1380
3079
  parsedTransactionInstructionType("StakeInitializeInstruction", {
1381
3080
  authorized: object("StakeInitializeInstructionAuthorized", {
1382
- staker: string(),
1383
- withdrawer: string()
3081
+ // Nested Account interface
3082
+ staker: {
3083
+ args: {
3084
+ commitment: type(commitmentInputType()),
3085
+ dataSlice: type(dataSliceInputType()),
3086
+ encoding: type(accountEncodingInputType()),
3087
+ minContextSlot: bigint()
3088
+ },
3089
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3090
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
3091
+ type: accountInterface()
3092
+ },
3093
+ // Nested Account interface
3094
+ withdrawer: {
3095
+ args: {
3096
+ commitment: type(commitmentInputType()),
3097
+ dataSlice: type(dataSliceInputType()),
3098
+ encoding: type(accountEncodingInputType()),
3099
+ minContextSlot: bigint()
3100
+ },
3101
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3102
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
3103
+ type: accountInterface()
3104
+ }
1384
3105
  }),
1385
3106
  lockup: object("StakeInitializeInstructionLockup", {
1386
- custodian: string(),
3107
+ // Nested Account interface
3108
+ custodian: {
3109
+ args: {
3110
+ commitment: type(commitmentInputType()),
3111
+ dataSlice: type(dataSliceInputType()),
3112
+ encoding: type(accountEncodingInputType()),
3113
+ minContextSlot: bigint()
3114
+ },
3115
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3116
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3117
+ type: accountInterface()
3118
+ },
1387
3119
  epoch: bigint(),
1388
3120
  unixTimestamp: bigint()
1389
3121
  }),
1390
3122
  rentSysvar: string(),
1391
- stakeAccount: string()
3123
+ // Nested Account interface
3124
+ stakeAccount: {
3125
+ args: {
3126
+ commitment: type(commitmentInputType()),
3127
+ dataSlice: type(dataSliceInputType()),
3128
+ encoding: type(accountEncodingInputType()),
3129
+ minContextSlot: bigint()
3130
+ },
3131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3132
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3133
+ type: accountInterface()
3134
+ }
1392
3135
  }),
1393
3136
  parsedTransactionInstructionType("StakeAuthorizeInstruction", {
1394
- authority: string(),
3137
+ // Nested Account interface
3138
+ authority: {
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.authority }, info),
3147
+ type: accountInterface()
3148
+ },
1395
3149
  authorityType: string(),
1396
3150
  clockSysvar: string(),
1397
- custodian: string(),
1398
- newAuthority: string(),
1399
- stakeAccount: string()
3151
+ // Nested Account interface
3152
+ custodian: {
3153
+ args: {
3154
+ commitment: type(commitmentInputType()),
3155
+ dataSlice: type(dataSliceInputType()),
3156
+ encoding: type(accountEncodingInputType()),
3157
+ minContextSlot: bigint()
3158
+ },
3159
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3160
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3161
+ type: accountInterface()
3162
+ },
3163
+ // Nested Account interface
3164
+ newAuthority: {
3165
+ args: {
3166
+ commitment: type(commitmentInputType()),
3167
+ dataSlice: type(dataSliceInputType()),
3168
+ encoding: type(accountEncodingInputType()),
3169
+ minContextSlot: bigint()
3170
+ },
3171
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3172
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
3173
+ type: accountInterface()
3174
+ },
3175
+ // Nested Account interface
3176
+ stakeAccount: {
3177
+ args: {
3178
+ commitment: type(commitmentInputType()),
3179
+ dataSlice: type(dataSliceInputType()),
3180
+ encoding: type(accountEncodingInputType()),
3181
+ minContextSlot: bigint()
3182
+ },
3183
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3184
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3185
+ type: accountInterface()
3186
+ }
1400
3187
  }),
1401
3188
  parsedTransactionInstructionType("StakeDelegateStakeInstruction", {
1402
3189
  clockSysvar: string(),
1403
- stakeAccount: string(),
1404
- stakeAuthority: string(),
1405
- stakeConfigAccount: 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
+ },
3214
+ // Nested Account interface
3215
+ stakeConfigAccount: {
3216
+ args: {
3217
+ commitment: type(commitmentInputType()),
3218
+ dataSlice: type(dataSliceInputType()),
3219
+ encoding: type(accountEncodingInputType()),
3220
+ minContextSlot: bigint()
3221
+ },
3222
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3223
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeConfigAccount }, info),
3224
+ type: accountInterface()
3225
+ },
1406
3226
  stakeHistorySysvar: string(),
1407
- voteAccount: string()
3227
+ // Nested Account interface
3228
+ voteAccount: {
3229
+ args: {
3230
+ commitment: type(commitmentInputType()),
3231
+ dataSlice: type(dataSliceInputType()),
3232
+ encoding: type(accountEncodingInputType()),
3233
+ minContextSlot: bigint()
3234
+ },
3235
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3236
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3237
+ type: accountInterface()
3238
+ }
1408
3239
  }),
1409
3240
  parsedTransactionInstructionType("StakeSplitInstruction", {
1410
3241
  lamports: bigint(),
1411
3242
  newSplitAccount: string(),
1412
- stakeAccount: string(),
1413
- stakeAuthority: string()
3243
+ // Nested Account interface
3244
+ stakeAccount: {
3245
+ args: {
3246
+ commitment: type(commitmentInputType()),
3247
+ dataSlice: type(dataSliceInputType()),
3248
+ encoding: type(accountEncodingInputType()),
3249
+ minContextSlot: bigint()
3250
+ },
3251
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3252
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3253
+ type: accountInterface()
3254
+ },
3255
+ // Nested Account interface
3256
+ stakeAuthority: {
3257
+ args: {
3258
+ commitment: type(commitmentInputType()),
3259
+ dataSlice: type(dataSliceInputType()),
3260
+ encoding: type(accountEncodingInputType()),
3261
+ minContextSlot: bigint()
3262
+ },
3263
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3264
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3265
+ type: accountInterface()
3266
+ }
1414
3267
  }),
1415
3268
  parsedTransactionInstructionType("StakeWithdrawInstruction", {
1416
3269
  clockSysvar: string(),
1417
- destination: string(),
3270
+ destination: {
3271
+ args: {
3272
+ commitment: type(commitmentInputType()),
3273
+ dataSlice: type(dataSliceInputType()),
3274
+ encoding: type(accountEncodingInputType()),
3275
+ minContextSlot: bigint()
3276
+ },
3277
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3278
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3279
+ type: accountInterface()
3280
+ },
1418
3281
  lamports: bigint(),
1419
- stakeAccount: string(),
1420
- withdrawAuthority: string()
3282
+ // Nested Account interface
3283
+ stakeAccount: {
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.stakeAccount }, info),
3292
+ type: accountInterface()
3293
+ },
3294
+ // Nested Account interface
3295
+ withdrawAuthority: {
3296
+ args: {
3297
+ commitment: type(commitmentInputType()),
3298
+ dataSlice: type(dataSliceInputType()),
3299
+ encoding: type(accountEncodingInputType()),
3300
+ minContextSlot: bigint()
3301
+ },
3302
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3303
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
3304
+ type: accountInterface()
3305
+ }
1421
3306
  }),
1422
3307
  parsedTransactionInstructionType("StakeDeactivateInstruction", {
1423
3308
  clockSysvar: string(),
1424
- stakeAccount: string(),
1425
- stakeAuthority: string()
3309
+ // Nested Account interface
3310
+ stakeAccount: {
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.stakeAccount }, info),
3319
+ type: accountInterface()
3320
+ },
3321
+ // Nested Account interface
3322
+ stakeAuthority: {
3323
+ args: {
3324
+ commitment: type(commitmentInputType()),
3325
+ dataSlice: type(dataSliceInputType()),
3326
+ encoding: type(accountEncodingInputType()),
3327
+ minContextSlot: bigint()
3328
+ },
3329
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3330
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3331
+ type: accountInterface()
3332
+ }
1426
3333
  }),
1427
3334
  parsedTransactionInstructionType("StakeSetLockupInstruction", {
1428
- custodian: string(),
3335
+ // Nested Account interface
3336
+ custodian: {
3337
+ args: {
3338
+ commitment: type(commitmentInputType()),
3339
+ dataSlice: type(dataSliceInputType()),
3340
+ encoding: type(accountEncodingInputType()),
3341
+ minContextSlot: bigint()
3342
+ },
3343
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3344
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3345
+ type: accountInterface()
3346
+ },
1429
3347
  lockup: type(lockup()),
1430
- stakeAccount: string()
3348
+ // Nested Account interface
3349
+ stakeAccount: {
3350
+ args: {
3351
+ commitment: type(commitmentInputType()),
3352
+ dataSlice: type(dataSliceInputType()),
3353
+ encoding: type(accountEncodingInputType()),
3354
+ minContextSlot: bigint()
3355
+ },
3356
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3357
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3358
+ type: accountInterface()
3359
+ }
1431
3360
  }),
1432
3361
  parsedTransactionInstructionType("StakeMergeInstruction", {
1433
3362
  clockSysvar: string(),
1434
- destination: string(),
1435
- source: string(),
1436
- stakeAuthority: string(),
3363
+ destination: {
3364
+ args: {
3365
+ commitment: type(commitmentInputType()),
3366
+ dataSlice: type(dataSliceInputType()),
3367
+ encoding: type(accountEncodingInputType()),
3368
+ minContextSlot: bigint()
3369
+ },
3370
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3371
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
3372
+ type: accountInterface()
3373
+ },
3374
+ source: {
3375
+ args: {
3376
+ commitment: type(commitmentInputType()),
3377
+ dataSlice: type(dataSliceInputType()),
3378
+ encoding: type(accountEncodingInputType()),
3379
+ minContextSlot: bigint()
3380
+ },
3381
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3382
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3383
+ type: accountInterface()
3384
+ },
3385
+ // Nested Account interface
3386
+ stakeAuthority: {
3387
+ args: {
3388
+ commitment: type(commitmentInputType()),
3389
+ dataSlice: type(dataSliceInputType()),
3390
+ encoding: type(accountEncodingInputType()),
3391
+ minContextSlot: bigint()
3392
+ },
3393
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3394
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3395
+ type: accountInterface()
3396
+ },
1437
3397
  stakeHistorySysvar: string()
1438
3398
  }),
1439
3399
  parsedTransactionInstructionType("StakeAuthorizeWithSeedInstruction", {
1440
- authorityBase: string(),
1441
- authorityOwner: string(),
3400
+ // Nested Account interface
3401
+ authorityBase: {
3402
+ args: {
3403
+ commitment: type(commitmentInputType()),
3404
+ dataSlice: type(dataSliceInputType()),
3405
+ encoding: type(accountEncodingInputType()),
3406
+ minContextSlot: bigint()
3407
+ },
3408
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3409
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBase }, info),
3410
+ type: accountInterface()
3411
+ },
3412
+ // Nested Account interface
3413
+ authorityOwner: {
3414
+ args: {
3415
+ commitment: type(commitmentInputType()),
3416
+ dataSlice: type(dataSliceInputType()),
3417
+ encoding: type(accountEncodingInputType()),
3418
+ minContextSlot: bigint()
3419
+ },
3420
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3421
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
3422
+ type: accountInterface()
3423
+ },
1442
3424
  authoritySeed: string(),
1443
3425
  authorityType: string(),
1444
3426
  clockSysvar: string(),
1445
- custodian: string(),
1446
- newAuthorized: string(),
1447
- stakeAccount: string()
3427
+ // Nested Account interface
3428
+ custodian: {
3429
+ args: {
3430
+ commitment: type(commitmentInputType()),
3431
+ dataSlice: type(dataSliceInputType()),
3432
+ encoding: type(accountEncodingInputType()),
3433
+ minContextSlot: bigint()
3434
+ },
3435
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3436
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3437
+ type: accountInterface()
3438
+ },
3439
+ // Nested Account interface
3440
+ newAuthorized: {
3441
+ args: {
3442
+ commitment: type(commitmentInputType()),
3443
+ dataSlice: type(dataSliceInputType()),
3444
+ encoding: type(accountEncodingInputType()),
3445
+ minContextSlot: bigint()
3446
+ },
3447
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3448
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3449
+ type: accountInterface()
3450
+ },
3451
+ // Nested Account interface
3452
+ stakeAccount: {
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.stakeAccount }, info),
3461
+ type: accountInterface()
3462
+ }
1448
3463
  }),
1449
3464
  parsedTransactionInstructionType("StakeInitializeCheckedInstruction", {
1450
3465
  rentSysvar: string(),
1451
- stakeAccount: string(),
1452
- staker: string(),
1453
- withdrawer: string()
3466
+ // Nested Account interface
3467
+ stakeAccount: {
3468
+ args: {
3469
+ commitment: type(commitmentInputType()),
3470
+ dataSlice: type(dataSliceInputType()),
3471
+ encoding: type(accountEncodingInputType()),
3472
+ minContextSlot: bigint()
3473
+ },
3474
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3475
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3476
+ type: accountInterface()
3477
+ },
3478
+ // Nested Account interface
3479
+ staker: {
3480
+ args: {
3481
+ commitment: type(commitmentInputType()),
3482
+ dataSlice: type(dataSliceInputType()),
3483
+ encoding: type(accountEncodingInputType()),
3484
+ minContextSlot: bigint()
3485
+ },
3486
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3487
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.staker }, info),
3488
+ type: accountInterface()
3489
+ },
3490
+ // Nested Account interface
3491
+ withdrawer: {
3492
+ args: {
3493
+ commitment: type(commitmentInputType()),
3494
+ dataSlice: type(dataSliceInputType()),
3495
+ encoding: type(accountEncodingInputType()),
3496
+ minContextSlot: bigint()
3497
+ },
3498
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3499
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawer }, info),
3500
+ type: accountInterface()
3501
+ }
1454
3502
  }),
1455
3503
  parsedTransactionInstructionType("StakeAuthorizeCheckedInstruction", {
1456
- authority: string(),
3504
+ // Nested Account interface
3505
+ authority: {
3506
+ args: {
3507
+ commitment: type(commitmentInputType()),
3508
+ dataSlice: type(dataSliceInputType()),
3509
+ encoding: type(accountEncodingInputType()),
3510
+ minContextSlot: bigint()
3511
+ },
3512
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3513
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
3514
+ type: accountInterface()
3515
+ },
1457
3516
  authorityType: string(),
1458
3517
  clockSysvar: string(),
1459
- custodian: string(),
1460
- newAuthority: string(),
1461
- stakeAccount: string()
3518
+ // Nested Account interface
3519
+ custodian: {
3520
+ args: {
3521
+ commitment: type(commitmentInputType()),
3522
+ dataSlice: type(dataSliceInputType()),
3523
+ encoding: type(accountEncodingInputType()),
3524
+ minContextSlot: bigint()
3525
+ },
3526
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3527
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3528
+ type: accountInterface()
3529
+ },
3530
+ // Nested Account interface
3531
+ newAuthority: {
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.newAuthority }, info),
3540
+ type: accountInterface()
3541
+ },
3542
+ // Nested Account interface
3543
+ stakeAccount: {
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.stakeAccount }, info),
3552
+ type: accountInterface()
3553
+ }
1462
3554
  }),
1463
3555
  parsedTransactionInstructionType("StakeAuthorizeCheckedWithSeedInstruction", {
1464
- authorityBase: string(),
1465
- authorityOwner: string(),
3556
+ // Nested Account interface
3557
+ authorityBase: {
3558
+ args: {
3559
+ commitment: type(commitmentInputType()),
3560
+ dataSlice: type(dataSliceInputType()),
3561
+ encoding: type(accountEncodingInputType()),
3562
+ minContextSlot: bigint()
3563
+ },
3564
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3565
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBase }, info),
3566
+ type: accountInterface()
3567
+ },
3568
+ // Nested Account interface
3569
+ authorityOwner: {
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.authorityOwner }, info),
3578
+ type: accountInterface()
3579
+ },
1466
3580
  authoritySeed: string(),
1467
3581
  authorityType: string(),
1468
3582
  clockSysvar: string(),
1469
- custodian: string(),
1470
- newAuthorized: string(),
1471
- stakeAccount: string()
3583
+ // Nested Account interface
3584
+ custodian: {
3585
+ args: {
3586
+ commitment: type(commitmentInputType()),
3587
+ dataSlice: type(dataSliceInputType()),
3588
+ encoding: type(accountEncodingInputType()),
3589
+ minContextSlot: bigint()
3590
+ },
3591
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3592
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3593
+ type: accountInterface()
3594
+ },
3595
+ // Nested Account interface
3596
+ newAuthorized: {
3597
+ args: {
3598
+ commitment: type(commitmentInputType()),
3599
+ dataSlice: type(dataSliceInputType()),
3600
+ encoding: type(accountEncodingInputType()),
3601
+ minContextSlot: bigint()
3602
+ },
3603
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3604
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3605
+ type: accountInterface()
3606
+ },
3607
+ // Nested Account interface
3608
+ stakeAccount: {
3609
+ args: {
3610
+ commitment: type(commitmentInputType()),
3611
+ dataSlice: type(dataSliceInputType()),
3612
+ encoding: type(accountEncodingInputType()),
3613
+ minContextSlot: bigint()
3614
+ },
3615
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3616
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3617
+ type: accountInterface()
3618
+ }
1472
3619
  }),
1473
3620
  parsedTransactionInstructionType("StakeSetLockupCheckedInstruction", {
1474
- custodian: string(),
3621
+ // Nested Account interface
3622
+ custodian: {
3623
+ args: {
3624
+ commitment: type(commitmentInputType()),
3625
+ dataSlice: type(dataSliceInputType()),
3626
+ encoding: type(accountEncodingInputType()),
3627
+ minContextSlot: bigint()
3628
+ },
3629
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3630
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.custodian }, info),
3631
+ type: accountInterface()
3632
+ },
1475
3633
  lockup: type(lockup()),
1476
- stakeAccount: string()
3634
+ // Nested Account interface
3635
+ stakeAccount: {
3636
+ args: {
3637
+ commitment: type(commitmentInputType()),
3638
+ dataSlice: type(dataSliceInputType()),
3639
+ encoding: type(accountEncodingInputType()),
3640
+ minContextSlot: bigint()
3641
+ },
3642
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3643
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3644
+ type: accountInterface()
3645
+ }
1477
3646
  }),
1478
3647
  parsedTransactionInstructionType("StakeDeactivateDelinquentInstruction", {
1479
3648
  referenceVoteAccount: string(),
1480
- stakeAccount: string(),
1481
- voteAccount: string()
3649
+ // Nested Account interface
3650
+ stakeAccount: {
3651
+ args: {
3652
+ commitment: type(commitmentInputType()),
3653
+ dataSlice: type(dataSliceInputType()),
3654
+ encoding: type(accountEncodingInputType()),
3655
+ minContextSlot: bigint()
3656
+ },
3657
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3658
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3659
+ type: accountInterface()
3660
+ },
3661
+ // Nested Account interface
3662
+ voteAccount: {
3663
+ args: {
3664
+ commitment: type(commitmentInputType()),
3665
+ dataSlice: type(dataSliceInputType()),
3666
+ encoding: type(accountEncodingInputType()),
3667
+ minContextSlot: bigint()
3668
+ },
3669
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3670
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3671
+ type: accountInterface()
3672
+ }
1482
3673
  }),
1483
3674
  parsedTransactionInstructionType("StakeRedelegateInstruction", {
1484
3675
  newStakeAccount: string(),
1485
- stakeAccount: string(),
1486
- stakeAuthority: string(),
1487
- stakeConfigAccount: string(),
1488
- voteAccount: string()
3676
+ // Nested Account interface
3677
+ stakeAccount: {
3678
+ args: {
3679
+ commitment: type(commitmentInputType()),
3680
+ dataSlice: type(dataSliceInputType()),
3681
+ encoding: type(accountEncodingInputType()),
3682
+ minContextSlot: bigint()
3683
+ },
3684
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3685
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAccount }, info),
3686
+ type: accountInterface()
3687
+ },
3688
+ // Nested Account interface
3689
+ stakeAuthority: {
3690
+ args: {
3691
+ commitment: type(commitmentInputType()),
3692
+ dataSlice: type(dataSliceInputType()),
3693
+ encoding: type(accountEncodingInputType()),
3694
+ minContextSlot: bigint()
3695
+ },
3696
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3697
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeAuthority }, info),
3698
+ type: accountInterface()
3699
+ },
3700
+ // Nested Account interface
3701
+ stakeConfigAccount: {
3702
+ args: {
3703
+ commitment: type(commitmentInputType()),
3704
+ dataSlice: type(dataSliceInputType()),
3705
+ encoding: type(accountEncodingInputType()),
3706
+ minContextSlot: bigint()
3707
+ },
3708
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3709
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.stakeConfigAccount }, info),
3710
+ type: accountInterface()
3711
+ },
3712
+ // Nested Account interface
3713
+ voteAccount: {
3714
+ args: {
3715
+ commitment: type(commitmentInputType()),
3716
+ dataSlice: type(dataSliceInputType()),
3717
+ encoding: type(accountEncodingInputType()),
3718
+ minContextSlot: bigint()
3719
+ },
3720
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3721
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
3722
+ type: accountInterface()
3723
+ }
1489
3724
  })
1490
3725
  ];
1491
3726
  return memoisedParsedInstructionsStake;
@@ -1496,76 +3731,357 @@ var parsedInstructionsSystem = () => {
1496
3731
  memoisedParsedInstructionsSystem = [
1497
3732
  parsedTransactionInstructionType("CreateAccountInstruction", {
1498
3733
  lamports: bigint(),
1499
- newAccount: string(),
1500
- owner: string(),
1501
- source: string(),
3734
+ // Nested Account interface
3735
+ newAccount: {
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.newAccount }, info),
3744
+ type: accountInterface()
3745
+ },
3746
+ // Nested Account interface
3747
+ owner: {
3748
+ args: {
3749
+ commitment: type(commitmentInputType()),
3750
+ dataSlice: type(dataSliceInputType()),
3751
+ encoding: type(accountEncodingInputType()),
3752
+ minContextSlot: bigint()
3753
+ },
3754
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3755
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3756
+ type: accountInterface()
3757
+ },
3758
+ source: {
3759
+ args: {
3760
+ commitment: type(commitmentInputType()),
3761
+ dataSlice: type(dataSliceInputType()),
3762
+ encoding: type(accountEncodingInputType()),
3763
+ minContextSlot: bigint()
3764
+ },
3765
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3766
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3767
+ type: accountInterface()
3768
+ },
1502
3769
  space: bigint()
1503
3770
  }),
1504
3771
  parsedTransactionInstructionType("AssignInstruction", {
1505
- owner: string()
3772
+ // Nested Account interface
3773
+ owner: {
3774
+ args: {
3775
+ commitment: type(commitmentInputType()),
3776
+ dataSlice: type(dataSliceInputType()),
3777
+ encoding: type(accountEncodingInputType()),
3778
+ minContextSlot: bigint()
3779
+ },
3780
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3781
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3782
+ type: accountInterface()
3783
+ }
1506
3784
  }),
1507
3785
  parsedTransactionInstructionType("TransferInstruction", {
1508
3786
  amount: string(),
1509
3787
  lamports: number(),
1510
- source: string()
3788
+ source: {
3789
+ args: {
3790
+ commitment: type(commitmentInputType()),
3791
+ dataSlice: type(dataSliceInputType()),
3792
+ encoding: type(accountEncodingInputType()),
3793
+ minContextSlot: bigint()
3794
+ },
3795
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3796
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
3797
+ type: accountInterface()
3798
+ }
1511
3799
  }),
1512
3800
  parsedTransactionInstructionType("CreateAccountWithSeedInstruction", {
1513
3801
  base: string(),
1514
3802
  lamports: bigint(),
1515
- owner: string(),
3803
+ // Nested Account interface
3804
+ owner: {
3805
+ args: {
3806
+ commitment: type(commitmentInputType()),
3807
+ dataSlice: type(dataSliceInputType()),
3808
+ encoding: type(accountEncodingInputType()),
3809
+ minContextSlot: bigint()
3810
+ },
3811
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3812
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
3813
+ type: accountInterface()
3814
+ },
1516
3815
  seed: string(),
1517
3816
  space: bigint()
1518
3817
  }),
1519
3818
  parsedTransactionInstructionType("AdvanceNonceAccountInstruction", {
1520
- nonceAccount: string(),
1521
- nonceAuthority: string(),
3819
+ // Nested Account interface
3820
+ nonceAccount: {
3821
+ args: {
3822
+ commitment: type(commitmentInputType()),
3823
+ dataSlice: type(dataSliceInputType()),
3824
+ encoding: type(accountEncodingInputType()),
3825
+ minContextSlot: bigint()
3826
+ },
3827
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3828
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3829
+ type: accountInterface()
3830
+ },
3831
+ // Nested Account interface
3832
+ nonceAuthority: {
3833
+ args: {
3834
+ commitment: type(commitmentInputType()),
3835
+ dataSlice: type(dataSliceInputType()),
3836
+ encoding: type(accountEncodingInputType()),
3837
+ minContextSlot: bigint()
3838
+ },
3839
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3840
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3841
+ type: accountInterface()
3842
+ },
1522
3843
  recentBlockhashesSysvar: string()
1523
3844
  }),
1524
3845
  parsedTransactionInstructionType("WithdrawNonceAccountInstruction", {
1525
- destination: string(),
3846
+ destination: {
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.destination }, info),
3855
+ type: accountInterface()
3856
+ },
1526
3857
  lamports: bigint(),
1527
- nonceAccount: string(),
1528
- nonceAuthority: string(),
3858
+ // Nested Account interface
3859
+ nonceAccount: {
3860
+ args: {
3861
+ commitment: type(commitmentInputType()),
3862
+ dataSlice: type(dataSliceInputType()),
3863
+ encoding: type(accountEncodingInputType()),
3864
+ minContextSlot: bigint()
3865
+ },
3866
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3867
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3868
+ type: accountInterface()
3869
+ },
3870
+ // Nested Account interface
3871
+ nonceAuthority: {
3872
+ args: {
3873
+ commitment: type(commitmentInputType()),
3874
+ dataSlice: type(dataSliceInputType()),
3875
+ encoding: type(accountEncodingInputType()),
3876
+ minContextSlot: bigint()
3877
+ },
3878
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3879
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3880
+ type: accountInterface()
3881
+ },
1529
3882
  recentBlockhashesSysvar: string(),
1530
3883
  rentSysvar: string()
1531
3884
  }),
1532
3885
  parsedTransactionInstructionType("InitializeNonceAccountInstruction", {
1533
- nonceAccount: string(),
1534
- nonceAuthority: string(),
3886
+ // Nested Account interface
3887
+ nonceAccount: {
3888
+ args: {
3889
+ commitment: type(commitmentInputType()),
3890
+ dataSlice: type(dataSliceInputType()),
3891
+ encoding: type(accountEncodingInputType()),
3892
+ minContextSlot: bigint()
3893
+ },
3894
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3895
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3896
+ type: accountInterface()
3897
+ },
3898
+ // Nested Account interface
3899
+ nonceAuthority: {
3900
+ args: {
3901
+ commitment: type(commitmentInputType()),
3902
+ dataSlice: type(dataSliceInputType()),
3903
+ encoding: type(accountEncodingInputType()),
3904
+ minContextSlot: bigint()
3905
+ },
3906
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3907
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3908
+ type: accountInterface()
3909
+ },
1535
3910
  recentBlockhashesSysvar: string(),
1536
3911
  rentSysvar: string()
1537
3912
  }),
1538
3913
  parsedTransactionInstructionType("AuthorizeNonceAccountInstruction", {
1539
- newAuthorized: string(),
1540
- nonceAccount: string(),
1541
- nonceAuthority: string()
3914
+ // Nested Account interface
3915
+ newAuthorized: {
3916
+ args: {
3917
+ commitment: type(commitmentInputType()),
3918
+ dataSlice: type(dataSliceInputType()),
3919
+ encoding: type(accountEncodingInputType()),
3920
+ minContextSlot: bigint()
3921
+ },
3922
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3923
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthorized }, info),
3924
+ type: accountInterface()
3925
+ },
3926
+ // Nested Account interface
3927
+ nonceAccount: {
3928
+ args: {
3929
+ commitment: type(commitmentInputType()),
3930
+ dataSlice: type(dataSliceInputType()),
3931
+ encoding: type(accountEncodingInputType()),
3932
+ minContextSlot: bigint()
3933
+ },
3934
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3935
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3936
+ type: accountInterface()
3937
+ },
3938
+ // Nested Account interface
3939
+ nonceAuthority: {
3940
+ args: {
3941
+ commitment: type(commitmentInputType()),
3942
+ dataSlice: type(dataSliceInputType()),
3943
+ encoding: type(accountEncodingInputType()),
3944
+ minContextSlot: bigint()
3945
+ },
3946
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3947
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAuthority }, info),
3948
+ type: accountInterface()
3949
+ }
1542
3950
  }),
1543
3951
  parsedTransactionInstructionType("UpgradeNonceAccountInstruction", {
1544
- nonceAccount: string()
3952
+ // Nested Account interface
3953
+ nonceAccount: {
3954
+ args: {
3955
+ commitment: type(commitmentInputType()),
3956
+ dataSlice: type(dataSliceInputType()),
3957
+ encoding: type(accountEncodingInputType()),
3958
+ minContextSlot: bigint()
3959
+ },
3960
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3961
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.nonceAccount }, info),
3962
+ type: accountInterface()
3963
+ }
1545
3964
  }),
1546
3965
  parsedTransactionInstructionType("AllocateInstruction", {
1547
- account: string(),
3966
+ // Nested Account interface
3967
+ account: {
3968
+ args: {
3969
+ commitment: type(commitmentInputType()),
3970
+ dataSlice: type(dataSliceInputType()),
3971
+ encoding: type(accountEncodingInputType()),
3972
+ minContextSlot: bigint()
3973
+ },
3974
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3975
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
3976
+ type: accountInterface()
3977
+ },
1548
3978
  space: bigint()
1549
3979
  }),
1550
3980
  parsedTransactionInstructionType("AllocateWithSeedInstruction", {
1551
- account: string(),
3981
+ // Nested Account interface
3982
+ account: {
3983
+ args: {
3984
+ commitment: type(commitmentInputType()),
3985
+ dataSlice: type(dataSliceInputType()),
3986
+ encoding: type(accountEncodingInputType()),
3987
+ minContextSlot: bigint()
3988
+ },
3989
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3990
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
3991
+ type: accountInterface()
3992
+ },
1552
3993
  base: string(),
1553
- owner: string(),
3994
+ // Nested Account interface
3995
+ owner: {
3996
+ args: {
3997
+ commitment: type(commitmentInputType()),
3998
+ dataSlice: type(dataSliceInputType()),
3999
+ encoding: type(accountEncodingInputType()),
4000
+ minContextSlot: bigint()
4001
+ },
4002
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4003
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
4004
+ type: accountInterface()
4005
+ },
1554
4006
  seed: string(),
1555
4007
  space: bigint()
1556
4008
  }),
1557
4009
  parsedTransactionInstructionType("AssignWithSeedInstruction", {
1558
- account: string(),
4010
+ // Nested Account interface
4011
+ account: {
4012
+ args: {
4013
+ commitment: type(commitmentInputType()),
4014
+ dataSlice: type(dataSliceInputType()),
4015
+ encoding: type(accountEncodingInputType()),
4016
+ minContextSlot: bigint()
4017
+ },
4018
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4019
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.account }, info),
4020
+ type: accountInterface()
4021
+ },
1559
4022
  base: string(),
1560
- owner: string(),
4023
+ // Nested Account interface
4024
+ owner: {
4025
+ args: {
4026
+ commitment: type(commitmentInputType()),
4027
+ dataSlice: type(dataSliceInputType()),
4028
+ encoding: type(accountEncodingInputType()),
4029
+ minContextSlot: bigint()
4030
+ },
4031
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4032
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
4033
+ type: accountInterface()
4034
+ },
1561
4035
  seed: string()
1562
4036
  }),
1563
4037
  parsedTransactionInstructionType("TransferWithSeedInstruction", {
1564
- destination: string(),
4038
+ destination: {
4039
+ args: {
4040
+ commitment: type(commitmentInputType()),
4041
+ dataSlice: type(dataSliceInputType()),
4042
+ encoding: type(accountEncodingInputType()),
4043
+ minContextSlot: bigint()
4044
+ },
4045
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4046
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
4047
+ type: accountInterface()
4048
+ },
1565
4049
  lamports: bigint(),
1566
- source: string(),
1567
- sourceBase: string(),
1568
- sourceOwner: string(),
4050
+ source: {
4051
+ args: {
4052
+ commitment: type(commitmentInputType()),
4053
+ dataSlice: type(dataSliceInputType()),
4054
+ encoding: type(accountEncodingInputType()),
4055
+ minContextSlot: bigint()
4056
+ },
4057
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4058
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.source }, info),
4059
+ type: accountInterface()
4060
+ },
4061
+ // Nested Account interface
4062
+ sourceBase: {
4063
+ args: {
4064
+ commitment: type(commitmentInputType()),
4065
+ dataSlice: type(dataSliceInputType()),
4066
+ encoding: type(accountEncodingInputType()),
4067
+ minContextSlot: bigint()
4068
+ },
4069
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4070
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.sourceBase }, info),
4071
+ type: accountInterface()
4072
+ },
4073
+ // Nested Account interface
4074
+ sourceOwner: {
4075
+ args: {
4076
+ commitment: type(commitmentInputType()),
4077
+ dataSlice: type(dataSliceInputType()),
4078
+ encoding: type(accountEncodingInputType()),
4079
+ minContextSlot: bigint()
4080
+ },
4081
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4082
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.sourceOwner }, info),
4083
+ type: accountInterface()
4084
+ },
1569
4085
  sourceSeed: string()
1570
4086
  })
1571
4087
  ];
@@ -1608,100 +4124,506 @@ var parsedInstructionsVote = () => {
1608
4124
  if (!memoisedParsedInstructionsVote)
1609
4125
  memoisedParsedInstructionsVote = [
1610
4126
  parsedTransactionInstructionType("VoteInitializeAccountInstruction", {
1611
- authorizedVoter: string(),
1612
- authorizedWithdrawer: string(),
4127
+ // Nested Account interface
4128
+ authorizedVoter: {
4129
+ args: {
4130
+ commitment: type(commitmentInputType()),
4131
+ dataSlice: type(dataSliceInputType()),
4132
+ encoding: type(accountEncodingInputType()),
4133
+ minContextSlot: bigint()
4134
+ },
4135
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4136
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedVoter }, info),
4137
+ type: accountInterface()
4138
+ },
4139
+ // Nested Account interface
4140
+ authorizedWithdrawer: {
4141
+ args: {
4142
+ commitment: type(commitmentInputType()),
4143
+ dataSlice: type(dataSliceInputType()),
4144
+ encoding: type(accountEncodingInputType()),
4145
+ minContextSlot: bigint()
4146
+ },
4147
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4148
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorizedWithdrawer }, info),
4149
+ type: accountInterface()
4150
+ },
1613
4151
  clockSysvar: string(),
1614
4152
  commission: number(),
1615
4153
  node: string(),
1616
4154
  rentSysvar: string(),
1617
- voteAccount: string()
4155
+ // Nested Account interface
4156
+ voteAccount: {
4157
+ args: {
4158
+ commitment: type(commitmentInputType()),
4159
+ dataSlice: type(dataSliceInputType()),
4160
+ encoding: type(accountEncodingInputType()),
4161
+ minContextSlot: bigint()
4162
+ },
4163
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4164
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4165
+ type: accountInterface()
4166
+ }
1618
4167
  }),
1619
4168
  parsedTransactionInstructionType("VoteAuthorizeInstruction", {
1620
- authority: string(),
4169
+ // Nested Account interface
4170
+ authority: {
4171
+ args: {
4172
+ commitment: type(commitmentInputType()),
4173
+ dataSlice: type(dataSliceInputType()),
4174
+ encoding: type(accountEncodingInputType()),
4175
+ minContextSlot: bigint()
4176
+ },
4177
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4178
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
4179
+ type: accountInterface()
4180
+ },
1621
4181
  authorityType: string(),
1622
4182
  clockSysvar: string(),
1623
- newAuthority: string(),
1624
- 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
+ }
1625
4207
  }),
1626
4208
  parsedTransactionInstructionType("VoteAuthorizeWithSeedInstruction", {
1627
- authorityBaseKey: string(),
1628
- 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
+ },
1629
4233
  authoritySeed: string(),
1630
4234
  authorityType: string(),
1631
4235
  clockSysvar: string(),
1632
- newAuthority: string(),
1633
- 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
+ }
1634
4260
  }),
1635
4261
  parsedTransactionInstructionType("VoteAuthorizeCheckedWithSeedInstruction", {
1636
- authorityBaseKey: string(),
1637
- authorityOwner: string(),
4262
+ // Nested Account interface
4263
+ authorityBaseKey: {
4264
+ args: {
4265
+ commitment: type(commitmentInputType()),
4266
+ dataSlice: type(dataSliceInputType()),
4267
+ encoding: type(accountEncodingInputType()),
4268
+ minContextSlot: bigint()
4269
+ },
4270
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4271
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityBaseKey }, info),
4272
+ type: accountInterface()
4273
+ },
4274
+ // Nested Account interface
4275
+ authorityOwner: {
4276
+ args: {
4277
+ commitment: type(commitmentInputType()),
4278
+ dataSlice: type(dataSliceInputType()),
4279
+ encoding: type(accountEncodingInputType()),
4280
+ minContextSlot: bigint()
4281
+ },
4282
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4283
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authorityOwner }, info),
4284
+ type: accountInterface()
4285
+ },
1638
4286
  authoritySeed: string(),
1639
4287
  authorityType: string(),
1640
4288
  clockSysvar: string(),
1641
- newAuthority: string(),
1642
- voteAccount: string()
4289
+ // Nested Account interface
4290
+ newAuthority: {
4291
+ args: {
4292
+ commitment: type(commitmentInputType()),
4293
+ dataSlice: type(dataSliceInputType()),
4294
+ encoding: type(accountEncodingInputType()),
4295
+ minContextSlot: bigint()
4296
+ },
4297
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4298
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4299
+ type: accountInterface()
4300
+ },
4301
+ // Nested Account interface
4302
+ voteAccount: {
4303
+ args: {
4304
+ commitment: type(commitmentInputType()),
4305
+ dataSlice: type(dataSliceInputType()),
4306
+ encoding: type(accountEncodingInputType()),
4307
+ minContextSlot: bigint()
4308
+ },
4309
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4310
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4311
+ type: accountInterface()
4312
+ }
1643
4313
  }),
1644
4314
  parsedTransactionInstructionType("VoteVoteInstruction", {
1645
4315
  clockSysvar: string(),
1646
4316
  slotHashedSysvar: string(),
1647
4317
  vote: type(vote()),
1648
- voteAccount: string(),
1649
- voteAuthority: string()
4318
+ // Nested Account interface
4319
+ voteAccount: {
4320
+ args: {
4321
+ commitment: type(commitmentInputType()),
4322
+ dataSlice: type(dataSliceInputType()),
4323
+ encoding: type(accountEncodingInputType()),
4324
+ minContextSlot: bigint()
4325
+ },
4326
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4327
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4328
+ type: accountInterface()
4329
+ },
4330
+ // Nested Account interface
4331
+ voteAuthority: {
4332
+ args: {
4333
+ commitment: type(commitmentInputType()),
4334
+ dataSlice: type(dataSliceInputType()),
4335
+ encoding: type(accountEncodingInputType()),
4336
+ minContextSlot: bigint()
4337
+ },
4338
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4339
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4340
+ type: accountInterface()
4341
+ }
1650
4342
  }),
1651
4343
  parsedTransactionInstructionType("VoteUpdateVoteStateInstruction", {
1652
4344
  hash: string(),
1653
- voteAccount: string(),
1654
- voteAuthority: string(),
4345
+ // Nested Account interface
4346
+ voteAccount: {
4347
+ args: {
4348
+ commitment: type(commitmentInputType()),
4349
+ dataSlice: type(dataSliceInputType()),
4350
+ encoding: type(accountEncodingInputType()),
4351
+ minContextSlot: bigint()
4352
+ },
4353
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4354
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4355
+ type: accountInterface()
4356
+ },
4357
+ // Nested Account interface
4358
+ voteAuthority: {
4359
+ args: {
4360
+ commitment: type(commitmentInputType()),
4361
+ dataSlice: type(dataSliceInputType()),
4362
+ encoding: type(accountEncodingInputType()),
4363
+ minContextSlot: bigint()
4364
+ },
4365
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4366
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4367
+ type: accountInterface()
4368
+ },
1655
4369
  voteStateUpdate: type(voteStateUpdate())
1656
4370
  }),
1657
4371
  parsedTransactionInstructionType("VoteUpdateVoteStateSwitchInstruction", {
1658
4372
  hash: string(),
1659
- voteAccount: string(),
1660
- voteAuthority: string(),
4373
+ // Nested Account interface
4374
+ voteAccount: {
4375
+ args: {
4376
+ commitment: type(commitmentInputType()),
4377
+ dataSlice: type(dataSliceInputType()),
4378
+ encoding: type(accountEncodingInputType()),
4379
+ minContextSlot: bigint()
4380
+ },
4381
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4382
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4383
+ type: accountInterface()
4384
+ },
4385
+ // Nested Account interface
4386
+ voteAuthority: {
4387
+ args: {
4388
+ commitment: type(commitmentInputType()),
4389
+ dataSlice: type(dataSliceInputType()),
4390
+ encoding: type(accountEncodingInputType()),
4391
+ minContextSlot: bigint()
4392
+ },
4393
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4394
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4395
+ type: accountInterface()
4396
+ },
1661
4397
  voteStateUpdate: type(voteStateUpdate())
1662
4398
  }),
1663
4399
  parsedTransactionInstructionType("VoteCompactUpdateVoteStateInstruction", {
1664
4400
  hash: string(),
1665
- voteAccount: string(),
1666
- voteAuthority: string(),
4401
+ // Nested Account interface
4402
+ voteAccount: {
4403
+ args: {
4404
+ commitment: type(commitmentInputType()),
4405
+ dataSlice: type(dataSliceInputType()),
4406
+ encoding: type(accountEncodingInputType()),
4407
+ minContextSlot: bigint()
4408
+ },
4409
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4410
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4411
+ type: accountInterface()
4412
+ },
4413
+ // Nested Account interface
4414
+ voteAuthority: {
4415
+ args: {
4416
+ commitment: type(commitmentInputType()),
4417
+ dataSlice: type(dataSliceInputType()),
4418
+ encoding: type(accountEncodingInputType()),
4419
+ minContextSlot: bigint()
4420
+ },
4421
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4422
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4423
+ type: accountInterface()
4424
+ },
1667
4425
  voteStateUpdate: type(voteStateUpdate())
1668
4426
  }),
1669
4427
  parsedTransactionInstructionType("VoteCompactUpdateVoteStateSwitchInstruction", {
1670
4428
  hash: string(),
1671
- voteAccount: string(),
1672
- voteAuthority: string(),
4429
+ // Nested Account interface
4430
+ voteAccount: {
4431
+ args: {
4432
+ commitment: type(commitmentInputType()),
4433
+ dataSlice: type(dataSliceInputType()),
4434
+ encoding: type(accountEncodingInputType()),
4435
+ minContextSlot: bigint()
4436
+ },
4437
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4438
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4439
+ type: accountInterface()
4440
+ },
4441
+ // Nested Account interface
4442
+ voteAuthority: {
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.voteAuthority }, info),
4451
+ type: accountInterface()
4452
+ },
1673
4453
  voteStateUpdate: type(voteStateUpdate())
1674
4454
  }),
1675
4455
  parsedTransactionInstructionType("VoteWithdrawInstruction", {
1676
- destination: string(),
4456
+ destination: {
4457
+ args: {
4458
+ commitment: type(commitmentInputType()),
4459
+ dataSlice: type(dataSliceInputType()),
4460
+ encoding: type(accountEncodingInputType()),
4461
+ minContextSlot: bigint()
4462
+ },
4463
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4464
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.destination }, info),
4465
+ type: accountInterface()
4466
+ },
1677
4467
  lamports: bigint(),
1678
- voteAccount: string(),
1679
- withdrawAuthority: string()
4468
+ // Nested Account interface
4469
+ voteAccount: {
4470
+ args: {
4471
+ commitment: type(commitmentInputType()),
4472
+ dataSlice: type(dataSliceInputType()),
4473
+ encoding: type(accountEncodingInputType()),
4474
+ minContextSlot: bigint()
4475
+ },
4476
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4477
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4478
+ type: accountInterface()
4479
+ },
4480
+ // Nested Account interface
4481
+ withdrawAuthority: {
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.withdrawAuthority }, info),
4490
+ type: accountInterface()
4491
+ }
1680
4492
  }),
1681
4493
  parsedTransactionInstructionType("VoteUpdateValidatorIdentityInstruction", {
1682
- newValidatorIdentity: string(),
1683
- voteAccount: string(),
1684
- withdrawAuthority: string()
4494
+ // Nested Account interface
4495
+ newValidatorIdentity: {
4496
+ args: {
4497
+ commitment: type(commitmentInputType()),
4498
+ dataSlice: type(dataSliceInputType()),
4499
+ encoding: type(accountEncodingInputType()),
4500
+ minContextSlot: bigint()
4501
+ },
4502
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4503
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newValidatorIdentity }, info),
4504
+ type: accountInterface()
4505
+ },
4506
+ // Nested Account interface
4507
+ voteAccount: {
4508
+ args: {
4509
+ commitment: type(commitmentInputType()),
4510
+ dataSlice: type(dataSliceInputType()),
4511
+ encoding: type(accountEncodingInputType()),
4512
+ minContextSlot: bigint()
4513
+ },
4514
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4515
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4516
+ type: accountInterface()
4517
+ },
4518
+ // Nested Account interface
4519
+ withdrawAuthority: {
4520
+ args: {
4521
+ commitment: type(commitmentInputType()),
4522
+ dataSlice: type(dataSliceInputType()),
4523
+ encoding: type(accountEncodingInputType()),
4524
+ minContextSlot: bigint()
4525
+ },
4526
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4527
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
4528
+ type: accountInterface()
4529
+ }
1685
4530
  }),
1686
4531
  parsedTransactionInstructionType("VoteUpdateCommissionInstruction", {
1687
4532
  commission: string(),
1688
- voteAccount: string(),
1689
- withdrawAuthority: string()
4533
+ // Nested Account interface
4534
+ voteAccount: {
4535
+ args: {
4536
+ commitment: type(commitmentInputType()),
4537
+ dataSlice: type(dataSliceInputType()),
4538
+ encoding: type(accountEncodingInputType()),
4539
+ minContextSlot: bigint()
4540
+ },
4541
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4542
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4543
+ type: accountInterface()
4544
+ },
4545
+ // Nested Account interface
4546
+ withdrawAuthority: {
4547
+ args: {
4548
+ commitment: type(commitmentInputType()),
4549
+ dataSlice: type(dataSliceInputType()),
4550
+ encoding: type(accountEncodingInputType()),
4551
+ minContextSlot: bigint()
4552
+ },
4553
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4554
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.withdrawAuthority }, info),
4555
+ type: accountInterface()
4556
+ }
1690
4557
  }),
1691
4558
  parsedTransactionInstructionType("VoteVoteSwitchInstruction", {
1692
4559
  clockSysvar: string(),
1693
4560
  hash: string(),
1694
4561
  slotHashesSysvar: string(),
1695
4562
  vote: type(vote()),
1696
- voteAccount: string(),
1697
- voteAuthority: string()
4563
+ // Nested Account interface
4564
+ voteAccount: {
4565
+ args: {
4566
+ commitment: type(commitmentInputType()),
4567
+ dataSlice: type(dataSliceInputType()),
4568
+ encoding: type(accountEncodingInputType()),
4569
+ minContextSlot: bigint()
4570
+ },
4571
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4572
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4573
+ type: accountInterface()
4574
+ },
4575
+ // Nested Account interface
4576
+ voteAuthority: {
4577
+ args: {
4578
+ commitment: type(commitmentInputType()),
4579
+ dataSlice: type(dataSliceInputType()),
4580
+ encoding: type(accountEncodingInputType()),
4581
+ minContextSlot: bigint()
4582
+ },
4583
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4584
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAuthority }, info),
4585
+ type: accountInterface()
4586
+ }
1698
4587
  }),
1699
4588
  parsedTransactionInstructionType("VoteAuthorizeCheckedInstruction", {
1700
- authority: string(),
4589
+ // Nested Account interface
4590
+ authority: {
4591
+ args: {
4592
+ commitment: type(commitmentInputType()),
4593
+ dataSlice: type(dataSliceInputType()),
4594
+ encoding: type(accountEncodingInputType()),
4595
+ minContextSlot: bigint()
4596
+ },
4597
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4598
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.authority }, info),
4599
+ type: accountInterface()
4600
+ },
1701
4601
  authorityType: string(),
1702
4602
  clockSysvar: string(),
1703
- newAuthority: string(),
1704
- voteAccount: string()
4603
+ // Nested Account interface
4604
+ newAuthority: {
4605
+ args: {
4606
+ commitment: type(commitmentInputType()),
4607
+ dataSlice: type(dataSliceInputType()),
4608
+ encoding: type(accountEncodingInputType()),
4609
+ minContextSlot: bigint()
4610
+ },
4611
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4612
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.newAuthority }, info),
4613
+ type: accountInterface()
4614
+ },
4615
+ // Nested Account interface
4616
+ voteAccount: {
4617
+ args: {
4618
+ commitment: type(commitmentInputType()),
4619
+ dataSlice: type(dataSliceInputType()),
4620
+ encoding: type(accountEncodingInputType()),
4621
+ minContextSlot: bigint()
4622
+ },
4623
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4624
+ resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.voteAccount }, info),
4625
+ type: accountInterface()
4626
+ }
1705
4627
  })
1706
4628
  ];
1707
4629
  return memoisedParsedInstructionsVote;
@@ -1787,83 +4709,40 @@ var transactionMetaParsed = () => {
1787
4709
  );
1788
4710
  return memoisedTransactionMetaParsed;
1789
4711
  };
1790
- var memoisedTransactionMessageInterfaceFields;
1791
- var transactionMessageInterfaceFields = () => {
1792
- if (!memoisedTransactionMessageInterfaceFields)
1793
- memoisedTransactionMessageInterfaceFields = {
1794
- addressTableLookups: list(type(addressTableLookup())),
1795
- format: string(),
1796
- header: object("TransactionJsonTransactionHeader", {
1797
- numReadonlySignedAccounts: number(),
1798
- numReadonlyUnsignedAccounts: number(),
1799
- numRequiredSignatures: number()
1800
- }),
1801
- recentBlockhash: string()
1802
- };
1803
- return memoisedTransactionMessageInterfaceFields;
1804
- };
1805
- var memoisedTransactionMessageInterface;
1806
- var transactionMessageInterface = () => {
1807
- if (!memoisedTransactionMessageInterface)
1808
- memoisedTransactionMessageInterface = new GraphQLInterfaceType({
4712
+ var memoisedTransactionMessage;
4713
+ var transactionMessage = () => {
4714
+ if (!memoisedTransactionMessage)
4715
+ memoisedTransactionMessage = new GraphQLObjectType({
4716
+ description: "A transaction message",
1809
4717
  fields: {
1810
- ...transactionMessageInterfaceFields()
4718
+ accountKeys: list(
4719
+ object("transactionMessageParsedAccountKey", {
4720
+ pubkey: string(),
4721
+ signer: boolean(),
4722
+ source: string(),
4723
+ writable: boolean()
4724
+ })
4725
+ ),
4726
+ addressTableLookups: list(type(addressTableLookup())),
4727
+ format: string(),
4728
+ header: object("TransactionJsonTransactionHeader", {
4729
+ numReadonlySignedAccounts: number(),
4730
+ numReadonlyUnsignedAccounts: number(),
4731
+ numRequiredSignatures: number()
4732
+ }),
4733
+ instructions: list(type(parsedTransactionInstructionInterface())),
4734
+ recentBlockhash: string()
1811
4735
  },
1812
- name: "TransactionMessage",
1813
- resolveType(message) {
1814
- if (message.format === "parsed") {
1815
- return "TransactionMessageParsed";
1816
- }
1817
- return "TransactionMessageUnparsed";
1818
- }
4736
+ name: "TransactionMessage"
1819
4737
  });
1820
- return memoisedTransactionMessageInterface;
1821
- };
1822
- var transactionMessageType = (name, description, accountKeys, instructions) => new GraphQLObjectType({
1823
- description,
1824
- fields: {
1825
- ...transactionMessageInterfaceFields(),
1826
- accountKeys,
1827
- instructions
1828
- },
1829
- interfaces: [transactionMessageInterface()],
1830
- name
1831
- });
1832
- var memoisedTransactionMessageUnparsed;
1833
- var transactionMessageUnparsed = () => {
1834
- if (!memoisedTransactionMessageUnparsed)
1835
- memoisedTransactionMessageUnparsed = transactionMessageType(
1836
- "TransactionMessageUnparsed",
1837
- "Non-parsed transaction message",
1838
- list(string()),
1839
- list(type(transactionInstruction()))
1840
- );
1841
- return memoisedTransactionMessageUnparsed;
1842
- };
1843
- var memoisedTransactionMessageParsed;
1844
- var transactionMessageParsed = () => {
1845
- if (!memoisedTransactionMessageParsed)
1846
- memoisedTransactionMessageParsed = transactionMessageType(
1847
- "TransactionMessageParsed",
1848
- "Parsed transaction message",
1849
- list(
1850
- object("transactionMessageParsedAccountKey", {
1851
- pubkey: string(),
1852
- signer: boolean(),
1853
- source: string(),
1854
- writable: boolean()
1855
- })
1856
- ),
1857
- list(type(parsedTransactionInstructionInterface()))
1858
- );
1859
- return memoisedTransactionMessageParsed;
4738
+ return memoisedTransactionMessage;
1860
4739
  };
1861
4740
  var memoisedTransactionTransaction;
1862
4741
  var transactionTransaction = () => {
1863
4742
  if (!memoisedTransactionTransaction)
1864
4743
  memoisedTransactionTransaction = new GraphQLObjectType({
1865
4744
  fields: {
1866
- message: type(transactionMessageInterface()),
4745
+ message: type(transactionMessage()),
1867
4746
  signatures: list(string())
1868
4747
  },
1869
4748
  name: "TransactionTransaction"
@@ -1969,8 +4848,6 @@ var transactionTypes = () => {
1969
4848
  ...parsedInstructionsVote(),
1970
4849
  transactionMetaUnparsed(),
1971
4850
  transactionMetaParsed(),
1972
- transactionMessageUnparsed(),
1973
- transactionMessageParsed(),
1974
4851
  transactionBase58(),
1975
4852
  transactionBase64(),
1976
4853
  transactionJson(),
@@ -2136,15 +5013,6 @@ var blockQuery = () => ({
2136
5013
  type: blockInterface()
2137
5014
  }
2138
5015
  });
2139
- var programAccount = () => new GraphQLObjectType({
2140
- fields: {
2141
- account: type(accountInterface()),
2142
- pubkey: string()
2143
- },
2144
- name: "ProgramAccount"
2145
- });
2146
-
2147
- // src/schema/program-accounts/query.ts
2148
5016
  var programAccountsQuery = () => ({
2149
5017
  programAccounts: {
2150
5018
  args: {
@@ -2157,7 +5025,7 @@ var programAccountsQuery = () => ({
2157
5025
  withContext: string()
2158
5026
  },
2159
5027
  resolve: (_parent, args, context) => context.resolveProgramAccounts(args),
2160
- type: new GraphQLList(programAccount())
5028
+ type: new GraphQLList(accountInterface())
2161
5029
  }
2162
5030
  });
2163
5031