@solana/rpc-api 2.0.0-experimental.021706b

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 +17 -0
  3. package/dist/index.browser.cjs +199 -0
  4. package/dist/index.browser.cjs.map +1 -0
  5. package/dist/index.browser.js +197 -0
  6. package/dist/index.browser.js.map +1 -0
  7. package/dist/index.native.js +197 -0
  8. package/dist/index.native.js.map +1 -0
  9. package/dist/index.node.cjs +199 -0
  10. package/dist/index.node.cjs.map +1 -0
  11. package/dist/index.node.js +197 -0
  12. package/dist/index.node.js.map +1 -0
  13. package/dist/types/getAccountInfo.d.ts +34 -0
  14. package/dist/types/getAccountInfo.d.ts.map +1 -0
  15. package/dist/types/getBalance.d.ts +15 -0
  16. package/dist/types/getBalance.d.ts.map +1 -0
  17. package/dist/types/getBlock.d.ts +173 -0
  18. package/dist/types/getBlock.d.ts.map +1 -0
  19. package/dist/types/getBlockCommitment.d.ts +15 -0
  20. package/dist/types/getBlockCommitment.d.ts.map +1 -0
  21. package/dist/types/getBlockHeight.d.ts +14 -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 +14 -0
  26. package/dist/types/getBlockTime.d.ts.map +1 -0
  27. package/dist/types/getBlocks.d.ts +13 -0
  28. package/dist/types/getBlocks.d.ts.map +1 -0
  29. package/dist/types/getBlocksWithLimit.d.ts +14 -0
  30. package/dist/types/getBlocksWithLimit.d.ts.map +1 -0
  31. package/dist/types/getClusterNodes.d.ts +34 -0
  32. package/dist/types/getClusterNodes.d.ts.map +1 -0
  33. package/dist/types/getEpochInfo.d.ts +27 -0
  34. package/dist/types/getEpochInfo.d.ts.map +1 -0
  35. package/dist/types/getEpochSchedule.d.ts +23 -0
  36. package/dist/types/getEpochSchedule.d.ts.map +1 -0
  37. package/dist/types/getFeeForMessage.d.ts +16 -0
  38. package/dist/types/getFeeForMessage.d.ts.map +1 -0
  39. package/dist/types/getFirstAvailableBlock.d.ts +12 -0
  40. package/dist/types/getFirstAvailableBlock.d.ts.map +1 -0
  41. package/dist/types/getGenesisHash.d.ts +11 -0
  42. package/dist/types/getGenesisHash.d.ts.map +1 -0
  43. package/dist/types/getHealth.d.ts +10 -0
  44. package/dist/types/getHealth.d.ts.map +1 -0
  45. package/dist/types/getHighestSnapshotSlot.d.ts +18 -0
  46. package/dist/types/getHighestSnapshotSlot.d.ts.map +1 -0
  47. package/dist/types/getIdentity.d.ts +13 -0
  48. package/dist/types/getIdentity.d.ts.map +1 -0
  49. package/dist/types/getInflationGovernor.d.ts +28 -0
  50. package/dist/types/getInflationGovernor.d.ts.map +1 -0
  51. package/dist/types/getInflationRate.d.ts +20 -0
  52. package/dist/types/getInflationRate.d.ts.map +1 -0
  53. package/dist/types/getInflationReward.d.ts +22 -0
  54. package/dist/types/getInflationReward.d.ts.map +1 -0
  55. package/dist/types/getLargestAccounts.d.ts +23 -0
  56. package/dist/types/getLargestAccounts.d.ts.map +1 -0
  57. package/dist/types/getLatestBlockhash.d.ts +19 -0
  58. package/dist/types/getLatestBlockhash.d.ts.map +1 -0
  59. package/dist/types/getLeaderSchedule.d.ts +51 -0
  60. package/dist/types/getLeaderSchedule.d.ts.map +1 -0
  61. package/dist/types/getMaxRetransmitSlot.d.ts +12 -0
  62. package/dist/types/getMaxRetransmitSlot.d.ts.map +1 -0
  63. package/dist/types/getMaxShredInsertSlot.d.ts +12 -0
  64. package/dist/types/getMaxShredInsertSlot.d.ts.map +1 -0
  65. package/dist/types/getMinimumBalanceForRentExemption.d.ts +13 -0
  66. package/dist/types/getMinimumBalanceForRentExemption.d.ts.map +1 -0
  67. package/dist/types/getMultipleAccounts.d.ts +44 -0
  68. package/dist/types/getMultipleAccounts.d.ts.map +1 -0
  69. package/dist/types/getProgramAccounts.d.ts +60 -0
  70. package/dist/types/getProgramAccounts.d.ts.map +1 -0
  71. package/dist/types/getRecentPerformanceSamples.d.ts +25 -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 +58 -0
  76. package/dist/types/getSignatureStatuses.d.ts.map +1 -0
  77. package/dist/types/getSignaturesForAddress.d.ts +40 -0
  78. package/dist/types/getSignaturesForAddress.d.ts.map +1 -0
  79. package/dist/types/getSlot.d.ts +14 -0
  80. package/dist/types/getSlot.d.ts.map +1 -0
  81. package/dist/types/getSlotLeader.d.ts +13 -0
  82. package/dist/types/getSlotLeader.d.ts.map +1 -0
  83. package/dist/types/getSlotLeaders.d.ts +17 -0
  84. package/dist/types/getSlotLeaders.d.ts.map +1 -0
  85. package/dist/types/getStakeActivation.d.ts +24 -0
  86. package/dist/types/getStakeActivation.d.ts.map +1 -0
  87. package/dist/types/getStakeMinimumDelegation.d.ts +13 -0
  88. package/dist/types/getStakeMinimumDelegation.d.ts.map +1 -0
  89. package/dist/types/getSupply.d.ts +42 -0
  90. package/dist/types/getSupply.d.ts.map +1 -0
  91. package/dist/types/getTokenAccountBalance.d.ts +16 -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 +16 -0
  100. package/dist/types/getTokenSupply.d.ts.map +1 -0
  101. package/dist/types/getTransaction.d.ts +164 -0
  102. package/dist/types/getTransaction.d.ts.map +1 -0
  103. package/dist/types/getTransactionCount.d.ts +14 -0
  104. package/dist/types/getTransactionCount.d.ts.map +1 -0
  105. package/dist/types/getVersion.d.ts +15 -0
  106. package/dist/types/getVersion.d.ts.map +1 -0
  107. package/dist/types/getVoteAccounts.d.ts +44 -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 +18 -0
  112. package/dist/types/isBlockhashValid.d.ts.map +1 -0
  113. package/dist/types/minimumLedgerSlot.d.ts +12 -0
  114. package/dist/types/minimumLedgerSlot.d.ts.map +1 -0
  115. package/dist/types/requestAirdrop.d.ts +16 -0
  116. package/dist/types/requestAirdrop.d.ts.map +1 -0
  117. package/dist/types/sendTransaction.d.ts +49 -0
  118. package/dist/types/sendTransaction.d.ts.map +1 -0
  119. package/dist/types/simulateTransaction.d.ts +104 -0
  120. package/dist/types/simulateTransaction.d.ts.map +1 -0
  121. package/package.json +83 -0
