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.
Files changed (111) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/chains/definitions/blastSepolia.js +26 -0
  3. package/_cjs/chains/definitions/blastSepolia.js.map +1 -0
  4. package/_cjs/chains/index.js +6 -4
  5. package/_cjs/chains/index.js.map +1 -1
  6. package/_cjs/clients/transports/http.js +8 -5
  7. package/_cjs/clients/transports/http.js.map +1 -1
  8. package/_cjs/clients/transports/ipc.js +77 -0
  9. package/_cjs/clients/transports/ipc.js.map +1 -0
  10. package/_cjs/clients/transports/webSocket.js +11 -7
  11. package/_cjs/clients/transports/webSocket.js.map +1 -1
  12. package/_cjs/errors/version.js +1 -1
  13. package/_cjs/node/index.js +8 -0
  14. package/_cjs/node/index.js.map +1 -0
  15. package/_cjs/utils/index.js +13 -6
  16. package/_cjs/utils/index.js.map +1 -1
  17. package/_cjs/utils/rpc/compat.js +35 -0
  18. package/_cjs/utils/rpc/compat.js.map +1 -0
  19. package/_cjs/utils/rpc/http.js +74 -0
  20. package/_cjs/utils/rpc/http.js.map +1 -0
  21. package/_cjs/utils/rpc/id.js +17 -0
  22. package/_cjs/utils/rpc/id.js.map +1 -0
  23. package/_cjs/utils/rpc/ipc.js +75 -0
  24. package/_cjs/utils/rpc/ipc.js.map +1 -0
  25. package/_cjs/utils/rpc/socket.js +85 -0
  26. package/_cjs/utils/rpc/socket.js.map +1 -0
  27. package/_cjs/utils/rpc/webSocket.js +50 -0
  28. package/_cjs/utils/rpc/webSocket.js.map +1 -0
  29. package/_esm/chains/definitions/blastSepolia.js +23 -0
  30. package/_esm/chains/definitions/blastSepolia.js.map +1 -0
  31. package/_esm/chains/index.js +1 -0
  32. package/_esm/chains/index.js.map +1 -1
  33. package/_esm/clients/transports/http.js +8 -5
  34. package/_esm/clients/transports/http.js.map +1 -1
  35. package/_esm/clients/transports/ipc.js +77 -0
  36. package/_esm/clients/transports/ipc.js.map +1 -0
  37. package/_esm/clients/transports/webSocket.js +10 -6
  38. package/_esm/clients/transports/webSocket.js.map +1 -1
  39. package/_esm/errors/version.js +1 -1
  40. package/_esm/node/index.js +3 -0
  41. package/_esm/node/index.js.map +1 -0
  42. package/_esm/utils/index.js +4 -1
  43. package/_esm/utils/index.js.map +1 -1
  44. package/_esm/utils/rpc/compat.js +86 -0
  45. package/_esm/utils/rpc/compat.js.map +1 -0
  46. package/_esm/utils/rpc/http.js +70 -0
  47. package/_esm/utils/rpc/http.js.map +1 -0
  48. package/_esm/utils/rpc/id.js +13 -0
  49. package/_esm/utils/rpc/id.js.map +1 -0
  50. package/_esm/utils/rpc/ipc.js +71 -0
  51. package/_esm/utils/rpc/ipc.js.map +1 -0
  52. package/_esm/utils/rpc/socket.js +90 -0
  53. package/_esm/utils/rpc/socket.js.map +1 -0
  54. package/_esm/utils/rpc/webSocket.js +48 -0
  55. package/_esm/utils/rpc/webSocket.js.map +1 -0
  56. package/_types/chains/definitions/blastSepolia.d.ts +34 -0
  57. package/_types/chains/definitions/blastSepolia.d.ts.map +1 -0
  58. package/_types/chains/index.d.ts +1 -0
  59. package/_types/chains/index.d.ts.map +1 -1
  60. package/_types/clients/transports/http.d.ts +2 -2
  61. package/_types/clients/transports/http.d.ts.map +1 -1
  62. package/_types/clients/transports/ipc.d.ts +46 -0
  63. package/_types/clients/transports/ipc.d.ts.map +1 -0
  64. package/_types/clients/transports/webSocket.d.ts +6 -1
  65. package/_types/clients/transports/webSocket.d.ts.map +1 -1
  66. package/_types/errors/version.d.ts +1 -1
  67. package/_types/node/index.d.ts +3 -0
  68. package/_types/node/index.d.ts.map +1 -0
  69. package/_types/types/rpc.d.ts +35 -0
  70. package/_types/types/rpc.d.ts.map +1 -1
  71. package/_types/utils/buildRequest.d.ts +2 -2
  72. package/_types/utils/buildRequest.d.ts.map +1 -1
  73. package/_types/utils/index.d.ts +4 -1
  74. package/_types/utils/index.d.ts.map +1 -1
  75. package/_types/utils/rpc/compat.d.ts +78 -0
  76. package/_types/utils/rpc/compat.d.ts.map +1 -0
  77. package/_types/utils/rpc/http.d.ts +20 -0
  78. package/_types/utils/rpc/http.d.ts.map +1 -0
  79. package/_types/utils/rpc/id.d.ts +11 -0
  80. package/_types/utils/rpc/id.d.ts.map +1 -0
  81. package/_types/utils/rpc/ipc.d.ts +8 -0
  82. package/_types/utils/rpc/ipc.d.ts.map +1 -0
  83. package/_types/utils/rpc/socket.d.ts +45 -0
  84. package/_types/utils/rpc/socket.d.ts.map +1 -0
  85. package/_types/utils/rpc/webSocket.d.ts +3 -0
  86. package/_types/utils/rpc/webSocket.d.ts.map +1 -0
  87. package/chains/definitions/blastSepolia.ts +23 -0
  88. package/chains/index.ts +1 -0
  89. package/clients/transports/http.ts +15 -6
  90. package/clients/transports/ipc.ts +144 -0
  91. package/clients/transports/webSocket.ts +16 -6
  92. package/errors/version.ts +1 -1
  93. package/node/index.ts +11 -0
  94. package/node/package.json +6 -0
  95. package/package.json +9 -1
  96. package/types/rpc.ts +44 -0
  97. package/utils/buildRequest.ts +2 -2
  98. package/utils/index.ts +19 -8
  99. package/utils/rpc/compat.ts +117 -0
  100. package/utils/rpc/http.ts +132 -0
  101. package/utils/rpc/id.ts +13 -0
  102. package/utils/rpc/ipc.ts +89 -0
  103. package/utils/rpc/socket.ts +162 -0
  104. package/utils/rpc/webSocket.ts +63 -0
  105. package/_cjs/utils/rpc.js +0 -154
  106. package/_cjs/utils/rpc.js.map +0 -1
  107. package/_esm/utils/rpc.js +0 -160
  108. package/_esm/utils/rpc.js.map +0 -1
  109. package/_types/utils/rpc.d.ts +0 -80
  110. package/_types/utils/rpc.d.ts.map +0 -1
  111. package/utils/rpc.ts +0 -318
