ox 1.8.8 → 1.8.10

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 (83) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/core/AbiEvent.d.ts.map +1 -1
  3. package/dist/core/AbiEvent.js +32 -10
  4. package/dist/core/AbiEvent.js.map +1 -1
  5. package/dist/core/Hex.d.ts +13 -1
  6. package/dist/core/Hex.d.ts.map +1 -1
  7. package/dist/core/Hex.js +5 -3
  8. package/dist/core/Hex.js.map +1 -1
  9. package/dist/core/RpcTransport.d.ts.map +1 -1
  10. package/dist/core/RpcTransport.js +21 -14
  11. package/dist/core/RpcTransport.js.map +1 -1
  12. package/dist/core/Signature.d.ts +1 -1
  13. package/dist/core/Signature.d.ts.map +1 -1
  14. package/dist/core/Signature.js +3 -2
  15. package/dist/core/Signature.js.map +1 -1
  16. package/dist/core/TypedData.js +1 -1
  17. package/dist/core/TypedData.js.map +1 -1
  18. package/dist/core/internal/abiItem.d.ts.map +1 -1
  19. package/dist/core/internal/abiItem.js +45 -19
  20. package/dist/core/internal/abiItem.js.map +1 -1
  21. package/dist/tempo/AccountConfig.d.ts +46 -3
  22. package/dist/tempo/AccountConfig.d.ts.map +1 -1
  23. package/dist/tempo/AccountConfig.js +58 -9
  24. package/dist/tempo/AccountConfig.js.map +1 -1
  25. package/dist/tempo/AccountSimulation.d.ts +6 -2
  26. package/dist/tempo/AccountSimulation.d.ts.map +1 -1
  27. package/dist/tempo/AccountSimulation.js +15 -5
  28. package/dist/tempo/AccountSimulation.js.map +1 -1
  29. package/dist/tempo/KeyAuthorization.d.ts +14 -9
  30. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  31. package/dist/tempo/KeyAuthorization.js +8 -12
  32. package/dist/tempo/KeyAuthorization.js.map +1 -1
  33. package/dist/tempo/TransactionRequest.d.ts +3 -3
  34. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  35. package/dist/tempo/TransactionRequest.js +10 -6
  36. package/dist/tempo/TransactionRequest.js.map +1 -1
  37. package/dist/zod/tempo/AccountSimulation.d.ts +4 -0
  38. package/dist/zod/tempo/AccountSimulation.d.ts.map +1 -1
  39. package/dist/zod/tempo/AccountSimulation.js +2 -0
  40. package/dist/zod/tempo/AccountSimulation.js.map +1 -1
  41. package/dist/zod/tempo/KeyAuthorization.d.ts +5 -5
  42. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
  43. package/dist/zod/tempo/KeyAuthorization.js +10 -13
  44. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  45. package/dist/zod/tempo/RpcSchemaTempo.d.ts +16 -8
  46. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  47. package/dist/zod/tempo/Transaction.d.ts +6 -6
  48. package/dist/zod/tempo/TransactionRequest.d.ts +23 -9
  49. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  50. package/dist/zod/tempo/TransactionRequest.js +13 -9
  51. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  52. package/package.json +1 -1
  53. package/src/core/AbiEvent.ts +61 -22
  54. package/src/core/Hex.ts +17 -3
  55. package/src/core/RpcTransport.ts +20 -16
  56. package/src/core/Signature.ts +5 -2
  57. package/src/core/TypedData.ts +1 -1
  58. package/src/core/_test/AbiEvent.test.ts +232 -1
  59. package/src/core/_test/AbiItem.test.ts +342 -0
  60. package/src/core/_test/Hex.test.ts +31 -0
  61. package/src/core/_test/RpcTransport.test.ts +48 -0
  62. package/src/core/_test/Signature.test.ts +42 -1
  63. package/src/core/_test/TypedData.test.ts +29 -0
  64. package/src/core/internal/abiItem.ts +59 -25
  65. package/src/tempo/AccountConfig.test-d.ts +10 -0
  66. package/src/tempo/AccountConfig.test.ts +143 -10
  67. package/src/tempo/AccountConfig.ts +80 -9
  68. package/src/tempo/AccountOperation.test.ts +32 -32
  69. package/src/tempo/AccountSimulation.test.ts +43 -0
  70. package/src/tempo/AccountSimulation.ts +19 -5
  71. package/src/tempo/KeyAuthorization.test.ts +91 -32
  72. package/src/tempo/KeyAuthorization.ts +16 -39
  73. package/src/tempo/RpcSchemaTempo.test-d.ts +2 -2
  74. package/src/tempo/TransactionRequest.test-d.ts +5 -5
  75. package/src/tempo/TransactionRequest.test.ts +11 -9
  76. package/src/tempo/TransactionRequest.ts +13 -9
  77. package/src/version.ts +1 -1
  78. package/src/zod/tempo/AccountSimulation.ts +2 -0
  79. package/src/zod/tempo/KeyAuthorization.ts +28 -46
  80. package/src/zod/tempo/TransactionRequest.ts +17 -9
  81. package/src/zod/tempo/_test/AccountOperation.test.ts +1 -1
  82. package/src/zod/tempo/_test/KeyAuthorization.test.ts +5 -5
  83. package/src/zod/tempo/_test/TransactionRequest.test.ts +12 -7
