viem 2.4.0 → 2.5.0
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.
- package/CHANGELOG.md +12 -0
- package/_cjs/chains/definitions/blastSepolia.js +26 -0
- package/_cjs/chains/definitions/blastSepolia.js.map +1 -0
- package/_cjs/chains/index.js +6 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/clients/transports/http.js +8 -5
- package/_cjs/clients/transports/http.js.map +1 -1
- package/_cjs/clients/transports/ipc.js +77 -0
- package/_cjs/clients/transports/ipc.js.map +1 -0
- package/_cjs/clients/transports/webSocket.js +11 -7
- package/_cjs/clients/transports/webSocket.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/node/index.js +8 -0
- package/_cjs/node/index.js.map +1 -0
- package/_cjs/utils/index.js +13 -6
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/rpc/compat.js +35 -0
- package/_cjs/utils/rpc/compat.js.map +1 -0
- package/_cjs/utils/rpc/http.js +74 -0
- package/_cjs/utils/rpc/http.js.map +1 -0
- package/_cjs/utils/rpc/id.js +17 -0
- package/_cjs/utils/rpc/id.js.map +1 -0
- package/_cjs/utils/rpc/ipc.js +75 -0
- package/_cjs/utils/rpc/ipc.js.map +1 -0
- package/_cjs/utils/rpc/socket.js +85 -0
- package/_cjs/utils/rpc/socket.js.map +1 -0
- package/_cjs/utils/rpc/webSocket.js +50 -0
- package/_cjs/utils/rpc/webSocket.js.map +1 -0
- package/_esm/chains/definitions/blastSepolia.js +23 -0
- package/_esm/chains/definitions/blastSepolia.js.map +1 -0
- package/_esm/chains/index.js +1 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/clients/transports/http.js +8 -5
- package/_esm/clients/transports/http.js.map +1 -1
- package/_esm/clients/transports/ipc.js +77 -0
- package/_esm/clients/transports/ipc.js.map +1 -0
- package/_esm/clients/transports/webSocket.js +10 -6
- package/_esm/clients/transports/webSocket.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/node/index.js +3 -0
- package/_esm/node/index.js.map +1 -0
- package/_esm/utils/index.js +4 -1
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/rpc/compat.js +86 -0
- package/_esm/utils/rpc/compat.js.map +1 -0
- package/_esm/utils/rpc/http.js +70 -0
- package/_esm/utils/rpc/http.js.map +1 -0
- package/_esm/utils/rpc/id.js +13 -0
- package/_esm/utils/rpc/id.js.map +1 -0
- package/_esm/utils/rpc/ipc.js +71 -0
- package/_esm/utils/rpc/ipc.js.map +1 -0
- package/_esm/utils/rpc/socket.js +90 -0
- package/_esm/utils/rpc/socket.js.map +1 -0
- package/_esm/utils/rpc/webSocket.js +48 -0
- package/_esm/utils/rpc/webSocket.js.map +1 -0
- package/_types/chains/definitions/blastSepolia.d.ts +34 -0
- package/_types/chains/definitions/blastSepolia.d.ts.map +1 -0
- package/_types/chains/index.d.ts +1 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/clients/transports/http.d.ts +2 -2
- package/_types/clients/transports/http.d.ts.map +1 -1
- package/_types/clients/transports/ipc.d.ts +46 -0
- package/_types/clients/transports/ipc.d.ts.map +1 -0
- package/_types/clients/transports/webSocket.d.ts +6 -1
- package/_types/clients/transports/webSocket.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/node/index.d.ts +3 -0
- package/_types/node/index.d.ts.map +1 -0
- package/_types/types/rpc.d.ts +35 -0
- package/_types/types/rpc.d.ts.map +1 -1
- package/_types/utils/buildRequest.d.ts +2 -2
- package/_types/utils/buildRequest.d.ts.map +1 -1
- package/_types/utils/index.d.ts +4 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/rpc/compat.d.ts +78 -0
- package/_types/utils/rpc/compat.d.ts.map +1 -0
- package/_types/utils/rpc/http.d.ts +20 -0
- package/_types/utils/rpc/http.d.ts.map +1 -0
- package/_types/utils/rpc/id.d.ts +11 -0
- package/_types/utils/rpc/id.d.ts.map +1 -0
- package/_types/utils/rpc/ipc.d.ts +8 -0
- package/_types/utils/rpc/ipc.d.ts.map +1 -0
- package/_types/utils/rpc/socket.d.ts +45 -0
- package/_types/utils/rpc/socket.d.ts.map +1 -0
- package/_types/utils/rpc/webSocket.d.ts +3 -0
- package/_types/utils/rpc/webSocket.d.ts.map +1 -0
- package/chains/definitions/blastSepolia.ts +23 -0
- package/chains/index.ts +1 -0
- package/clients/transports/http.ts +15 -6
- package/clients/transports/ipc.ts +144 -0
- package/clients/transports/webSocket.ts +16 -6
- package/errors/version.ts +1 -1
- package/node/index.ts +11 -0
- package/node/package.json +6 -0
- package/package.json +9 -1
- package/types/rpc.ts +44 -0
- package/utils/buildRequest.ts +2 -2
- package/utils/index.ts +19 -8
- package/utils/rpc/compat.ts +117 -0
- package/utils/rpc/http.ts +132 -0
- package/utils/rpc/id.ts +13 -0
- package/utils/rpc/ipc.ts +89 -0
- package/utils/rpc/socket.ts +162 -0
- package/utils/rpc/webSocket.ts +63 -0
- package/_cjs/utils/rpc.js +0 -154
- package/_cjs/utils/rpc.js.map +0 -1
- package/_esm/utils/rpc.js +0 -160
- package/_esm/utils/rpc.js.map +0 -1
- package/_types/utils/rpc.d.ts +0 -80
- package/_types/utils/rpc.d.ts.map +0 -1
- package/utils/rpc.ts +0 -318
package/_types/types/rpc.d.ts
CHANGED
@@ -19,4 +19,39 @@ export type RpcProof = Proof<Quantity, Index>;
|
|
19
19
|
export type RpcTransactionReceipt = TransactionReceipt<Quantity, Index, Status, TransactionType>;
|
20
20
|
export type RpcTransactionRequest = TransactionRequestLegacy<Quantity, Index, '0x0'> | TransactionRequestEIP2930<Quantity, Index, '0x1'> | TransactionRequestEIP1559<Quantity, Index, '0x2'>;
|
21
21
|
export type RpcTransaction<TPending extends boolean = boolean> = UnionOmit<UnionPartialBy<TransactionLegacy<Quantity, Index, TPending, '0x0'> | TransactionEIP2930<Quantity, Index, TPending, '0x1'> | TransactionEIP1559<Quantity, Index, TPending, '0x2'>, 'yParity'>, 'typeHex'>;
|
22
|
+
type SuccessResult<T> = {
|
23
|
+
method?: never;
|
24
|
+
result: T;
|
25
|
+
error?: never;
|
26
|
+
};
|
27
|
+
type ErrorResult<T> = {
|
28
|
+
method?: never;
|
29
|
+
result?: never;
|
30
|
+
error: T;
|
31
|
+
};
|
32
|
+
type Subscription<TResult, TError> = {
|
33
|
+
method: 'eth_subscription';
|
34
|
+
error?: never;
|
35
|
+
result?: never;
|
36
|
+
params: {
|
37
|
+
subscription: string;
|
38
|
+
} & ({
|
39
|
+
result: TResult;
|
40
|
+
error?: never;
|
41
|
+
} | {
|
42
|
+
result?: never;
|
43
|
+
error: TError;
|
44
|
+
});
|
45
|
+
};
|
46
|
+
export type RpcRequest = {
|
47
|
+
jsonrpc?: '2.0';
|
48
|
+
method: string;
|
49
|
+
params?: any;
|
50
|
+
id?: number;
|
51
|
+
};
|
52
|
+
export type RpcResponse<TResult = any, TError = any> = {
|
53
|
+
jsonrpc: `${number}`;
|
54
|
+
id: number;
|
55
|
+
} & (SuccessResult<TResult> | ErrorResult<TError> | Subscription<TResult, TError>);
|
56
|
+
export {};
|
22
57
|
//# sourceMappingURL=rpc.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../types/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACN,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,MAAM,KAAK,GAAG,KAAK,MAAM,EAAE,CAAA;AACjC,MAAM,MAAM,QAAQ,GAAG,KAAK,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;AAClC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnE,MAAM,MAAM,QAAQ,CAClB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,SAAS,OAAO,GAAG,OAAO,EAC9C,YAAY,GAAG,cAAc,CAAC,SAAS,SAAS,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,IACvE,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAClD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;AAC1D,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;AACtC,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AACzC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC7C,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CACpD,QAAQ,EACR,KAAK,EACL,MAAM,EACN,eAAe,CAChB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAC7B,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAChD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AACrD,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI,SAAS,CACxE,cAAc,CACV,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GACnD,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,GACpD,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAGtD,SAAS,CACV,EACD,SAAS,CACV,CAAA"}
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../types/rpc.ts"],"names":[],"mappings":"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"}
|
@@ -4,8 +4,8 @@ import type { ErrorType } from '../errors/utils.js';
|
|
4
4
|
import type { EIP1193RequestFn, EIP1193RequestOptions } from '../types/eip1193.js';
|
5
5
|
import type { CreateBatchSchedulerErrorType } from './promise/createBatchScheduler.js';
|
6
6
|
import { type WithRetryErrorType } from './promise/withRetry.js';
|
7
|
-
import type {
|
8
|
-
export type RequestErrorType = ChainDisconnectedErrorType | CreateBatchSchedulerErrorType | HttpRequestErrorType | InternalRpcErrorType | InvalidInputRpcErrorType | InvalidParamsRpcErrorType | InvalidRequestRpcErrorType |
|
7
|
+
import type { GetSocketRpcClientErrorType } from './rpc/socket.js';
|
8
|
+
export type RequestErrorType = ChainDisconnectedErrorType | CreateBatchSchedulerErrorType | HttpRequestErrorType | InternalRpcErrorType | InvalidInputRpcErrorType | InvalidParamsRpcErrorType | InvalidRequestRpcErrorType | GetSocketRpcClientErrorType | JsonRpcVersionUnsupportedErrorType | LimitExceededRpcErrorType | MethodNotFoundRpcErrorType | MethodNotSupportedRpcErrorType | ParseRpcErrorType | ProviderDisconnectedErrorType | ResourceNotFoundRpcErrorType | ResourceUnavailableRpcErrorType | RpcErrorType | RpcRequestErrorType | SwitchChainErrorType | TimeoutErrorType | TransactionRejectedRpcErrorType | UnauthorizedProviderErrorType | UnknownRpcErrorType | UnsupportedProviderMethodErrorType | UserRejectedRequestErrorType | WebSocketRequestErrorType | WithRetryErrorType | ErrorType;
|
9
9
|
export declare function buildRequest<request extends (args: any) => Promise<any>>(request: request, options?: EIP1193RequestOptions): EIP1193RequestFn;
|
10
10
|
export declare function shouldRetry(error: Error): boolean;
|
11
11
|
//# sourceMappingURL=buildRequest.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"buildRequest.d.ts","sourceRoot":"","sources":["../../utils/buildRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,KAAK,0BAA0B,EAE/B,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAE/B,KAAK,kCAAkC,EAEvC,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAE/B,KAAK,8BAA8B,EAEnC,KAAK,iBAAiB,EAEtB,KAAK,6BAA6B,EAGlC,KAAK,4BAA4B,EAEjC,KAAK,+BAA+B,EAGpC,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAEzB,KAAK,+BAA+B,EAEpC,KAAK,6BAA6B,EAElC,KAAK,mBAAmB,EAExB,KAAK,kCAAkC,EAEvC,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"buildRequest.d.ts","sourceRoot":"","sources":["../../utils/buildRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,KAAK,0BAA0B,EAE/B,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAE7B,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAE/B,KAAK,kCAAkC,EAEvC,KAAK,yBAAyB,EAE9B,KAAK,0BAA0B,EAE/B,KAAK,8BAA8B,EAEnC,KAAK,iBAAiB,EAEtB,KAAK,6BAA6B,EAGlC,KAAK,4BAA4B,EAEjC,KAAK,+BAA+B,EAGpC,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAEzB,KAAK,+BAA+B,EAEpC,KAAK,6BAA6B,EAElC,KAAK,mBAAmB,EAExB,KAAK,kCAAkC,EAEvC,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,oBAAoB,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,2BAA2B,GAC3B,kCAAkC,GAClC,yBAAyB,GACzB,0BAA0B,GAC1B,8BAA8B,GAC9B,iBAAiB,GACjB,6BAA6B,GAC7B,4BAA4B,GAC5B,+BAA+B,GAC/B,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,+BAA+B,GAC/B,6BAA6B,GAC7B,mBAAmB,GACnB,kCAAkC,GAClC,4BAA4B,GAC5B,yBAAyB,GACzB,kBAAkB,GAClB,SAAS,CAAA;AAEb,wBAAgB,YAAY,CAAC,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACtE,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,qBAA0B,GAClC,gBAAgB,CA+FlB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,WA2BvC"}
|
package/_types/utils/index.d.ts
CHANGED
@@ -5,7 +5,10 @@ export { defineChain } from './chain/defineChain.js';
|
|
5
5
|
export { type ExtractChainErrorType, type ExtractChainParameters, type ExtractChainReturnType, extractChain, } from './chain/extractChain.js';
|
6
6
|
export { type GetChainContractAddressErrorType, getChainContractAddress, } from './chain/getChainContractAddress.js';
|
7
7
|
export { arrayRegex, bytesRegex, integerRegex } from './regex.js';
|
8
|
-
export { type
|
8
|
+
export { type WebSocketAsyncErrorType, type WebSocketAsyncOptions, type WebSocketAsyncReturnType, type WebSocketErrorType, type WebSocketOptions, type WebSocketReturnType, getSocket, rpc, } from './rpc/compat.js';
|
9
|
+
export { type HttpRpcClient, type HttpRpcClientOptions, type HttpRequestErrorType, type HttpRequestParameters, type HttpRequestReturnType, getHttpRpcClient, } from './rpc/http.js';
|
10
|
+
export { type GetSocketRpcClientErrorType, type GetSocketRpcClientParameters, type GetSocketParameters, type Socket, type SocketRpcClient, getSocketRpcClient, socketClientCache, } from './rpc/socket.js';
|
11
|
+
export { getWebSocketRpcClient } from './rpc/webSocket.js';
|
9
12
|
export { type StringifyErrorType, stringify } from './stringify.js';
|
10
13
|
export { type DomainSeparatorErrorType, validateTypedData, } from './typedData.js';
|
11
14
|
export { type DecodeAbiParametersErrorType, type DecodeAbiParametersReturnType, decodeAbiParameters, } from './abi/decodeAbiParameters.js';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,YAAY,GACb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,KAAK,gCAAgC,EACrC,uBAAuB,GACxB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEjE,OAAO,EACL,KAAK,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { type TimeoutErrorType, WebSocketRequestError } from '../../errors/request.js';
|
2
|
+
import type { ErrorType } from '../../errors/utils.js';
|
3
|
+
import type { RpcResponse } from '../../types/rpc.js';
|
4
|
+
import { type WithTimeoutErrorType } from '../promise/withTimeout.js';
|
5
|
+
import { type HttpRequestParameters } from './http.js';
|
6
|
+
import { type SocketRpcClient } from './socket.js';
|
7
|
+
export type WebSocketOptions = Parameters<SocketRpcClient<WebSocket>['request']>[0];
|
8
|
+
export type WebSocketReturnType = SocketRpcClient<WebSocket>;
|
9
|
+
export type WebSocketErrorType = WebSocketRequestError | ErrorType;
|
10
|
+
declare function webSocket(socketClient: SocketRpcClient<WebSocket>, { body, onError, onResponse }: WebSocketOptions): WebSocketReturnType;
|
11
|
+
export type WebSocketAsyncOptions = Parameters<SocketRpcClient<WebSocket>['requestAsync']>[0];
|
12
|
+
export type WebSocketAsyncReturnType = RpcResponse;
|
13
|
+
export type WebSocketAsyncErrorType = WebSocketErrorType | TimeoutErrorType | WithTimeoutErrorType | ErrorType;
|
14
|
+
declare function webSocketAsync(socketClient: SocketRpcClient<WebSocket>, { body, timeout }: WebSocketAsyncOptions): Promise<WebSocketAsyncReturnType>;
|
15
|
+
/**
|
16
|
+
* @deprecated use `getSocketClient` instead.
|
17
|
+
*
|
18
|
+
* ```diff
|
19
|
+
* -import { getSocket } from 'viem/utils'
|
20
|
+
* +import { getSocketClient } from 'viem/utils'
|
21
|
+
*
|
22
|
+
* -const socket = await getSocket(url)
|
23
|
+
* +const socketClient = await getSocketClient(url)
|
24
|
+
* +const socket = socketClient.socket
|
25
|
+
* ```
|
26
|
+
*/
|
27
|
+
export declare function getSocket(url: string): Promise<WebSocket & {
|
28
|
+
close(): void;
|
29
|
+
request(params: {
|
30
|
+
body: import("../../types/rpc.js").RpcRequest;
|
31
|
+
}): void;
|
32
|
+
} & {
|
33
|
+
requests: Map<string | number, (message: any) => void>;
|
34
|
+
subscriptions: Map<string | number, (message: any) => void>;
|
35
|
+
}>;
|
36
|
+
export declare const rpc: {
|
37
|
+
/**
|
38
|
+
* @deprecated use `getHttpRpcClient` instead.
|
39
|
+
*
|
40
|
+
* ```diff
|
41
|
+
* -import { rpc } from 'viem/utils'
|
42
|
+
* +import { getHttpRpcClient } from 'viem/utils'
|
43
|
+
*
|
44
|
+
* -rpc.http(url, params)
|
45
|
+
* +const httpClient = getHttpRpcClient(url)
|
46
|
+
* +httpClient.request(params)
|
47
|
+
* ```
|
48
|
+
*/
|
49
|
+
http(url: string, params: HttpRequestParameters): Promise<RpcResponse>;
|
50
|
+
/**
|
51
|
+
* @deprecated use `getWebSocketRpcClient` instead.
|
52
|
+
*
|
53
|
+
* ```diff
|
54
|
+
* -import { rpc } from 'viem/utils'
|
55
|
+
* +import { getWebSocketRpcClient } from 'viem/utils'
|
56
|
+
*
|
57
|
+
* -rpc.webSocket(url, params)
|
58
|
+
* +const webSocketClient = getWebSocketRpcClient(url)
|
59
|
+
* +webSocketClient.request(params)
|
60
|
+
* ```
|
61
|
+
*/
|
62
|
+
webSocket: typeof webSocket;
|
63
|
+
/**
|
64
|
+
* @deprecated use `getWebSocketRpcClient` instead.
|
65
|
+
*
|
66
|
+
* ```diff
|
67
|
+
* -import { rpc } from 'viem/utils'
|
68
|
+
* +import { getWebSocketRpcClient } from 'viem/utils'
|
69
|
+
*
|
70
|
+
* -const response = await rpc.webSocketAsync(url, params)
|
71
|
+
* +const webSocketClient = getWebSocketRpcClient(url)
|
72
|
+
* +const response = await webSocketClient.requestAsync(params)
|
73
|
+
* ```
|
74
|
+
*/
|
75
|
+
webSocketAsync: typeof webSocketAsync;
|
76
|
+
};
|
77
|
+
export {};
|
78
|
+
//# sourceMappingURL=compat.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../utils/rpc/compat.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,gBAAgB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAoB,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAGlD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CACvC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CACtC,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5D,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAElE,iBAAS,SAAS,CAChB,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAC9C,mBAAmB,CAOrB;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC5C,eAAe,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAA;AAClD,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,iBAAe,cAAc,CAC3B,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,qBAAqB,GAChD,OAAO,CAAC,wBAAwB,CAAC,CAKnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM;;;;;;;;GAM1C;AAED,eAAO,MAAM,GAAG;IACd;;;;;;;;;;;OAWG;cACO,MAAM,UAAU,qBAAqB;IAG/C;;;;;;;;;;;OAWG;;IAEH;;;;;;;;;;;OAWG;;CAEJ,CAAA"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { type HttpRequestErrorType as HttpRequestErrorType_, type TimeoutErrorType } from '../../errors/request.js';
|
2
|
+
import type { ErrorType } from '../../errors/utils.js';
|
3
|
+
import type { RpcRequest, RpcResponse } from '../../types/rpc.js';
|
4
|
+
import { type WithTimeoutErrorType } from '../promise/withTimeout.js';
|
5
|
+
export type HttpRpcClientOptions = {
|
6
|
+
fetchOptions?: Omit<RequestInit, 'body'>;
|
7
|
+
timeout?: number;
|
8
|
+
};
|
9
|
+
export type HttpRequestParameters<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = {
|
10
|
+
body: TBody;
|
11
|
+
fetchOptions?: HttpRpcClientOptions['fetchOptions'];
|
12
|
+
timeout?: HttpRpcClientOptions['timeout'];
|
13
|
+
};
|
14
|
+
export type HttpRequestReturnType<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = TBody extends RpcRequest[] ? RpcResponse[] : RpcResponse;
|
15
|
+
export type HttpRequestErrorType = HttpRequestErrorType_ | TimeoutErrorType | WithTimeoutErrorType | ErrorType;
|
16
|
+
export type HttpRpcClient = {
|
17
|
+
request<TBody extends RpcRequest | RpcRequest[]>(params: HttpRequestParameters<TBody>): Promise<HttpRequestReturnType<TBody>>;
|
18
|
+
};
|
19
|
+
export declare function getHttpRpcClient(url: string, options?: HttpRpcClientOptions): HttpRpcClient;
|
20
|
+
//# sourceMappingURL=http.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,qBAAqB,EAElD,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAExC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD;IAEF,IAAI,EAAE,KAAK,CAAA;IAEX,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAA;IAEnD,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD,KAAK,SAAS,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,EAC7C,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzC,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,aAAa,CA+Ef"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../utils/rpc/id.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa;;;;EAU5B;AAED,eAAO,MAAM,OAAO;;;;CAAgC,CAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
/// <reference types="node" />
|
3
|
+
import { type Socket as NetSocket } from 'node:net';
|
4
|
+
import { type SocketRpcClient } from './socket.js';
|
5
|
+
export declare function extractMessages(buffer: Buffer): [Buffer[], Buffer];
|
6
|
+
export type IpcRpcClient = SocketRpcClient<NetSocket>;
|
7
|
+
export declare function getIpcRpcClient(path: string): Promise<IpcRpcClient>;
|
8
|
+
//# sourceMappingURL=ipc.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../../utils/rpc/ipc.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,MAAM,IAAI,SAAS,EAAW,MAAM,UAAU,CAAA;AAE5D,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,aAAa,CAAA;AAKpB,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAoBlE;AAED,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAErD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAqDzE"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import type { ErrorType } from '../../errors/utils.js';
|
2
|
+
import type { RpcRequest, RpcResponse } from '../../types/rpc.js';
|
3
|
+
import { type CreateBatchSchedulerErrorType } from '../promise/createBatchScheduler.js';
|
4
|
+
type Id = string | number;
|
5
|
+
type CallbackFn = (message: any) => void;
|
6
|
+
type CallbackMap = Map<Id, CallbackFn>;
|
7
|
+
export type GetSocketParameters = {
|
8
|
+
onResponse: (data: RpcResponse) => void;
|
9
|
+
};
|
10
|
+
export type Socket<socket extends {}> = socket & {
|
11
|
+
close(): void;
|
12
|
+
request(params: {
|
13
|
+
body: RpcRequest;
|
14
|
+
}): void;
|
15
|
+
};
|
16
|
+
export type SocketRpcClient<socket extends {}> = {
|
17
|
+
close(): void;
|
18
|
+
socket: Socket<socket>;
|
19
|
+
request(params: {
|
20
|
+
body: RpcRequest;
|
21
|
+
onError?: (error: Error) => void;
|
22
|
+
onResponse: (message: RpcResponse) => void;
|
23
|
+
}): void;
|
24
|
+
requestAsync(params: {
|
25
|
+
body: RpcRequest;
|
26
|
+
timeout?: number;
|
27
|
+
}): Promise<RpcResponse>;
|
28
|
+
requests: CallbackMap;
|
29
|
+
subscriptions: CallbackMap;
|
30
|
+
url: string;
|
31
|
+
};
|
32
|
+
export type GetSocketRpcClientParameters<socket extends {}> = {
|
33
|
+
url: string;
|
34
|
+
getSocket(params: GetSocketParameters): Promise<Socket<socket>>;
|
35
|
+
};
|
36
|
+
export type GetSocketRpcClientErrorType = CreateBatchSchedulerErrorType | ErrorType;
|
37
|
+
export declare const socketClientCache: Map<string, SocketRpcClient<{
|
38
|
+
close(): void;
|
39
|
+
request(params: {
|
40
|
+
body: RpcRequest;
|
41
|
+
}): void;
|
42
|
+
}>>;
|
43
|
+
export declare function getSocketRpcClient<socket extends {}>(params: GetSocketRpcClientParameters<socket>): Promise<SocketRpcClient<socket>>;
|
44
|
+
export {};
|
45
|
+
//# sourceMappingURL=socket.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,6BAA6B,EAEnC,MAAM,oCAAoC,CAAA;AAI3C,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;AACzB,KAAK,UAAU,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;AACxC,KAAK,WAAW,GAAG,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;AAEtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,EAAE,IAAI,MAAM,GAAG;IAC/C,KAAK,IAAI,IAAI,CAAA;IACb,OAAO,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,UAAU,CAAA;KACjB,GAAG,IAAI,CAAA;CACT,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,EAAE,IAAI;IAC/C,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtB,OAAO,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,UAAU,CAAA;QAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;QAChC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;KAC3C,GAAG,IAAI,CAAA;IACR,YAAY,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,UAAU,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACxB,QAAQ,EAAE,WAAW,CAAA;IACrB,aAAa,EAAE,WAAW,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,4BAA4B,CAAC,MAAM,SAAS,EAAE,IAAI;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;CAChE,CAAA;AAED,MAAM,MAAM,2BAA2B,GACnC,6BAA6B,GAC7B,SAAS,CAAA;AAEb,eAAO,MAAM,iBAAiB;aAhCnB,IAAI;oBACG;QACd,IAAI,EAAE,UAAU,CAAA;KACjB,GAAG,IAAI;GAgCP,CAAA;AAEH,wBAAsB,kBAAkB,CAAC,MAAM,SAAS,EAAE,EACxD,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,GAC3C,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAuGlC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"webSocket.d.ts","sourceRoot":"","sources":["../../../utils/rpc/webSocket.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,aAAa,CAAA;AAEpB,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAmDrC"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { defineChain } from '../../utils/chain/defineChain.js'
|
2
|
+
|
3
|
+
export const blastSepolia = /*#__PURE__*/ defineChain({
|
4
|
+
id: 168_587_773,
|
5
|
+
name: 'Blast Sepolia',
|
6
|
+
nativeCurrency: {
|
7
|
+
name: 'Ether',
|
8
|
+
symbol: 'ETH',
|
9
|
+
decimals: 18,
|
10
|
+
},
|
11
|
+
rpcUrls: {
|
12
|
+
default: {
|
13
|
+
http: ['https://sepolia.blast.io'],
|
14
|
+
},
|
15
|
+
},
|
16
|
+
blockExplorers: {
|
17
|
+
default: {
|
18
|
+
name: 'Blastscan',
|
19
|
+
url: 'https://testnet.blastscan.io',
|
20
|
+
},
|
21
|
+
},
|
22
|
+
testnet: true,
|
23
|
+
})
|
package/chains/index.ts
CHANGED
@@ -19,6 +19,7 @@ export { bearNetworkChainMainnet } from './definitions/bearNetworkChainMainnet.j
|
|
19
19
|
export { bearNetworkChainTestnet } from './definitions/bearNetworkChainTestnet.js'
|
20
20
|
export { bitTorrent } from './definitions/bitTorrent.js'
|
21
21
|
export { bitTorrentTestnet } from './definitions/bitTorrentTestnet.js'
|
22
|
+
export { blastSepolia } from './definitions/blastSepolia.js'
|
22
23
|
export { boba } from './definitions/boba.js'
|
23
24
|
export { bronos } from './definitions/bronos.js'
|
24
25
|
export { bronosTestnet } from './definitions/bronosTestnet.js'
|
@@ -4,8 +4,12 @@ import {
|
|
4
4
|
type UrlRequiredErrorType,
|
5
5
|
} from '../../errors/transport.js'
|
6
6
|
import type { ErrorType } from '../../errors/utils.js'
|
7
|
+
import type { RpcRequest } from '../../types/rpc.js'
|
7
8
|
import { createBatchScheduler } from '../../utils/promise/createBatchScheduler.js'
|
8
|
-
import {
|
9
|
+
import {
|
10
|
+
type HttpRpcClientOptions,
|
11
|
+
getHttpRpcClient,
|
12
|
+
} from '../../utils/rpc/http.js'
|
9
13
|
|
10
14
|
import {
|
11
15
|
type CreateTransportErrorType,
|
@@ -31,7 +35,7 @@ export type HttpTransportConfig = {
|
|
31
35
|
* Request configuration to pass to `fetch`.
|
32
36
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
|
33
37
|
*/
|
34
|
-
fetchOptions?:
|
38
|
+
fetchOptions?: HttpRpcClientOptions['fetchOptions']
|
35
39
|
/** The key of the HTTP transport. */
|
36
40
|
key?: TransportConfig['key']
|
37
41
|
/** The name of the HTTP transport. */
|
@@ -79,6 +83,9 @@ export function http(
|
|
79
83
|
const timeout = timeout_ ?? config.timeout ?? 10_000
|
80
84
|
const url_ = url || chain?.rpcUrls.default.http[0]
|
81
85
|
if (!url_) throw new UrlRequiredError()
|
86
|
+
|
87
|
+
const rpcClient = getHttpRpcClient(url_, { fetchOptions, timeout })
|
88
|
+
|
82
89
|
return createTransport(
|
83
90
|
{
|
84
91
|
key,
|
@@ -93,10 +100,8 @@ export function http(
|
|
93
100
|
return requests.length > batchSize
|
94
101
|
},
|
95
102
|
fn: (body: RpcRequest[]) =>
|
96
|
-
|
103
|
+
rpcClient.request({
|
97
104
|
body,
|
98
|
-
fetchOptions,
|
99
|
-
timeout,
|
100
105
|
}),
|
101
106
|
sort: (a, b) => a.id - b.id,
|
102
107
|
})
|
@@ -104,7 +109,11 @@ export function http(
|
|
104
109
|
const fn = async (body: RpcRequest) =>
|
105
110
|
batch
|
106
111
|
? schedule(body)
|
107
|
-
: [
|
112
|
+
: [
|
113
|
+
await rpcClient.request({
|
114
|
+
body,
|
115
|
+
}),
|
116
|
+
]
|
108
117
|
|
109
118
|
const [{ error, result }] = await fn(body)
|
110
119
|
if (error)
|
@@ -0,0 +1,144 @@
|
|
1
|
+
import { RpcRequestError } from '../../errors/request.js'
|
2
|
+
import { type UrlRequiredErrorType } from '../../errors/transport.js'
|
3
|
+
import type { ErrorType } from '../../errors/utils.js'
|
4
|
+
import type { Hash } from '../../types/misc.js'
|
5
|
+
import type { RpcResponse } from '../../types/rpc.js'
|
6
|
+
import { type IpcRpcClient, getIpcRpcClient } from '../../utils/rpc/ipc.js'
|
7
|
+
import {
|
8
|
+
type CreateTransportErrorType,
|
9
|
+
type Transport,
|
10
|
+
type TransportConfig,
|
11
|
+
createTransport,
|
12
|
+
} from './createTransport.js'
|
13
|
+
|
14
|
+
type IpcTransportSubscribeParameters = {
|
15
|
+
onData: (data: RpcResponse) => void
|
16
|
+
onError?: (error: any) => void
|
17
|
+
}
|
18
|
+
|
19
|
+
type IpcTransportSubscribeReturnType = {
|
20
|
+
subscriptionId: Hash
|
21
|
+
unsubscribe: () => Promise<RpcResponse<boolean>>
|
22
|
+
}
|
23
|
+
|
24
|
+
type IpcTransportSubscribe = {
|
25
|
+
subscribe(
|
26
|
+
args: IpcTransportSubscribeParameters & {
|
27
|
+
/**
|
28
|
+
* @description Add information about compiled contracts
|
29
|
+
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
|
30
|
+
*/
|
31
|
+
params: ['newHeads']
|
32
|
+
},
|
33
|
+
): Promise<IpcTransportSubscribeReturnType>
|
34
|
+
}
|
35
|
+
|
36
|
+
export type IpcTransportConfig = {
|
37
|
+
/** The key of the Ipc transport. */
|
38
|
+
key?: TransportConfig['key']
|
39
|
+
/** The name of the Ipc transport. */
|
40
|
+
name?: TransportConfig['name']
|
41
|
+
/** The max number of times to retry. */
|
42
|
+
retryCount?: TransportConfig['retryCount']
|
43
|
+
/** The base delay (in ms) between retries. */
|
44
|
+
retryDelay?: TransportConfig['retryDelay']
|
45
|
+
/** The timeout (in ms) for async Ipc requests. Default: 10_000 */
|
46
|
+
timeout?: TransportConfig['timeout']
|
47
|
+
}
|
48
|
+
|
49
|
+
export type IpcTransport = Transport<
|
50
|
+
'ipc',
|
51
|
+
{
|
52
|
+
getRpcClient(): Promise<IpcRpcClient>
|
53
|
+
subscribe: IpcTransportSubscribe['subscribe']
|
54
|
+
}
|
55
|
+
>
|
56
|
+
|
57
|
+
export type IpcTransportErrorType =
|
58
|
+
| CreateTransportErrorType
|
59
|
+
| UrlRequiredErrorType
|
60
|
+
| ErrorType
|
61
|
+
|
62
|
+
/**
|
63
|
+
* @description Creates an IPC transport that connects to a JSON-RPC API.
|
64
|
+
*/
|
65
|
+
export function ipc(
|
66
|
+
path: string,
|
67
|
+
config: IpcTransportConfig = {},
|
68
|
+
): IpcTransport {
|
69
|
+
const { key = 'ipc', name = 'IPC JSON-RPC', retryDelay } = config
|
70
|
+
return ({ retryCount: retryCount_, timeout: timeout_ }) => {
|
71
|
+
const retryCount = config.retryCount ?? retryCount_
|
72
|
+
const timeout = timeout_ ?? config.timeout ?? 10_000
|
73
|
+
return createTransport(
|
74
|
+
{
|
75
|
+
key,
|
76
|
+
name,
|
77
|
+
async request({ method, params }) {
|
78
|
+
const body = { method, params }
|
79
|
+
const rpcClient = await getIpcRpcClient(path)
|
80
|
+
const { error, result } = await rpcClient.requestAsync({
|
81
|
+
body,
|
82
|
+
timeout,
|
83
|
+
})
|
84
|
+
if (error)
|
85
|
+
throw new RpcRequestError({
|
86
|
+
body,
|
87
|
+
error,
|
88
|
+
url: path,
|
89
|
+
})
|
90
|
+
return result
|
91
|
+
},
|
92
|
+
retryCount,
|
93
|
+
retryDelay,
|
94
|
+
timeout,
|
95
|
+
type: 'ipc',
|
96
|
+
},
|
97
|
+
{
|
98
|
+
getRpcClient() {
|
99
|
+
return getIpcRpcClient(path)
|
100
|
+
},
|
101
|
+
async subscribe({ params, onData, onError }: any) {
|
102
|
+
const rpcClient = await getIpcRpcClient(path)
|
103
|
+
const { result: subscriptionId } = await new Promise<any>(
|
104
|
+
(resolve, reject) =>
|
105
|
+
rpcClient.request({
|
106
|
+
body: {
|
107
|
+
method: 'eth_subscribe',
|
108
|
+
params,
|
109
|
+
},
|
110
|
+
onResponse(response) {
|
111
|
+
if (response.error) {
|
112
|
+
reject(response.error)
|
113
|
+
onError?.(response.error)
|
114
|
+
return
|
115
|
+
}
|
116
|
+
|
117
|
+
if (typeof response.id === 'number') {
|
118
|
+
resolve(response)
|
119
|
+
return
|
120
|
+
}
|
121
|
+
if (response.method !== 'eth_subscription') return
|
122
|
+
onData(response.params)
|
123
|
+
},
|
124
|
+
}),
|
125
|
+
)
|
126
|
+
return {
|
127
|
+
subscriptionId,
|
128
|
+
async unsubscribe() {
|
129
|
+
return new Promise<any>((resolve) =>
|
130
|
+
rpcClient.request({
|
131
|
+
body: {
|
132
|
+
method: 'eth_unsubscribe',
|
133
|
+
params: [subscriptionId],
|
134
|
+
},
|
135
|
+
onResponse: resolve,
|
136
|
+
}),
|
137
|
+
)
|
138
|
+
},
|
139
|
+
}
|
140
|
+
},
|
141
|
+
},
|
142
|
+
)
|
143
|
+
}
|
144
|
+
}
|
@@ -5,7 +5,10 @@ import {
|
|
5
5
|
} from '../../errors/transport.js'
|
6
6
|
import type { ErrorType } from '../../errors/utils.js'
|
7
7
|
import type { Hash } from '../../types/misc.js'
|
8
|
-
import {
|
8
|
+
import type { RpcResponse } from '../../types/rpc.js'
|
9
|
+
import { getSocket } from '../../utils/rpc/compat.js'
|
10
|
+
import type { SocketRpcClient } from '../../utils/rpc/socket.js'
|
11
|
+
import { getWebSocketRpcClient } from '../../utils/rpc/webSocket.js'
|
9
12
|
import {
|
10
13
|
type CreateTransportErrorType,
|
11
14
|
type Transport,
|
@@ -51,7 +54,11 @@ export type WebSocketTransportConfig = {
|
|
51
54
|
export type WebSocketTransport = Transport<
|
52
55
|
'webSocket',
|
53
56
|
{
|
57
|
+
/**
|
58
|
+
* @deprecated use `getRpcClient` instead.
|
59
|
+
*/
|
54
60
|
getSocket(): Promise<WebSocket>
|
61
|
+
getRpcClient(): Promise<SocketRpcClient<WebSocket>>
|
55
62
|
subscribe: WebSocketTransportSubscribe['subscribe']
|
56
63
|
}
|
57
64
|
>
|
@@ -81,8 +88,8 @@ export function webSocket(
|
|
81
88
|
name,
|
82
89
|
async request({ method, params }) {
|
83
90
|
const body = { method, params }
|
84
|
-
const
|
85
|
-
const { error, result } = await
|
91
|
+
const rpcClient = await getWebSocketRpcClient(url_)
|
92
|
+
const { error, result } = await rpcClient.requestAsync({
|
86
93
|
body,
|
87
94
|
timeout,
|
88
95
|
})
|
@@ -103,11 +110,14 @@ export function webSocket(
|
|
103
110
|
getSocket() {
|
104
111
|
return getSocket(url_)
|
105
112
|
},
|
113
|
+
getRpcClient() {
|
114
|
+
return getWebSocketRpcClient(url_)
|
115
|
+
},
|
106
116
|
async subscribe({ params, onData, onError }: any) {
|
107
|
-
const
|
117
|
+
const rpcClient = await getWebSocketRpcClient(url_)
|
108
118
|
const { result: subscriptionId } = await new Promise<any>(
|
109
119
|
(resolve, reject) =>
|
110
|
-
|
120
|
+
rpcClient.request({
|
111
121
|
body: {
|
112
122
|
method: 'eth_subscribe',
|
113
123
|
params,
|
@@ -132,7 +142,7 @@ export function webSocket(
|
|
132
142
|
subscriptionId,
|
133
143
|
async unsubscribe() {
|
134
144
|
return new Promise<any>((resolve) =>
|
135
|
-
|
145
|
+
rpcClient.request({
|
136
146
|
body: {
|
137
147
|
method: 'eth_unsubscribe',
|
138
148
|
params: [subscriptionId],
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '2.
|
1
|
+
export const version = '2.5.0'
|