viem 0.3.0-main.20230412T014704 → 0.3.0-main.20230412T014743

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 (59) hide show
  1. package/dist/cjs/errors/base.js +27 -21
  2. package/dist/cjs/errors/base.js.map +1 -1
  3. package/dist/cjs/errors/index.js +27 -23
  4. package/dist/cjs/errors/index.js.map +1 -1
  5. package/dist/cjs/errors/request.js +50 -259
  6. package/dist/cjs/errors/request.js.map +1 -1
  7. package/dist/cjs/errors/rpc.js +271 -50
  8. package/dist/cjs/errors/rpc.js.map +1 -1
  9. package/dist/cjs/errors/version.js +1 -1
  10. package/dist/cjs/index.js +9 -5
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/utils/buildRequest.js +12 -2
  13. package/dist/cjs/utils/buildRequest.js.map +1 -1
  14. package/dist/cjs/utils/errors/getNodeError.js +28 -27
  15. package/dist/cjs/utils/errors/getNodeError.js.map +1 -1
  16. package/dist/cjs/utils/rpc.js +3 -3
  17. package/dist/cjs/utils/rpc.js.map +1 -1
  18. package/dist/esm/errors/base.js +27 -21
  19. package/dist/esm/errors/base.js.map +1 -1
  20. package/dist/esm/errors/index.js +4 -4
  21. package/dist/esm/errors/index.js.map +1 -1
  22. package/dist/esm/errors/request.js +45 -241
  23. package/dist/esm/errors/request.js.map +1 -1
  24. package/dist/esm/errors/rpc.js +249 -45
  25. package/dist/esm/errors/rpc.js.map +1 -1
  26. package/dist/esm/errors/version.js +1 -1
  27. package/dist/esm/index.js +1 -1
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/utils/buildRequest.js +12 -2
  30. package/dist/esm/utils/buildRequest.js.map +1 -1
  31. package/dist/esm/utils/errors/getNodeError.js +3 -2
  32. package/dist/esm/utils/errors/getNodeError.js.map +1 -1
  33. package/dist/esm/utils/rpc.js +4 -4
  34. package/dist/esm/utils/rpc.js.map +1 -1
  35. package/dist/types/errors/base.d.ts +1 -0
  36. package/dist/types/errors/base.d.ts.map +1 -1
  37. package/dist/types/errors/index.d.ts +4 -4
  38. package/dist/types/errors/index.d.ts.map +1 -1
  39. package/dist/types/errors/request.d.ts +42 -80
  40. package/dist/types/errors/request.d.ts.map +1 -1
  41. package/dist/types/errors/rpc.d.ts +189 -43
  42. package/dist/types/errors/rpc.d.ts.map +1 -1
  43. package/dist/types/errors/version.d.ts +1 -1
  44. package/dist/types/index.d.ts +1 -1
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/types/utils/buildRequest.d.ts.map +1 -1
  47. package/dist/types/utils/errors/getNodeError.d.ts +1 -1
  48. package/dist/types/utils/errors/getNodeError.d.ts.map +1 -1
  49. package/dist/types/utils/rpc.d.ts.map +1 -1
  50. package/package.json +1 -1
  51. package/src/errors/base.ts +6 -4
  52. package/src/errors/index.ts +15 -11
  53. package/src/errors/request.ts +82 -175
  54. package/src/errors/rpc.ts +355 -89
  55. package/src/errors/version.ts +1 -1
  56. package/src/index.ts +5 -1
  57. package/src/utils/buildRequest.ts +13 -2
  58. package/src/utils/errors/getNodeError.ts +2 -3
  59. package/src/utils/rpc.ts +6 -4
@@ -1,191 +1,98 @@
1
+ import { stringify } from '../utils/index.js'
1
2
  import { BaseError } from './base.js'