@@ -18,12 +18,12 @@ const KeyType = z.union([
18
18
  z.literal('webAuthn'),
19
19
  z.literal('configurable'),
20
20
  ]);
21
- // The node's wire format names the configurable account key type `multisig`.
21
+ // The node's wire format names the configurable account key type `configurableAccount`.
22
22
  const KeyTypeRpc = z.union([
23
23
  z.literal('secp256k1'),
24
24
  z.literal('p256'),
25
25
  z.literal('webAuthn'),
26
- z.literal('multisig'),
26
+ z.literal('configurableAccount'),
27
27
  ]);
28
28
  const SignatureRpc = z.object({
29
29
  r: z_Hex.Hex,
@@ -78,7 +78,7 @@ export const Rpc = z.object({
78
78
  maxFeePerGas: z.optional(z_Hex.Hex),
79
79
  maxPriorityFeePerGas: z.optional(z_Hex.Hex),
80
80
  keyAuthorizationSimulation: z.optional(z_AccountSimulation.Rpc),
81
- multisigSimulation: z.optional(z_AccountSimulation.Rpc),
81
+ configurableAccountSimulation: z.optional(z_AccountSimulation.Rpc),
82
82
  nonce: z.optional(z_Hex.Hex),
83
83
  nonceKey: z.optional(z_Hex.Hex),
84
84
  r: z.optional(z_Hex.Hex),
@@ -194,7 +194,7 @@ export const TransactionRequestToRpc = z.codec(Rpc, DomainToRpc, {
194
194
  });
195
195
  /** Decodes an RPC tempo transaction request into a transaction request. */
196
196
  function fromRpc(request) {
197
- const { authorizationList: _, multisigSimulation: __, ...rest } = request;
197
+ const { authorizationList: _, configurableAccountSimulation: __, ...rest } = request;
198
198
  const request_ = z.decode(z_TransactionRequest.TransactionRequest, rest);
199
199
  if (typeof request.type !== 'undefined')
200
200
  request_.type =
@@ -227,11 +227,13 @@ function fromRpc(request) {
227
227
  request_.keyId = request.keyId;
228
228
  if (typeof request.keyType !== 'undefined')
229
229
  request_.keyType =
230
- request.keyType === 'multisig' ? 'configurable' : request.keyType;
230
+ request.keyType === 'configurableAccount'
231
+ ? 'configurable'
232
+ : request.keyType;
231
233
  if (typeof request.keyAuthorizationSimulation !== 'undefined')
232
234
  request_.keyAuthorizationSimulation = z.decode(z_AccountSimulation.AccountSimulation, request.keyAuthorizationSimulation);
233
- if (typeof request.multisigSimulation !== 'undefined')
234
- request_.accountSimulation = z.decode(z_AccountSimulation.AccountSimulation, request.multisigSimulation);
235
+ if (typeof request.configurableAccountSimulation !== 'undefined')
236
+ request_.accountSimulation = z.decode(z_AccountSimulation.AccountSimulation, request.configurableAccountSimulation);
235
237
  if (typeof request.validBefore !== 'undefined')
236
238
  request_.validBefore = core_Hex.toNumber(request.validBefore);
237
239
  if (typeof request.validAfter !== 'undefined')
@@ -297,11 +299,13 @@ function toRpc(request) {
297
299
  request_rpc.keyId = request.keyId;
298
300
  if (typeof request.keyType !== 'undefined')
299
301
  request_rpc.keyType =
300
- request.keyType === 'configurable' ? 'multisig' : request.keyType;
302
+ request.keyType === 'configurable'
303
+ ? 'configurableAccount'
304
+ : request.keyType;
301
305
  if (typeof request.keyAuthorizationSimulation !== 'undefined')
302
306
  request_rpc.keyAuthorizationSimulation = z.encode(z_AccountSimulation.AccountSimulation, request.keyAuthorizationSimulation);
303
307
  if (typeof request.accountSimulation !== 'undefined')
304
- request_rpc.multisigSimulation = z.encode(z_AccountSimulation.AccountSimulation, request.accountSimulation);
308
+ request_rpc.configurableAccountSimulation = z.encode(z_AccountSimulation.AccountSimulation, request.accountSimulation);
305
309
  if (typeof request.validBefore !== 'undefined')
306
310
  request_rpc.validBefore = encodeNumberish(request.validBefore);
307
311
  if (typeof request.validAfter !== 'undefined')
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../../src/zod/tempo/TransactionRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionRequest.js","sourceRoot":"","sources":["../../../src/zod/tempo/TransactionRequest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "ox",
3
3
  "description": "Ethereum Standard Library",
4
4
  "type": "module",
5
- "version": "1.8.8",
5
+ "version": "1.8.10",
6
6
  "main": "./dist/index.js",
7
7
  "sideEffects": false,
8
8
  "license": "MIT",
@@ -13,6 +13,7 @@ import * as Cursor from './internal/cursor.js'
13
13
  import { prettyPrint } from './internal/errors.js'
14
14
  import * as formatAbiItem from './internal/human-readable/formatAbiItem.js'
15
15
  import type { Compute, IsNarrowable } from './internal/types.js'
16
+ import * as Solidity from './Solidity.js'
16
17
 
17
18
  /** Root type for an {@link ox#AbiItem.AbiItem} with an `event` type. */
18
19
  export type AbiEvent = abitype.AbiEvent & {
@@ -208,6 +209,31 @@ export function assertArgs<const abiEvent extends AbiEvent>(
208
209
  { EnableUnion: true; IndexedOnly: false; Required: false }
209
210
  >
210
211
  : unknown,
212
+ ) {
213
+ // `decode` reads every indexed input from its topic.
214
+ assertMatchingArgs(
215
+ abiEvent,
216
+ args,
217
+ matchArgs,
218
+ abiEvent.inputs.filter((input) => input.indexed),
219
+ )
220
+ }
221
+
222
+ export declare namespace assertArgs {
223
+ type ErrorType =
224
+ | Address.isEqual.ErrorType
225
+ | Bytes.fromString.ErrorType
226
+ | Hash.keccak256.ErrorType
227
+ | ArgsMismatchError
228
+ | Errors.GlobalErrorType
229
+ }
230
+
231
+ function assertMatchingArgs(
232
+ abiEvent: AbiEvent,
233
+ args: unknown,
234
+ matchArgs: unknown,
235
+ // Indexed inputs decoded from a topic, rather than from data.
236
+ topicInputs: readonly abitype.AbiEventParameter[],
211
237
  ) {
212
238
  if (!args || !matchArgs)
213
239
  throw new ArgsMismatchError({
@@ -223,17 +249,29 @@ export function assertArgs<const abiEvent extends AbiEvent>(
223
249
  ) {
224
250
  if (input.type === 'address')
225
251
  return Address.isEqual(value as Address.Address, arg as Address.Address)
226
- if (input.type === 'string')
227
- return (
228
- Hash.keccak256(Bytes.fromString(value as string), { as: 'Hex' }) === arg
229
- )
230
- if (input.type === 'bytes') {
231
- const hex =
232
- typeof value === 'string'
233
- ? (value as Hex.Hex)
234
- : Hex.fromBytes(value as Bytes.Bytes)
235
- return Hash.keccak256(hex, { as: 'Hex' }) === arg
252
+ // `string` and `bytes` topics hold the keccak256 of their contents.
253
+ // Values decoded from data hold the contents.
254
+ if (topicInputs.includes(input)) {
255
+ if (input.type === 'string')
256
+ return (
257
+ Hash.keccak256(Bytes.fromString(value as string), { as: 'Hex' }) ===
258
+ arg
259
+ )
260
+ if (input.type === 'bytes') {
261
+ const hex =
262
+ typeof value === 'string'
263
+ ? (value as Hex.Hex)
264
+ : Hex.fromBytes(value as Bytes.Bytes)
265
+ return Hash.keccak256(hex, { as: 'Hex' }) === arg
266
+ }
236
267
  }
268
+ // Decoded `bytes` and `bytesN` are lowercase hex, so match either case.
269
+ if (
270
+ typeof value === 'string' &&
271
+ typeof arg === 'string' &&
272
+ Solidity.bytesRegex.test(input.type)
273
+ )
274
+ return value.toLowerCase() === arg.toLowerCase()
237
275
  return value === arg
238
276
  }
239
277
 
@@ -285,15 +323,6 @@ export function assertArgs<const abiEvent extends AbiEvent>(
285
323
  }
286
324
  }
287
325
 
288
- export declare namespace assertArgs {
289
- type ErrorType =
290
- | Address.isEqual.ErrorType
291
- | Bytes.fromString.ErrorType
292
- | Hash.keccak256.ErrorType
293
- | ArgsMismatchError
294
- | Errors.GlobalErrorType
295
- }
296
-
297
326
  /**
298
327
  * ABI-Decodes the provided [Log Topics and Data](https://info.etherscan.com/what-is-event-logs/) according to the ABI Event's parameter types (`input`).
299
328
  *
@@ -801,7 +830,7 @@ export function extractLogs<
801
830
 
802
831
  if (!event) continue
803
832
  if (eventName && !eventName.includes(event.event.name)) continue
804
- if (!includesArgs(event.event, event.args, args)) continue
833
+ if (!includesArgs(event.event, event.args, args, log_.topics)) continue
805
834
 
806
835
  out.push({
807
836
  ...log_,
@@ -1045,10 +1074,20 @@ function formatExtractLog<const log extends extractLogs.Log>(log: log) {
1045
1074
  }
1046
1075
  }
1047
1076
 
1048
- function includesArgs(abiEvent: AbiEvent, args: unknown, matchArgs: unknown) {
1077
+ function includesArgs(
1078
+ abiEvent: AbiEvent,
1079
+ args: unknown,
1080
+ matchArgs: unknown,
1081
+ topics: readonly Hex.Hex[],
1082
+ ) {
1049
1083
  try {
1050
1084
  if (!matchArgs) return true
1051
- assertArgs(abiEvent, args, matchArgs)
1085
+ // Topics hold the selector, then indexed inputs in order. Non-strict
1086
+ // decoding reads indexed inputs without a topic from data.
1087
+ const topicInputs = abiEvent.inputs
1088
+ .filter((input) => input.indexed)
1089
+ .slice(0, topics.length - 1)
1090
+ assertMatchingArgs(abiEvent, args, matchArgs, topicInputs)
1052
1091
  return true
1053
1092
  } catch {
1054
1093
  return false
package/src/core/Hex.ts CHANGED
@@ -35,16 +35,23 @@ export function assert(
35
35
  value: unknown,
36
36
  options: assert.Options = {},
37
37
  ): asserts value is Hex {
38
- const { strict = false } = options
38
+ const { even = false, strict = false } = options
39
39
  if (typeof value !== 'string') throw new InvalidHexTypeError(value)
40
40
  if (strict) {
41
41
  if (!/^0x[0-9a-fA-F]*$/.test(value)) throw new InvalidHexValueError(value)
42
42
  }
43
43
  if (!value.startsWith('0x')) throw new InvalidHexValueError(value)
44
+ if (even && value.length % 2 !== 0) throw new InvalidLengthError(value as Hex)
44
45
  }
45
46
 
46
47
  export declare namespace assert {
47
48
  type Options = {
49
+ /**
50
+ * Checks if the {@link ox#Hex.Hex} value has an even number of hexadecimal characters (whole bytes).
51
+ * Keep disabled for RPC quantities (e.g. `0x0`, `0x400`).
52
+ * @default false
53
+ */
54
+ even?: boolean | undefined
48
55
  /** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
49
56
  strict?: boolean | undefined
50
57
  }
@@ -52,6 +59,7 @@ export declare namespace assert {
52
59
  type ErrorType =
53
60
  | InvalidHexTypeError
54
61
  | InvalidHexValueError
62
+ | InvalidLengthError
55
63
  | Errors.GlobalErrorType
56
64
  }
57
65
 
@@ -815,9 +823,9 @@ export function validate(
815
823
  value: unknown,
816
824
  options: validate.Options = {},
817
825
  ): value is Hex {
818
- const { strict = false } = options
826
+ const { even = false, strict = false } = options
819
827
  try {
820
- assert(value, { strict })
828
+ assert(value, { even, strict })
821
829
  return true
822
830
  } catch {
823
831
  return false
@@ -826,6 +834,12 @@ export function validate(
826
834
 
827
835
  export declare namespace validate {
828
836
  type Options = {
837
+ /**
838
+ * Checks if the {@link ox#Hex.Hex} value has an even number of hexadecimal characters (whole bytes).
839
+ * Keep disabled for RPC quantities (e.g. `0x0`, `0x400`).
840
+ * @default false
841
+ */
842
+ even?: boolean | undefined
829
843
  /** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
830
844
  strict?: boolean | undefined
831
845
  }
@@ -102,19 +102,20 @@ export function fromHttp<
102
102
  ? await fetchOptions_(body_)
103
103
  : fetchOptions_
104
104
 
105
- const response = await promise.withTimeout(
106
- ({ signal }) => {
105
+ const { response, text } = await promise.withTimeout(
106
+ async ({ signal }) => {
107
107
  const externalSignal = fetchOptions?.signal
108
108
  const timeoutSignal = timeout > 0 ? signal : null
109
109
  const signals = [externalSignal, timeoutSignal].filter(
110
110
  (s): s is AbortSignal => Boolean(s),
111
111
  )
112
- const composedSignal =
113
- signals.length === 0
114
- ? null
115
- : signals.length === 1
116
- ? signals[0]!
117
- : AbortSignal.any(signals)
112
+ const composedSignal = (() => {
113
+ if (signals.length < 2) return signals[0] ?? null
114
+ // Runtimes without `AbortSignal.any` (e.g. Node < 18.17) keep
115
+ // only the caller's signal.
116
+ if (typeof AbortSignal.any !== 'function') return signals[0]!
117
+ return AbortSignal.any(signals)
118
+ })()
118
119
  const init: RequestInit = {
119
120
  ...fetchOptions,
120
121
  body,
@@ -125,7 +126,10 @@ export function fromHttp<
125
126
  method: fetchOptions?.method ?? 'POST',
126
127
  signal: composedSignal,
127
128
  }
128
- return fetchFn(url, init)
129
+ const response = await fetchFn(url, init)
130
+ // Read the body within the timeout too, so a response that stalls
131
+ // after its headers cannot hang the request.
132
+ return { response, text: await response.text() }
129
133
  },
130
134
  {
131
135
  timeout,
@@ -136,22 +140,22 @@ export function fromHttp<
136
140
  // Always read as text so we can handle empty bodies and non-JSON
137
141
  // payloads (some servers return `Content-Type: application/json` with
138
142
  // an empty body for error responses).
139
- const data = await response.text().then((data) => {
140
- if (data === '') {
143
+ const data = (() => {
144
+ if (text === '') {
141
145
  if (response.ok)
142
- throw new MalformedResponseError({ response: data })
146
+ throw new MalformedResponseError({ response: text })
143
147
  return { error: undefined }
144
148
  }
145
149
  try {
146
- return JSON.parse(data)
150
+ return JSON.parse(text)
147
151
  } catch {
148
152
  if (response.ok)
149
153
  throw new MalformedResponseError({
150
- response: data,
154
+ response: text,
151
155
  })
152
- return { error: data }
156
+ return { error: text }
153
157
  }
154
- })
158
+ })()
155
159
 
156
160
  if (!response.ok) {
157
161
  const error = (data as { error?: unknown })?.error
@@ -704,8 +704,9 @@ export declare namespace fromRecoveredBytes {
704
704
  export function toHex(signature: Signature<boolean>): Hex.Hex {
705
705
  assert(signature)
706
706
 
707
- const r = signature.r
708
- const s = signature.s
707
+ // `r` and `s` are big-endian integers, so short values (e.g. from RPC or `toTuple`) are left-padded.
708
+ const r = Hex.padLeft(signature.r, 32)
709
+ const s = Hex.padLeft(signature.s, 32)
709
710
 
710
711
  const signature_ = Hex.concat(
711
712
  r,
@@ -721,8 +722,10 @@ export function toHex(signature: Signature<boolean>): Hex.Hex {
721
722
 
722
723
  export declare namespace toHex {
723
724
  type ErrorType =
725
+ | assert.ErrorType
724
726
  | Hex.concat.ErrorType
725
727
  | Hex.fromNumber.ErrorType
728
+ | Hex.padLeft.ErrorType
726
729
  | Errors.GlobalErrorType
727
730
  }
728
731
 
@@ -429,7 +429,7 @@ export function extractEip712DomainTypes(
429
429
  ): Parameter[] {
430
430
  return [
431
431
  typeof domain?.name === 'string' && { name: 'name', type: 'string' },
432
- domain?.version && { name: 'version', type: 'string' },
432
+ typeof domain?.version === 'string' && { name: 'version', type: 'string' },
433
433
  (typeof domain?.chainId === 'number' ||
434
434
  typeof domain?.chainId === 'bigint') && {
435
435
  name: 'chainId',