Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@solana/rpc-transport

Package Overview
Dependencies
Maintainers
15
Versions
602
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solana/rpc-transport - npm Package Compare versions

Comparing version 2.0.0-experimental.2cc3be5 to 2.0.0-experimental.2d1d49c

dist/types/apis/api-types.d.ts

85

dist/index.browser.js
// ../build-scripts/env-shim.ts
var __DEV__ = /* @__PURE__ */ (() => process["env"].NODE_ENV === "development")();
// src/apis/methods/methods-api.ts
function createJsonRpcApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const methodName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, methodName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
return {
methodName,
params,
responseTransformer
};
};
}
});
}
// src/apis/subscriptions/subscriptions-api.ts
function createJsonRpcSubscriptionsApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const notificationName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, notificationName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
const subscribeMethodName = config?.subscribeNotificationNameTransformer ? config?.subscribeNotificationNameTransformer(notificationName) : notificationName;
const unsubscribeMethodName = config?.unsubscribeNotificationNameTransformer ? config?.unsubscribeNotificationNameTransformer(notificationName) : notificationName;
return {
params,
responseTransformer,
subscribeMethodName,
unsubscribeMethodName
};
};
}
});
}
// src/json-rpc-errors.ts
var SolanaJsonRpcError = class extends Error {
code;
data;
constructor(details) {

@@ -39,3 +94,3 @@ super(`JSON-RPC 2.0 error (${details.code}): ${details.message}`);

async send(options) {
const { methodName, params, responseProcessor } = pendingRequest;
const { methodName, params, responseTransformer } = pendingRequest;
const payload = createJsonRpcMessage(methodName, params);

@@ -49,3 +104,3 @@ const response = await rpcConfig.transport({

} else {
return responseProcessor ? responseProcessor(response.result) : response.result;
return responseTransformer ? responseTransformer(response.result, methodName) : response.result;
}

@@ -89,3 +144,3 @@ }

}
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseProcessor }) {
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseTransformer }) {
return {

@@ -136,3 +191,3 @@ async subscribe({ abortSignal }) {

const notification = message.params.result;
yield responseProcessor ? responseProcessor(notification) : notification;
yield responseTransformer ? responseTransformer(notification, subscribeMethodName) : notification;
}

@@ -180,2 +235,3 @@ }

var SolanaHttpError = class extends Error {
statusCode;
constructor(details) {

@@ -242,12 +298,9 @@ super(`HTTP error (${details.statusCode}): ${details.message}`);

// src/transports/http/http-transport.ts
function createHttpTransport({ httpAgentNodeOnly, headers, url }) {
function createHttpTransport({
headers,
url
}) {
if (__DEV__ && headers) {
assertIsAllowedHttpRequestHeaders(headers);
}
const agent = void 0;
if (__DEV__ && httpAgentNodeOnly != null) {
console.warn(
"createHttpTransport(): The `httpAgentNodeOnly` config you supplied has been ignored; HTTP agents are only usable in Node environments."
);
}
const customHeaders = headers && normalizeHeaders(headers);

@@ -260,3 +313,2 @@ return async function makeHttpRequest({

const requestInfo = {
agent,
body,

@@ -289,3 +341,3 @@ headers: {

var EXPLICIT_ABORT_TOKEN = Symbol(
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicity aborted by the user" : void 0
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicitly aborted by the user" : void 0
);

@@ -434,3 +486,6 @@ async function createWebSocketConnection({

// src/transports/websocket/websocket-transport.ts
function createWebSocketTransport({ sendBufferHighWatermark, url }) {
function createWebSocketTransport({
sendBufferHighWatermark,
url
}) {
if (/^wss?:/i.test(url) === false) {

@@ -458,4 +513,4 @@ const protocolMatch = url.match(/^([^:]+):/);

export { createHttpTransport, createJsonRpc, createJsonSubscriptionRpc, createWebSocketTransport };
export { createHttpTransport, createJsonRpc, createJsonRpcApi, createJsonRpcSubscriptionsApi, createJsonSubscriptionRpc, createWebSocketTransport };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.browser.js.map
// ../build-scripts/env-shim.ts
var __DEV__ = /* @__PURE__ */ (() => process["env"].NODE_ENV === "development")();
// src/apis/methods/methods-api.ts
function createJsonRpcApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const methodName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, methodName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
return {
methodName,
params,
responseTransformer
};
};
}
});
}
// src/apis/subscriptions/subscriptions-api.ts
function createJsonRpcSubscriptionsApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const notificationName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, notificationName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
const subscribeMethodName = config?.subscribeNotificationNameTransformer ? config?.subscribeNotificationNameTransformer(notificationName) : notificationName;
const unsubscribeMethodName = config?.unsubscribeNotificationNameTransformer ? config?.unsubscribeNotificationNameTransformer(notificationName) : notificationName;
return {
params,
responseTransformer,
subscribeMethodName,
unsubscribeMethodName
};
};
}
});
}
// src/json-rpc-errors.ts
var SolanaJsonRpcError = class extends Error {
code;
data;
constructor(details) {

@@ -39,3 +94,3 @@ super(`JSON-RPC 2.0 error (${details.code}): ${details.message}`);

async send(options) {
const { methodName, params, responseProcessor } = pendingRequest;
const { methodName, params, responseTransformer } = pendingRequest;
const payload = createJsonRpcMessage(methodName, params);

@@ -49,3 +104,3 @@ const response = await rpcConfig.transport({

} else {
return responseProcessor ? responseProcessor(response.result) : response.result;
return responseTransformer ? responseTransformer(response.result, methodName) : response.result;
}

@@ -89,3 +144,3 @@ }

}
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseProcessor }) {
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseTransformer }) {
return {

@@ -136,3 +191,3 @@ async subscribe({ abortSignal }) {

const notification = message.params.result;
yield responseProcessor ? responseProcessor(notification) : notification;
yield responseTransformer ? responseTransformer(notification, subscribeMethodName) : notification;
}

@@ -180,2 +235,3 @@ }

var SolanaHttpError = class extends Error {
statusCode;
constructor(details) {

@@ -242,12 +298,9 @@ super(`HTTP error (${details.statusCode}): ${details.message}`);

// src/transports/http/http-transport.ts
function createHttpTransport({ httpAgentNodeOnly, headers, url }) {
function createHttpTransport({
headers,
url
}) {
if (__DEV__ && headers) {
assertIsAllowedHttpRequestHeaders(headers);
}
const agent = void 0;
if (__DEV__ && httpAgentNodeOnly != null) {
console.warn(
"createHttpTransport(): The `httpAgentNodeOnly` config you supplied has been ignored; HTTP agents are only usable in Node environments."
);
}
const customHeaders = headers && normalizeHeaders(headers);

@@ -260,3 +313,2 @@ return async function makeHttpRequest({

const requestInfo = {
agent,
body,

@@ -289,3 +341,3 @@ headers: {

var EXPLICIT_ABORT_TOKEN = Symbol(
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicity aborted by the user" : void 0
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicitly aborted by the user" : void 0
);

@@ -434,3 +486,6 @@ async function createWebSocketConnection({

// src/transports/websocket/websocket-transport.ts
function createWebSocketTransport({ sendBufferHighWatermark, url }) {
function createWebSocketTransport({
sendBufferHighWatermark,
url
}) {
if (/^wss?:/i.test(url) === false) {

@@ -458,4 +513,4 @@ const protocolMatch = url.match(/^([^:]+):/);

export { createHttpTransport, createJsonRpc, createJsonSubscriptionRpc, createWebSocketTransport };
export { createHttpTransport, createJsonRpc, createJsonRpcApi, createJsonRpcSubscriptionsApi, createJsonSubscriptionRpc, createWebSocketTransport };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.native.js.map

110

dist/index.node.js

@@ -1,3 +0,2 @@

import t from 'node-fetch';
import e from 'ws';
import e2 from 'ws';

@@ -7,4 +6,59 @@ // ../build-scripts/env-shim.ts

// src/apis/methods/methods-api.ts
function createJsonRpcApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const methodName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, methodName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
return {
methodName,
params,
responseTransformer
};
};
}
});
}
// src/apis/subscriptions/subscriptions-api.ts
function createJsonRpcSubscriptionsApi(config) {
return new Proxy({}, {
defineProperty() {
return false;
},
deleteProperty() {
return false;
},
get(...args) {
const [_, p] = args;
const notificationName = p.toString();
return function(...rawParams) {
const params = config?.parametersTransformer ? config?.parametersTransformer(rawParams, notificationName) : rawParams;
const responseTransformer = config?.responseTransformer ? config?.responseTransformer : (rawResponse) => rawResponse;
const subscribeMethodName = config?.subscribeNotificationNameTransformer ? config?.subscribeNotificationNameTransformer(notificationName) : notificationName;
const unsubscribeMethodName = config?.unsubscribeNotificationNameTransformer ? config?.unsubscribeNotificationNameTransformer(notificationName) : notificationName;
return {
params,
responseTransformer,
subscribeMethodName,
unsubscribeMethodName
};
};
}
});
}
// src/json-rpc-errors.ts
var SolanaJsonRpcError = class extends Error {
code;
data;
constructor(details) {

@@ -43,3 +97,3 @@ super(`JSON-RPC 2.0 error (${details.code}): ${details.message}`);

async send(options) {
const { methodName, params, responseProcessor } = pendingRequest;
const { methodName, params, responseTransformer } = pendingRequest;
const payload = createJsonRpcMessage(methodName, params);

@@ -53,3 +107,3 @@ const response = await rpcConfig.transport({

} else {
return responseProcessor ? responseProcessor(response.result) : response.result;
return responseTransformer ? responseTransformer(response.result, methodName) : response.result;
}

@@ -93,3 +147,3 @@ }

}
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseProcessor }) {
function createPendingRpcSubscription(rpcConfig, { params, subscribeMethodName, unsubscribeMethodName, responseTransformer }) {
return {

@@ -140,3 +194,3 @@ async subscribe({ abortSignal }) {

const notification = message.params.result;
yield responseProcessor ? responseProcessor(notification) : notification;
yield responseTransformer ? responseTransformer(notification, subscribeMethodName) : notification;
}

@@ -178,6 +232,9 @@ }

}
var o = typeof globalThis.fetch == "function" ? globalThis.fetch : t;
// ../fetch-impl/dist/index.node.js
var e = globalThis.fetch;
// src/transports/http/http-transport-errors.ts
var SolanaHttpError = class extends Error {
statusCode;
constructor(details) {

@@ -244,12 +301,9 @@ super(`HTTP error (${details.statusCode}): ${details.message}`);

// src/transports/http/http-transport.ts
function createHttpTransport({ httpAgentNodeOnly, headers, url }) {
function createHttpTransport({
headers,
url
}) {
if (__DEV__ && headers) {
assertIsAllowedHttpRequestHeaders(headers);
}
const agent = httpAgentNodeOnly ;
if (__DEV__ && httpAgentNodeOnly != null) {
console.warn(
"createHttpTransport(): The `httpAgentNodeOnly` config you supplied has been ignored; HTTP agents are only usable in Node environments."
);
}
const customHeaders = headers && normalizeHeaders(headers);

@@ -262,3 +316,2 @@ return async function makeHttpRequest({

const requestInfo = {
agent,
body,

@@ -275,3 +328,3 @@ headers: {

};
const response = await o(url, requestInfo);
const response = await e(url, requestInfo);
if (!response.ok) {

@@ -286,7 +339,7 @@ throw new SolanaHttpError({

}
var t2 = e;
var t = e2;
// src/transports/websocket/websocket-connection.ts
var EXPLICIT_ABORT_TOKEN = Symbol(
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicity aborted by the user" : void 0
__DEV__ ? "This symbol is thrown from a socket's iterator when the connection is explicitly aborted by the user" : void 0
);

@@ -313,3 +366,3 @@ async function createWebSocketConnection({

errorAndClearAllIteratorStates(EXPLICIT_ABORT_TOKEN);
if (webSocket.readyState !== t2.CLOSED && webSocket.readyState !== t2.CLOSING) {
if (webSocket.readyState !== t.CLOSED && webSocket.readyState !== t.CLOSING) {
webSocket.close(1e3);

@@ -342,7 +395,7 @@ }

const message = JSON.stringify(payload);
if (!bufferDrainWatcher && webSocket.readyState === t2.OPEN && webSocket.bufferedAmount > sendBufferHighWatermark) {
if (!bufferDrainWatcher && webSocket.readyState === t.OPEN && webSocket.bufferedAmount > sendBufferHighWatermark) {
let onCancel;
const promise = new Promise((resolve2, reject2) => {
const intervalId = setInterval(() => {
if (webSocket.readyState !== t2.OPEN || !(webSocket.bufferedAmount > sendBufferHighWatermark)) {
if (webSocket.readyState !== t.OPEN || !(webSocket.bufferedAmount > sendBufferHighWatermark)) {
clearInterval(intervalId);

@@ -401,7 +454,7 @@ bufferDrainWatcher = void 0;

});
} catch (e2) {
if (e2 === EXPLICIT_ABORT_TOKEN) {
} catch (e3) {
if (e3 === EXPLICIT_ABORT_TOKEN) {
return;
} else {
throw new Error("WebSocket connection closed", { cause: e2 });
throw new Error("WebSocket connection closed", { cause: e3 });
}

@@ -429,3 +482,3 @@ }

}
const webSocket = new t2(url);
const webSocket = new t(url);
webSocket.addEventListener("close", handleClose);

@@ -439,3 +492,6 @@ webSocket.addEventListener("error", handleError);

// src/transports/websocket/websocket-transport.ts
function createWebSocketTransport({ sendBufferHighWatermark, url }) {
function createWebSocketTransport({
sendBufferHighWatermark,
url
}) {
if (/^wss?:/i.test(url) === false) {

@@ -463,4 +519,4 @@ const protocolMatch = url.match(/^([^:]+):/);

export { createHttpTransport, createJsonRpc, createJsonSubscriptionRpc, createWebSocketTransport };
export { createHttpTransport, createJsonRpc, createJsonRpcApi, createJsonRpcSubscriptionsApi, createJsonSubscriptionRpc, createWebSocketTransport };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.node.js.map

@@ -1,5 +0,11 @@

export * from './json-rpc';
export * from './json-rpc-subscription';
export * from './transports/http/http-transport';
export * from './transports/websocket/websocket-transport';
export * from './apis/api-types.js';
export * from './apis/methods/methods-api.js';
export * from './apis/subscriptions/subscriptions-api.js';
export * from './json-rpc.js';
export type { SolanaJsonRpcErrorCode } from './json-rpc-errors.js';
export * from './json-rpc-subscription.js';
export * from './json-rpc-types.js';
export * from './transports/http/http-transport.js';
export * from './transports/transport-types.js';
export * from './transports/websocket/websocket-transport.js';
//# sourceMappingURL=index.d.ts.map

@@ -1,3 +0,20 @@

import { RpcSubscriptionConfig, RpcSubscriptions } from './json-rpc-types';
export declare function createJsonSubscriptionRpc<TRpcSubscriptionMethods>(rpcConfig: RpcSubscriptionConfig<TRpcSubscriptionMethods>): RpcSubscriptions<TRpcSubscriptionMethods>;
import { IRpcSubscriptionsApi, RpcSubscriptions } from '@solana/rpc-types';
import { RpcSubscriptionsDevnet, RpcSubscriptionsMainnet, RpcSubscriptionsTestnet } from './json-rpc-types.js';
import { IRpcWebSocketTransport, IRpcWebSocketTransportDevnet, IRpcWebSocketTransportMainnet, IRpcWebSocketTransportTestnet } from './transports/transport-types.js';
export declare function createJsonSubscriptionRpc<TRpcSubscriptionMethods>(rpcConfig: Readonly<{
api: IRpcSubscriptionsApi<TRpcSubscriptionMethods>;
transport: IRpcWebSocketTransportDevnet;
}>): RpcSubscriptionsDevnet<TRpcSubscriptionMethods>;
export declare function createJsonSubscriptionRpc<TRpcSubscriptionMethods>(rpcConfig: Readonly<{
api: IRpcSubscriptionsApi<TRpcSubscriptionMethods>;
transport: IRpcWebSocketTransportTestnet;
}>): RpcSubscriptionsTestnet<TRpcSubscriptionMethods>;
export declare function createJsonSubscriptionRpc<TRpcSubscriptionMethods>(rpcConfig: Readonly<{
api: IRpcSubscriptionsApi<TRpcSubscriptionMethods>;
transport: IRpcWebSocketTransportMainnet;
}>): RpcSubscriptionsMainnet<TRpcSubscriptionMethods>;
export declare function createJsonSubscriptionRpc<TRpcSubscriptionMethods>(rpcConfig: Readonly<{
api: IRpcSubscriptionsApi<TRpcSubscriptionMethods>;
transport: IRpcWebSocketTransport;
}>): RpcSubscriptions<TRpcSubscriptionMethods>;
//# sourceMappingURL=json-rpc-subscription.d.ts.map

@@ -1,699 +0,23 @@

import { IRpcTransport, IRpcWebSocketTransport } from './transports/transport-types';
/**
* Public RPC API.
*/
export type IRpcApi<TRpcMethods> = {
[MethodName in keyof TRpcMethods]: TRpcMethods[MethodName] extends Callable ? (...rawParams: unknown[]) => RpcRequest<ReturnType<TRpcMethods[MethodName]>> : never;
import { Rpc, RpcSubscriptions } from '@solana/rpc-types';
import { IRpcTransport, IRpcTransportDevnet, IRpcTransportMainnet, IRpcTransportTestnet, IRpcTransportWithCluster, IRpcWebSocketTransport, IRpcWebSocketTransportDevnet, IRpcWebSocketTransportMainnet, IRpcWebSocketTransportTestnet, IRpcWebSocketTransportWithCluster } from './transports/transport-types.js';
export type RpcDevnet<TRpcMethods> = Rpc<TRpcMethods> & {
'~cluster': 'devnet';
};
export type IRpcSubscriptionsApi<TRpcMethods> = {
[MethodName in keyof TRpcMethods]: TRpcMethods[MethodName] extends Callable ? (...rawParams: unknown[]) => RpcSubscription<ReturnType<TRpcMethods[MethodName]>> : never;
export type RpcTestnet<TRpcMethods> = Rpc<TRpcMethods> & {
'~cluster': 'testnet';
};
export type Rpc<TRpcMethods> = RpcMethods<TRpcMethods>;
export type RpcSubscriptions<TRpcSubscriptionMethods> = RpcSubscriptionMethods<TRpcSubscriptionMethods>;
export type RpcConfig<TRpcMethods> = Readonly<{
api: IRpcApi<TRpcMethods>;
transport: IRpcTransport;
}>;
export type RpcSubscriptionConfig<TRpcMethods> = Readonly<{
api: IRpcSubscriptionsApi<TRpcMethods>;
transport: IRpcWebSocketTransport;
}>;
/**
* Public pending RPC request API.
*/
export type RpcRequest<TResponse> = {
methodName: string;
params: unknown[];
responseProcessor?: (response: unknown) => TResponse;
export type RpcMainnet<TRpcMethods> = Rpc<TRpcMethods> & {
'~cluster': 'mainnet';
};
export type RpcSubscription<TResponse> = {
params: unknown[];
responseProcessor?: (response: unknown) => TResponse;
subscribeMethodName: string;
unsubscribeMethodName: string;
export type RpcFromTransport<TRpcMethods, TRpcTransport extends IRpcTransport | IRpcTransportWithCluster> = TRpcTransport extends IRpcTransportDevnet ? RpcDevnet<TRpcMethods> : TRpcTransport extends IRpcTransportTestnet ? RpcTestnet<TRpcMethods> : TRpcTransport extends IRpcTransportMainnet ? RpcMainnet<TRpcMethods> : Rpc<TRpcMethods>;
export type RpcSubscriptionsDevnet<TRpcSubscriptionMethods> = RpcSubscriptions<TRpcSubscriptionMethods> & {
'~cluster': 'devnet';
};
export type PendingRpcRequest<TResponse> = {
send(options?: SendOptions): Promise<TResponse>;
export type RpcSubscriptionsTestnet<TRpcSubscriptionMethods> = RpcSubscriptions<TRpcSubscriptionMethods> & {
'~cluster': 'testnet';
};
export type PendingRpcSubscription<TNotification> = {
subscribe(options: SubscribeOptions): Promise<AsyncIterable<TNotification>>;
export type RpcSubscriptionsMainnet<TRpcSubscriptionMethods> = RpcSubscriptions<TRpcSubscriptionMethods> & {
'~cluster': 'mainnet';
};
export type SendOptions = Readonly<{
abortSignal?: AbortSignal;
}>;
export type SubscribeOptions = Readonly<{
abortSignal: AbortSignal;
}>;
/**
* Private RPC-building types.
*/
type RpcMethods<TRpcMethods> = {
[TMethodName in keyof TRpcMethods]: PendingRpcRequestBuilder<ApiMethodImplementations<TRpcMethods, TMethodName>>;
};
type RpcSubscriptionMethods<TRpcSubscriptionMethods> = {
[TMethodName in keyof TRpcSubscriptionMethods]: PendingRpcSubscriptionBuilder<ApiMethodImplementations<TRpcSubscriptionMethods, TMethodName>>;
};
type ApiMethodImplementations<TRpcMethods, TMethod extends keyof TRpcMethods> = Overloads<TRpcMethods[TMethod]>;
type PendingRpcRequestBuilder<TMethodImplementations> = UnionToIntersection<Flatten<{
[P in keyof TMethodImplementations]: TMethodImplementations[P] extends Callable ? (...args: Parameters<TMethodImplementations[P]>) => PendingRpcRequest<ReturnType<TMethodImplementations[P]>> : never;
}>>;
type PendingRpcSubscriptionBuilder<TSubscriptionMethodImplementations> = UnionToIntersection<Flatten<{
[P in keyof TSubscriptionMethodImplementations]: TSubscriptionMethodImplementations[P] extends Callable ? (...args: Parameters<TSubscriptionMethodImplementations[P]>) => PendingRpcSubscription<ReturnType<TSubscriptionMethodImplementations[P]>> : never;
}>>;
/**
* Utility types that do terrible, awful things.
*/
type Callable = (...args: any[]) => any;
type Flatten<T> = T extends (infer Item)[] ? Item : never;
type Overloads<T> = T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
(...args: infer A20): infer R20;
(...args: infer A21): infer R21;
(...args: infer A22): infer R22;
(...args: infer A23): infer R23;
(...args: infer A24): infer R24;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19,
(...args: A20) => R20,
(...args: A21) => R21,
(...args: A22) => R22,
(...args: A23) => R23,
(...args: A24) => R24
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
(...args: infer A20): infer R20;
(...args: infer A21): infer R21;
(...args: infer A22): infer R22;
(...args: infer A23): infer R23;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19,
(...args: A20) => R20,
(...args: A21) => R21,
(...args: A22) => R22,
(...args: A23) => R23
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
(...args: infer A20): infer R20;
(...args: infer A21): infer R21;
(...args: infer A22): infer R22;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19,
(...args: A20) => R20,
(...args: A21) => R21,
(...args: A22) => R22
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
(...args: infer A20): infer R20;
(...args: infer A21): infer R21;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19,
(...args: A20) => R20,
(...args: A21) => R21
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
(...args: infer A20): infer R20;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19,
(...args: A20) => R20
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
(...args: infer A19): infer R19;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18,
(...args: A19) => R19
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
(...args: infer A18): infer R18;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17,
(...args: A18) => R18
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
(...args: infer A17): infer R17;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16,
(...args: A17) => R17
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
(...args: infer A16): infer R16;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15,
(...args: A16) => R16
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
(...args: infer A15): infer R15;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14,
(...args: A15) => R15
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
(...args: infer A14): infer R14;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13,
(...args: A14) => R14
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
(...args: infer A13): infer R13;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12,
(...args: A13) => R13
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
(...args: infer A12): infer R12;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11,
(...args: A12) => R12
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
(...args: infer A11): infer R11;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10,
(...args: A11) => R11
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
(...args: infer A10): infer R10;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9,
(...args: A10) => R10
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
(...args: infer A9): infer R9;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8,
(...args: A9) => R9
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
(...args: infer A8): infer R8;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7,
(...args: A8) => R8
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
(...args: infer A7): infer R7;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6,
(...args: A7) => R7
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
(...args: infer A6): infer R6;
} ? [
(...args: A1) => R1,
(...args: A2) => R2,
(...args: A3) => R3,
(...args: A4) => R4,
(...args: A5) => R5,
(...args: A6) => R6
] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
(...args: infer A5): infer R5;
} ? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3, (...args: A4) => R4, (...args: A5) => R5] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
(...args: infer A4): infer R4;
} ? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3, (...args: A4) => R4] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
(...args: infer A3): infer R3;
} ? [(...args: A1) => R1, (...args: A2) => R2, (...args: A3) => R3] : T extends {
(...args: infer A1): infer R1;
(...args: infer A2): infer R2;
} ? [(...args: A1) => R1, (...args: A2) => R2] : T extends {
(...args: infer A1): infer R1;
} ? [(...args: A1) => R1] : unknown;
type UnionToIntersection<T> = (T extends unknown ? (x: T) => unknown : never) extends (x: infer R) => unknown ? R : never;
export {};
export type RpcSubscriptionsFromTransport<TRpcSubscriptionMethods, TRpcTransport extends IRpcWebSocketTransport | IRpcWebSocketTransportWithCluster> = TRpcTransport extends IRpcWebSocketTransportDevnet ? RpcSubscriptionsDevnet<TRpcSubscriptionMethods> : TRpcTransport extends IRpcWebSocketTransportTestnet ? RpcSubscriptionsTestnet<TRpcSubscriptionMethods> : TRpcTransport extends IRpcWebSocketTransportMainnet ? RpcSubscriptionsMainnet<TRpcSubscriptionMethods> : RpcSubscriptions<TRpcSubscriptionMethods>;
//# sourceMappingURL=json-rpc-types.d.ts.map

@@ -1,2 +0,4 @@

import { Rpc, RpcConfig } from './json-rpc-types';
import { IRpcApi, Rpc } from '@solana/rpc-types';
import { RpcDevnet, RpcMainnet, RpcTestnet } from './json-rpc-types.js';
import { IRpcTransport, IRpcTransportDevnet, IRpcTransportMainnet, IRpcTransportTestnet } from './transports/transport-types.js';
interface IHasIdentifier {

@@ -14,4 +16,19 @@ readonly id: number;

}>;
export declare function createJsonRpc<TRpcMethods>(rpcConfig: RpcConfig<TRpcMethods>): Rpc<TRpcMethods>;
export declare function createJsonRpc<TRpcMethods>(rpcConfig: Readonly<{
api: IRpcApi<TRpcMethods>;
transport: IRpcTransportDevnet;
}>): RpcDevnet<TRpcMethods>;
export declare function createJsonRpc<TRpcMethods>(rpcConfig: Readonly<{
api: IRpcApi<TRpcMethods>;
transport: IRpcTransportTestnet;
}>): RpcTestnet<TRpcMethods>;
export declare function createJsonRpc<TRpcMethods>(rpcConfig: Readonly<{
api: IRpcApi<TRpcMethods>;
transport: IRpcTransportMainnet;
}>): RpcMainnet<TRpcMethods>;
export declare function createJsonRpc<TRpcMethods>(rpcConfig: Readonly<{
api: IRpcApi<TRpcMethods>;
transport: IRpcTransport;
}>): Rpc<TRpcMethods>;
export {};
//# sourceMappingURL=json-rpc.d.ts.map

@@ -1,14 +0,10 @@

/// <reference types="node" />
/// <reference types="node" />
import type { Agent as NodeHttpAgent } from 'node:http';
import type { Agent as NodeHttpsAgent } from 'node:https';
import { IRpcTransport } from '../transport-types';
import { AllowedHttpRequestHeaders } from './http-transport-headers';
type Config = Readonly<{
import { ClusterUrl } from '@solana/rpc-types';
import { IRpcTransportFromClusterUrl } from '../transport-types.js';
import { AllowedHttpRequestHeaders } from './http-transport-headers.js';
type Config<TClusterUrl extends ClusterUrl> = Readonly<{
headers?: AllowedHttpRequestHeaders;
httpAgentNodeOnly?: NodeHttpAgent | NodeHttpsAgent | ((parsedUrl: URL) => NodeHttpAgent | NodeHttpsAgent);
url: string;
url: TClusterUrl;
}>;
export declare function createHttpTransport({ httpAgentNodeOnly, headers, url }: Config): IRpcTransport;
export declare function createHttpTransport<TClusterUrl extends ClusterUrl>({ headers, url, }: Config<TClusterUrl>): IRpcTransportFromClusterUrl<TClusterUrl>;
export {};
//# sourceMappingURL=http-transport.d.ts.map

@@ -1,2 +0,3 @@

import { RpcWebSocketConnection } from './websocket/websocket-connection';
import { ClusterUrl, DevnetUrl, MainnetUrl, TestnetUrl } from '@solana/rpc-types';
import { RpcWebSocketConnection } from './websocket/websocket-connection.js';
type RpcTransportConfig = Readonly<{

@@ -9,2 +10,13 @@ payload: unknown;

}
export type IRpcTransportDevnet = IRpcTransport & {
'~cluster': 'devnet';
};
export type IRpcTransportTestnet = IRpcTransport & {
'~cluster': 'testnet';
};
export type IRpcTransportMainnet = IRpcTransport & {
'~cluster': 'mainnet';
};
export type IRpcTransportWithCluster = IRpcTransportDevnet | IRpcTransportTestnet | IRpcTransportMainnet;
export type IRpcTransportFromClusterUrl<TClusterUrl extends ClusterUrl> = TClusterUrl extends DevnetUrl ? IRpcTransportDevnet : TClusterUrl extends TestnetUrl ? IRpcTransportTestnet : TClusterUrl extends MainnetUrl ? IRpcTransportMainnet : IRpcTransport;
type RpcWebSocketTransportConfig = Readonly<{

@@ -19,3 +31,14 @@ payload: unknown;

}
export type IRpcWebSocketTransportDevnet = IRpcWebSocketTransport & {
'~cluster': 'devnet';
};
export type IRpcWebSocketTransportTestnet = IRpcWebSocketTransport & {
'~cluster': 'testnet';
};
export type IRpcWebSocketTransportMainnet = IRpcWebSocketTransport & {
'~cluster': 'mainnet';
};
export type IRpcWebSocketTransportWithCluster = IRpcWebSocketTransportDevnet | IRpcWebSocketTransportTestnet | IRpcWebSocketTransportMainnet;
export type IRpcWebSocketTransportFromClusterUrl<TClusterUrl extends ClusterUrl> = TClusterUrl extends DevnetUrl ? IRpcWebSocketTransportDevnet : TClusterUrl extends TestnetUrl ? IRpcWebSocketTransportTestnet : TClusterUrl extends MainnetUrl ? IRpcWebSocketTransportMainnet : IRpcWebSocketTransport;
export {};
//# sourceMappingURL=transport-types.d.ts.map

@@ -1,8 +0,9 @@

import { IRpcWebSocketTransport } from '../transport-types';
type Config = Readonly<{
import { ClusterUrl } from '@solana/rpc-types';
import { IRpcWebSocketTransportFromClusterUrl } from '../transport-types.js';
type Config<TClusterUrl extends ClusterUrl> = Readonly<{
sendBufferHighWatermark: number;
url: string;
url: TClusterUrl;
}>;
export declare function createWebSocketTransport({ sendBufferHighWatermark, url }: Config): IRpcWebSocketTransport;
export declare function createWebSocketTransport<TClusterUrl extends ClusterUrl>({ sendBufferHighWatermark, url, }: Config<TClusterUrl>): IRpcWebSocketTransportFromClusterUrl<TClusterUrl>;
export {};
//# sourceMappingURL=websocket-transport.d.ts.map
{
"name": "@solana/rpc-transport",
"version": "2.0.0-experimental.2cc3be5",
"version": "2.0.0-experimental.2d1d49c",
"description": "Network transports for accessing the Solana JSON RPC API",

@@ -48,22 +48,25 @@ "exports": {

],
"dependencies": {
"@solana/rpc-types": "2.0.0-development"
},
"devDependencies": {
"@solana/eslint-config-solana": "^1.0.2",
"@swc/jest": "^0.2.28",
"@types/jest": "^29.5.5",
"@types/node": "^20",
"@typescript-eslint/eslint-plugin": "^6.7.0",
"@swc/jest": "^0.2.29",
"@types/jest": "^29.5.11",
"@types/node": "18.11.19",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.3.0",
"agadoo": "^3.0.0",
"eslint": "^8.45.0",
"eslint-plugin-jest": "^27.2.3",
"eslint-plugin-jest": "^27.4.2",
"eslint-plugin-sort-keys-fix": "^1.1.2",
"fast-stable-stringify": "^1.0.0",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.6.4",
"jest-environment-jsdom": "^29.7.0",
"jest-fetch-mock-fork": "^3.0.4",
"jest-runner-eslint": "^2.1.0",
"jest-runner-eslint": "^2.1.2",
"jest-runner-prettier": "^1.0.0",
"jest-websocket-mock": "^2.4.1",
"prettier": "^2.8",
"tsup": "7.2.0",
"jest-websocket-mock": "^2.5.0",
"prettier": "^3.1",
"tsup": "^8.0.1",
"typescript": "^5.2.2",

@@ -78,3 +81,2 @@ "version-from-git": "^1.1.1",

"peerDependencies": {
"node-fetch": "^2.6.7",
"ws": "^8.14.0"

@@ -92,6 +94,6 @@ },

"compile:js": "tsup --config build-scripts/tsup.config.package.ts",
"compile:typedefs": "tsc -p ./tsconfig.declarations.json",
"compile:typedefs": "tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs",
"dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch",
"publish-packages": "pnpm publish --tag experimental --access public --no-git-checks",
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/*",
"publish-packages": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks",
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/* package.json",
"test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent",

@@ -98,0 +100,0 @@ "test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent",

@@ -58,3 +58,3 @@ [![npm][npm-image]][npm-url]

// Provide an optional function to modify the response.
responseProcessor: response => ({
responseTransformer: response => ({
confirmedBlocks: response,

@@ -61,0 +61,0 @@ queryRange: [startSlot, endSlot],

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc