ox 0.6.0 → 0.6.1
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 +6 -0
- package/README.md +1 -0
- package/_cjs/core/Provider.js +59 -6
- package/_cjs/core/Provider.js.map +1 -1
- package/_cjs/core/RpcResponse.js +32 -31
- package/_cjs/core/RpcResponse.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/core/Provider.js +75 -6
- package/_esm/core/Provider.js.map +1 -1
- package/_esm/core/RpcResponse.js +48 -31
- package/_esm/core/RpcResponse.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/core/Provider.d.ts +28 -1
- package/_types/core/Provider.d.ts.map +1 -1
- package/_types/core/RpcResponse.d.ts +22 -1
- package/_types/core/RpcResponse.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/core/Provider.ts +99 -9
- package/core/RpcResponse.ts +137 -22
- package/package.json +1 -1
- package/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# ox
|
|
2
2
|
|
|
3
|
+
## 0.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`5d007ae`](https://github.com/wevm/ox/commit/5d007aebab4a7fe6acc8eb3cfecbce59fe79a00b) Thanks [@jxom](https://github.com/jxom)! - Added `RpcResponse.parseErrorObject` and `Provider.parseErrorObject`.
|
|
8
|
+
|
|
3
9
|
## 0.6.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/README.md
CHANGED
package/_cjs/core/Provider.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.IsUndefinedError = exports.ChainDisconnectedError = exports.DisconnectedError = exports.UnsupportedMethodError = exports.UnauthorizedError = exports.UserRejectedRequestError = exports.ProviderRpcError = void 0;
|
|
4
4
|
exports.createEmitter = createEmitter;
|
|
5
5
|
exports.from = from;
|
|
6
|
+
exports.parseErrorObject = parseErrorObject;
|
|
6
7
|
const eventemitter3_1 = require("eventemitter3");
|
|
7
8
|
const Errors = require("./Errors.js");
|
|
8
9
|
const RpcResponse = require("./RpcResponse.js");
|
|
@@ -35,6 +36,12 @@ exports.ProviderRpcError = ProviderRpcError;
|
|
|
35
36
|
class UserRejectedRequestError extends ProviderRpcError {
|
|
36
37
|
constructor({ message = 'The user rejected the request.', } = {}) {
|
|
37
38
|
super(4001, message);
|
|
39
|
+
Object.defineProperty(this, "code", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true,
|
|
43
|
+
value: 4001
|
|
44
|
+
});
|
|
38
45
|
Object.defineProperty(this, "name", {
|
|
39
46
|
enumerable: true,
|
|
40
47
|
configurable: true,
|
|
@@ -53,6 +60,12 @@ Object.defineProperty(UserRejectedRequestError, "code", {
|
|
|
53
60
|
class UnauthorizedError extends ProviderRpcError {
|
|
54
61
|
constructor({ message = 'The requested method and/or account has not been authorized by the user.', } = {}) {
|
|
55
62
|
super(4100, message);
|
|
63
|
+
Object.defineProperty(this, "code", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
configurable: true,
|
|
66
|
+
writable: true,
|
|
67
|
+
value: 4100
|
|
68
|
+
});
|
|
56
69
|
Object.defineProperty(this, "name", {
|
|
57
70
|
enumerable: true,
|
|
58
71
|
configurable: true,
|
|
@@ -71,6 +84,12 @@ Object.defineProperty(UnauthorizedError, "code", {
|
|
|
71
84
|
class UnsupportedMethodError extends ProviderRpcError {
|
|
72
85
|
constructor({ message = 'The provider does not support the requested method.', } = {}) {
|
|
73
86
|
super(4200, message);
|
|
87
|
+
Object.defineProperty(this, "code", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: 4200
|
|
92
|
+
});
|
|
74
93
|
Object.defineProperty(this, "name", {
|
|
75
94
|
enumerable: true,
|
|
76
95
|
configurable: true,
|
|
@@ -89,6 +108,12 @@ Object.defineProperty(UnsupportedMethodError, "code", {
|
|
|
89
108
|
class DisconnectedError extends ProviderRpcError {
|
|
90
109
|
constructor({ message = 'The provider is disconnected from all chains.', } = {}) {
|
|
91
110
|
super(4900, message);
|
|
111
|
+
Object.defineProperty(this, "code", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
configurable: true,
|
|
114
|
+
writable: true,
|
|
115
|
+
value: 4900
|
|
116
|
+
});
|
|
92
117
|
Object.defineProperty(this, "name", {
|
|
93
118
|
enumerable: true,
|
|
94
119
|
configurable: true,
|
|
@@ -107,6 +132,12 @@ Object.defineProperty(DisconnectedError, "code", {
|
|
|
107
132
|
class ChainDisconnectedError extends ProviderRpcError {
|
|
108
133
|
constructor({ message = 'The provider is not connected to the requested chain.', } = {}) {
|
|
109
134
|
super(4901, message);
|
|
135
|
+
Object.defineProperty(this, "code", {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
configurable: true,
|
|
138
|
+
writable: true,
|
|
139
|
+
value: 4901
|
|
140
|
+
});
|
|
110
141
|
Object.defineProperty(this, "name", {
|
|
111
142
|
enumerable: true,
|
|
112
143
|
configurable: true,
|
|
@@ -155,15 +186,37 @@ function from(provider, options = {}) {
|
|
|
155
186
|
}
|
|
156
187
|
: {}),
|
|
157
188
|
async request(args) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
189
|
+
try {
|
|
190
|
+
const result = await provider.request(args);
|
|
191
|
+
if (result &&
|
|
192
|
+
typeof result === 'object' &&
|
|
193
|
+
'jsonrpc' in result)
|
|
194
|
+
return RpcResponse.parse(result);
|
|
195
|
+
return result;
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
throw parseErrorObject(error);
|
|
199
|
+
}
|
|
164
200
|
},
|
|
165
201
|
};
|
|
166
202
|
}
|
|
203
|
+
function parseErrorObject(errorObject) {
|
|
204
|
+
const errorObject_ = errorObject;
|
|
205
|
+
const error = RpcResponse.parseErrorObject(errorObject_);
|
|
206
|
+
if (error instanceof RpcResponse.BaseError) {
|
|
207
|
+
if (error.code === DisconnectedError.code)
|
|
208
|
+
return new DisconnectedError(errorObject_);
|
|
209
|
+
if (error.code === ChainDisconnectedError.code)
|
|
210
|
+
return new ChainDisconnectedError(errorObject_);
|
|
211
|
+
if (error.code === UserRejectedRequestError.code)
|
|
212
|
+
return new UserRejectedRequestError(errorObject_);
|
|
213
|
+
if (error.code === UnauthorizedError.code)
|
|
214
|
+
return new UnauthorizedError(errorObject_);
|
|
215
|
+
if (error.code === UnsupportedMethodError.code)
|
|
216
|
+
return new UnsupportedMethodError(errorObject_);
|
|
217
|
+
}
|
|
218
|
+
return error;
|
|
219
|
+
}
|
|
167
220
|
class IsUndefinedError extends Errors.BaseError {
|
|
168
221
|
constructor() {
|
|
169
222
|
super('`provider` is undefined.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"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"}
|
package/_cjs/core/RpcResponse.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ParseError = exports.InternalError = exports.InvalidParamsError = exports.MethodNotFoundError = exports.InvalidRequestError = exports.VersionNotSupportedError = exports.LimitExceededError = exports.MethodNotSupportedError = exports.TransactionRejectedError = exports.ResourceUnavailableError = exports.ResourceNotFoundError = exports.InvalidInputError = exports.BaseError = void 0;
|
|
4
4
|
exports.from = from;
|
|
5
5
|
exports.parse = parse;
|
|
6
|
+
exports.parseErrorObject = parseErrorObject;
|
|
6
7
|
function from(response, options = {}) {
|
|
7
8
|
const { request } = options;
|
|
8
9
|
return {
|
|
@@ -16,39 +17,39 @@ function parse(response, options = {}) {
|
|
|
16
17
|
const response_ = response;
|
|
17
18
|
if (raw)
|
|
18
19
|
return response;
|
|
19
|
-
if (response_.error)
|
|
20
|
-
|
|
21
|
-
const JsonRpcError = (() => {
|
|
22
|
-
if (code === InternalError.code)
|
|
23
|
-
return InternalError;
|
|
24
|
-
if (code === InvalidInputError.code)
|
|
25
|
-
return InvalidInputError;
|
|
26
|
-
if (code === InvalidParamsError.code)
|
|
27
|
-
return InvalidParamsError;
|
|
28
|
-
if (code === InvalidRequestError.code)
|
|
29
|
-
return InvalidRequestError;
|
|
30
|
-
if (code === LimitExceededError.code)
|
|
31
|
-
return LimitExceededError;
|
|
32
|
-
if (code === MethodNotFoundError.code)
|
|
33
|
-
return MethodNotFoundError;
|
|
34
|
-
if (code === MethodNotSupportedError.code)
|
|
35
|
-
return MethodNotSupportedError;
|
|
36
|
-
if (code === ParseError.code)
|
|
37
|
-
return ParseError;
|
|
38
|
-
if (code === ResourceNotFoundError.code)
|
|
39
|
-
return ResourceNotFoundError;
|
|
40
|
-
if (code === ResourceUnavailableError.code)
|
|
41
|
-
return ResourceUnavailableError;
|
|
42
|
-
if (code === TransactionRejectedError.code)
|
|
43
|
-
return TransactionRejectedError;
|
|
44
|
-
if (code === VersionNotSupportedError.code)
|
|
45
|
-
return VersionNotSupportedError;
|
|
46
|
-
return BaseError;
|
|
47
|
-
})();
|
|
48
|
-
throw new JsonRpcError(response_.error);
|
|
49
|
-
}
|
|
20
|
+
if (response_.error)
|
|
21
|
+
throw parseErrorObject(response_.error);
|
|
50
22
|
return response_.result;
|
|
51
23
|
}
|
|
24
|
+
function parseErrorObject(errorObject) {
|
|
25
|
+
const errorObject_ = errorObject;
|
|
26
|
+
const { code } = errorObject_;
|
|
27
|
+
if (code === InternalError.code)
|
|
28
|
+
return new InternalError(errorObject_);
|
|
29
|
+
if (code === InvalidInputError.code)
|
|
30
|
+
return new InvalidInputError(errorObject_);
|
|
31
|
+
if (code === InvalidParamsError.code)
|
|
32
|
+
return new InvalidParamsError(errorObject_);
|
|
33
|
+
if (code === InvalidRequestError.code)
|
|
34
|
+
return new InvalidRequestError(errorObject_);
|
|
35
|
+
if (code === LimitExceededError.code)
|
|
36
|
+
return new LimitExceededError(errorObject_);
|
|
37
|
+
if (code === MethodNotFoundError.code)
|
|
38
|
+
return new MethodNotFoundError(errorObject_);
|
|
39
|
+
if (code === MethodNotSupportedError.code)
|
|
40
|
+
return new MethodNotSupportedError(errorObject_);
|
|
41
|
+
if (code === ParseError.code)
|
|
42
|
+
return new ParseError(errorObject_);
|
|
43
|
+
if (code === ResourceNotFoundError.code)
|
|
44
|
+
return new ResourceNotFoundError(errorObject_);
|
|
45
|
+
if (code === ResourceUnavailableError.code)
|
|
46
|
+
return new ResourceUnavailableError(errorObject_);
|
|
47
|
+
if (code === TransactionRejectedError.code)
|
|
48
|
+
return new TransactionRejectedError(errorObject_);
|
|
49
|
+
if (code === VersionNotSupportedError.code)
|
|
50
|
+
return new VersionNotSupportedError(errorObject_);
|
|
51
|
+
return new BaseError(errorObject_);
|
|
52
|
+
}
|
|
52
53
|
class BaseError extends Error {
|
|
53
54
|
constructor(errorObject) {
|
|
54
55
|
const { code, message, data } = errorObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcResponse.js","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RpcResponse.js","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"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"}
|
package/_cjs/version.js
CHANGED
package/_esm/core/Provider.js
CHANGED
|
@@ -30,6 +30,12 @@ export class ProviderRpcError extends Error {
|
|
|
30
30
|
export class UserRejectedRequestError extends ProviderRpcError {
|
|
31
31
|
constructor({ message = 'The user rejected the request.', } = {}) {
|
|
32
32
|
super(4001, message);
|
|
33
|
+
Object.defineProperty(this, "code", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
value: 4001
|
|
38
|
+
});
|
|
33
39
|
Object.defineProperty(this, "name", {
|
|
34
40
|
enumerable: true,
|
|
35
41
|
configurable: true,
|
|
@@ -48,6 +54,12 @@ Object.defineProperty(UserRejectedRequestError, "code", {
|
|
|
48
54
|
export class UnauthorizedError extends ProviderRpcError {
|
|
49
55
|
constructor({ message = 'The requested method and/or account has not been authorized by the user.', } = {}) {
|
|
50
56
|
super(4100, message);
|
|
57
|
+
Object.defineProperty(this, "code", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
writable: true,
|
|
61
|
+
value: 4100
|
|
62
|
+
});
|
|
51
63
|
Object.defineProperty(this, "name", {
|
|
52
64
|
enumerable: true,
|
|
53
65
|
configurable: true,
|
|
@@ -66,6 +78,12 @@ Object.defineProperty(UnauthorizedError, "code", {
|
|
|
66
78
|
export class UnsupportedMethodError extends ProviderRpcError {
|
|
67
79
|
constructor({ message = 'The provider does not support the requested method.', } = {}) {
|
|
68
80
|
super(4200, message);
|
|
81
|
+
Object.defineProperty(this, "code", {
|
|
82
|
+
enumerable: true,
|
|
83
|
+
configurable: true,
|
|
84
|
+
writable: true,
|
|
85
|
+
value: 4200
|
|
86
|
+
});
|
|
69
87
|
Object.defineProperty(this, "name", {
|
|
70
88
|
enumerable: true,
|
|
71
89
|
configurable: true,
|
|
@@ -84,6 +102,12 @@ Object.defineProperty(UnsupportedMethodError, "code", {
|
|
|
84
102
|
export class DisconnectedError extends ProviderRpcError {
|
|
85
103
|
constructor({ message = 'The provider is disconnected from all chains.', } = {}) {
|
|
86
104
|
super(4900, message);
|
|
105
|
+
Object.defineProperty(this, "code", {
|
|
106
|
+
enumerable: true,
|
|
107
|
+
configurable: true,
|
|
108
|
+
writable: true,
|
|
109
|
+
value: 4900
|
|
110
|
+
});
|
|
87
111
|
Object.defineProperty(this, "name", {
|
|
88
112
|
enumerable: true,
|
|
89
113
|
configurable: true,
|
|
@@ -102,6 +126,12 @@ Object.defineProperty(DisconnectedError, "code", {
|
|
|
102
126
|
export class ChainDisconnectedError extends ProviderRpcError {
|
|
103
127
|
constructor({ message = 'The provider is not connected to the requested chain.', } = {}) {
|
|
104
128
|
super(4901, message);
|
|
129
|
+
Object.defineProperty(this, "code", {
|
|
130
|
+
enumerable: true,
|
|
131
|
+
configurable: true,
|
|
132
|
+
writable: true,
|
|
133
|
+
value: 4901
|
|
134
|
+
});
|
|
105
135
|
Object.defineProperty(this, "name", {
|
|
106
136
|
enumerable: true,
|
|
107
137
|
configurable: true,
|
|
@@ -185,15 +215,54 @@ export function from(provider, options = {}) {
|
|
|
185
215
|
}
|
|
186
216
|
: {}),
|
|
187
217
|
async request(args) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
218
|
+
try {
|
|
219
|
+
const result = await provider.request(args);
|
|
220
|
+
if (result &&
|
|
221
|
+
typeof result === 'object' &&
|
|
222
|
+
'jsonrpc' in result)
|
|
223
|
+
return RpcResponse.parse(result);
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
throw parseErrorObject(error);
|
|
228
|
+
}
|
|
194
229
|
},
|
|
195
230
|
};
|
|
196
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Parses an error object into an error instance.
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```ts twoslash
|
|
237
|
+
* import { Provider } from 'ox'
|
|
238
|
+
*
|
|
239
|
+
* const error = Provider.parseErrorObject({ code: 4200, message: 'foo' })
|
|
240
|
+
*
|
|
241
|
+
* error
|
|
242
|
+
* // ^?
|
|
243
|
+
*
|
|
244
|
+
* ```
|
|
245
|
+
*
|
|
246
|
+
* @param errorObject - The error object to parse.
|
|
247
|
+
* @returns An error instance.
|
|
248
|
+
*/
|
|
249
|
+
export function parseErrorObject(errorObject) {
|
|
250
|
+
const errorObject_ = errorObject;
|
|
251
|
+
const error = RpcResponse.parseErrorObject(errorObject_);
|
|
252
|
+
if (error instanceof RpcResponse.BaseError) {
|
|
253
|
+
if (error.code === DisconnectedError.code)
|
|
254
|
+
return new DisconnectedError(errorObject_);
|
|
255
|
+
if (error.code === ChainDisconnectedError.code)
|
|
256
|
+
return new ChainDisconnectedError(errorObject_);
|
|
257
|
+
if (error.code === UserRejectedRequestError.code)
|
|
258
|
+
return new UserRejectedRequestError(errorObject_);
|
|
259
|
+
if (error.code === UnauthorizedError.code)
|
|
260
|
+
return new UnauthorizedError(errorObject_);
|
|
261
|
+
if (error.code === UnsupportedMethodError.code)
|
|
262
|
+
return new UnsupportedMethodError(errorObject_);
|
|
263
|
+
}
|
|
264
|
+
return error;
|
|
265
|
+
}
|
|
197
266
|
/** Thrown when the provider is undefined. */
|
|
198
267
|
export class IsUndefinedError extends Errors.BaseError {
|
|
199
268
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAmE/C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAMzC,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAA;QANP;;;;mBAAO,kBAAkB;WAAA;QAElC;;;;;WAAY;QACZ;;;;;WAAe;QAIb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAUD,qCAAqC;AACrC,MAAM,OAAO,wBAAyB,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"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"}
|
package/_esm/core/RpcResponse.js
CHANGED
|
@@ -103,39 +103,56 @@ export function parse(response, options = {}) {
|
|
|
103
103
|
const response_ = response;
|
|
104
104
|
if (raw)
|
|
105
105
|
return response;
|
|
106
|
-
if (response_.error)
|
|
107
|
-
|
|
108
|
-
const JsonRpcError = (() => {
|
|
109
|
-
if (code === InternalError.code)
|
|
110
|
-
return InternalError;
|
|
111
|
-
if (code === InvalidInputError.code)
|
|
112
|
-
return InvalidInputError;
|
|
113
|
-
if (code === InvalidParamsError.code)
|
|
114
|
-
return InvalidParamsError;
|
|
115
|
-
if (code === InvalidRequestError.code)
|
|
116
|
-
return InvalidRequestError;
|
|
117
|
-
if (code === LimitExceededError.code)
|
|
118
|
-
return LimitExceededError;
|
|
119
|
-
if (code === MethodNotFoundError.code)
|
|
120
|
-
return MethodNotFoundError;
|
|
121
|
-
if (code === MethodNotSupportedError.code)
|
|
122
|
-
return MethodNotSupportedError;
|
|
123
|
-
if (code === ParseError.code)
|
|
124
|
-
return ParseError;
|
|
125
|
-
if (code === ResourceNotFoundError.code)
|
|
126
|
-
return ResourceNotFoundError;
|
|
127
|
-
if (code === ResourceUnavailableError.code)
|
|
128
|
-
return ResourceUnavailableError;
|
|
129
|
-
if (code === TransactionRejectedError.code)
|
|
130
|
-
return TransactionRejectedError;
|
|
131
|
-
if (code === VersionNotSupportedError.code)
|
|
132
|
-
return VersionNotSupportedError;
|
|
133
|
-
return BaseError;
|
|
134
|
-
})();
|
|
135
|
-
throw new JsonRpcError(response_.error);
|
|
136
|
-
}
|
|
106
|
+
if (response_.error)
|
|
107
|
+
throw parseErrorObject(response_.error);
|
|
137
108
|
return response_.result;
|
|
138
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Parses a JSON-RPC error object into an error instance.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts twoslash
|
|
115
|
+
* import { RpcResponse } from 'ox'
|
|
116
|
+
*
|
|
117
|
+
* const error = RpcResponse.parseError({ code: -32000, message: 'unsupported method' })
|
|
118
|
+
*
|
|
119
|
+
* error
|
|
120
|
+
* // ^?
|
|
121
|
+
*
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @param errorObject - JSON-RPC error object.
|
|
125
|
+
* @returns Error instance.
|
|
126
|
+
*/
|
|
127
|
+
export function parseErrorObject(errorObject) {
|
|
128
|
+
const errorObject_ = errorObject;
|
|
129
|
+
const { code } = errorObject_;
|
|
130
|
+
if (code === InternalError.code)
|
|
131
|
+
return new InternalError(errorObject_);
|
|
132
|
+
if (code === InvalidInputError.code)
|
|
133
|
+
return new InvalidInputError(errorObject_);
|
|
134
|
+
if (code === InvalidParamsError.code)
|
|
135
|
+
return new InvalidParamsError(errorObject_);
|
|
136
|
+
if (code === InvalidRequestError.code)
|
|
137
|
+
return new InvalidRequestError(errorObject_);
|
|
138
|
+
if (code === LimitExceededError.code)
|
|
139
|
+
return new LimitExceededError(errorObject_);
|
|
140
|
+
if (code === MethodNotFoundError.code)
|
|
141
|
+
return new MethodNotFoundError(errorObject_);
|
|
142
|
+
if (code === MethodNotSupportedError.code)
|
|
143
|
+
return new MethodNotSupportedError(errorObject_);
|
|
144
|
+
if (code === ParseError.code)
|
|
145
|
+
return new ParseError(errorObject_);
|
|
146
|
+
if (code === ResourceNotFoundError.code)
|
|
147
|
+
return new ResourceNotFoundError(errorObject_);
|
|
148
|
+
if (code === ResourceUnavailableError.code)
|
|
149
|
+
return new ResourceUnavailableError(errorObject_);
|
|
150
|
+
if (code === TransactionRejectedError.code)
|
|
151
|
+
return new TransactionRejectedError(errorObject_);
|
|
152
|
+
if (code === VersionNotSupportedError.code)
|
|
153
|
+
return new VersionNotSupportedError(errorObject_);
|
|
154
|
+
return new BaseError(errorObject_);
|
|
155
|
+
}
|
|
139
156
|
/** Thrown when a JSON-RPC error has occurred. */
|
|
140
157
|
export class BaseError extends Error {
|
|
141
158
|
constructor(errorObject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcResponse.js","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RpcResponse.js","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"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"}
|
package/_esm/version.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { EventEmitter } from 'eventemitter3';
|
|
2
2
|
import type * as Address from './Address.js';
|
|
3
3
|
import * as Errors from './Errors.js';
|
|
4
|
+
import * as RpcResponse from './RpcResponse.js';
|
|
4
5
|
import type * as RpcSchema from './RpcSchema.js';
|
|
5
6
|
import type * as RpcSchema_internal from './internal/rpcSchema.js';
|
|
6
|
-
import type { Compute } from './internal/types.js';
|
|
7
|
+
import type { Compute, IsNarrowable, IsNever } from './internal/types.js';
|
|
7
8
|
/** Options for a {@link ox#Provider.Provider}. */
|
|
8
9
|
export type Options = {
|
|
9
10
|
/**
|
|
@@ -60,6 +61,7 @@ export type EventMap = {
|
|
|
60
61
|
/** The user rejected the request. */
|
|
61
62
|
export declare class UserRejectedRequestError extends ProviderRpcError {
|
|
62
63
|
static readonly code = 4001;
|
|
64
|
+
readonly code = 4001;
|
|
63
65
|
readonly name = "Provider.UserRejectedRequestError";
|
|
64
66
|
constructor({ message, }?: {
|
|
65
67
|
message?: string | undefined;
|
|
@@ -68,6 +70,7 @@ export declare class UserRejectedRequestError extends ProviderRpcError {
|
|
|
68
70
|
/** The requested method and/or account has not been authorized by the user. */
|
|
69
71
|
export declare class UnauthorizedError extends ProviderRpcError {
|
|
70
72
|
static readonly code = 4100;
|
|
73
|
+
readonly code = 4100;
|
|
71
74
|
readonly name = "Provider.UnauthorizedError";
|
|
72
75
|
constructor({ message, }?: {
|
|
73
76
|
message?: string | undefined;
|
|
@@ -76,6 +79,7 @@ export declare class UnauthorizedError extends ProviderRpcError {
|
|
|
76
79
|
/** The provider does not support the requested method. */
|
|
77
80
|
export declare class UnsupportedMethodError extends ProviderRpcError {
|
|
78
81
|
static readonly code = 4200;
|
|
82
|
+
readonly code = 4200;
|
|
79
83
|
readonly name = "Provider.UnsupportedMethodError";
|
|
80
84
|
constructor({ message, }?: {
|
|
81
85
|
message?: string | undefined;
|
|
@@ -84,6 +88,7 @@ export declare class UnsupportedMethodError extends ProviderRpcError {
|
|
|
84
88
|
/** The provider is disconnected from all chains. */
|
|
85
89
|
export declare class DisconnectedError extends ProviderRpcError {
|
|
86
90
|
static readonly code = 4900;
|
|
91
|
+
readonly code = 4900;
|
|
87
92
|
readonly name = "Provider.DisconnectedError";
|
|
88
93
|
constructor({ message, }?: {
|
|
89
94
|
message?: string | undefined;
|
|
@@ -92,6 +97,7 @@ export declare class DisconnectedError extends ProviderRpcError {
|
|
|
92
97
|
/** The provider is not connected to the requested chain. */
|
|
93
98
|
export declare class ChainDisconnectedError extends ProviderRpcError {
|
|
94
99
|
static readonly code = 4901;
|
|
100
|
+
readonly code = 4901;
|
|
95
101
|
readonly name = "Provider.ChainDisconnectedError";
|
|
96
102
|
constructor({ message, }?: {
|
|
97
103
|
message?: string | undefined;
|
|
@@ -297,6 +303,27 @@ export declare function from<const provider extends Provider | unknown, options
|
|
|
297
303
|
export declare namespace from {
|
|
298
304
|
type ErrorType = IsUndefinedError | Errors.GlobalErrorType;
|
|
299
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Parses an error object into an error instance.
|
|
308
|
+
*
|
|
309
|
+
* @example
|
|
310
|
+
* ```ts twoslash
|
|
311
|
+
* import { Provider } from 'ox'
|
|
312
|
+
*
|
|
313
|
+
* const error = Provider.parseErrorObject({ code: 4200, message: 'foo' })
|
|
314
|
+
*
|
|
315
|
+
* error
|
|
316
|
+
* // ^?
|
|
317
|
+
*
|
|
318
|
+
* ```
|
|
319
|
+
*
|
|
320
|
+
* @param errorObject - The error object to parse.
|
|
321
|
+
* @returns An error instance.
|
|
322
|
+
*/
|
|
323
|
+
export declare function parseErrorObject<const errorObject extends RpcResponse.ErrorObject | unknown>(errorObject: errorObject | RpcResponse.ErrorObject): parseErrorObject.ReturnType<errorObject>;
|
|
324
|
+
export declare namespace parseErrorObject {
|
|
325
|
+
type ReturnType<errorObject extends RpcResponse.ErrorObject | unknown, error = errorObject extends RpcResponse.ErrorObject ? (errorObject['code'] extends DisconnectedError['code'] ? DisconnectedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? DisconnectedError : never) | (errorObject['code'] extends ChainDisconnectedError['code'] ? ChainDisconnectedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? ChainDisconnectedError : never) | (errorObject['code'] extends UserRejectedRequestError['code'] ? UserRejectedRequestError : never) | (IsNarrowable<errorObject['code'], number> extends false ? UserRejectedRequestError : never) | (errorObject['code'] extends UnauthorizedError['code'] ? UnauthorizedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? UnauthorizedError : never) | (errorObject['code'] extends UnsupportedMethodError['code'] ? UnsupportedMethodError : never) | (IsNarrowable<errorObject['code'], number> extends false ? UnsupportedMethodError : never) : RpcResponse.parseErrorObject.ReturnType<RpcResponse.ErrorObject>> = IsNever<error> extends true ? RpcResponse.parseErrorObject.ReturnType<errorObject> : error;
|
|
326
|
+
}
|
|
300
327
|
/** Thrown when the provider is undefined. */
|
|
301
328
|
export declare class IsUndefinedError extends Errors.BaseError {
|
|
302
329
|
readonly name = "Provider.IsUndefinedError";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Errors, RpcRequest } from '../index.js';
|
|
2
|
-
import type { Compute, IsNarrowable, OneOf, UnionPartialBy } from './internal/types.js';
|
|
2
|
+
import type { Compute, IsNarrowable, IsNever, OneOf, UnionPartialBy } from './internal/types.js';
|
|
3
3
|
/** A JSON-RPC response object as per the [JSON-RPC 2.0 specification](https://www.jsonrpc.org/specification#request_object). */
|
|
4
4
|
export type RpcResponse<result = unknown, error extends ErrorObject = ErrorObject> = Compute<{
|
|
5
5
|
id: number;
|
|
@@ -178,6 +178,27 @@ export declare namespace parse {
|
|
|
178
178
|
type ReturnType<returnType, raw extends boolean = false> = Compute<raw extends true ? RpcResponse<returnType> : returnType>;
|
|
179
179
|
type ErrorType = ParseError | InvalidInputError | ResourceNotFoundError | ResourceUnavailableError | TransactionRejectedError | MethodNotSupportedError | LimitExceededError | VersionNotSupportedError | InvalidRequestError | MethodNotFoundError | InvalidParamsError | InternalError | BaseErrorType | Errors.GlobalErrorType;
|
|
180
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Parses a JSON-RPC error object into an error instance.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts twoslash
|
|
186
|
+
* import { RpcResponse } from 'ox'
|
|
187
|
+
*
|
|
188
|
+
* const error = RpcResponse.parseError({ code: -32000, message: 'unsupported method' })
|
|
189
|
+
*
|
|
190
|
+
* error
|
|
191
|
+
* // ^?
|
|
192
|
+
*
|
|
193
|
+
* ```
|
|
194
|
+
*
|
|
195
|
+
* @param errorObject - JSON-RPC error object.
|
|
196
|
+
* @returns Error instance.
|
|
197
|
+
*/
|
|
198
|
+
export declare function parseErrorObject<const errorObject extends ErrorObject | unknown>(errorObject: errorObject | ErrorObject): parseErrorObject.ReturnType<errorObject>;
|
|
199
|
+
export declare namespace parseErrorObject {
|
|
200
|
+
type ReturnType<errorObject extends ErrorObject | unknown, error = errorObject extends ErrorObject ? (errorObject['code'] extends InternalError['code'] ? InternalError : never) | (IsNarrowable<errorObject['code'], number> extends false ? InternalError : never) | (errorObject['code'] extends InvalidInputError['code'] ? InvalidInputError : never) | (IsNarrowable<errorObject['code'], number> extends false ? InvalidInputError : never) | (errorObject['code'] extends ResourceNotFoundError['code'] ? ResourceNotFoundError : never) | (IsNarrowable<errorObject['code'], number> extends false ? ResourceNotFoundError : never) | (errorObject['code'] extends ResourceUnavailableError['code'] ? ResourceUnavailableError : never) | (IsNarrowable<errorObject['code'], number> extends false ? ResourceUnavailableError : never) | (errorObject['code'] extends TransactionRejectedError['code'] ? TransactionRejectedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? TransactionRejectedError : never) | (errorObject['code'] extends ParseError['code'] ? ParseError : never) | (IsNarrowable<errorObject['code'], number> extends false ? ParseError : never) | (errorObject['code'] extends MethodNotSupportedError['code'] ? MethodNotSupportedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? MethodNotSupportedError : never) | (errorObject['code'] extends LimitExceededError['code'] ? LimitExceededError : never) | (IsNarrowable<errorObject['code'], number> extends false ? LimitExceededError : never) | (errorObject['code'] extends VersionNotSupportedError['code'] ? VersionNotSupportedError : never) | (IsNarrowable<errorObject['code'], number> extends false ? VersionNotSupportedError : never) | (errorObject['code'] extends InvalidRequestError['code'] ? InvalidRequestError : never) | (IsNarrowable<errorObject['code'], number> extends false ? InvalidRequestError : never) | (errorObject['code'] extends MethodNotFoundError['code'] ? MethodNotFoundError : never) | (IsNarrowable<errorObject['code'], number> extends false ? MethodNotFoundError : never) | (errorObject['code'] extends InvalidParamsError['code'] ? InvalidParamsError : never) | (IsNarrowable<errorObject['code'], number> extends false ? InvalidParamsError : never) | (IsNarrowable<errorObject['code'], number> extends false ? BaseError : never) : parseErrorObject.ReturnType<ErrorObject>> = IsNever<error> extends true ? BaseError : error;
|
|
201
|
+
}
|
|
181
202
|
export type BaseErrorType = BaseError & {
|
|
182
203
|
name: 'BaseError';
|
|
183
204
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcResponse.d.ts","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,KAAK,EACL,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,gIAAgI;AAChI,MAAM,MAAM,WAAW,CACrB,MAAM,GAAG,OAAO,EAChB,KAAK,SAAS,WAAW,GAAG,WAAW,IACrC,OAAO,CACT;IACE,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,KAAK,CAAA;CACf,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CACjD,CAAA;AAED,yHAAyH;AACzH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,IAAI,CAClB,OAAO,SAAS,UAAU,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC7D,KAAK,CAAC,QAAQ,GACV,CAAC,OAAO,SAAS,UAAU,CAAC,UAAU,GAClC,OAAO,CAAC,aAAa,CAAC,GACtB,WAAW,CAAC,GAChB,OAAO,EAEX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC1C,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAWrC,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,QAAQ,CACX,OAAO,SAAS,UAAU,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC7D,QAAQ,GAAG,OAAO,IAChB,QAAQ,GACV,CAAC,OAAO,SAAS,UAAU,CAAC,UAAU,GAClC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GACrE,WAAW,CAAC,CAAA;IAElB,KAAK,OAAO,CACV,OAAO,SAAS,UAAU,CAAC,UAAU,GAAG,SAAS,GAC7C,UAAU,CAAC,UAAU,GACrB,SAAS,IACX;QACF,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,UAAU,GAAG,SAAS,CAAA;KACtD,CAAA;IAED,KAAK,UAAU,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,IAAI,GACxE,WAAW,GACX,QAAQ,GAAG,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;CACxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,QAAQ,SAAS,WAAW,GAAG,OAAO,EAC5C,UAAU,EACV,GAAG,SAAS,OAAO,GAAG,KAAK,EAE3B,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAM,GAC3C,KAAK,CAAC,UAAU,CACjB,OAAO,SAAS,QAAQ,GACpB,UAAU,GACV,QAAQ,SAAS,WAAW,GAC1B,QAAQ,SAAS;IAAE,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,GACvC,MAAM,GACN,KAAK,GACP,UAAU,EAChB,GAAG,CACJ,
|
|
1
|
+
{"version":3,"file":"RpcResponse.d.ts","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"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"}
|
package/_types/version.d.ts
CHANGED
package/core/Provider.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as Errors from './Errors.js'
|
|
|
4
4
|
import * as RpcResponse from './RpcResponse.js'
|
|
5
5
|
import type * as RpcSchema from './RpcSchema.js'
|
|
6
6
|
import type * as RpcSchema_internal from './internal/rpcSchema.js'
|
|
7
|
-
import type { Compute } from './internal/types.js'
|
|
7
|
+
import type { Compute, IsNarrowable, IsNever } from './internal/types.js'
|
|
8
8
|
|
|
9
9
|
/** Options for a {@link ox#Provider.Provider}. */
|
|
10
10
|
export type Options = {
|
|
@@ -92,6 +92,7 @@ export type EventMap = {
|
|
|
92
92
|
/** The user rejected the request. */
|
|
93
93
|
export class UserRejectedRequestError extends ProviderRpcError {
|
|
94
94
|
static readonly code = 4001
|
|
95
|
+
override readonly code = 4001
|
|
95
96
|
override readonly name = 'Provider.UserRejectedRequestError'
|
|
96
97
|
|
|
97
98
|
constructor({
|
|
@@ -104,6 +105,7 @@ export class UserRejectedRequestError extends ProviderRpcError {
|
|
|
104
105
|
/** The requested method and/or account has not been authorized by the user. */
|
|
105
106
|
export class UnauthorizedError extends ProviderRpcError {
|
|
106
107
|
static readonly code = 4100
|
|
108
|
+
override readonly code = 4100
|
|
107
109
|
override readonly name = 'Provider.UnauthorizedError'
|
|
108
110
|
|
|
109
111
|
constructor({
|
|
@@ -116,6 +118,7 @@ export class UnauthorizedError extends ProviderRpcError {
|
|
|
116
118
|
/** The provider does not support the requested method. */
|
|
117
119
|
export class UnsupportedMethodError extends ProviderRpcError {
|
|
118
120
|
static readonly code = 4200
|
|
121
|
+
override readonly code = 4200
|
|
119
122
|
override readonly name = 'Provider.UnsupportedMethodError'
|
|
120
123
|
|
|
121
124
|
constructor({
|
|
@@ -128,6 +131,7 @@ export class UnsupportedMethodError extends ProviderRpcError {
|
|
|
128
131
|
/** The provider is disconnected from all chains. */
|
|
129
132
|
export class DisconnectedError extends ProviderRpcError {
|
|
130
133
|
static readonly code = 4900
|
|
134
|
+
override readonly code = 4900
|
|
131
135
|
override readonly name = 'Provider.DisconnectedError'
|
|
132
136
|
|
|
133
137
|
constructor({
|
|
@@ -140,6 +144,7 @@ export class DisconnectedError extends ProviderRpcError {
|
|
|
140
144
|
/** The provider is not connected to the requested chain. */
|
|
141
145
|
export class ChainDisconnectedError extends ProviderRpcError {
|
|
142
146
|
static readonly code = 4901
|
|
147
|
+
override readonly code = 4901
|
|
143
148
|
override readonly name = 'Provider.ChainDisconnectedError'
|
|
144
149
|
|
|
145
150
|
constructor({
|
|
@@ -385,14 +390,18 @@ export function from(provider: any, options: Options = {}): Provider<Options> {
|
|
|
385
390
|
}
|
|
386
391
|
: {}),
|
|
387
392
|
async request(args) {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
393
|
+
try {
|
|
394
|
+
const result = await provider.request(args)
|
|
395
|
+
if (
|
|
396
|
+
result &&
|
|
397
|
+
typeof result === 'object' &&
|
|
398
|
+
'jsonrpc' in (result as { jsonrpc?: unknown })
|
|
399
|
+
)
|
|
400
|
+
return RpcResponse.parse(result) as never
|
|
401
|
+
return result
|
|
402
|
+
} catch (error) {
|
|
403
|
+
throw parseErrorObject(error)
|
|
404
|
+
}
|
|
396
405
|
},
|
|
397
406
|
}
|
|
398
407
|
}
|
|
@@ -401,6 +410,87 @@ export declare namespace from {
|
|
|
401
410
|
type ErrorType = IsUndefinedError | Errors.GlobalErrorType
|
|
402
411
|
}
|
|
403
412
|
|
|
413
|
+
/**
|
|
414
|
+
* Parses an error object into an error instance.
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```ts twoslash
|
|
418
|
+
* import { Provider } from 'ox'
|
|
419
|
+
*
|
|
420
|
+
* const error = Provider.parseErrorObject({ code: 4200, message: 'foo' })
|
|
421
|
+
*
|
|
422
|
+
* error
|
|
423
|
+
* // ^?
|
|
424
|
+
*
|
|
425
|
+
* ```
|
|
426
|
+
*
|
|
427
|
+
* @param errorObject - The error object to parse.
|
|
428
|
+
* @returns An error instance.
|
|
429
|
+
*/
|
|
430
|
+
export function parseErrorObject<
|
|
431
|
+
const errorObject extends RpcResponse.ErrorObject | unknown,
|
|
432
|
+
>(
|
|
433
|
+
errorObject: errorObject | RpcResponse.ErrorObject,
|
|
434
|
+
): parseErrorObject.ReturnType<errorObject> {
|
|
435
|
+
const errorObject_ = errorObject as RpcResponse.ErrorObject
|
|
436
|
+
const error = RpcResponse.parseErrorObject(errorObject_)
|
|
437
|
+
if (error instanceof RpcResponse.BaseError) {
|
|
438
|
+
if (error.code === DisconnectedError.code)
|
|
439
|
+
return new DisconnectedError(errorObject_) as never
|
|
440
|
+
if (error.code === ChainDisconnectedError.code)
|
|
441
|
+
return new ChainDisconnectedError(errorObject_) as never
|
|
442
|
+
if (error.code === UserRejectedRequestError.code)
|
|
443
|
+
return new UserRejectedRequestError(errorObject_) as never
|
|
444
|
+
if (error.code === UnauthorizedError.code)
|
|
445
|
+
return new UnauthorizedError(errorObject_) as never
|
|
446
|
+
if (error.code === UnsupportedMethodError.code)
|
|
447
|
+
return new UnsupportedMethodError(errorObject_) as never
|
|
448
|
+
}
|
|
449
|
+
return error as never
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export declare namespace parseErrorObject {
|
|
453
|
+
type ReturnType<
|
|
454
|
+
errorObject extends RpcResponse.ErrorObject | unknown,
|
|
455
|
+
//
|
|
456
|
+
error = errorObject extends RpcResponse.ErrorObject
|
|
457
|
+
?
|
|
458
|
+
| (errorObject['code'] extends DisconnectedError['code']
|
|
459
|
+
? DisconnectedError
|
|
460
|
+
: never)
|
|
461
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
462
|
+
? DisconnectedError
|
|
463
|
+
: never)
|
|
464
|
+
| (errorObject['code'] extends ChainDisconnectedError['code']
|
|
465
|
+
? ChainDisconnectedError
|
|
466
|
+
: never)
|
|
467
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
468
|
+
? ChainDisconnectedError
|
|
469
|
+
: never)
|
|
470
|
+
| (errorObject['code'] extends UserRejectedRequestError['code']
|
|
471
|
+
? UserRejectedRequestError
|
|
472
|
+
: never)
|
|
473
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
474
|
+
? UserRejectedRequestError
|
|
475
|
+
: never)
|
|
476
|
+
| (errorObject['code'] extends UnauthorizedError['code']
|
|
477
|
+
? UnauthorizedError
|
|
478
|
+
: never)
|
|
479
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
480
|
+
? UnauthorizedError
|
|
481
|
+
: never)
|
|
482
|
+
| (errorObject['code'] extends UnsupportedMethodError['code']
|
|
483
|
+
? UnsupportedMethodError
|
|
484
|
+
: never)
|
|
485
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
486
|
+
? UnsupportedMethodError
|
|
487
|
+
: never)
|
|
488
|
+
: RpcResponse.parseErrorObject.ReturnType<RpcResponse.ErrorObject>,
|
|
489
|
+
> = IsNever<error> extends true
|
|
490
|
+
? RpcResponse.parseErrorObject.ReturnType<errorObject>
|
|
491
|
+
: error
|
|
492
|
+
}
|
|
493
|
+
|
|
404
494
|
/** Thrown when the provider is undefined. */
|
|
405
495
|
export class IsUndefinedError extends Errors.BaseError {
|
|
406
496
|
override readonly name = 'Provider.IsUndefinedError'
|
package/core/RpcResponse.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Errors, RpcRequest } from '../index.js'
|
|
|
2
2
|
import type {
|
|
3
3
|
Compute,
|
|
4
4
|
IsNarrowable,
|
|
5
|
+
IsNever,
|
|
5
6
|
OneOf,
|
|
6
7
|
UnionPartialBy,
|
|
7
8
|
} from './internal/types.js'
|
|
@@ -215,28 +216,7 @@ export function parse<
|
|
|
215
216
|
const { raw = false } = options
|
|
216
217
|
const response_ = response as RpcResponse
|
|
217
218
|
if (raw) return response as never
|
|
218
|
-
if (response_.error)
|
|
219
|
-
const { code } = response_.error
|
|
220
|
-
const JsonRpcError = (() => {
|
|
221
|
-
if (code === InternalError.code) return InternalError
|
|
222
|
-
if (code === InvalidInputError.code) return InvalidInputError
|
|
223
|
-
if (code === InvalidParamsError.code) return InvalidParamsError
|
|
224
|
-
if (code === InvalidRequestError.code) return InvalidRequestError
|
|
225
|
-
if (code === LimitExceededError.code) return LimitExceededError
|
|
226
|
-
if (code === MethodNotFoundError.code) return MethodNotFoundError
|
|
227
|
-
if (code === MethodNotSupportedError.code) return MethodNotSupportedError
|
|
228
|
-
if (code === ParseError.code) return ParseError
|
|
229
|
-
if (code === ResourceNotFoundError.code) return ResourceNotFoundError
|
|
230
|
-
if (code === ResourceUnavailableError.code)
|
|
231
|
-
return ResourceUnavailableError
|
|
232
|
-
if (code === TransactionRejectedError.code)
|
|
233
|
-
return TransactionRejectedError
|
|
234
|
-
if (code === VersionNotSupportedError.code)
|
|
235
|
-
return VersionNotSupportedError
|
|
236
|
-
return BaseError
|
|
237
|
-
})()
|
|
238
|
-
throw new JsonRpcError(response_.error)
|
|
239
|
-
}
|
|
219
|
+
if (response_.error) throw parseErrorObject(response_.error)
|
|
240
220
|
return response_.result as never
|
|
241
221
|
}
|
|
242
222
|
|
|
@@ -283,6 +263,141 @@ export declare namespace parse {
|
|
|
283
263
|
| Errors.GlobalErrorType
|
|
284
264
|
}
|
|
285
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Parses a JSON-RPC error object into an error instance.
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```ts twoslash
|
|
271
|
+
* import { RpcResponse } from 'ox'
|
|
272
|
+
*
|
|
273
|
+
* const error = RpcResponse.parseError({ code: -32000, message: 'unsupported method' })
|
|
274
|
+
*
|
|
275
|
+
* error
|
|
276
|
+
* // ^?
|
|
277
|
+
*
|
|
278
|
+
* ```
|
|
279
|
+
*
|
|
280
|
+
* @param errorObject - JSON-RPC error object.
|
|
281
|
+
* @returns Error instance.
|
|
282
|
+
*/
|
|
283
|
+
export function parseErrorObject<
|
|
284
|
+
const errorObject extends ErrorObject | unknown,
|
|
285
|
+
>(
|
|
286
|
+
errorObject: errorObject | ErrorObject,
|
|
287
|
+
): parseErrorObject.ReturnType<errorObject> {
|
|
288
|
+
const errorObject_ = errorObject as ErrorObject
|
|
289
|
+
const { code } = errorObject_
|
|
290
|
+
if (code === InternalError.code)
|
|
291
|
+
return new InternalError(errorObject_) as never
|
|
292
|
+
if (code === InvalidInputError.code)
|
|
293
|
+
return new InvalidInputError(errorObject_) as never
|
|
294
|
+
if (code === InvalidParamsError.code)
|
|
295
|
+
return new InvalidParamsError(errorObject_) as never
|
|
296
|
+
if (code === InvalidRequestError.code)
|
|
297
|
+
return new InvalidRequestError(errorObject_) as never
|
|
298
|
+
if (code === LimitExceededError.code)
|
|
299
|
+
return new LimitExceededError(errorObject_) as never
|
|
300
|
+
if (code === MethodNotFoundError.code)
|
|
301
|
+
return new MethodNotFoundError(errorObject_) as never
|
|
302
|
+
if (code === MethodNotSupportedError.code)
|
|
303
|
+
return new MethodNotSupportedError(errorObject_) as never
|
|
304
|
+
if (code === ParseError.code) return new ParseError(errorObject_) as never
|
|
305
|
+
if (code === ResourceNotFoundError.code)
|
|
306
|
+
return new ResourceNotFoundError(errorObject_) as never
|
|
307
|
+
if (code === ResourceUnavailableError.code)
|
|
308
|
+
return new ResourceUnavailableError(errorObject_) as never
|
|
309
|
+
if (code === TransactionRejectedError.code)
|
|
310
|
+
return new TransactionRejectedError(errorObject_) as never
|
|
311
|
+
if (code === VersionNotSupportedError.code)
|
|
312
|
+
return new VersionNotSupportedError(errorObject_) as never
|
|
313
|
+
return new BaseError(errorObject_) as never
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export declare namespace parseErrorObject {
|
|
317
|
+
type ReturnType<
|
|
318
|
+
errorObject extends ErrorObject | unknown,
|
|
319
|
+
//
|
|
320
|
+
error = errorObject extends ErrorObject
|
|
321
|
+
?
|
|
322
|
+
| (errorObject['code'] extends InternalError['code']
|
|
323
|
+
? InternalError
|
|
324
|
+
: never)
|
|
325
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
326
|
+
? InternalError
|
|
327
|
+
: never)
|
|
328
|
+
| (errorObject['code'] extends InvalidInputError['code']
|
|
329
|
+
? InvalidInputError
|
|
330
|
+
: never)
|
|
331
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
332
|
+
? InvalidInputError
|
|
333
|
+
: never)
|
|
334
|
+
| (errorObject['code'] extends ResourceNotFoundError['code']
|
|
335
|
+
? ResourceNotFoundError
|
|
336
|
+
: never)
|
|
337
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
338
|
+
? ResourceNotFoundError
|
|
339
|
+
: never)
|
|
340
|
+
| (errorObject['code'] extends ResourceUnavailableError['code']
|
|
341
|
+
? ResourceUnavailableError
|
|
342
|
+
: never)
|
|
343
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
344
|
+
? ResourceUnavailableError
|
|
345
|
+
: never)
|
|
346
|
+
| (errorObject['code'] extends TransactionRejectedError['code']
|
|
347
|
+
? TransactionRejectedError
|
|
348
|
+
: never)
|
|
349
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
350
|
+
? TransactionRejectedError
|
|
351
|
+
: never)
|
|
352
|
+
| (errorObject['code'] extends ParseError['code']
|
|
353
|
+
? ParseError
|
|
354
|
+
: never)
|
|
355
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
356
|
+
? ParseError
|
|
357
|
+
: never)
|
|
358
|
+
| (errorObject['code'] extends MethodNotSupportedError['code']
|
|
359
|
+
? MethodNotSupportedError
|
|
360
|
+
: never)
|
|
361
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
362
|
+
? MethodNotSupportedError
|
|
363
|
+
: never)
|
|
364
|
+
| (errorObject['code'] extends LimitExceededError['code']
|
|
365
|
+
? LimitExceededError
|
|
366
|
+
: never)
|
|
367
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
368
|
+
? LimitExceededError
|
|
369
|
+
: never)
|
|
370
|
+
| (errorObject['code'] extends VersionNotSupportedError['code']
|
|
371
|
+
? VersionNotSupportedError
|
|
372
|
+
: never)
|
|
373
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
374
|
+
? VersionNotSupportedError
|
|
375
|
+
: never)
|
|
376
|
+
| (errorObject['code'] extends InvalidRequestError['code']
|
|
377
|
+
? InvalidRequestError
|
|
378
|
+
: never)
|
|
379
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
380
|
+
? InvalidRequestError
|
|
381
|
+
: never)
|
|
382
|
+
| (errorObject['code'] extends MethodNotFoundError['code']
|
|
383
|
+
? MethodNotFoundError
|
|
384
|
+
: never)
|
|
385
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
386
|
+
? MethodNotFoundError
|
|
387
|
+
: never)
|
|
388
|
+
| (errorObject['code'] extends InvalidParamsError['code']
|
|
389
|
+
? InvalidParamsError
|
|
390
|
+
: never)
|
|
391
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
392
|
+
? InvalidParamsError
|
|
393
|
+
: never)
|
|
394
|
+
| (IsNarrowable<errorObject['code'], number> extends false
|
|
395
|
+
? BaseError
|
|
396
|
+
: never)
|
|
397
|
+
: parseErrorObject.ReturnType<ErrorObject>,
|
|
398
|
+
> = IsNever<error> extends true ? BaseError : error
|
|
399
|
+
}
|
|
400
|
+
|
|
286
401
|
export type BaseErrorType = BaseError & { name: 'BaseError' }
|
|
287
402
|
|
|
288
403
|
/** Thrown when a JSON-RPC error has occurred. */
|
package/package.json
CHANGED
package/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** @internal */
|
|
2
|
-
export const version = '0.6.
|
|
2
|
+
export const version = '0.6.1'
|