@solana/rpc-api 2.0.0-20241006045741

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +59 -0
  3. package/dist/index.browser.cjs +115 -0
  4. package/dist/index.browser.cjs.map +1 -0
  5. package/dist/index.browser.mjs +113 -0
  6. package/dist/index.browser.mjs.map +1 -0
  7. package/dist/index.native.mjs +113 -0
  8. package/dist/index.native.mjs.map +1 -0
  9. package/dist/index.node.cjs +115 -0
  10. package/dist/index.node.cjs.map +1 -0
  11. package/dist/index.node.mjs +113 -0
  12. package/dist/index.node.mjs.map +1 -0
  13. package/dist/types/getAccountInfo.d.ts +30 -0
  14. package/dist/types/getAccountInfo.d.ts.map +1 -0
  15. package/dist/types/getBalance.d.ts +14 -0
  16. package/dist/types/getBalance.d.ts.map +1 -0
  17. package/dist/types/getBlock.d.ts +172 -0
  18. package/dist/types/getBlock.d.ts.map +1 -0
  19. package/dist/types/getBlockCommitment.d.ts +14 -0
  20. package/dist/types/getBlockCommitment.d.ts.map +1 -0
  21. package/dist/types/getBlockHeight.d.ts +13 -0
  22. package/dist/types/getBlockHeight.d.ts.map +1 -0
  23. package/dist/types/getBlockProduction.d.ts +39 -0
  24. package/dist/types/getBlockProduction.d.ts.map +1 -0
  25. package/dist/types/getBlockTime.d.ts +13 -0
  26. package/dist/types/getBlockTime.d.ts.map +1 -0
  27. package/dist/types/getBlocks.d.ts +12 -0
  28. package/dist/types/getBlocks.d.ts.map +1 -0
  29. package/dist/types/getBlocksWithLimit.d.ts +13 -0
  30. package/dist/types/getBlocksWithLimit.d.ts.map +1 -0
  31. package/dist/types/getClusterNodes.d.ts +47 -0
  32. package/dist/types/getClusterNodes.d.ts.map +1 -0
  33. package/dist/types/getEpochInfo.d.ts +26 -0
  34. package/dist/types/getEpochInfo.d.ts.map +1 -0
  35. package/dist/types/getEpochSchedule.d.ts +22 -0
  36. package/dist/types/getEpochSchedule.d.ts.map +1 -0
  37. package/dist/types/getFeeForMessage.d.ts +15 -0
  38. package/dist/types/getFeeForMessage.d.ts.map +1 -0
  39. package/dist/types/getFirstAvailableBlock.d.ts +11 -0
  40. package/dist/types/getFirstAvailableBlock.d.ts.map +1 -0
  41. package/dist/types/getGenesisHash.d.ts +10 -0
  42. package/dist/types/getGenesisHash.d.ts.map +1 -0
  43. package/dist/types/getHealth.d.ts +9 -0
  44. package/dist/types/getHealth.d.ts.map +1 -0
  45. package/dist/types/getHighestSnapshotSlot.d.ts +17 -0
  46. package/dist/types/getHighestSnapshotSlot.d.ts.map +1 -0
  47. package/dist/types/getIdentity.d.ts +12 -0
  48. package/dist/types/getIdentity.d.ts.map +1 -0
  49. package/dist/types/getInflationGovernor.d.ts +27 -0
  50. package/dist/types/getInflationGovernor.d.ts.map +1 -0
  51. package/dist/types/getInflationRate.d.ts +19 -0
  52. package/dist/types/getInflationRate.d.ts.map +1 -0
  53. package/dist/types/getInflationReward.d.ts +23 -0
  54. package/dist/types/getInflationReward.d.ts.map +1 -0
  55. package/dist/types/getLargestAccounts.d.ts +22 -0
  56. package/dist/types/getLargestAccounts.d.ts.map +1 -0
  57. package/dist/types/getLatestBlockhash.d.ts +18 -0
  58. package/dist/types/getLatestBlockhash.d.ts.map +1 -0
  59. package/dist/types/getLeaderSchedule.d.ts +50 -0
  60. package/dist/types/getLeaderSchedule.d.ts.map +1 -0
  61. package/dist/types/getMaxRetransmitSlot.d.ts +11 -0
  62. package/dist/types/getMaxRetransmitSlot.d.ts.map +1 -0
  63. package/dist/types/getMaxShredInsertSlot.d.ts +11 -0
  64. package/dist/types/getMaxShredInsertSlot.d.ts.map +1 -0
  65. package/dist/types/getMinimumBalanceForRentExemption.d.ts +12 -0
  66. package/dist/types/getMinimumBalanceForRentExemption.d.ts.map +1 -0
  67. package/dist/types/getMultipleAccounts.d.ts +43 -0
  68. package/dist/types/getMultipleAccounts.d.ts.map +1 -0
  69. package/dist/types/getProgramAccounts.d.ts +59 -0
  70. package/dist/types/getProgramAccounts.d.ts.map +1 -0
  71. package/dist/types/getRecentPerformanceSamples.d.ts +24 -0
  72. package/dist/types/getRecentPerformanceSamples.d.ts.map +1 -0
  73. package/dist/types/getRecentPrioritizationFees.d.ts +30 -0
  74. package/dist/types/getRecentPrioritizationFees.d.ts.map +1 -0
  75. package/dist/types/getSignatureStatuses.d.ts +56 -0
  76. package/dist/types/getSignatureStatuses.d.ts.map +1 -0
  77. package/dist/types/getSignaturesForAddress.d.ts +39 -0
  78. package/dist/types/getSignaturesForAddress.d.ts.map +1 -0
  79. package/dist/types/getSlot.d.ts +13 -0
  80. package/dist/types/getSlot.d.ts.map +1 -0
  81. package/dist/types/getSlotLeader.d.ts +14 -0
  82. package/dist/types/getSlotLeader.d.ts.map +1 -0
  83. package/dist/types/getSlotLeaders.d.ts +16 -0
  84. package/dist/types/getSlotLeaders.d.ts.map +1 -0
  85. package/dist/types/getStakeActivation.d.ts +25 -0
  86. package/dist/types/getStakeActivation.d.ts.map +1 -0
  87. package/dist/types/getStakeMinimumDelegation.d.ts +12 -0
  88. package/dist/types/getStakeMinimumDelegation.d.ts.map +1 -0
  89. package/dist/types/getSupply.d.ts +37 -0
  90. package/dist/types/getSupply.d.ts.map +1 -0
  91. package/dist/types/getTokenAccountBalance.d.ts +15 -0
  92. package/dist/types/getTokenAccountBalance.d.ts.map +1 -0
  93. package/dist/types/getTokenAccountsByDelegate.d.ts +54 -0
  94. package/dist/types/getTokenAccountsByDelegate.d.ts.map +1 -0
  95. package/dist/types/getTokenAccountsByOwner.d.ts +54 -0
  96. package/dist/types/getTokenAccountsByOwner.d.ts.map +1 -0
  97. package/dist/types/getTokenLargestAccounts.d.ts +16 -0
  98. package/dist/types/getTokenLargestAccounts.d.ts.map +1 -0
  99. package/dist/types/getTokenSupply.d.ts +15 -0
  100. package/dist/types/getTokenSupply.d.ts.map +1 -0
  101. package/dist/types/getTransaction.d.ts +166 -0
  102. package/dist/types/getTransaction.d.ts.map +1 -0
  103. package/dist/types/getTransactionCount.d.ts +13 -0
  104. package/dist/types/getTransactionCount.d.ts.map +1 -0
  105. package/dist/types/getVersion.d.ts +14 -0
  106. package/dist/types/getVersion.d.ts.map +1 -0
  107. package/dist/types/getVoteAccounts.d.ts +43 -0
  108. package/dist/types/getVoteAccounts.d.ts.map +1 -0
  109. package/dist/types/index.d.ts +65 -0
  110. package/dist/types/index.d.ts.map +1 -0
  111. package/dist/types/isBlockhashValid.d.ts +17 -0
  112. package/dist/types/isBlockhashValid.d.ts.map +1 -0
  113. package/dist/types/minimumLedgerSlot.d.ts +11 -0
  114. package/dist/types/minimumLedgerSlot.d.ts.map +1 -0
  115. package/dist/types/requestAirdrop.d.ts +15 -0
  116. package/dist/types/requestAirdrop.d.ts.map +1 -0
  117. package/dist/types/sendTransaction.d.ts +48 -0
  118. package/dist/types/sendTransaction.d.ts.map +1 -0
  119. package/dist/types/simulateTransaction.d.ts +143 -0
  120. package/dist/types/simulateTransaction.d.ts.map +1 -0
  121. package/package.json +96 -0
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ var rpcSpec = require('@solana/rpc-spec');
4
+ var rpcTransformers = require('@solana/rpc-transformers');
5
+
6
+ // src/index.ts
7
+ function createSolanaRpcApi(config) {
8
+ return rpcSpec.createJsonRpcApi({
9
+ requestTransformer: rpcTransformers.getDefaultRequestTransformerForSolanaRpc(config),
10
+ responseTransformer: rpcTransformers.getDefaultResponseTransformerForSolanaRpc({
11
+ allowedNumericKeyPaths: getAllowedNumericKeypaths()
12
+ })
13
+ });
14
+ }
15
+ var memoizedKeypaths;
16
+ function getAllowedNumericKeypaths() {
17
+ if (!memoizedKeypaths) {
18
+ memoizedKeypaths = {
19
+ getAccountInfo: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
20
+ getBlock: [
21
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
22
+ [
23
+ "transactions",
24
+ rpcTransformers.KEYPATH_WILDCARD,
25
+ "meta",
26
+ "preTokenBalances",
27
+ rpcTransformers.KEYPATH_WILDCARD,
28
+ "uiTokenAmount",
29
+ "decimals"
30
+ ],
31
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
32
+ [
33
+ "transactions",
34
+ rpcTransformers.KEYPATH_WILDCARD,
35
+ "meta",
36
+ "postTokenBalances",
37
+ rpcTransformers.KEYPATH_WILDCARD,
38
+ "uiTokenAmount",
39
+ "decimals"
40
+ ],
41
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"],
42
+ ...rpcTransformers.innerInstructionsConfigs.map((c) => [
43
+ "transactions",
44
+ rpcTransformers.KEYPATH_WILDCARD,
45
+ "meta",
46
+ "innerInstructions",
47
+ rpcTransformers.KEYPATH_WILDCARD,
48
+ ...c
49
+ ]),
50
+ ...rpcTransformers.messageConfig.map((c) => ["transactions", rpcTransformers.KEYPATH_WILDCARD, "transaction", "message", ...c]),
51
+ ["rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"]
52
+ ],
53
+ getClusterNodes: [
54
+ [rpcTransformers.KEYPATH_WILDCARD, "featureSet"],
55
+ [rpcTransformers.KEYPATH_WILDCARD, "shredVersion"]
56
+ ],
57
+ getInflationGovernor: [["initial"], ["foundation"], ["foundationTerm"], ["taper"], ["terminal"]],
58
+ getInflationRate: [["foundation"], ["total"], ["validator"]],
59
+ getInflationReward: [[rpcTransformers.KEYPATH_WILDCARD, "commission"]],
60
+ getMultipleAccounts: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", rpcTransformers.KEYPATH_WILDCARD, ...c]),
61
+ getProgramAccounts: rpcTransformers.jsonParsedAccountsConfigs.flatMap((c) => [
62
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "account", ...c],
63
+ [rpcTransformers.KEYPATH_WILDCARD, "account", ...c]
64
+ ]),
65
+ getRecentPerformanceSamples: [[rpcTransformers.KEYPATH_WILDCARD, "samplePeriodSecs"]],
66
+ getTokenAccountBalance: [
67
+ ["value", "decimals"],
68
+ ["value", "uiAmount"]
69
+ ],
70
+ getTokenAccountsByDelegate: rpcTransformers.jsonParsedTokenAccountsConfigs.map((c) => [
71
+ "value",
72
+ rpcTransformers.KEYPATH_WILDCARD,
73
+ "account",
74
+ ...c
75
+ ]),
76
+ getTokenAccountsByOwner: rpcTransformers.jsonParsedTokenAccountsConfigs.map((c) => [
77
+ "value",
78
+ rpcTransformers.KEYPATH_WILDCARD,
79
+ "account",
80
+ ...c
81
+ ]),
82
+ getTokenLargestAccounts: [
83
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "decimals"],
84
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "uiAmount"]
85
+ ],
86
+ getTokenSupply: [
87
+ ["value", "decimals"],
88
+ ["value", "uiAmount"]
89
+ ],
90
+ getTransaction: [
91
+ ["meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
92
+ ["meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
93
+ ["meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
94
+ ["meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
95
+ ["meta", "rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"],
96
+ ...rpcTransformers.innerInstructionsConfigs.map((c) => ["meta", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, ...c]),
97
+ ...rpcTransformers.messageConfig.map((c) => ["transaction", "message", ...c])
98
+ ],
99
+ getVersion: [["feature-set"]],
100
+ getVoteAccounts: [
101
+ ["current", rpcTransformers.KEYPATH_WILDCARD, "commission"],
102
+ ["delinquent", rpcTransformers.KEYPATH_WILDCARD, "commission"]
103
+ ],
104
+ simulateTransaction: [
105
+ ...rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", "accounts", rpcTransformers.KEYPATH_WILDCARD, ...c]),
106
+ ...rpcTransformers.innerInstructionsConfigs.map((c) => ["value", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, ...c])
107
+ ]
108
+ };
109
+ }
110
+ return memoizedKeypaths;
111
+ }
112
+
113
+ exports.createSolanaRpcApi = createSolanaRpcApi;
114
+ //# sourceMappingURL=index.node.cjs.map
115
+ //# sourceMappingURL=index.node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["createJsonRpcApi","getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD","innerInstructionsConfigs","messageConfig","jsonParsedTokenAccountsConfigs"],"mappings":"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","file":"index.node.cjs","sourcesContent":["import { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeActivationApi } from './getStakeActivation';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeActivationApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeActivationApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nexport function createSolanaRpcApi<\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
@@ -0,0 +1,113 @@
1
+ import { createJsonRpcApi } from '@solana/rpc-spec';
2
+ import { getDefaultRequestTransformerForSolanaRpc, getDefaultResponseTransformerForSolanaRpc, jsonParsedAccountsConfigs, KEYPATH_WILDCARD, innerInstructionsConfigs, messageConfig, jsonParsedTokenAccountsConfigs } from '@solana/rpc-transformers';
3
+
4
+ // src/index.ts
5
+ function createSolanaRpcApi(config) {
6
+ return createJsonRpcApi({
7
+ requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),
8
+ responseTransformer: getDefaultResponseTransformerForSolanaRpc({
9
+ allowedNumericKeyPaths: getAllowedNumericKeypaths()
10
+ })
11
+ });
12
+ }
13
+ var memoizedKeypaths;
14
+ function getAllowedNumericKeypaths() {
15
+ if (!memoizedKeypaths) {
16
+ memoizedKeypaths = {
17
+ getAccountInfo: jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
18
+ getBlock: [
19
+ ["transactions", KEYPATH_WILDCARD, "meta", "preTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
20
+ [
21
+ "transactions",
22
+ KEYPATH_WILDCARD,
23
+ "meta",
24
+ "preTokenBalances",
25
+ KEYPATH_WILDCARD,
26
+ "uiTokenAmount",
27
+ "decimals"
28
+ ],
29
+ ["transactions", KEYPATH_WILDCARD, "meta", "postTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
30
+ [
31
+ "transactions",
32
+ KEYPATH_WILDCARD,
33
+ "meta",
34
+ "postTokenBalances",
35
+ KEYPATH_WILDCARD,
36
+ "uiTokenAmount",
37
+ "decimals"
38
+ ],
39
+ ["transactions", KEYPATH_WILDCARD, "meta", "rewards", KEYPATH_WILDCARD, "commission"],
40
+ ...innerInstructionsConfigs.map((c) => [
41
+ "transactions",
42
+ KEYPATH_WILDCARD,
43
+ "meta",
44
+ "innerInstructions",
45
+ KEYPATH_WILDCARD,
46
+ ...c
47
+ ]),
48
+ ...messageConfig.map((c) => ["transactions", KEYPATH_WILDCARD, "transaction", "message", ...c]),
49
+ ["rewards", KEYPATH_WILDCARD, "commission"]
50
+ ],
51
+ getClusterNodes: [
52
+ [KEYPATH_WILDCARD, "featureSet"],
53
+ [KEYPATH_WILDCARD, "shredVersion"]
54
+ ],
55
+ getInflationGovernor: [["initial"], ["foundation"], ["foundationTerm"], ["taper"], ["terminal"]],
56
+ getInflationRate: [["foundation"], ["total"], ["validator"]],
57
+ getInflationReward: [[KEYPATH_WILDCARD, "commission"]],
58
+ getMultipleAccounts: jsonParsedAccountsConfigs.map((c) => ["value", KEYPATH_WILDCARD, ...c]),
59
+ getProgramAccounts: jsonParsedAccountsConfigs.flatMap((c) => [
60
+ ["value", KEYPATH_WILDCARD, "account", ...c],
61
+ [KEYPATH_WILDCARD, "account", ...c]
62
+ ]),
63
+ getRecentPerformanceSamples: [[KEYPATH_WILDCARD, "samplePeriodSecs"]],
64
+ getTokenAccountBalance: [
65
+ ["value", "decimals"],
66
+ ["value", "uiAmount"]
67
+ ],
68
+ getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map((c) => [
69
+ "value",
70
+ KEYPATH_WILDCARD,
71
+ "account",
72
+ ...c
73
+ ]),
74
+ getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map((c) => [
75
+ "value",
76
+ KEYPATH_WILDCARD,
77
+ "account",
78
+ ...c
79
+ ]),
80
+ getTokenLargestAccounts: [
81
+ ["value", KEYPATH_WILDCARD, "decimals"],
82
+ ["value", KEYPATH_WILDCARD, "uiAmount"]
83
+ ],
84
+ getTokenSupply: [
85
+ ["value", "decimals"],
86
+ ["value", "uiAmount"]
87
+ ],
88
+ getTransaction: [
89
+ ["meta", "preTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
90
+ ["meta", "preTokenBalances", KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
91
+ ["meta", "postTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
92
+ ["meta", "postTokenBalances", KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
93
+ ["meta", "rewards", KEYPATH_WILDCARD, "commission"],
94
+ ...innerInstructionsConfigs.map((c) => ["meta", "innerInstructions", KEYPATH_WILDCARD, ...c]),
95
+ ...messageConfig.map((c) => ["transaction", "message", ...c])
96
+ ],
97
+ getVersion: [["feature-set"]],
98
+ getVoteAccounts: [
99
+ ["current", KEYPATH_WILDCARD, "commission"],
100
+ ["delinquent", KEYPATH_WILDCARD, "commission"]
101
+ ],
102
+ simulateTransaction: [
103
+ ...jsonParsedAccountsConfigs.map((c) => ["value", "accounts", KEYPATH_WILDCARD, ...c]),
104
+ ...innerInstructionsConfigs.map((c) => ["value", "innerInstructions", KEYPATH_WILDCARD, ...c])
105
+ ]
106
+ };
107
+ }
108
+ return memoizedKeypaths;
109
+ }
110
+
111
+ export { createSolanaRpcApi };
112
+ //# sourceMappingURL=index.node.mjs.map
113
+ //# sourceMappingURL=index.node.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.node.mjs","sourcesContent":["import { createJsonRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n innerInstructionsConfigs,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n messageConfig,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { GetAccountInfoApi } from './getAccountInfo';\nimport { GetBalanceApi } from './getBalance';\nimport { GetBlockApi } from './getBlock';\nimport { GetBlockCommitmentApi } from './getBlockCommitment';\nimport { GetBlockHeightApi } from './getBlockHeight';\nimport { GetBlockProductionApi } from './getBlockProduction';\nimport { GetBlocksApi } from './getBlocks';\nimport { GetBlocksWithLimitApi } from './getBlocksWithLimit';\nimport { GetBlockTimeApi } from './getBlockTime';\nimport { GetClusterNodesApi } from './getClusterNodes';\nimport { GetEpochInfoApi } from './getEpochInfo';\nimport { GetEpochScheduleApi } from './getEpochSchedule';\nimport { GetFeeForMessageApi } from './getFeeForMessage';\nimport { GetFirstAvailableBlockApi } from './getFirstAvailableBlock';\nimport { GetGenesisHashApi } from './getGenesisHash';\nimport { GetHealthApi } from './getHealth';\nimport { GetHighestSnapshotSlotApi } from './getHighestSnapshotSlot';\nimport { GetIdentityApi } from './getIdentity';\nimport { GetInflationGovernorApi } from './getInflationGovernor';\nimport { GetInflationRateApi } from './getInflationRate';\nimport { GetInflationRewardApi } from './getInflationReward';\nimport { GetLargestAccountsApi } from './getLargestAccounts';\nimport { GetLatestBlockhashApi } from './getLatestBlockhash';\nimport { GetLeaderScheduleApi } from './getLeaderSchedule';\nimport { GetMaxRetransmitSlotApi } from './getMaxRetransmitSlot';\nimport { GetMaxShredInsertSlotApi } from './getMaxShredInsertSlot';\nimport { GetMinimumBalanceForRentExemptionApi } from './getMinimumBalanceForRentExemption';\nimport { GetMultipleAccountsApi } from './getMultipleAccounts';\nimport { GetProgramAccountsApi } from './getProgramAccounts';\nimport { GetRecentPerformanceSamplesApi } from './getRecentPerformanceSamples';\nimport { GetRecentPrioritizationFeesApi } from './getRecentPrioritizationFees';\nimport { GetSignaturesForAddressApi } from './getSignaturesForAddress';\nimport { GetSignatureStatusesApi } from './getSignatureStatuses';\nimport { GetSlotApi } from './getSlot';\nimport { GetSlotLeaderApi } from './getSlotLeader';\nimport { GetSlotLeadersApi } from './getSlotLeaders';\nimport { GetStakeActivationApi } from './getStakeActivation';\nimport { GetStakeMinimumDelegationApi } from './getStakeMinimumDelegation';\nimport { GetSupplyApi } from './getSupply';\nimport { GetTokenAccountBalanceApi } from './getTokenAccountBalance';\nimport { GetTokenAccountsByDelegateApi } from './getTokenAccountsByDelegate';\nimport { GetTokenAccountsByOwnerApi } from './getTokenAccountsByOwner';\nimport { GetTokenLargestAccountsApi } from './getTokenLargestAccounts';\nimport { GetTokenSupplyApi } from './getTokenSupply';\nimport { GetTransactionApi } from './getTransaction';\nimport { GetTransactionCountApi } from './getTransactionCount';\nimport { GetVersionApi } from './getVersion';\nimport { GetVoteAccountsApi } from './getVoteAccounts';\nimport { IsBlockhashValidApi } from './isBlockhashValid';\nimport { MinimumLedgerSlotApi } from './minimumLedgerSlot';\nimport { RequestAirdropApi } from './requestAirdrop';\nimport { SendTransactionApi } from './sendTransaction';\nimport { SimulateTransactionApi } from './simulateTransaction';\n\ntype SolanaRpcApiForAllClusters = GetAccountInfoApi &\n GetBalanceApi &\n GetBlockApi &\n GetBlockCommitmentApi &\n GetBlockHeightApi &\n GetBlockProductionApi &\n GetBlocksApi &\n GetBlocksWithLimitApi &\n GetBlockTimeApi &\n GetClusterNodesApi &\n GetEpochInfoApi &\n GetEpochScheduleApi &\n GetFeeForMessageApi &\n GetFirstAvailableBlockApi &\n GetGenesisHashApi &\n GetHealthApi &\n GetHighestSnapshotSlotApi &\n GetIdentityApi &\n GetInflationGovernorApi &\n GetInflationRateApi &\n GetInflationRewardApi &\n GetLargestAccountsApi &\n GetLatestBlockhashApi &\n GetLeaderScheduleApi &\n GetMaxRetransmitSlotApi &\n GetMaxShredInsertSlotApi &\n GetMinimumBalanceForRentExemptionApi &\n GetMultipleAccountsApi &\n GetProgramAccountsApi &\n GetRecentPerformanceSamplesApi &\n GetRecentPrioritizationFeesApi &\n GetSignaturesForAddressApi &\n GetSignatureStatusesApi &\n GetSlotApi &\n GetSlotLeaderApi &\n GetSlotLeadersApi &\n GetStakeActivationApi &\n GetStakeMinimumDelegationApi &\n GetSupplyApi &\n GetTokenAccountBalanceApi &\n GetTokenAccountsByDelegateApi &\n GetTokenAccountsByOwnerApi &\n GetTokenLargestAccountsApi &\n GetTokenSupplyApi &\n GetTransactionApi &\n GetTransactionCountApi &\n GetVersionApi &\n GetVoteAccountsApi &\n IsBlockhashValidApi &\n MinimumLedgerSlotApi &\n SendTransactionApi &\n SimulateTransactionApi;\ntype SolanaRpcApiForTestClusters = RequestAirdropApi & SolanaRpcApiForAllClusters;\nexport type SolanaRpcApi = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiDevnet = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiTestnet = SolanaRpcApiForTestClusters;\nexport type SolanaRpcApiMainnet = SolanaRpcApiForAllClusters;\n\nexport type {\n GetAccountInfoApi,\n GetBalanceApi,\n GetBlockApi,\n GetBlockCommitmentApi,\n GetBlockHeightApi,\n GetBlockProductionApi,\n GetBlocksApi,\n GetBlocksWithLimitApi,\n GetBlockTimeApi,\n GetClusterNodesApi,\n GetEpochInfoApi,\n GetEpochScheduleApi,\n GetFeeForMessageApi,\n GetFirstAvailableBlockApi,\n GetGenesisHashApi,\n GetHealthApi,\n GetHighestSnapshotSlotApi,\n GetIdentityApi,\n GetInflationGovernorApi,\n GetInflationRateApi,\n GetInflationRewardApi,\n GetLargestAccountsApi,\n GetLatestBlockhashApi,\n GetLeaderScheduleApi,\n GetMaxRetransmitSlotApi,\n GetMaxShredInsertSlotApi,\n GetMinimumBalanceForRentExemptionApi,\n GetMultipleAccountsApi,\n GetProgramAccountsApi,\n GetRecentPerformanceSamplesApi,\n GetRecentPrioritizationFeesApi,\n GetSignaturesForAddressApi,\n GetSignatureStatusesApi,\n GetSlotApi,\n GetSlotLeaderApi,\n GetSlotLeadersApi,\n GetStakeActivationApi,\n GetStakeMinimumDelegationApi,\n GetSupplyApi,\n GetTokenAccountBalanceApi,\n GetTokenAccountsByDelegateApi,\n GetTokenAccountsByOwnerApi,\n GetTokenLargestAccountsApi,\n GetTokenSupplyApi,\n GetTransactionApi,\n GetTransactionCountApi,\n GetVersionApi,\n GetVoteAccountsApi,\n IsBlockhashValidApi,\n MinimumLedgerSlotApi,\n RequestAirdropApi,\n SendTransactionApi,\n SimulateTransactionApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nexport function createSolanaRpcApi<\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiMainnet | SolanaRpcApiTestnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createJsonRpcApi<TRpcMethods>({\n requestTransformer: getDefaultRequestTransformerForSolanaRpc(config),\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n });\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<RpcApi<SolanaRpcApi>>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<RpcApi<SolanaRpcApi>> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n getAccountInfo: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n getBlock: [\n ['transactions', KEYPATH_WILDCARD, 'meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n ...c,\n ]),\n ...messageConfig.map(c => ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', ...c] as const),\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getClusterNodes: [\n [KEYPATH_WILDCARD, 'featureSet'],\n [KEYPATH_WILDCARD, 'shredVersion'],\n ],\n getInflationGovernor: [['initial'], ['foundation'], ['foundationTerm'], ['taper'], ['terminal']],\n getInflationRate: [['foundation'], ['total'], ['validator']],\n getInflationReward: [[KEYPATH_WILDCARD, 'commission']],\n getMultipleAccounts: jsonParsedAccountsConfigs.map(c => ['value', KEYPATH_WILDCARD, ...c]),\n getProgramAccounts: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n getRecentPerformanceSamples: [[KEYPATH_WILDCARD, 'samplePeriodSecs']],\n getTokenAccountBalance: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map(c => [\n 'value',\n KEYPATH_WILDCARD,\n 'account',\n ...c,\n ]),\n getTokenLargestAccounts: [\n ['value', KEYPATH_WILDCARD, 'decimals'],\n ['value', KEYPATH_WILDCARD, 'uiAmount'],\n ],\n getTokenSupply: [\n ['value', 'decimals'],\n ['value', 'uiAmount'],\n ],\n getTransaction: [\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'preTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'accountIndex'],\n ['meta', 'postTokenBalances', KEYPATH_WILDCARD, 'uiTokenAmount', 'decimals'],\n ['meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ...innerInstructionsConfigs.map(c => ['meta', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ...messageConfig.map(c => ['transaction', 'message', ...c] as const),\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: [\n ...jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n ...innerInstructionsConfigs.map(c => ['value', 'innerInstructions', KEYPATH_WILDCARD, ...c]),\n ],\n };\n }\n return memoizedKeypaths;\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import type { Address } from '@solana/addresses';
2
+ import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, Commitment, DataSlice, Slot, SolanaRpcResponse } from '@solana/rpc-types';
3
+ type GetAccountInfoApiResponse<T> = (AccountInfoBase & T) | null;
4
+ type GetAccountInfoApiCommonConfig = Readonly<{
5
+ commitment?: Commitment;
6
+ minContextSlot?: Slot;
7
+ }>;
8
+ type GetAccountInfoApiSliceableCommonConfig = Readonly<{
9
+ dataSlice?: DataSlice;
10
+ }>;
11
+ export type GetAccountInfoApi = {
12
+ /**
13
+ * Returns all information associated with the account of provided public key
14
+ */
15
+ getAccountInfo(address: Address, config: GetAccountInfoApiCommonConfig & GetAccountInfoApiSliceableCommonConfig & Readonly<{
16
+ encoding: 'base64';
17
+ }>): SolanaRpcResponse<GetAccountInfoApiResponse<AccountInfoWithBase64EncodedData>>;
18
+ getAccountInfo(address: Address, config: GetAccountInfoApiCommonConfig & GetAccountInfoApiSliceableCommonConfig & Readonly<{
19
+ encoding: 'base64+zstd';
20
+ }>): SolanaRpcResponse<GetAccountInfoApiResponse<AccountInfoWithBase64EncodedZStdCompressedData>>;
21
+ getAccountInfo(address: Address, config: GetAccountInfoApiCommonConfig & Readonly<{
22
+ encoding: 'jsonParsed';
23
+ }>): SolanaRpcResponse<GetAccountInfoApiResponse<AccountInfoWithJsonData>>;
24
+ getAccountInfo(address: Address, config: GetAccountInfoApiCommonConfig & GetAccountInfoApiSliceableCommonConfig & Readonly<{
25
+ encoding: 'base58';
26
+ }>): SolanaRpcResponse<GetAccountInfoApiResponse<AccountInfoWithBase58EncodedData>>;
27
+ getAccountInfo(address: Address, config?: GetAccountInfoApiCommonConfig): SolanaRpcResponse<GetAccountInfoApiResponse<AccountInfoWithBase58Bytes>>;
28
+ };
29
+ export {};
30
+ //# sourceMappingURL=getAccountInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAccountInfo.d.ts","sourceRoot":"","sources":["../../src/getAccountInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACR,eAAe,EACf,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,8CAA8C,EAC9C,uBAAuB,EACvB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,yBAAyB,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAEjE,KAAK,6BAA6B,GAAG,QAAQ,CAAC;IAE1C,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,cAAc,CAAC,EAAE,IAAI,CAAC;CACzB,CAAC,CAAC;AAEH,KAAK,sCAAsC,GAAG,QAAQ,CAAC;IAEnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;OAEG;IACH,cAAc,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,6BAA6B,GACjC,sCAAsC,GACtC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,iBAAiB,CAAC,yBAAyB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAClF,cAAc,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,6BAA6B,GACjC,sCAAsC,GACtC,QAAQ,CAAC;QACL,QAAQ,EAAE,aAAa,CAAC;KAC3B,CAAC,GACP,iBAAiB,CAAC,yBAAyB,CAAC,8CAA8C,CAAC,CAAC,CAAC;IAChG,cAAc,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,6BAA6B,GACjC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC,GACP,iBAAiB,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACzE,cAAc,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,6BAA6B,GACjC,sCAAsC,GACtC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,iBAAiB,CAAC,yBAAyB,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAClF,cAAc,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,6BAA6B,GACvC,iBAAiB,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,CAAC,CAAC;CAC/E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Address } from '@solana/addresses';
2
+ import type { Commitment, LamportsUnsafeBeyond2Pow53Minus1, Slot, SolanaRpcResponse } from '@solana/rpc-types';
3
+ type GetBalanceApiResponse = SolanaRpcResponse<LamportsUnsafeBeyond2Pow53Minus1>;
4
+ export type GetBalanceApi = {
5
+ /**
6
+ * Returns the balance of the account of provided Pubkey
7
+ */
8
+ getBalance(address: Address, config?: Readonly<{
9
+ commitment?: Commitment;
10
+ minContextSlot?: Slot;
11
+ }>): GetBalanceApiResponse;
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=getBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.d.ts","sourceRoot":"","sources":["../../src/getBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,gCAAgC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/G,KAAK,qBAAqB,GAAG,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,UAAU,CACN,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,QAAQ,CAAC;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,cAAc,CAAC,EAAE,IAAI,CAAC;KACzB,CAAC,GACH,qBAAqB,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,172 @@
1
+ import type { Base58EncodedBytes, Blockhash, Commitment, Reward, Slot, TransactionForAccounts, TransactionForFullBase58, TransactionForFullBase64, TransactionForFullJson, TransactionForFullJsonParsed, U64UnsafeBeyond2Pow53Minus1, UnixTimestampUnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
2
+ import type { TransactionVersion } from '@solana/transaction-messages';
3
+ type GetBlockApiResponseBase = Readonly<{
4
+ /** The number of blocks beneath this block */
5
+ blockHeight: U64UnsafeBeyond2Pow53Minus1;
6
+ /** Estimated production time, as Unix timestamp */
7
+ blockTime: UnixTimestampUnsafeBeyond2Pow53Minus1;
8
+ /** the blockhash of this block */
9
+ blockhash: Blockhash;
10
+ /** The slot index of this block's parent */
11
+ parentSlot: Slot;
12
+ /** The blockhash of this block's parent */
13
+ previousBlockhash: Blockhash;
14
+ }>;
15
+ type GetBlockApiResponseWithRewards = Readonly<{
16
+ /** Block-level rewards */
17
+ rewards: readonly Reward[];
18
+ }>;
19
+ type GetBlockApiResponseWithSignatures = Readonly<{
20
+ /** List of signatures applied to transactions in this block */
21
+ signatures: readonly Base58EncodedBytes[];
22
+ }>;
23
+ type GetBlockApiResponseWithTransactions<TTransaction> = Readonly<{
24
+ transactions: readonly TTransaction[];
25
+ }>;
26
+ type GetBlockCommonConfig = Readonly<{
27
+ /** @defaultValue finalized */
28
+ commitment?: Omit<Commitment, 'processed'>;
29
+ }>;
30
+ type GetBlockEncoding = 'base58' | 'base64' | 'json' | 'jsonParsed';
31
+ type GetBlockMaxSupportedTransactionVersion = Exclude<TransactionVersion, 'legacy'>;
32
+ export type GetBlockApi = {
33
+ /**
34
+ * Returns identity and transaction information about a confirmed block in the ledger
35
+ */
36
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
37
+ encoding?: GetBlockEncoding;
38
+ maxSupportedTransactionVersion?: GetBlockMaxSupportedTransactionVersion;
39
+ rewards: false;
40
+ transactionDetails: 'none';
41
+ }>): GetBlockApiResponseBase | null;
42
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
43
+ encoding?: GetBlockEncoding;
44
+ maxSupportedTransactionVersion?: GetBlockMaxSupportedTransactionVersion;
45
+ rewards?: true;
46
+ transactionDetails: 'none';
47
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards) | null;
48
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
49
+ encoding?: GetBlockEncoding;
50
+ maxSupportedTransactionVersion?: GetBlockMaxSupportedTransactionVersion;
51
+ rewards: false;
52
+ transactionDetails: 'signatures';
53
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithSignatures) | null;
54
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
55
+ encoding?: GetBlockEncoding;
56
+ maxSupportedTransactionVersion?: GetBlockMaxSupportedTransactionVersion;
57
+ rewards?: true;
58
+ transactionDetails: 'signatures';
59
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithSignatures) | null;
60
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
61
+ encoding?: GetBlockEncoding;
62
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
63
+ rewards: false;
64
+ transactionDetails: 'accounts';
65
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForAccounts<GetBlockMaxSupportedTransactionVersion>>) | null;
66
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
67
+ encoding?: GetBlockEncoding;
68
+ rewards: false;
69
+ transactionDetails: 'accounts';
70
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForAccounts<void>>) | null;
71
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
72
+ encoding?: GetBlockEncoding;
73
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
74
+ rewards?: true;
75
+ transactionDetails: 'accounts';
76
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForAccounts<GetBlockMaxSupportedTransactionVersion>>) | null;
77
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
78
+ encoding?: GetBlockEncoding;
79
+ rewards?: true;
80
+ transactionDetails: 'accounts';
81
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForAccounts<void>>) | null;
82
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
83
+ encoding: 'base58';
84
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
85
+ rewards: false;
86
+ transactionDetails?: 'full';
87
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullBase58<GetBlockMaxSupportedTransactionVersion>>) | null;
88
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
89
+ encoding: 'base58';
90
+ rewards: false;
91
+ transactionDetails?: 'full';
92
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullBase58<void>>) | null;
93
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
94
+ encoding: 'base58';
95
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
96
+ rewards?: true;
97
+ transactionDetails?: 'full';
98
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullBase58<GetBlockMaxSupportedTransactionVersion>>) | null;
99
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
100
+ encoding: 'base58';
101
+ rewards?: true;
102
+ transactionDetails?: 'full';
103
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullBase58<void>>) | null;
104
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
105
+ encoding: 'base64';
106
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
107
+ rewards: false;
108
+ transactionDetails?: 'full';
109
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullBase64<GetBlockMaxSupportedTransactionVersion>>) | null;
110
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
111
+ encoding: 'base64';
112
+ rewards: false;
113
+ transactionDetails?: 'full';
114
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullBase64<void>>) | null;
115
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
116
+ encoding: 'base64';
117
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
118
+ rewards?: true;
119
+ transactionDetails?: 'full';
120
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullBase64<GetBlockMaxSupportedTransactionVersion>>) | null;
121
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
122
+ encoding: 'base64';
123
+ rewards?: true;
124
+ transactionDetails?: 'full';
125
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullBase64<void>>) | null;
126
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
127
+ encoding: 'jsonParsed';
128
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
129
+ rewards: false;
130
+ transactionDetails?: 'full';
131
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullJsonParsed<GetBlockMaxSupportedTransactionVersion>>) | null;
132
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
133
+ encoding: 'jsonParsed';
134
+ rewards: false;
135
+ transactionDetails?: 'full';
136
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullJsonParsed<void>>) | null;
137
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
138
+ encoding: 'jsonParsed';
139
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
140
+ rewards?: boolean;
141
+ transactionDetails?: 'full';
142
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullJsonParsed<GetBlockMaxSupportedTransactionVersion>>) | null;
143
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
144
+ encoding: 'jsonParsed';
145
+ rewards?: boolean;
146
+ transactionDetails?: 'full';
147
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullJsonParsed<void>>) | null;
148
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
149
+ encoding?: 'json';
150
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
151
+ rewards: false;
152
+ transactionDetails?: 'full';
153
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullJson<GetBlockMaxSupportedTransactionVersion>>) | null;
154
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
155
+ encoding?: 'json';
156
+ rewards: false;
157
+ transactionDetails?: 'full';
158
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithTransactions<TransactionForFullJson<void>>) | null;
159
+ getBlock(slot: Slot, config: GetBlockCommonConfig & Readonly<{
160
+ encoding?: 'json';
161
+ maxSupportedTransactionVersion: GetBlockMaxSupportedTransactionVersion;
162
+ rewards?: boolean;
163
+ transactionDetails?: 'full';
164
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullJson<GetBlockMaxSupportedTransactionVersion>>) | null;
165
+ getBlock(slot: Slot, config?: GetBlockCommonConfig & Readonly<{
166
+ encoding?: 'json';
167
+ rewards?: boolean;
168
+ transactionDetails?: 'full';
169
+ }>): (GetBlockApiResponseBase & GetBlockApiResponseWithRewards & GetBlockApiResponseWithTransactions<TransactionForFullJson<void>>) | null;
170
+ };
171
+ export {};
172
+ //# sourceMappingURL=getBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlock.d.ts","sourceRoot":"","sources":["../../src/getBlock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { LamportsUnsafeBeyond2Pow53Minus1, Slot } from '@solana/rpc-types';
2
+ type GetBlockCommitmentApiResponse = Readonly<{
3
+ commitment: LamportsUnsafeBeyond2Pow53Minus1[] | null;
4
+ totalStake: LamportsUnsafeBeyond2Pow53Minus1;
5
+ }>;
6
+ export type GetBlockCommitmentApi = {
7
+ /**
8
+ * Returns the amount of cluster stake in lamports that has voted on
9
+ * a particular block, as well as the stake attributed to each vote account
10
+ */
11
+ getBlockCommitment(slot: Slot): GetBlockCommitmentApiResponse;
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=getBlockCommitment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockCommitment.d.ts","sourceRoot":"","sources":["../../src/getBlockCommitment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEhF,KAAK,6BAA6B,GAAG,QAAQ,CAAC;IAC1C,UAAU,EAAE,gCAAgC,EAAE,GAAG,IAAI,CAAC;IACtD,UAAU,EAAE,gCAAgC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,6BAA6B,CAAC;CACjE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Commitment, Slot, U64UnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
2
+ type GetBlockHeightApiResponse = U64UnsafeBeyond2Pow53Minus1;
3
+ export type GetBlockHeightApi = {
4
+ /**
5
+ * Returns the current block height of the node
6
+ */
7
+ getBlockHeight(config?: Readonly<{
8
+ commitment?: Commitment;
9
+ minContextSlot?: Slot;
10
+ }>): GetBlockHeightApiResponse;
11
+ };
12
+ export {};
13
+ //# sourceMappingURL=getBlockHeight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockHeight.d.ts","sourceRoot":"","sources":["../../src/getBlockHeight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEvF,KAAK,yBAAyB,GAAG,2BAA2B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;OAEG;IACH,cAAc,CACV,MAAM,CAAC,EAAE,QAAQ,CAAC;QAEd,UAAU,CAAC,EAAE,UAAU,CAAC;QAExB,cAAc,CAAC,EAAE,IAAI,CAAC;KACzB,CAAC,GACH,yBAAyB,CAAC;CAChC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { Address } from '@solana/addresses';
2
+ import type { Commitment, Slot, SolanaRpcResponse, U64UnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
3
+ type NumberOfLeaderSlots = U64UnsafeBeyond2Pow53Minus1;
4
+ type NumberOfBlocksProduced = U64UnsafeBeyond2Pow53Minus1;
5
+ type SlotRange = Readonly<{
6
+ firstSlot: Slot;
7
+ lastSlot: Slot;
8
+ }>;
9
+ type GetBlockProductionApiConfigBase = Readonly<{
10
+ commitment?: Commitment;
11
+ range?: SlotRange;
12
+ }>;
13
+ type BlockProductionWithSingleIdentity<TIdentity extends string> = Readonly<{
14
+ value: Readonly<{
15
+ byIdentity: Readonly<{
16
+ [TAddress in TIdentity]?: [NumberOfLeaderSlots, NumberOfBlocksProduced];
17
+ }>;
18
+ }>;
19
+ }>;
20
+ type BlockProductionWithAllIdentities = Readonly<{
21
+ value: Readonly<{
22
+ byIdentity: Record<Address, [NumberOfLeaderSlots, NumberOfBlocksProduced]>;
23
+ }>;
24
+ }>;
25
+ type GetBlockProductionApiResponse<T> = Readonly<{
26
+ byIdentity: T;
27
+ range: SlotRange;
28
+ }>;
29
+ export type GetBlockProductionApi = {
30
+ /**
31
+ * Returns recent block production information from the current or previous epoch.
32
+ */
33
+ getBlockProduction<TIdentity extends Address>(config: GetBlockProductionApiConfigBase & Readonly<{
34
+ identity: TIdentity;
35
+ }>): SolanaRpcResponse<GetBlockProductionApiResponse<BlockProductionWithSingleIdentity<TIdentity>>>;
36
+ getBlockProduction(config?: GetBlockProductionApiConfigBase): SolanaRpcResponse<GetBlockProductionApiResponse<BlockProductionWithAllIdentities>>;
37
+ };
38
+ export {};
39
+ //# sourceMappingURL=getBlockProduction.d.ts.map