2
- import type { RpcError } from './rpc.js'
3
-
4
- export class RequestError extends BaseError {
5
- constructor(
6
- err: Error,
7
- {
8
- docsPath,
9
- metaMessages,
10
- shortMessage,
11
- }: { docsPath?: string; metaMessages?: string[]; shortMessage: string },
12
- ) {
13
- super(shortMessage, {
14
- cause: err,
15
- docsPath,
16
- metaMessages:
17
- metaMessages || (err as { metaMessages?: string[] })?.metaMessages,
18
- })
19
- this.name = err.name
20
- }
21
- }
22
-
23
- export class RpcRequestError extends RequestError {
24
- code: number
25
-
26
- constructor(
27
- err: RpcError,
28
- { docsPath, shortMessage }: { docsPath?: string; shortMessage: string },
29
- ) {
30
- super(err, { docsPath, shortMessage })
31
- this.code = err.code
32
- this.name = err.name
33
- }
34
- }
35
-
36
- export class ParseRpcError extends RpcRequestError {
37
- override name = 'ParseRpcError'
38
- override code = -32700
39
-
40
- constructor(err: RpcError) {
41
- super(err, {
42
- shortMessage:
43
- 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
44
- })
45
- }
46
- }
47
-
48
- export class InvalidRequestRpcError extends RpcRequestError {
49
- override name = 'InvalidRequestRpcError'
50
- override code = -32600
51
-
52
- constructor(err: RpcError) {
53
- super(err, { shortMessage: 'JSON is not a valid request object.' })
54
- }
55
- }
56
-
57
- export class MethodNotFoundRpcError extends RpcRequestError {
58
- override name = 'MethodNotFoundRpcError'
59
- override code = -32601
60
-
61
- constructor(err: RpcError) {
62
- super(err, {
63
- shortMessage: 'The method does not exist / is not available.',
3
+ import { getUrl } from './utils.js'
4
+
5
+ export class HttpRequestError extends BaseError {
6
+ override name = 'HttpRequestError'
7
+
8
+ body: { [key: string]: unknown }
9
+ headers?: Headers
10
+ status?: number
11
+ url: string
12
+
13
+ constructor({
14
+ body,
15
+ details,
16
+ headers,
17
+ status,
18
+ url,
19
+ }: {
20
+ body: { [key: string]: unknown }
21
+ details?: string
22
+ headers?: Headers
23
+ status?: number
24
+ url: string
25
+ }) {
26
+ super('HTTP request failed.', {
27
+ details,
28
+ metaMessages: [
29
+ status && `Status: ${status}`,
30
+ `URL: ${getUrl(url)}`,
31
+ `Request body: ${stringify(body)}`,
32
+ ].filter(Boolean) as string[],
64
33
  })
65
- }
66
- }
67
-
68
- export class InvalidParamsRpcError extends RpcRequestError {
69
- override name = 'InvalidParamsRpcError'
70
- override code = -32602
71
-
72
- constructor(err: RpcError) {
73
- super(err, {
74
- shortMessage: [
75
- 'Invalid parameters were provided to the RPC method.',
76
- 'Double check you have provided the correct parameters.',
77
- ].join('\n'),
34
+ this.body = body
35
+ this.headers = headers
36
+ this.status = status
37
+ this.url = url
38
+ }
39
+ }
40
+
41
+ export class WebSocketRequestError extends BaseError {
42
+ override name = 'WebSocketRequestError'
43
+
44
+ constructor({
45
+ body,
46
+ details,
47
+ url,
48
+ }: {
49
+ body: { [key: string]: unknown }
50
+ details: string
51
+ url: string
52
+ }) {
53
+ super('WebSocket request failed.', {
54
+ details,
55
+ metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
78
56
  })
79
57
  }
80
58
  }
81
59
 
82
- export class InternalRpcError extends RpcRequestError {
83
- override name = 'InternalRpcError'
84
- override code = -32603
85
-
86
- constructor(err: RpcError) {
87
- super(err, { shortMessage: 'An internal error was received.' })
88
- }
89
- }
90
-
91
- export class InvalidInputRpcError extends RpcRequestError {
92
- override name = 'InvalidInputRpcError'
93
- override code = -32000
94
-
95
- constructor(err: RpcError) {
96
- super(err, {
97
- shortMessage: [
98
- 'Missing or invalid parameters.',
99
- 'Double check you have provided the correct parameters.',
100
- ].join('\n'),
101
- })
102
- }
103
- }
60
+ export class RpcRequestError extends BaseError {
61
+ override name = 'RpcRequestError'
104
62
 
105
- export class ResourceNotFoundRpcError extends RpcRequestError {
106
- override name = 'ResourceNotFoundRpcError'
107
- override code = -32001
108
-
109
- constructor(err: RpcError) {
110
- super(err, { shortMessage: 'Requested resource not found.' })
111
- }
112
- }
113
-
114
- export class ResourceUnavailableRpcError extends RpcRequestError {
115
- override name = 'ResourceUnavailableRpcError'
116
- override code = -32002
117
-
118
- constructor(err: RpcError) {
119
- super(err, { shortMessage: 'Requested resource not available.' })
120
- }
121
- }
122
-
123
- export class TransactionRejectedRpcError extends RpcRequestError {
124
- override name = 'TransactionRejectedRpcError'
125
- override code = -32003
126
-
127
- constructor(err: RpcError) {
128
- super(err, { shortMessage: 'Transaction creation failed.' })
129
- }
130
- }
131
-
132
- export class MethodNotSupportedRpcError extends RpcRequestError {
133
- override name = 'MethodNotSupportedRpcError'
134
- override code = -32004
135
-
136
- constructor(err: RpcError) {
137
- super(err, { shortMessage: 'Method is not implemented.' })
138
- }
139
- }
140
-
141
- export class LimitExceededRpcError extends RpcRequestError {
142
- override name = 'LimitExceededRpcError'
143
- override code = -32005
144
-
145
- constructor(err: RpcError) {
146
- super(err, { shortMessage: 'Request exceeds defined limit.' })
147
- }
148
- }
149
-
150
- export class JsonRpcVersionUnsupportedError extends RpcRequestError {
151
- override name = 'JsonRpcVersionUnsupportedError'
152
- override code = -32006
153
-
154
- constructor(err: RpcError) {
155
- super(err, {
156
- shortMessage: 'Version of JSON-RPC protocol is not supported.',
157
- })
158
- }
159
- }
160
-
161
- export class UserRejectedRequestError extends RequestError {
162
- override name = 'UserRejectedRequestError'
163
- code = 4001
164
-
165
- constructor(err: Error) {
166
- super(err, {
167
- shortMessage: 'User rejected the request.',
168
- })
169
- }
170
- }
171
-
172
- export class SwitchChainError extends RequestError {
173
- override name = 'SwitchChainError'
174
- code = 4902
63
+ code: number
175
64
 
176
- constructor(err: Error) {
177
- super(err, {
178
- shortMessage: 'An error occurred when attempting to switch chain.',
65
+ constructor({
66
+ body,
67
+ error,
68
+ url,
69
+ }: {
70
+ body: { [key: string]: unknown }
71
+ error: { code: number; message: string }
72
+ url: string
73
+ }) {
74
+ super('RPC Request failed.', {
75
+ cause: error as any,
76
+ details: error.message,
77
+ metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
179
78
  })
79
+ this.code = error.code
180
80
  }
181
81
  }
182
82
 
183
- export class UnknownRpcError extends RequestError {
184
- override name = 'UnknownRpcError'
83
+ export class TimeoutError extends BaseError {
84
+ override name = 'TimeoutError'
185
85
 
186
- constructor(err: Error) {
187
- super(err, {
188
- shortMessage: 'An unknown RPC error occurred.',
86
+ constructor({
87
+ body,
88
+ url,
89
+ }: {
90
+ body: { [key: string]: unknown }
91
+ url: string
92
+ }) {
93
+ super('The request took too long to respond.', {
94
+ details: 'The request timed out.',
95
+ metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
189
96
  })
190
97
  }
191
98
  }