ox 0.5.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.
Files changed (50) hide show
  1. package/BlockOverrides/package.json +6 -0
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +1 -0
  4. package/StateOverrides/package.json +6 -0
  5. package/_cjs/core/BlockOverrides.js +63 -0
  6. package/_cjs/core/BlockOverrides.js.map +1 -0
  7. package/_cjs/core/Provider.js +59 -6
  8. package/_cjs/core/Provider.js.map +1 -1
  9. package/_cjs/core/RpcResponse.js +32 -31
  10. package/_cjs/core/RpcResponse.js.map +1 -1
  11. package/_cjs/core/StateOverrides.js +48 -0
  12. package/_cjs/core/StateOverrides.js.map +1 -0
  13. package/_cjs/index.js +4 -2
  14. package/_cjs/index.js.map +1 -1
  15. package/_cjs/version.js +1 -1
  16. package/_esm/core/BlockOverrides.js +117 -0
  17. package/_esm/core/BlockOverrides.js.map +1 -0
  18. package/_esm/core/Provider.js +75 -6
  19. package/_esm/core/Provider.js.map +1 -1
  20. package/_esm/core/RpcResponse.js +48 -31
  21. package/_esm/core/RpcResponse.js.map +1 -1
  22. package/_esm/core/StateOverrides.js +78 -0
  23. package/_esm/core/StateOverrides.js.map +1 -0
  24. package/_esm/index.js +12 -0
  25. package/_esm/index.js.map +1 -1
  26. package/_esm/version.js +1 -1
  27. package/_types/core/BlockOverrides.d.ts +89 -0
  28. package/_types/core/BlockOverrides.d.ts.map +1 -0
  29. package/_types/core/Provider.d.ts +28 -1
  30. package/_types/core/Provider.d.ts.map +1 -1
  31. package/_types/core/RpcResponse.d.ts +22 -1
  32. package/_types/core/RpcResponse.d.ts.map +1 -1
  33. package/_types/core/StateOverrides.d.ts +79 -0
  34. package/_types/core/StateOverrides.d.ts.map +1 -0
  35. package/_types/core/internal/rpcSchemas/eth.d.ts +34 -2
  36. package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -1
  37. package/_types/erc4337/RpcSchema.d.ts +2 -2
  38. package/_types/erc4337/RpcSchema.d.ts.map +1 -1
  39. package/_types/index.d.ts +12 -0
  40. package/_types/index.d.ts.map +1 -1
  41. package/_types/version.d.ts +1 -1
  42. package/core/BlockOverrides.ts +146 -0
  43. package/core/Provider.ts +99 -9
  44. package/core/RpcResponse.ts +137 -22
  45. package/core/StateOverrides.ts +131 -0
  46. package/core/internal/rpcSchemas/eth.ts +43 -4
  47. package/erc4337/RpcSchema.ts +2 -2
  48. package/index.ts +14 -0
  49. package/package.json +11 -1
  50. package/version.ts +1 -1