package/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2023 Solana Labs, Inc
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ [![npm][npm-image]][npm-url]
2
+ [![npm-downloads][npm-downloads-image]][npm-url]
3
+ [![semantic-release][semantic-release-image]][semantic-release-url]
4
+ <br />
5
+ [![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]
6
+
7
+ [code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square
8
+ [code-style-prettier-url]: https://github.com/prettier/prettier
9
+ [npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-api/experimental.svg?style=flat
10
+ [npm-image]: https://img.shields.io/npm/v/@solana/rpc-api/experimental.svg?style=flat
11
+ [npm-url]: https://www.npmjs.com/package/@solana/rpc-api/v/experimental
12
+ [semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
13
+ [semantic-release-url]: https://github.com/semantic-release/semantic-release
14
+
15
+ # @solana/rpc-api
16
+
17
+ TODO
@@ -0,0 +1,199 @@
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.createRpcApi({
9
+ parametersTransformer: rpcTransformers.getDefaultParamsTransformerForSolanaRpc(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
+ ["blockTime"],
22
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
23
+ [
24
+ "transactions",
25
+ rpcTransformers.KEYPATH_WILDCARD,
26
+ "meta",
27
+ "preTokenBalances",
28
+ rpcTransformers.KEYPATH_WILDCARD,
29
+ "uiTokenAmount",
30
+ "decimals"
31
+ ],
32
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
33
+ [
34
+ "transactions",
35
+ rpcTransformers.KEYPATH_WILDCARD,
36
+ "meta",
37
+ "postTokenBalances",
38
+ rpcTransformers.KEYPATH_WILDCARD,
39
+ "uiTokenAmount",
40
+ "decimals"
41
+ ],
42
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"],
43
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "meta", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, "index"],
44
+ [
45
+ "transactions",
46
+ rpcTransformers.KEYPATH_WILDCARD,
47
+ "meta",
48
+ "innerInstructions",
49
+ rpcTransformers.KEYPATH_WILDCARD,
50
+ "instructions",
51
+ rpcTransformers.KEYPATH_WILDCARD,
52
+ "programIdIndex"
53
+ ],
54
+ [
55
+ "transactions",
56
+ rpcTransformers.KEYPATH_WILDCARD,
57
+ "meta",
58
+ "innerInstructions",
59
+ rpcTransformers.KEYPATH_WILDCARD,
60
+ "instructions",
61
+ rpcTransformers.KEYPATH_WILDCARD,
62
+ "accounts",
63
+ rpcTransformers.KEYPATH_WILDCARD
64
+ ],
65
+ [
66
+ "transactions",
67
+ rpcTransformers.KEYPATH_WILDCARD,
68
+ "transaction",
69
+ "message",
70
+ "addressTableLookups",
71
+ rpcTransformers.KEYPATH_WILDCARD,
72
+ "writableIndexes",
73
+ rpcTransformers.KEYPATH_WILDCARD
74
+ ],
75
+ [
76
+ "transactions",
77
+ rpcTransformers.KEYPATH_WILDCARD,
78
+ "transaction",
79
+ "message",
80
+ "addressTableLookups",
81
+ rpcTransformers.KEYPATH_WILDCARD,
82
+ "readonlyIndexes",
83
+ rpcTransformers.KEYPATH_WILDCARD
84
+ ],
85
+ [
86
+ "transactions",
87
+ rpcTransformers.KEYPATH_WILDCARD,
88
+ "transaction",
89
+ "message",
90
+ "instructions",
91
+ rpcTransformers.KEYPATH_WILDCARD,
92
+ "programIdIndex"
93
+ ],
94
+ [
95
+ "transactions",
96
+ rpcTransformers.KEYPATH_WILDCARD,
97
+ "transaction",
98
+ "message",
99
+ "instructions",
100
+ rpcTransformers.KEYPATH_WILDCARD,
101
+ "accounts",
102
+ rpcTransformers.KEYPATH_WILDCARD
103
+ ],
104
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "transaction", "message", "header", "numReadonlySignedAccounts"],
105
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "transaction", "message", "header", "numReadonlyUnsignedAccounts"],
106
+ ["transactions", rpcTransformers.KEYPATH_WILDCARD, "transaction", "message", "header", "numRequiredSignatures"],
107
+ ["rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"]
108
+ ],
109
+ getBlockTime: [[]],
110
+ getClusterNodes: [
111
+ [rpcTransformers.KEYPATH_WILDCARD, "featureSet"],
112
+ [rpcTransformers.KEYPATH_WILDCARD, "shredVersion"]
113
+ ],
114
+ getInflationGovernor: [["initial"], ["foundation"], ["foundationTerm"], ["taper"], ["terminal"]],
115
+ getInflationRate: [["foundation"], ["total"], ["validator"]],
116
+ getInflationReward: [[rpcTransformers.KEYPATH_WILDCARD, "commission"]],
117
+ getMultipleAccounts: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", rpcTransformers.KEYPATH_WILDCARD, ...c]),
118
+ getProgramAccounts: rpcTransformers.jsonParsedAccountsConfigs.flatMap((c) => [
119
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "account", ...c],
120
+ [rpcTransformers.KEYPATH_WILDCARD, "account", ...c]
121
+ ]),
122
+ getRecentPerformanceSamples: [[rpcTransformers.KEYPATH_WILDCARD, "samplePeriodSecs"]],
123
+ getTokenAccountBalance: [
124
+ ["value", "decimals"],
125
+ ["value", "uiAmount"]
126
+ ],
127
+ getTokenAccountsByDelegate: rpcTransformers.jsonParsedTokenAccountsConfigs.map((c) => [
128
+ "value",
129
+ rpcTransformers.KEYPATH_WILDCARD,
130
+ "account",
131
+ ...c
132
+ ]),
133
+ getTokenAccountsByOwner: rpcTransformers.jsonParsedTokenAccountsConfigs.map((c) => [
134
+ "value",
135
+ rpcTransformers.KEYPATH_WILDCARD,
136
+ "account",
137
+ ...c
138
+ ]),
139
+ getTokenLargestAccounts: [
140
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "decimals"],
141
+ ["value", rpcTransformers.KEYPATH_WILDCARD, "uiAmount"]
142
+ ],
143
+ getTokenSupply: [
144
+ ["value", "decimals"],
145
+ ["value", "uiAmount"]
146
+ ],
147
+ getTransaction: [
148
+ ["meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
149
+ ["meta", "preTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
150
+ ["meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "accountIndex"],
151
+ ["meta", "postTokenBalances", rpcTransformers.KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
152
+ ["meta", "rewards", rpcTransformers.KEYPATH_WILDCARD, "commission"],
153
+ ["meta", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, "index"],
154
+ ["meta", "innerInstructions", rpcTransformers.KEYPATH_WILDCARD, "instructions", rpcTransformers.KEYPATH_WILDCARD, "programIdIndex"],
155
+ [
156
+ "meta",
157
+ "innerInstructions",
158
+ rpcTransformers.KEYPATH_WILDCARD,
159
+ "instructions",
160
+ rpcTransformers.KEYPATH_WILDCARD,
161
+ "accounts",
162
+ rpcTransformers.KEYPATH_WILDCARD
163
+ ],
164
+ [
165
+ "transaction",
166
+ "message",
167
+ "addressTableLookups",
168
+ rpcTransformers.KEYPATH_WILDCARD,
169
+ "writableIndexes",
170
+ rpcTransformers.KEYPATH_WILDCARD
171
+ ],
172
+ [
173
+ "transaction",
174
+ "message",
175
+ "addressTableLookups",
176
+ rpcTransformers.KEYPATH_WILDCARD,
177
+ "readonlyIndexes",
178
+ rpcTransformers.KEYPATH_WILDCARD
179
+ ],
180
+ ["transaction", "message", "instructions", rpcTransformers.KEYPATH_WILDCARD, "programIdIndex"],
181
+ ["transaction", "message", "instructions", rpcTransformers.KEYPATH_WILDCARD, "accounts", rpcTransformers.KEYPATH_WILDCARD],
182
+ ["transaction", "message", "header", "numReadonlySignedAccounts"],
183
+ ["transaction", "message", "header", "numReadonlyUnsignedAccounts"],
184
+ ["transaction", "message", "header", "numRequiredSignatures"]
185
+ ],
186
+ getVersion: [["feature-set"]],
187
+ getVoteAccounts: [
188
+ ["current", rpcTransformers.KEYPATH_WILDCARD, "commission"],
189
+ ["delinquent", rpcTransformers.KEYPATH_WILDCARD, "commission"]
190
+ ],
191
+ simulateTransaction: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", "accounts", rpcTransformers.KEYPATH_WILDCARD, ...c])
192
+ };
193
+ }
194
+ return memoizedKeypaths;
195
+ }
196
+
197
+ exports.createSolanaRpcApi = createSolanaRpcApi;
198
+ //# sourceMappingURL=out.js.map
199
+ //# sourceMappingURL=index.browser.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";AAAA,SAAS,oBAA4B;AACrC;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEG;AA4KA,SAAS,mBAEd,QAAsC;AACpC,SAAO,aAA0B;AAAA,IAC7B,uBAAuB,wCAAwC,MAAM;AAAA,IACrE,qBAAqB,0CAA0C;AAAA,MAC3D,wBAAwB,0BAA0B;AAAA,IACtD,CAAC;AAAA,EACL,CAAC;AACL;AAEA,IAAI;AAMJ,SAAS,4BAA0E;AAC/E,MAAI,CAAC,kBAAkB;AACnB,uBAAmB;AAAA,MACf,gBAAgB,0BAA0B,IAAI,OAAK,CAAC,SAAS,GAAG,CAAC,CAAC;AAAA,MAClE,UAAU;AAAA,QACN,CAAC,WAAW;AAAA,QACZ,CAAC,gBAAgB,kBAAkB,QAAQ,oBAAoB,kBAAkB,cAAc;AAAA,QAC/F;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA,CAAC,gBAAgB,kBAAkB,QAAQ,qBAAqB,kBAAkB,cAAc;AAAA,QAChG;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA,CAAC,gBAAgB,kBAAkB,QAAQ,WAAW,kBAAkB,YAAY;AAAA,QACpF,CAAC,gBAAgB,kBAAkB,QAAQ,qBAAqB,kBAAkB,OAAO;AAAA,QACzF;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA,CAAC,gBAAgB,kBAAkB,eAAe,WAAW,UAAU,2BAA2B;AAAA,QAClG,CAAC,gBAAgB,kBAAkB,eAAe,WAAW,UAAU,6BAA6B;AAAA,QACpG,CAAC,gBAAgB,kBAAkB,eAAe,WAAW,UAAU,uBAAuB;AAAA,QAC9F,CAAC,WAAW,kBAAkB,YAAY;AAAA,MAC9C;AAAA,MACA,cAAc,CAAC,CAAC,CAAC;AAAA,MACjB,iBAAiB;AAAA,QACb,CAAC,kBAAkB,YAAY;AAAA,QAC/B,CAAC,kBAAkB,cAAc;AAAA,MACrC;AAAA,MACA,sBAAsB,CAAC,CAAC,SAAS,GAAG,CAAC,YAAY,GAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC;AAAA,MAC/F,kBAAkB,CAAC,CAAC,YAAY,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC;AAAA,MAC3D,oBAAoB,CAAC,CAAC,kBAAkB,YAAY,CAAC;AAAA,MACrD,qBAAqB,0BAA0B,IAAI,OAAK,CAAC,SAAS,kBAAkB,GAAG,CAAC,CAAC;AAAA,MACzF,oBAAoB,0BAA0B,QAAQ,OAAK;AAAA,QACvD,CAAC,SAAS,kBAAkB,WAAW,GAAG,CAAC;AAAA,QAC3C,CAAC,kBAAkB,WAAW,GAAG,CAAC;AAAA,MACtC,CAAC;AAAA,MACD,6BAA6B,CAAC,CAAC,kBAAkB,kBAAkB,CAAC;AAAA,MACpE,wBAAwB;AAAA,QACpB,CAAC,SAAS,UAAU;AAAA,QACpB,CAAC,SAAS,UAAU;AAAA,MACxB;AAAA,MACA,4BAA4B,+BAA+B,IAAI,OAAK;AAAA,QAChE;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACP,CAAC;AAAA,MACD,yBAAyB,+BAA+B,IAAI,OAAK;AAAA,QAC7D;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACP,CAAC;AAAA,MACD,yBAAyB;AAAA,QACrB,CAAC,SAAS,kBAAkB,UAAU;AAAA,QACtC,CAAC,SAAS,kBAAkB,UAAU;AAAA,MAC1C;AAAA,MACA,gBAAgB;AAAA,QACZ,CAAC,SAAS,UAAU;AAAA,QACpB,CAAC,SAAS,UAAU;AAAA,MACxB;AAAA,MACA,gBAAgB;AAAA,QACZ,CAAC,QAAQ,oBAAoB,kBAAkB,cAAc;AAAA,QAC7D,CAAC,QAAQ,oBAAoB,kBAAkB,iBAAiB,UAAU;AAAA,QAC1E,CAAC,QAAQ,qBAAqB,kBAAkB,cAAc;AAAA,QAC9D,CAAC,QAAQ,qBAAqB,kBAAkB,iBAAiB,UAAU;AAAA,QAC3E,CAAC,QAAQ,WAAW,kBAAkB,YAAY;AAAA,QAClD,CAAC,QAAQ,qBAAqB,kBAAkB,OAAO;AAAA,QACvD,CAAC,QAAQ,qBAAqB,kBAAkB,gBAAgB,kBAAkB,gBAAgB;AAAA,QAClG;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QACA,CAAC,eAAe,WAAW,gBAAgB,kBAAkB,gBAAgB;AAAA,QAC7E,CAAC,eAAe,WAAW,gBAAgB,kBAAkB,YAAY,gBAAgB;AAAA,QACzF,CAAC,eAAe,WAAW,UAAU,2BAA2B;AAAA,QAChE,CAAC,eAAe,WAAW,UAAU,6BAA6B;AAAA,QAClE,CAAC,eAAe,WAAW,UAAU,uBAAuB;AAAA,MAChE;AAAA,MACA,YAAY,CAAC,CAAC,aAAa,CAAC;AAAA,MAC5B,iBAAiB;AAAA,QACb,CAAC,WAAW,kBAAkB,YAAY;AAAA,QAC1C,CAAC,cAAc,kBAAkB,YAAY;AAAA,MACjD;AAAA,MACA,qBAAqB,0BAA0B,IAAI,OAAK,CAAC,SAAS,YAAY,kBAAkB,GAAG,CAAC,CAAC;AAAA,IACzG;AAAA,EACJ;AACA,SAAO;AACX","sourcesContent":["import { createRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\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 = SolanaRpcApiForAllClusters & RequestAirdropApi;\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 = ParamsTransformerConfig;\n\nexport function createSolanaRpcApi<\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiTestnet | SolanaRpcApiMainnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createRpcApi<TRpcMethods>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\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 ['blockTime'],\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 ['transactions', KEYPATH_WILDCARD, 'meta', 'innerInstructions', KEYPATH_WILDCARD, 'index'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numReadonlySignedAccounts'],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numReadonlyUnsignedAccounts'],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numRequiredSignatures'],\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getBlockTime: [[]],\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 ['meta', 'innerInstructions', KEYPATH_WILDCARD, 'index'],\n ['meta', 'innerInstructions', KEYPATH_WILDCARD, 'instructions', KEYPATH_WILDCARD, 'programIdIndex'],\n [\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n ['transaction', 'message', 'instructions', KEYPATH_WILDCARD, 'programIdIndex'],\n ['transaction', 'message', 'instructions', KEYPATH_WILDCARD, 'accounts', KEYPATH_WILDCARD],\n ['transaction', 'message', 'header', 'numReadonlySignedAccounts'],\n ['transaction', 'message', 'header', 'numReadonlyUnsignedAccounts'],\n ['transaction', 'message', 'header', 'numRequiredSignatures'],\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
@@ -0,0 +1,197 @@
1
+ import { createRpcApi } from '@solana/rpc-spec';
2
+ import { getDefaultParamsTransformerForSolanaRpc, getDefaultResponseTransformerForSolanaRpc, jsonParsedAccountsConfigs, KEYPATH_WILDCARD, jsonParsedTokenAccountsConfigs } from '@solana/rpc-transformers';
3
+
4
+ // src/index.ts
5
+ function createSolanaRpcApi(config) {
6
+ return createRpcApi({
7
+ parametersTransformer: getDefaultParamsTransformerForSolanaRpc(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
+ ["blockTime"],
20
+ ["transactions", KEYPATH_WILDCARD, "meta", "preTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
21
+ [
22
+ "transactions",
23
+ KEYPATH_WILDCARD,
24
+ "meta",
25
+ "preTokenBalances",
26
+ KEYPATH_WILDCARD,
27
+ "uiTokenAmount",
28
+ "decimals"
29
+ ],
30
+ ["transactions", KEYPATH_WILDCARD, "meta", "postTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
31
+ [
32
+ "transactions",
33
+ KEYPATH_WILDCARD,
34
+ "meta",
35
+ "postTokenBalances",
36
+ KEYPATH_WILDCARD,
37
+ "uiTokenAmount",
38
+ "decimals"
39
+ ],
40
+ ["transactions", KEYPATH_WILDCARD, "meta", "rewards", KEYPATH_WILDCARD, "commission"],
41
+ ["transactions", KEYPATH_WILDCARD, "meta", "innerInstructions", KEYPATH_WILDCARD, "index"],
42
+ [
43
+ "transactions",
44
+ KEYPATH_WILDCARD,
45
+ "meta",
46
+ "innerInstructions",
47
+ KEYPATH_WILDCARD,
48
+ "instructions",
49
+ KEYPATH_WILDCARD,
50
+ "programIdIndex"
51
+ ],
52
+ [
53
+ "transactions",
54
+ KEYPATH_WILDCARD,
55
+ "meta",
56
+ "innerInstructions",
57
+ KEYPATH_WILDCARD,
58
+ "instructions",
59
+ KEYPATH_WILDCARD,
60
+ "accounts",
61
+ KEYPATH_WILDCARD
62
+ ],
63
+ [
64
+ "transactions",
65
+ KEYPATH_WILDCARD,
66
+ "transaction",
67
+ "message",
68
+ "addressTableLookups",
69
+ KEYPATH_WILDCARD,
70
+ "writableIndexes",
71
+ KEYPATH_WILDCARD
72
+ ],
73
+ [
74
+ "transactions",
75
+ KEYPATH_WILDCARD,
76
+ "transaction",
77
+ "message",
78
+ "addressTableLookups",
79
+ KEYPATH_WILDCARD,
80
+ "readonlyIndexes",
81
+ KEYPATH_WILDCARD
82
+ ],
83
+ [
84
+ "transactions",
85
+ KEYPATH_WILDCARD,
86
+ "transaction",
87
+ "message",
88
+ "instructions",
89
+ KEYPATH_WILDCARD,
90
+ "programIdIndex"
91
+ ],
92
+ [
93
+ "transactions",
94
+ KEYPATH_WILDCARD,
95
+ "transaction",
96
+ "message",
97
+ "instructions",
98
+ KEYPATH_WILDCARD,
99
+ "accounts",
100
+ KEYPATH_WILDCARD
101
+ ],
102
+ ["transactions", KEYPATH_WILDCARD, "transaction", "message", "header", "numReadonlySignedAccounts"],
103
+ ["transactions", KEYPATH_WILDCARD, "transaction", "message", "header", "numReadonlyUnsignedAccounts"],
104
+ ["transactions", KEYPATH_WILDCARD, "transaction", "message", "header", "numRequiredSignatures"],
105
+ ["rewards", KEYPATH_WILDCARD, "commission"]
106
+ ],
107
+ getBlockTime: [[]],
108
+ getClusterNodes: [
109
+ [KEYPATH_WILDCARD, "featureSet"],
110
+ [KEYPATH_WILDCARD, "shredVersion"]
111
+ ],
112
+ getInflationGovernor: [["initial"], ["foundation"], ["foundationTerm"], ["taper"], ["terminal"]],
113
+ getInflationRate: [["foundation"], ["total"], ["validator"]],
114
+ getInflationReward: [[KEYPATH_WILDCARD, "commission"]],
115
+ getMultipleAccounts: jsonParsedAccountsConfigs.map((c) => ["value", KEYPATH_WILDCARD, ...c]),
116
+ getProgramAccounts: jsonParsedAccountsConfigs.flatMap((c) => [
117
+ ["value", KEYPATH_WILDCARD, "account", ...c],
118
+ [KEYPATH_WILDCARD, "account", ...c]
119
+ ]),
120
+ getRecentPerformanceSamples: [[KEYPATH_WILDCARD, "samplePeriodSecs"]],
121
+ getTokenAccountBalance: [
122
+ ["value", "decimals"],
123
+ ["value", "uiAmount"]
124
+ ],
125
+ getTokenAccountsByDelegate: jsonParsedTokenAccountsConfigs.map((c) => [
126
+ "value",
127
+ KEYPATH_WILDCARD,
128
+ "account",
129
+ ...c
130
+ ]),
131
+ getTokenAccountsByOwner: jsonParsedTokenAccountsConfigs.map((c) => [
132
+ "value",
133
+ KEYPATH_WILDCARD,
134
+ "account",
135
+ ...c
136
+ ]),
137
+ getTokenLargestAccounts: [
138
+ ["value", KEYPATH_WILDCARD, "decimals"],
139
+ ["value", KEYPATH_WILDCARD, "uiAmount"]
140
+ ],
141
+ getTokenSupply: [
142
+ ["value", "decimals"],
143
+ ["value", "uiAmount"]
144
+ ],
145
+ getTransaction: [
146
+ ["meta", "preTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
147
+ ["meta", "preTokenBalances", KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
148
+ ["meta", "postTokenBalances", KEYPATH_WILDCARD, "accountIndex"],
149
+ ["meta", "postTokenBalances", KEYPATH_WILDCARD, "uiTokenAmount", "decimals"],
150
+ ["meta", "rewards", KEYPATH_WILDCARD, "commission"],
151
+ ["meta", "innerInstructions", KEYPATH_WILDCARD, "index"],
152
+ ["meta", "innerInstructions", KEYPATH_WILDCARD, "instructions", KEYPATH_WILDCARD, "programIdIndex"],
153
+ [
154
+ "meta",
155
+ "innerInstructions",
156
+ KEYPATH_WILDCARD,
157
+ "instructions",
158
+ KEYPATH_WILDCARD,
159
+ "accounts",
160
+ KEYPATH_WILDCARD
161
+ ],
162
+ [
163
+ "transaction",
164
+ "message",
165
+ "addressTableLookups",
166
+ KEYPATH_WILDCARD,
167
+ "writableIndexes",
168
+ KEYPATH_WILDCARD
169
+ ],
170
+ [
171
+ "transaction",
172
+ "message",
173
+ "addressTableLookups",
174
+ KEYPATH_WILDCARD,
175
+ "readonlyIndexes",
176
+ KEYPATH_WILDCARD
177
+ ],
178
+ ["transaction", "message", "instructions", KEYPATH_WILDCARD, "programIdIndex"],
179
+ ["transaction", "message", "instructions", KEYPATH_WILDCARD, "accounts", KEYPATH_WILDCARD],
180
+ ["transaction", "message", "header", "numReadonlySignedAccounts"],
181
+ ["transaction", "message", "header", "numReadonlyUnsignedAccounts"],
182
+ ["transaction", "message", "header", "numRequiredSignatures"]
183
+ ],
184
+ getVersion: [["feature-set"]],
185
+ getVoteAccounts: [
186
+ ["current", KEYPATH_WILDCARD, "commission"],
187
+ ["delinquent", KEYPATH_WILDCARD, "commission"]
188
+ ],
189
+ simulateTransaction: jsonParsedAccountsConfigs.map((c) => ["value", "accounts", KEYPATH_WILDCARD, ...c])
190
+ };
191
+ }
192
+ return memoizedKeypaths;
193
+ }
194
+
195
+ export { createSolanaRpcApi };
196
+ //# sourceMappingURL=out.js.map
197
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { createRpcApi, RpcApi } from '@solana/rpc-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n jsonParsedTokenAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\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 = SolanaRpcApiForAllClusters & RequestAirdropApi;\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 = ParamsTransformerConfig;\n\nexport function createSolanaRpcApi<\n TRpcMethods extends SolanaRpcApi | SolanaRpcApiDevnet | SolanaRpcApiTestnet | SolanaRpcApiMainnet = SolanaRpcApi,\n>(config?: Config): RpcApi<TRpcMethods> {\n return createRpcApi<TRpcMethods>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\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 ['blockTime'],\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 ['transactions', KEYPATH_WILDCARD, 'meta', 'innerInstructions', KEYPATH_WILDCARD, 'index'],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numReadonlySignedAccounts'],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numReadonlyUnsignedAccounts'],\n ['transactions', KEYPATH_WILDCARD, 'transaction', 'message', 'header', 'numRequiredSignatures'],\n ['rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n getBlockTime: [[]],\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 ['meta', 'innerInstructions', KEYPATH_WILDCARD, 'index'],\n ['meta', 'innerInstructions', KEYPATH_WILDCARD, 'instructions', KEYPATH_WILDCARD, 'programIdIndex'],\n [\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n ['transaction', 'message', 'instructions', KEYPATH_WILDCARD, 'programIdIndex'],\n ['transaction', 'message', 'instructions', KEYPATH_WILDCARD, 'accounts', KEYPATH_WILDCARD],\n ['transaction', 'message', 'header', 'numReadonlySignedAccounts'],\n ['transaction', 'message', 'header', 'numReadonlyUnsignedAccounts'],\n ['transaction', 'message', 'header', 'numRequiredSignatures'],\n ],\n getVersion: [['feature-set']],\n getVoteAccounts: [\n ['current', KEYPATH_WILDCARD, 'commission'],\n ['delinquent', KEYPATH_WILDCARD, 'commission'],\n ],\n simulateTransaction: jsonParsedAccountsConfigs.map(c => ['value', 'accounts', KEYPATH_WILDCARD, ...c]),\n };\n }\n return memoizedKeypaths;\n}\n"]}