ox 0.14.13 → 0.14.15

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # ox
2
2
 
3
+ ## 0.14.15
4
+
5
+ ### Patch Changes
6
+
7
+ - [`d073091`](https://github.com/wevm/ox/commit/d0730912904d951d3609d7191c5d83fc2d00030d) Thanks [@jxom](https://github.com/jxom)! - Fixed `TransactionRequest.blobVersionedHashes` to include `| undefined` for `exactOptionalPropertyTypes` compatibility.
8
+
9
+ ## 0.14.14
10
+
11
+ ### Patch Changes
12
+
13
+ - [`14137f7`](https://github.com/wevm/ox/commit/14137f77136a1184f5fecbb6083e7a93495ab7f8) Thanks [@jxom](https://github.com/jxom)! - Added `RpcSchema.ToViem` and `RpcSchema.FromViem` type utilities for converting between Ox and Viem RPC schema formats. Added `tempo_simulateV1` RPC schema to `ox/tempo`.
14
+
3
15
  ## 0.14.13
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RpcSchemaTempo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcSchemaTempo.js","sourceRoot":"","sources":["../../tempo/RpcSchemaTempo.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TxEnvelopeTempo = exports.TransactionRequest = exports.TransactionReceipt = exports.Transaction = exports.TokenRole = exports.TokenId = exports.Tick = exports.TempoAddress = exports.SignatureEnvelope = exports.PoolId = exports.Period = exports.KeyAuthorization = exports.AuthorizationTempo = void 0;
3
+ exports.TxEnvelopeTempo = exports.TransactionRequest = exports.TransactionReceipt = exports.Transaction = exports.TokenRole = exports.TokenId = exports.Tick = exports.TempoAddress = exports.SignatureEnvelope = exports.RpcSchemaTempo = exports.PoolId = exports.Period = exports.KeyAuthorization = exports.AuthorizationTempo = void 0;
4
4
  exports.AuthorizationTempo = require("./AuthorizationTempo.js");
5
5
  exports.KeyAuthorization = require("./KeyAuthorization.js");
6
6
  exports.Period = require("./Period.js");
7
7
  exports.PoolId = require("./PoolId.js");
8
+ exports.RpcSchemaTempo = require("./RpcSchemaTempo.js");
8
9
  exports.SignatureEnvelope = require("./SignatureEnvelope.js");
9
10
  exports.TempoAddress = require("./TempoAddress.js");
10
11
  exports.Tick = require("./Tick.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":";;;AAoCA,gEAA6D;AAyC7D,4DAAyD;AA8BzD,wCAAqC;AAsBrC,wCAAqC;AAuBrC,8DAA2D;AAoB3D,oDAAiD;AAqBjD,oCAAiC;AAsBjC,0CAAuC;AAmBvC,8CAA2C;AAmD3C,kDAA+C;AAuB/C,gEAA6D;AAqB7D,gEAA6D;AA6B7D,0DAAuD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":";;;AAoCA,gEAA6D;AAyC7D,4DAAyD;AA8BzD,wCAAqC;AAsBrC,wCAAqC;AAoBrC,wDAAqD;AAuBrD,8DAA2D;AAoB3D,oDAAiD;AAqBjD,oCAAiC;AAsBjC,0CAAuC;AAmBvC,8CAA2C;AAmD3C,kDAA+C;AAuB/C,gEAA6D;AAqB7D,gEAA6D;AA6B7D,0DAAuD"}
package/_cjs/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.14.13';
4
+ exports.version = '0.14.15';
5
5
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RpcSchemaTempo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcSchemaTempo.js","sourceRoot":"","sources":["../../tempo/RpcSchemaTempo.ts"],"names":[],"mappings":""}
@@ -121,6 +121,25 @@ export * as Period from './Period.js';
121
121
  * @category Reference
122
122
  */
123
123
  export * as PoolId from './PoolId.js';
124
+ /**
125
+ * Union of all JSON-RPC Methods for the `tempo_` namespace.
126
+ *
127
+ * @example
128
+ * ```ts twoslash
129
+ * import { Provider, RpcSchema } from 'ox'
130
+ * import { RpcSchemaTempo } from 'ox/tempo'
131
+ *
132
+ * const schema = RpcSchema.from<
133
+ * | RpcSchema.Default
134
+ * | RpcSchemaTempo.Tempo
135
+ * >()
136
+ *
137
+ * const provider = Provider.from(window.ethereum!, { schema })
138
+ * ```
139
+ *
140
+ * @category Reference
141
+ */
142
+ export * as RpcSchemaTempo from './RpcSchemaTempo.js';
124
143
  /**
125
144
  * Signature envelope utilities for secp256k1, P256, WebAuthn, and keychain signatures.
126
145
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
package/_esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export const version = '0.14.13';
2
+ export const version = '0.14.15';
3
3
  //# sourceMappingURL=version.js.map
@@ -245,4 +245,68 @@ export type Default = ResolvedRegister['RpcSchema'];
245
245
  * ```
246
246
  */
247
247
  export type MethodNameGeneric<schema extends Generic = Generic> = schema['Request']['method'] | (string & {});
248
+ /**
249
+ * Converts an Ox {@link ox#RpcSchema.Generic} (union of `{ Request, ReturnType }`) to
250
+ * a [Viem-compatible RPC schema](https://viem.sh) (tuple of `{ Method, Parameters, ReturnType }`).
251
+ *
252
+ * @example
253
+ * ```ts twoslash
254
+ * import { RpcSchema } from 'ox'
255
+ *
256
+ * type ViemSchema = RpcSchema.ToViem<
257
+ * | {
258
+ * Request: { method: 'eth_blockNumber'; params?: undefined }
259
+ * ReturnType: `0x${string}`
260
+ * }
261
+ * | {
262
+ * Request: { method: 'eth_chainId'; params?: undefined }
263
+ * ReturnType: `0x${string}`
264
+ * }
265
+ * >
266
+ * // ^? [{ Method: 'eth_blockNumber'; Parameters?: undefined; ReturnType: `0x${string}` }, ...]
267
+ * ```
268
+ */
269
+ export type ToViem<schema extends Generic> = UnionToTuple<schema extends schema ? {
270
+ Method: schema['Request']['method'];
271
+ Parameters: schema['Request']['params'];
272
+ ReturnType: schema extends {
273
+ ReturnType: infer r;
274
+ } ? r : unknown;
275
+ } : never>;
276
+ /**
277
+ * Converts a [Viem-compatible RPC schema](https://viem.sh) (tuple of `{ Method, Parameters, ReturnType }`)
278
+ * to an Ox {@link ox#RpcSchema.Generic} (union of `{ Request, ReturnType }`).
279
+ *
280
+ * @example
281
+ * ```ts twoslash
282
+ * import { RpcSchema } from 'ox'
283
+ *
284
+ * type OxSchema = RpcSchema.FromViem<[
285
+ * { Method: 'eth_blockNumber'; Parameters?: undefined; ReturnType: `0x${string}` },
286
+ * { Method: 'eth_chainId'; Parameters?: undefined; ReturnType: `0x${string}` },
287
+ * ]>
288
+ * // ^? { Request: { method: 'eth_blockNumber'; params?: undefined }; ReturnType: `0x${string}` } | ...
289
+ * ```
290
+ */
291
+ export type FromViem<schema extends readonly ViemSchemaItem[]> = {
292
+ [k in keyof schema]: schema[k] extends ViemSchemaItem ? {
293
+ Request: {
294
+ method: schema[k]['Method'];
295
+ params: schema[k]['Parameters'];
296
+ };
297
+ ReturnType: schema[k]['ReturnType'];
298
+ } : never;
299
+ }[number];
300
+ /** @internal */
301
+ type ViemSchemaItem = {
302
+ Method: string;
303
+ Parameters?: unknown;
304
+ ReturnType?: unknown;
305
+ };
306
+ /** @internal */
307
+ type UnionToIntersection<union> = (union extends unknown ? (arg: () => union) => void : never) extends (arg: infer intersection) => void ? intersection : never;
308
+ /** @internal */
309
+ type UnionLast<union> = UnionToIntersection<union> extends () => infer last ? last : never;
310
+ /** @internal */
311
+ type UnionToTuple<union, last = UnionLast<union>> = [union] extends [never] ? [] : [...UnionToTuple<Exclude<union, last>>, last];
248
312
  //# sourceMappingURL=RpcSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcSchema.d.ts","sourceRoot":"","sources":["../../core/RpcSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcSchema.d.ts","sourceRoot":"","sources":["../../core/RpcSchema.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export type TransactionRequest<bigintType = bigint, numberType = number, type ex
11
11
  /** EIP-7702 Authorization List. */
12
12
  authorizationList?: Authorization.ListSigned<bigintType, numberType> | undefined;
13
13
  /** Versioned hashes of blobs to be included in the transaction. */
14
- blobVersionedHashes?: readonly Hex.Hex[];
14
+ blobVersionedHashes?: readonly Hex.Hex[] | undefined;
15
15
  /** Raw blob data. */
16
16
  blobs?: readonly Hex.Hex[] | undefined;
17
17
  /** EIP-155 Chain ID. */
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionRequest.d.ts","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,wPAAwP;AACxP,MAAM,MAAM,kBAAkB,CAC5B,UAAU,GAAG,MAAM,EACnB,UAAU,GAAG,MAAM,EACnB,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1B,OAAO,CAAC;IACV,4BAA4B;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAA;IAC9C,mCAAmC;IACnC,iBAAiB,CAAC,EACd,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,GAChD,SAAS,CAAA;IACb,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,CAAA;IACxC,qBAAqB;IACrB,KAAK,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IACtC,wBAAwB;IACxB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC1B,iFAAiF;IACjF,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC3B,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAClC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACjC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACzC,gFAAgF;IAChF,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACrC,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC7C,iDAAiD;IACjD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC9B,4BAA4B;IAC5B,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC,uBAAuB;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC/B,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAE9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,kBAAkB,CA8BxD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,SAAS,GACjB,aAAa,CAAC,WAAW,CAAC,SAAS,GACnC,GAAG,CAAC,QAAQ,CAAC,SAAS,GACtB,GAAG,CAAC,QAAQ,CAAC,SAAS,GACtB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAkDtD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAY,SAAS,GACjB,aAAa,CAAC,SAAS,CAAC,SAAS,GACjC,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,MAAM,CAAC,eAAe,CAAA;CAC3B"}
1
+ {"version":3,"file":"TransactionRequest.d.ts","sourceRoot":"","sources":["../../core/TransactionRequest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type * as Block from '../core/Block.js';
2
+ import type * as BlockOverrides from '../core/BlockOverrides.js';
3
+ import type * as Hex from '../core/Hex.js';
4
+ import type * as Log from '../core/Log.js';
5
+ import type * as RpcSchema from '../core/RpcSchema.js';
6
+ import type * as StateOverrides from '../core/StateOverrides.js';
7
+ import type * as TransactionRequest from './TransactionRequest.js';
8
+ /**
9
+ * Union of all JSON-RPC Methods for the `tempo_` namespace.
10
+ */
11
+ export type Tempo = RpcSchema.From<{
12
+ Request: {
13
+ method: 'tempo_simulateV1';
14
+ params: [
15
+ {
16
+ blockStateCalls: readonly {
17
+ blockOverrides?: BlockOverrides.Rpc | undefined;
18
+ calls?: readonly TransactionRequest.Rpc[] | undefined;
19
+ stateOverrides?: StateOverrides.Rpc | undefined;
20
+ }[];
21
+ returnFullTransactions?: boolean | undefined;
22
+ traceTransfers?: boolean | undefined;
23
+ validation?: boolean | undefined;
24
+ },
25
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Hash | Block.Identifier
26
+ ];
27
+ };
28
+ ReturnType: {
29
+ blocks: readonly (Block.Rpc & {
30
+ calls?: readonly {
31
+ error?: {
32
+ data?: Hex.Hex | undefined;
33
+ code: number;
34
+ message: string;
35
+ } | undefined;
36
+ logs?: readonly Log.Rpc[] | undefined;
37
+ gasUsed: Hex.Hex;
38
+ returnData: Hex.Hex;
39
+ status: Hex.Hex;
40
+ }[] | undefined;
41
+ })[];
42
+ tokenMetadata: {
43
+ [address: Hex.Hex]: {
44
+ name: string;
45
+ symbol: string;
46
+ currency: string;
47
+ };
48
+ };
49
+ };
50
+ }>;
51
+ //# sourceMappingURL=RpcSchemaTempo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcSchemaTempo.d.ts","sourceRoot":"","sources":["../../tempo/RpcSchemaTempo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,OAAO,EAAE;QACP,MAAM,EAAE,kBAAkB,CAAA;QAC1B,MAAM,EAAE;YACN;gBACE,eAAe,EAAE,SAAS;oBACxB,cAAc,CAAC,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAAA;oBAC/C,KAAK,CAAC,EAAE,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;oBACrD,cAAc,CAAC,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAAA;iBAChD,EAAE,CAAA;gBACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBAC5C,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBACpC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;aACjC;YACD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU;SACzE,CAAA;KACF,CAAA;IACD,UAAU,EAAE;QACV,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG;YAC5B,KAAK,CAAC,EACF,SAAS;gBACP,KAAK,CAAC,EACF;oBACE,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;oBAC1B,IAAI,EAAE,MAAM,CAAA;oBACZ,OAAO,EAAE,MAAM,CAAA;iBAChB,GACD,SAAS,CAAA;gBACb,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;gBACrC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAA;gBAChB,UAAU,EAAE,GAAG,CAAC,GAAG,CAAA;gBACnB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;aAChB,EAAE,GACH,SAAS,CAAA;SACd,CAAC,EAAE,CAAA;QACJ,aAAa,EAAE;YACb,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG;gBAClB,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;gBACd,QAAQ,EAAE,MAAM,CAAA;aACjB,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAC,CAAA"}
@@ -123,6 +123,25 @@ export * as Period from './Period.js';
123
123
  * @category Reference
124
124
  */
125
125
  export * as PoolId from './PoolId.js';
126
+ /**
127
+ * Union of all JSON-RPC Methods for the `tempo_` namespace.
128
+ *
129
+ * @example
130
+ * ```ts twoslash
131
+ * import { Provider, RpcSchema } from 'ox'
132
+ * import { RpcSchemaTempo } from 'ox/tempo'
133
+ *
134
+ * const schema = RpcSchema.from<
135
+ * | RpcSchema.Default
136
+ * | RpcSchemaTempo.Tempo
137
+ * >()
138
+ *
139
+ * const provider = Provider.from(window.ethereum!, { schema })
140
+ * ```
141
+ *
142
+ * @category Reference
143
+ */
144
+ export * as RpcSchemaTempo from './RpcSchemaTempo.js';
126
145
  /**
127
146
  * Signature envelope utilities for secp256k1, P256, WebAuthn, and keychain signatures.
128
147
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,YAAY,EAAE,CAAA;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,YAAY,EAAE,CAAA;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.14.13";
2
+ export declare const version = "0.14.15";
3
3
  //# sourceMappingURL=version.d.ts.map
package/core/RpcSchema.ts CHANGED
@@ -271,3 +271,88 @@ export type Default = ResolvedRegister['RpcSchema']
271
271
  export type MethodNameGeneric<schema extends Generic = Generic> =
272
272
  | schema['Request']['method']
273
273
  | (string & {})
274
+
275
+ /**
276
+ * Converts an Ox {@link ox#RpcSchema.Generic} (union of `{ Request, ReturnType }`) to
277
+ * a [Viem-compatible RPC schema](https://viem.sh) (tuple of `{ Method, Parameters, ReturnType }`).
278
+ *
279
+ * @example
280
+ * ```ts twoslash
281
+ * import { RpcSchema } from 'ox'
282
+ *
283
+ * type ViemSchema = RpcSchema.ToViem<
284
+ * | {
285
+ * Request: { method: 'eth_blockNumber'; params?: undefined }
286
+ * ReturnType: `0x${string}`
287
+ * }
288
+ * | {
289
+ * Request: { method: 'eth_chainId'; params?: undefined }
290
+ * ReturnType: `0x${string}`
291
+ * }
292
+ * >
293
+ * // ^? [{ Method: 'eth_blockNumber'; Parameters?: undefined; ReturnType: `0x${string}` }, ...]
294
+ * ```
295
+ */
296
+ export type ToViem<schema extends Generic> = UnionToTuple<
297
+ schema extends schema
298
+ ? {
299
+ Method: schema['Request']['method']
300
+ Parameters: schema['Request']['params']
301
+ ReturnType: schema extends { ReturnType: infer r } ? r : unknown
302
+ }
303
+ : never
304
+ >
305
+
306
+ /**
307
+ * Converts a [Viem-compatible RPC schema](https://viem.sh) (tuple of `{ Method, Parameters, ReturnType }`)
308
+ * to an Ox {@link ox#RpcSchema.Generic} (union of `{ Request, ReturnType }`).
309
+ *
310
+ * @example
311
+ * ```ts twoslash
312
+ * import { RpcSchema } from 'ox'
313
+ *
314
+ * type OxSchema = RpcSchema.FromViem<[
315
+ * { Method: 'eth_blockNumber'; Parameters?: undefined; ReturnType: `0x${string}` },
316
+ * { Method: 'eth_chainId'; Parameters?: undefined; ReturnType: `0x${string}` },
317
+ * ]>
318
+ * // ^? { Request: { method: 'eth_blockNumber'; params?: undefined }; ReturnType: `0x${string}` } | ...
319
+ * ```
320
+ */
321
+ export type FromViem<schema extends readonly ViemSchemaItem[]> = {
322
+ [k in keyof schema]: schema[k] extends ViemSchemaItem
323
+ ? {
324
+ Request: {
325
+ method: schema[k]['Method']
326
+ params: schema[k]['Parameters']
327
+ }
328
+ ReturnType: schema[k]['ReturnType']
329
+ }
330
+ : never
331
+ }[number]
332
+
333
+ /** @internal */
334
+ type ViemSchemaItem = {
335
+ Method: string
336
+ Parameters?: unknown
337
+ ReturnType?: unknown
338
+ }
339
+
340
+ // --- Union-to-tuple helpers (order is not guaranteed, but stable) ---
341
+ /** @internal */
342
+ type UnionToIntersection<union> = (
343
+ union extends unknown
344
+ ? (arg: () => union) => void
345
+ : never
346
+ ) extends (arg: infer intersection) => void
347
+ ? intersection
348
+ : never
349
+
350
+ /** @internal */
351
+ type UnionLast<union> = UnionToIntersection<union> extends () => infer last
352
+ ? last
353
+ : never
354
+
355
+ /** @internal */
356
+ type UnionToTuple<union, last = UnionLast<union>> = [union] extends [never]
357
+ ? []
358
+ : [...UnionToTuple<Exclude<union, last>>, last]
@@ -19,7 +19,7 @@ export type TransactionRequest<
19
19
  | Authorization.ListSigned<bigintType, numberType>
20
20
  | undefined
21
21
  /** Versioned hashes of blobs to be included in the transaction. */
22
- blobVersionedHashes?: readonly Hex.Hex[]
22
+ blobVersionedHashes?: readonly Hex.Hex[] | undefined
23
23
  /** Raw blob data. */
24
24
  blobs?: readonly Hex.Hex[] | undefined
25
25
  /** EIP-155 Chain ID. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ox",
3
3
  "description": "Ethereum Standard Library",
4
- "version": "0.14.13",
4
+ "version": "0.14.15",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -519,6 +519,11 @@
519
519
  "import": "./_esm/tempo/PoolId.js",
520
520
  "default": "./_cjs/tempo/PoolId.js"
521
521
  },
522
+ "./tempo/RpcSchemaTempo": {
523
+ "types": "./_types/tempo/RpcSchemaTempo.d.ts",
524
+ "import": "./_esm/tempo/RpcSchemaTempo.js",
525
+ "default": "./_cjs/tempo/RpcSchemaTempo.js"
526
+ },
522
527
  "./tempo/SignatureEnvelope": {
523
528
  "types": "./_types/tempo/SignatureEnvelope.d.ts",
524
529
  "import": "./_esm/tempo/SignatureEnvelope.js",
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../../_types/tempo/RpcSchemaTempo.d.ts",
4
+ "main": "../../_cjs/tempo/RpcSchemaTempo.js",
5
+ "module": "../../_esm/tempo/RpcSchemaTempo.js"
6
+ }
@@ -0,0 +1,55 @@
1
+ import type * as Block from '../core/Block.js'
2
+ import type * as BlockOverrides from '../core/BlockOverrides.js'
3
+ import type * as Hex from '../core/Hex.js'
4
+ import type * as Log from '../core/Log.js'
5
+ import type * as RpcSchema from '../core/RpcSchema.js'
6
+ import type * as StateOverrides from '../core/StateOverrides.js'
7
+ import type * as TransactionRequest from './TransactionRequest.js'
8
+
9
+ /**
10
+ * Union of all JSON-RPC Methods for the `tempo_` namespace.
11
+ */
12
+ export type Tempo = RpcSchema.From<{
13
+ Request: {
14
+ method: 'tempo_simulateV1'
15
+ params: [
16
+ {
17
+ blockStateCalls: readonly {
18
+ blockOverrides?: BlockOverrides.Rpc | undefined
19
+ calls?: readonly TransactionRequest.Rpc[] | undefined
20
+ stateOverrides?: StateOverrides.Rpc | undefined
21
+ }[]
22
+ returnFullTransactions?: boolean | undefined
23
+ traceTransfers?: boolean | undefined
24
+ validation?: boolean | undefined
25
+ },
26
+ block: Block.Number<Hex.Hex> | Block.Tag | Block.Hash | Block.Identifier,
27
+ ]
28
+ }
29
+ ReturnType: {
30
+ blocks: readonly (Block.Rpc & {
31
+ calls?:
32
+ | readonly {
33
+ error?:
34
+ | {
35
+ data?: Hex.Hex | undefined
36
+ code: number
37
+ message: string
38
+ }
39
+ | undefined
40
+ logs?: readonly Log.Rpc[] | undefined
41
+ gasUsed: Hex.Hex
42
+ returnData: Hex.Hex
43
+ status: Hex.Hex
44
+ }[]
45
+ | undefined
46
+ })[]
47
+ tokenMetadata: {
48
+ [address: Hex.Hex]: {
49
+ name: string
50
+ symbol: string
51
+ currency: string
52
+ }
53
+ }
54
+ }
55
+ }>
package/tempo/index.ts CHANGED
@@ -129,6 +129,26 @@ export * as Period from './Period.js'
129
129
  */
130
130
  export * as PoolId from './PoolId.js'
131
131
 
132
+ /**
133
+ * Union of all JSON-RPC Methods for the `tempo_` namespace.
134
+ *
135
+ * @example
136
+ * ```ts twoslash
137
+ * import { Provider, RpcSchema } from 'ox'
138
+ * import { RpcSchemaTempo } from 'ox/tempo'
139
+ *
140
+ * const schema = RpcSchema.from<
141
+ * | RpcSchema.Default
142
+ * | RpcSchemaTempo.Tempo
143
+ * >()
144
+ *
145
+ * const provider = Provider.from(window.ethereum!, { schema })
146
+ * ```
147
+ *
148
+ * @category Reference
149
+ */
150
+ export * as RpcSchemaTempo from './RpcSchemaTempo.js'
151
+
132
152
  /**
133
153
  * Signature envelope utilities for secp256k1, P256, WebAuthn, and keychain signatures.
134
154
  *
package/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** @internal */
2
- export const version = '0.14.13'
2
+ export const version = '0.14.15'