@@ -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 { GetSocketErrorType } from './rpc.js';
8
- export type RequestErrorType = ChainDisconnectedErrorType | CreateBatchSchedulerErrorType | HttpRequestErrorType | InternalRpcErrorType | InvalidInputRpcErrorType | InvalidParamsRpcErrorType | InvalidRequestRpcErrorType | GetSocketErrorType | JsonRpcVersionUnsupportedErrorType | LimitExceededRpcErrorType | MethodNotFoundRpcErrorType | MethodNotSupportedRpcErrorType | ParseRpcErrorType | ProviderDisconnectedErrorType | ResourceNotFoundRpcErrorType | ResourceUnavailableRpcErrorType | RpcErrorType | RpcRequestErrorType | SwitchChainErrorType | TimeoutErrorType | TransactionRejectedRpcErrorType | UnauthorizedProviderErrorType | UnknownRpcErrorType | UnsupportedProviderMethodErrorType | UserRejectedRequestErrorType | WebSocketRequestErrorType | WithRetryErrorType | ErrorType;
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,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,oBAAoB,GACpB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,0BAA0B,GAC1B,kBAAkB,GAClB,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"}
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"}
@@ -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 GetSocketErrorType, type HttpErrorType, type HttpOptions, type HttpReturnType, type RpcRequest, type RpcResponse, type Socket, type WebSocketAsyncErrorType, type WebSocketAsyncOptions, type WebSocketAsyncReturnType, type WebSocketErrorType, type WebSocketOptions, type WebSocketReturnType, getSocket, rpc, } from './rpc.js';
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":"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"}
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,11 @@
1
+ export declare function createIdStore(): {
2
+ current: number;
3
+ take(): number;
4
+ reset(): void;
5
+ };
6
+ export declare const idCache: {
7
+ current: number;
8
+ take(): number;
9
+ reset(): void;
10
+ };
11
+ //# sourceMappingURL=id.d.ts.map
@@ -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,3 @@
1
+ import { type SocketRpcClient } from './socket.js';
2
+ export declare function getWebSocketRpcClient(url: string): Promise<SocketRpcClient<WebSocket>>;
3
+ //# sourceMappingURL=webSocket.d.ts.map
@@ -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 { type HttpOptions, type RpcRequest, rpc } from '../../utils/rpc.js'
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?: HttpOptions['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
- rpc.http(url_, {
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
- : [await rpc.http(url_, { body, fetchOptions, timeout })]
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 { type RpcResponse, getSocket, rpc } from '../../utils/rpc.js'
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 socket = await getSocket(url_)
85
- const { error, result } = await rpc.webSocketAsync(socket, {
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 socket = await getSocket(url_)
117
+ const rpcClient = await getWebSocketRpcClient(url_)
108
118
  const { result: subscriptionId } = await new Promise<any>(
109
119
  (resolve, reject) =>
110
- rpc.webSocket(socket, {
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
- rpc.webSocket(socket, {
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.4.0'
1
+ export const version = '2.5.0'