Skip to content

Commit ed98b3d

Browse files
authored
Export all rpc-method XApi types from rpc-core (#1965)
* refactor(experimental): export all rpc-method XApi types from rpc-core * refactor(experimental): update readme to remove dist/types
1 parent 4c009bf commit ed98b3d

File tree

2 files changed

+51
-10
lines changed

2 files changed

+51
-10
lines changed

packages/library/README.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,7 @@ const rpc = createJsonRpc<SolanaRpcMethods>({ api, transport });
251251
If you want to, you can also reduce the scope of the API’s type-spec so you are left only with the types you need. Keep in mind types don’t affect bundle size, but you may choose to scope the type-spec for a variety of reasons, including reducing TypeScript noise.
252252

253253
```tsx
254-
import { createSolanaRpcApi } from '@solana/rpc-core';
255-
import type { GetAccountInfoApi } from '@solana/rpc-core/dist/types/rpc-methods/getAccountInfo';
254+
import { createSolanaRpcApi, type GetAccountInfoApi } from '@solana/rpc-core';
256255
import { createHttpTransport, createJsonRpc } from '@solana/rpc-transport';
257256

258257
const api = createSolanaRpcApi();
@@ -325,8 +324,7 @@ Here’s an example of how someone might implement a “round robin” approach
325324

326325
```tsx
327326
import { createSolanaRpcApi } from '@solana/rpc-core';
328-
import { createJsonRpc } from '@solana/rpc-transport';
329-
import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
327+
import { createJsonRpc, type IRpcTransport } from '@solana/rpc-transport';
330328
import { createDefaultRpcTransport } from '@solana/web3.js';
331329

332330
// Create a transport for each RPC server
@@ -364,10 +362,9 @@ Another example of a possible customization for RPC transports is sharding. Here
364362
The transport library can also be used to implement custom retry logic on any request:
365363

366364
```tsx
367-
import { createDefaultRpcTransport } from "@solana/web3.js";
368-
import { IRpcTransport } from "@solana/rpc-transport/dist/types/transports/transport-types";
369-
import { createJsonRpc } from "@solana/rpc-transport";
370-
import { createSolanaRpcApi } from "@solana/rpc-core";
365+
import { createDefaultRpcTransport } from '@solana/web3.js';
366+
import { createJsonRpc, IRpcTransport } from '@solana/rpc-transport';
367+
import { createSolanaRpcApi } from '@solana/rpc-core';
371368

372369
// Set the maximum number of attempts to retry a request
373370
const MAX_ATTEMPTS = 4;
@@ -425,8 +422,7 @@ Perhaps your application needs to make a large number of requests, or needs to f
425422

426423
```tsx
427424
import { createSolanaRpcApi } from '@solana/rpc-core';
428-
import { createJsonRpc } from '@solana/rpc-transport';
429-
import { IRpcTransport } from '@solana/rpc-transport/dist/types/transports/transport-types';
425+
import { createJsonRpc, IRpcTransport } from '@solana/rpc-transport';
430426
import { createDefaultRpcTransport } from '@solana/web3.js';
431427

432428
// Create multiple transports

packages/rpc-core/src/rpc-methods/index.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,57 @@ export function createSolanaRpcApi(config?: Config): IRpcApi<SolanaRpcMethods> {
151151

152152
export type {
153153
GetAccountInfoApi,
154+
GetBalanceApi,
154155
GetBlockApi,
156+
GetBlockCommitmentApi,
157+
GetBlockHeightApi,
158+
GetBlockProductionApi,
159+
GetBlocksApi,
160+
GetBlocksWithLimitApi,
161+
GetBlockTimeApi,
162+
GetClusterNodesApi,
163+
GetEpochInfoApi,
164+
GetEpochScheduleApi,
165+
GetFeeForMessageApi,
166+
GetFirstAvailableBlockApi,
167+
GetGenesisHashApi,
168+
GetHealthApi,
169+
GetHighestSnapshotSlotApi,
170+
GetIdentityApi,
171+
GetInflationGovernorApi,
172+
GetInflationRateApi,
173+
GetInflationRewardApi,
174+
GetLargestAccountsApi,
175+
GetLatestBlockhashApi,
176+
GetLeaderScheduleApi,
177+
GetMaxRetransmitSlotApi,
178+
GetMaxShredInsertSlotApi,
179+
GetMinimumBalanceForRentExemptionApi,
180+
GetMultipleAccountsApi,
155181
GetProgramAccountsApi,
182+
GetRecentPerformanceSamplesApi,
183+
GetRecentPrioritizationFeesApi,
184+
GetSignaturesForAddressApi,
156185
GetSignatureStatusesApi,
186+
GetSlotApi,
187+
GetSlotLeaderApi,
188+
GetStakeActivationApi,
189+
GetStakeMinimumDelegationApi,
190+
GetSupplyApi,
191+
GetTokenAccountBalanceApi,
192+
GetTokenAccountsByDelegateApi,
193+
GetTokenAccountsByOwnerApi,
194+
GetTokenLargestAccountsApi,
195+
GetTokenSupplyApi,
157196
GetTransactionApi,
197+
GetTransactionCountApi,
198+
GetVersionApi,
199+
GetVoteAccountsApi,
200+
IsBlockhashValidApi,
201+
MinimumLedgerSlotApi,
158202
RequestAirdropApi,
159203
SendTransactionApi,
204+
SimulateTransactionApi,
160205
};
161206

162207
export type {

0 commit comments

Comments
 (0)