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