@@ -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
- const result = await provider.request(args);
189
- if (result &&
190
- typeof result === 'object' &&
191
- 'jsonrpc' in result)
192
- return RpcResponse.parse(result);
193
- return result;
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":"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"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../core/Provider.ts"],"names":[],"mappings":"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"}
@@ -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
- const { code } = response_.error;
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":"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"}
1
+ {"version":3,"file":"RpcResponse.js","sourceRoot":"","sources":["../../core/RpcResponse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import * as Hex from './Hex.js';
2
+ /**
3
+ * Converts an {@link ox#StateOverrides.Rpc} to an {@link ox#StateOverrides.StateOverrides}.
4
+ *
5
+ * @example
6
+ * ```ts twoslash
7
+ * import { StateOverrides } from 'ox'
8
+ *
9
+ * const stateOverrides = StateOverrides.fromRpc({
10
+ * '0x0000000000000000000000000000000000000000': {
11
+ * balance: '0x1',
12
+ * },
13
+ * })
14
+ * ```
15
+ *
16
+ * @param rpcStateOverrides - The RPC state overrides to convert.
17
+ * @returns An instantiated {@link ox#StateOverrides.StateOverrides}.
18
+ */
19
+ export function fromRpc(rpcStateOverrides) {
20
+ const stateOverrides = {};
21
+ for (const [address, accountOverridesRpc] of Object.entries(rpcStateOverrides)) {
22
+ const accountOverrides = {};
23
+ if (accountOverridesRpc.balance)
24
+ accountOverrides.balance = BigInt(accountOverridesRpc.balance);
25
+ if (accountOverridesRpc.code)
26
+ accountOverrides.code = accountOverridesRpc.code;
27
+ if (accountOverridesRpc.movePrecompileToAddress)
28
+ accountOverrides.movePrecompileToAddress =
29
+ accountOverridesRpc.movePrecompileToAddress;
30
+ if (accountOverridesRpc.nonce)
31
+ accountOverrides.nonce = BigInt(accountOverridesRpc.nonce);
32
+ if (accountOverridesRpc.state)
33
+ accountOverrides.state = accountOverridesRpc.state;
34
+ if (accountOverridesRpc.stateDiff)
35
+ accountOverrides.stateDiff = accountOverridesRpc.stateDiff;
36
+ stateOverrides[address] = accountOverrides;
37
+ }
38
+ return stateOverrides;
39
+ }
40
+ /**
41
+ * Converts an {@link ox#StateOverrides.StateOverrides} to an {@link ox#StateOverrides.Rpc}.
42
+ *
43
+ * @example
44
+ * ```ts twoslash
45
+ * import { StateOverrides } from 'ox'
46
+ *
47
+ * const stateOverrides = StateOverrides.toRpc({
48
+ * '0x0000000000000000000000000000000000000000': {
49
+ * balance: 1n,
50
+ * },
51
+ * })
52
+ * ```
53
+ *
54
+ * @param stateOverrides - The state overrides to convert.
55
+ * @returns An instantiated {@link ox#StateOverrides.Rpc}.
56
+ */
57
+ export function toRpc(stateOverrides) {
58
+ const rpcStateOverrides = {};
59
+ for (const [address, accountOverrides] of Object.entries(stateOverrides)) {
60
+ const accountOverridesRpc = {};
61
+ if (typeof accountOverrides.balance === 'bigint')
62
+ accountOverridesRpc.balance = Hex.fromNumber(accountOverrides.balance);
63
+ if (accountOverrides.code)
64
+ accountOverridesRpc.code = accountOverrides.code;
65
+ if (accountOverrides.movePrecompileToAddress)
66
+ accountOverridesRpc.movePrecompileToAddress =
67
+ accountOverrides.movePrecompileToAddress;
68
+ if (typeof accountOverrides.nonce === 'bigint')
69
+ accountOverridesRpc.nonce = Hex.fromNumber(accountOverrides.nonce);
70
+ if (accountOverrides.state)
71
+ accountOverridesRpc.state = accountOverrides.state;
72
+ if (accountOverrides.stateDiff)
73
+ accountOverridesRpc.stateDiff = accountOverrides.stateDiff;
74
+ rpcStateOverrides[address] = accountOverridesRpc;
75
+ }
76
+ return rpcStateOverrides;
77
+ }
78
+ //# sourceMappingURL=StateOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateOverrides.js","sourceRoot":"","sources":["../../core/StateOverrides.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAoD/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,iBAAsB;IAC5C,MAAM,cAAc,GAAmB,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,OAAO,CACzD,iBAAiB,CAClB,EAAE,CAAC;QACF,MAAM,gBAAgB,GAAqB,EAAE,CAAA;QAC7C,IAAI,mBAAmB,CAAC,OAAO;YAC7B,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,mBAAmB,CAAC,IAAI;YAC1B,gBAAgB,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;QAClD,IAAI,mBAAmB,CAAC,uBAAuB;YAC7C,gBAAgB,CAAC,uBAAuB;gBACtC,mBAAmB,CAAC,uBAAuB,CAAA;QAC/C,IAAI,mBAAmB,CAAC,KAAK;YAC3B,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC5D,IAAI,mBAAmB,CAAC,KAAK;YAC3B,gBAAgB,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;QACpD,IAAI,mBAAmB,CAAC,SAAS;YAC/B,gBAAgB,CAAC,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAC3D;QAAC,cAAsB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAA;IACtD,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,KAAK,CAAC,cAA8B;IAClD,MAAM,iBAAiB,GAAQ,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,MAAM,mBAAmB,GAAwB,EAAE,CAAA;QACnD,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ;YAC9C,mBAAmB,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxE,IAAI,gBAAgB,CAAC,IAAI;YAAE,mBAAmB,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAA;QAC3E,IAAI,gBAAgB,CAAC,uBAAuB;YAC1C,mBAAmB,CAAC,uBAAuB;gBACzC,gBAAgB,CAAC,uBAAuB,CAAA;QAC5C,IAAI,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ;YAC5C,mBAAmB,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,gBAAgB,CAAC,KAAK;YACxB,mBAAmB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAA;QACpD,IAAI,gBAAgB,CAAC,SAAS;YAC5B,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAC3D;QAAC,iBAAyB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAA;IAC5D,CAAC;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
package/_esm/index.js CHANGED
@@ -966,6 +966,12 @@ export * as Blobs from './core/Blobs.js';
966
966
  * @category Execution Spec
967
967
  */
968
968
  export * as Block from './core/Block.js';
969
+ /**
970
+ * Utilities & types for working with **Block Overrides**.
971
+ *
972
+ * @category Execution Spec
973
+ */
974
+ export * as BlockOverrides from './core/BlockOverrides.js';
969
975
  /**
970
976
  * Utility functions for working with Bloom Filters as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/block.yaml)
971
977
  *
@@ -2223,6 +2229,12 @@ export * as Signature from './core/Signature.js';
2223
2229
  */
2224
2230
  export * as Siwe from './core/Siwe.js';
2225
2231
  export * as Solidity from './core/Solidity.js';
2232
+ /**
2233
+ * Utilities & types for working with **State Overrides**.
2234
+ *
2235
+ * @category Execution Spec
2236
+ */
2237
+ export * as StateOverrides from './core/StateOverrides.js';
2226
2238
  /**
2227
2239
  * Utilities & types for working with **Transactions** as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml)
2228
2240
  *
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/_esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export const version = '0.5.0';
2
+ export const version = '0.6.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,89 @@
1
+ import type * as Address from './Address.js';
2
+ import * as Hex from './Hex.js';
3
+ import * as Withdrawal from './Withdrawal.js';
4
+ /**
5
+ * Block overrides.
6
+ */
7
+ export type BlockOverrides<bigintType = bigint, numberType = number> = {
8
+ /** Base fee per gas. */
9
+ baseFeePerGas?: bigintType | undefined;
10
+ /** Blob base fee. */
11
+ blobBaseFee?: bigintType | undefined;
12
+ /** Fee recipient (also known as coinbase). */
13
+ feeRecipient?: Address.Address | undefined;
14
+ /** Gas limit. */
15
+ gasLimit?: bigintType | undefined;
16
+ /** Block number. */
17
+ number?: bigintType | undefined;
18
+ /** The previous value of randomness beacon. */
19
+ prevRandao?: bigintType | undefined;
20
+ /** Block timestamp. */
21
+ time?: bigintType | undefined;
22
+ /** Withdrawals made by validators. */
23
+ withdrawals?: Withdrawal.Withdrawal<bigintType, numberType>[] | undefined;
24
+ };
25
+ /**
26
+ * RPC block overrides.
27
+ */
28
+ export type Rpc = BlockOverrides<Hex.Hex, Hex.Hex>;
29
+ /**
30
+ * Converts an {@link ox#BlockOverrides.Rpc} to an {@link ox#BlockOverrides.BlockOverrides}.
31
+ *
32
+ * @example
33
+ * ```ts twoslash
34
+ * import { BlockOverrides } from 'ox'
35
+ *
36
+ * const blockOverrides = BlockOverrides.fromRpc({
37
+ * baseFeePerGas: '0x1',
38
+ * blobBaseFee: '0x2',
39
+ * feeRecipient: '0x0000000000000000000000000000000000000000',
40
+ * gasLimit: '0x4',
41
+ * number: '0x5',
42
+ * prevRandao: '0x6',
43
+ * time: '0x1234567890',
44
+ * withdrawals: [
45
+ * {
46
+ * address: '0x0000000000000000000000000000000000000000',
47
+ * amount: '0x1',
48
+ * index: '0x0',
49
+ * validatorIndex: '0x1',
50
+ * },
51
+ * ],
52
+ * })
53
+ * ```
54
+ *
55
+ * @param rpcBlockOverrides - The RPC block overrides to convert.
56
+ * @returns An instantiated {@link ox#BlockOverrides.BlockOverrides}.
57
+ */
58
+ export declare function fromRpc(rpcBlockOverrides: Rpc): BlockOverrides;
59
+ /**
60
+ * Converts an {@link ox#BlockOverrides.BlockOverrides} to an {@link ox#BlockOverrides.Rpc}.
61
+ *
62
+ * @example
63
+ * ```ts twoslash
64
+ * import { BlockOverrides } from 'ox'
65
+ *
66
+ * const blockOverrides = BlockOverrides.toRpc({
67
+ * baseFeePerGas: 1n,
68
+ * blobBaseFee: 2n,
69
+ * feeRecipient: '0x0000000000000000000000000000000000000000',
70
+ * gasLimit: 4n,
71
+ * number: 5n,
72
+ * prevRandao: 6n,
73
+ * time: 78187493520n,
74
+ * withdrawals: [
75
+ * {
76
+ * address: '0x0000000000000000000000000000000000000000',
77
+ * amount: 1n,
78
+ * index: 0,
79
+ * validatorIndex: 1,
80
+ * },
81
+ * ],
82
+ * })
83
+ * ```
84
+ *
85
+ * @param blockOverrides - The block overrides to convert.
86
+ * @returns An instantiated {@link ox#BlockOverrides.Rpc}.
87
+ */
88
+ export declare function toRpc(blockOverrides: BlockOverrides): Rpc;
89
+ //# sourceMappingURL=BlockOverrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockOverrides.d.ts","sourceRoot":"","sources":["../../core/BlockOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI;IACrE,wBAAwB;IACxB,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACtC,qBAAqB;IACrB,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACpC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAC1C,iBAAiB;IACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACjC,oBAAoB;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC/B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACnC,uBAAuB;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;CAC1E,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,OAAO,CAAC,iBAAiB,EAAE,GAAG,GAAG,cAAc,CA2B9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,GAAG,CA2BzD"}
@@ -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":"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"}
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
  };