Kit
Type aliases

SolanaRpcApiFromTransport

SolanaRpcApiFromTransport<TTransport> = TTransport extends RpcTransportDevnet ? SolanaRpcApiDevnet : TTransport extends RpcTransportTestnet ? SolanaRpcApiTestnet : TTransport extends RpcTransportMainnet ? SolanaRpcApiMainnet : SolanaRpcApi

Given a RpcTransport this utility type will resolve to a union of all the methods of the Solana RPC API supported by the transport's cluster.

Type Parameters

Type Parameter
TTransport extends RpcTransport

Example

function createSolanaRpcFromTransport<TTransport extends RpcTransport>(
    transport: TTransport,
): RpcFromTransport<SolanaRpcApiFromTransport<TTransport>, TTransport> {
    /* ... */
}
const transport = createDefaultRpcTransport({ url: mainnet('http://rpc.company') });
transport satisfies RpcTransportMainnet; // OK
const rpc = createSolanaRpcFromTransport(transport);
rpc satisfies RpcMainnet<SolanaRpcApiMainnet>; // OK

On this page