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