ox 1.7.5 → 1.8.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 (139) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/core/Frame.d.ts +290 -0
  3. package/dist/core/Frame.d.ts.map +1 -0
  4. package/dist/core/Frame.js +306 -0
  5. package/dist/core/Frame.js.map +1 -0
  6. package/dist/core/FrameReceipt.d.ts +92 -0
  7. package/dist/core/FrameReceipt.d.ts.map +1 -0
  8. package/dist/core/FrameReceipt.js +72 -0
  9. package/dist/core/FrameReceipt.js.map +1 -0
  10. package/dist/core/FrameSignature.d.ts +357 -0
  11. package/dist/core/FrameSignature.d.ts.map +1 -0
  12. package/dist/core/FrameSignature.js +411 -0
  13. package/dist/core/FrameSignature.js.map +1 -0
  14. package/dist/core/Transaction.d.ts +29 -4
  15. package/dist/core/Transaction.d.ts.map +1 -1
  16. package/dist/core/Transaction.js +25 -4
  17. package/dist/core/Transaction.js.map +1 -1
  18. package/dist/core/TransactionReceipt.d.ts +13 -4
  19. package/dist/core/TransactionReceipt.d.ts.map +1 -1
  20. package/dist/core/TransactionReceipt.js +14 -0
  21. package/dist/core/TransactionReceipt.js.map +1 -1
  22. package/dist/core/TransactionRequest.d.ts +15 -7
  23. package/dist/core/TransactionRequest.d.ts.map +1 -1
  24. package/dist/core/TransactionRequest.js +47 -1
  25. package/dist/core/TransactionRequest.js.map +1 -1
  26. package/dist/core/TxEnvelope.d.ts +35 -21
  27. package/dist/core/TxEnvelope.d.ts.map +1 -1
  28. package/dist/core/TxEnvelope.js +46 -6
  29. package/dist/core/TxEnvelope.js.map +1 -1
  30. package/dist/core/TxEnvelopeEip8141.d.ts +341 -0
  31. package/dist/core/TxEnvelopeEip8141.d.ts.map +1 -0
  32. package/dist/core/TxEnvelopeEip8141.js +484 -0
  33. package/dist/core/TxEnvelopeEip8141.js.map +1 -0
  34. package/dist/core/internal/curves.d.ts +2 -0
  35. package/dist/core/internal/curves.d.ts.map +1 -1
  36. package/dist/core/internal/curves.js +2 -0
  37. package/dist/core/internal/curves.js.map +1 -1
  38. package/dist/index.d.ts +73 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +73 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/tempo/Transaction.d.ts +2 -0
  43. package/dist/tempo/Transaction.d.ts.map +1 -1
  44. package/dist/tempo/TransactionReceipt.d.ts +2 -0
  45. package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
  46. package/dist/zod/Block.d.ts +123 -0
  47. package/dist/zod/Block.d.ts.map +1 -1
  48. package/dist/zod/Frame.d.ts +73 -0
  49. package/dist/zod/Frame.d.ts.map +1 -0
  50. package/dist/zod/Frame.js +74 -0
  51. package/dist/zod/Frame.js.map +1 -0
  52. package/dist/zod/FrameReceipt.d.ts +50 -0
  53. package/dist/zod/FrameReceipt.d.ts.map +1 -0
  54. package/dist/zod/FrameReceipt.js +37 -0
  55. package/dist/zod/FrameReceipt.js.map +1 -0
  56. package/dist/zod/FrameSignature.d.ts +63 -0
  57. package/dist/zod/FrameSignature.d.ts.map +1 -0
  58. package/dist/zod/FrameSignature.js +66 -0
  59. package/dist/zod/FrameSignature.js.map +1 -0
  60. package/dist/zod/RpcSchema.d.ts +806 -11
  61. package/dist/zod/RpcSchema.d.ts.map +1 -1
  62. package/dist/zod/Transaction.d.ts +252 -0
  63. package/dist/zod/Transaction.d.ts.map +1 -1
  64. package/dist/zod/Transaction.js +54 -0
  65. package/dist/zod/Transaction.js.map +1 -1
  66. package/dist/zod/TransactionEnvelope.d.ts +233 -4
  67. package/dist/zod/TransactionEnvelope.d.ts.map +1 -1
  68. package/dist/zod/TransactionEnvelope.js +9 -0
  69. package/dist/zod/TransactionEnvelope.js.map +1 -1
  70. package/dist/zod/TransactionReceipt.d.ts +48 -0
  71. package/dist/zod/TransactionReceipt.d.ts.map +1 -1
  72. package/dist/zod/TransactionReceipt.js +8 -3
  73. package/dist/zod/TransactionReceipt.js.map +1 -1
  74. package/dist/zod/TransactionRequest.d.ts +50 -2
  75. package/dist/zod/TransactionRequest.d.ts.map +1 -1
  76. package/dist/zod/TransactionRequest.js +10 -4
  77. package/dist/zod/TransactionRequest.js.map +1 -1
  78. package/dist/zod/TxEnvelopeEip8141.d.ts +166 -0
  79. package/dist/zod/TxEnvelopeEip8141.d.ts.map +1 -0
  80. package/dist/zod/TxEnvelopeEip8141.js +76 -0
  81. package/dist/zod/TxEnvelopeEip8141.js.map +1 -0
  82. package/dist/zod/internal/Frame.d.ts +4 -0
  83. package/dist/zod/internal/Frame.d.ts.map +1 -0
  84. package/dist/zod/internal/Frame.js +17 -0
  85. package/dist/zod/internal/Frame.js.map +1 -0
  86. package/dist/zod/internal/rpcSchemas/Eth.d.ts +842 -11
  87. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
  88. package/dist/zod/internal/rpcSchemas/Wallet.d.ts +56 -2
  89. package/dist/zod/internal/rpcSchemas/Wallet.d.ts.map +1 -1
  90. package/dist/zod/tempo/RpcSchemaTempo.d.ts +140 -0
  91. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  92. package/dist/zod/tempo/Transaction.d.ts +123 -0
  93. package/dist/zod/tempo/Transaction.d.ts.map +1 -1
  94. package/dist/zod/z.d.ts +4 -0
  95. package/dist/zod/z.d.ts.map +1 -1
  96. package/dist/zod/z.js +4 -0
  97. package/dist/zod/z.js.map +1 -1
  98. package/package.json +41 -1
  99. package/src/core/Frame.ts +442 -0
  100. package/src/core/FrameReceipt.ts +117 -0
  101. package/src/core/FrameSignature.ts +593 -0
  102. package/src/core/Transaction.ts +82 -5
  103. package/src/core/TransactionReceipt.ts +41 -3
  104. package/src/core/TransactionRequest.ts +71 -4
  105. package/src/core/TxEnvelope.ts +159 -90
  106. package/src/core/TxEnvelopeEip8141.ts +714 -0
  107. package/src/core/_test/Frame.test-d.ts +108 -0
  108. package/src/core/_test/Frame.test.ts +280 -0
  109. package/src/core/_test/FrameReceipt.test.ts +86 -0
  110. package/src/core/_test/FrameSignature.test-d.ts +93 -0
  111. package/src/core/_test/FrameSignature.test.ts +554 -0
  112. package/src/core/_test/Transaction.test.ts +33 -0
  113. package/src/core/_test/TransactionEnvelope.test-d.ts +74 -0
  114. package/src/core/_test/TransactionEnvelope.test.ts +107 -0
  115. package/src/core/_test/TransactionReceipt.test.ts +59 -0
  116. package/src/core/_test/TransactionRequest.test-d.ts +50 -0
  117. package/src/core/_test/TransactionRequest.test.ts +88 -1
  118. package/src/core/_test/TxEnvelopeEip8141.test-d.ts +44 -0
  119. package/src/core/_test/TxEnvelopeEip8141.test.ts +1775 -0
  120. package/src/core/_test/curves.test.ts +6 -1
  121. package/src/core/_test/index.test.ts +4 -0
  122. package/src/core/internal/curves.ts +4 -0
  123. package/src/index.ts +77 -0
  124. package/src/version.ts +1 -1
  125. package/src/zod/Frame.ts +82 -0
  126. package/src/zod/FrameReceipt.ts +48 -0
  127. package/src/zod/FrameSignature.ts +78 -0
  128. package/src/zod/Transaction.ts +63 -0
  129. package/src/zod/TransactionEnvelope.ts +33 -0
  130. package/src/zod/TransactionReceipt.ts +14 -3
  131. package/src/zod/TransactionRequest.ts +18 -3
  132. package/src/zod/TxEnvelopeEip8141.ts +102 -0
  133. package/src/zod/_test/Frame.test-d.ts +41 -0
  134. package/src/zod/_test/Frame.test.ts +57 -0
  135. package/src/zod/_test/FrameReceipt.test.ts +75 -0
  136. package/src/zod/_test/FrameSignature.test.ts +94 -0
  137. package/src/zod/_test/TxEnvelopeEip8141.test.ts +116 -0
  138. package/src/zod/internal/Frame.ts +26 -0
  139. package/src/zod/z.ts +4 -0
@@ -0,0 +1,411 @@
1
+ import * as Address from './Address.js';
2
+ import * as Errors from './Errors.js';
3
+ import * as Hex from './Hex.js';
4
+ import { p256N, secp256k1N } from './internal/curves.js';
5
+ import * as PublicKey from './PublicKey.js';
6
+ import * as Signature from './Signature.js';
7
+ /** Signature schemes supported by EIP-8141. */
8
+ export const schemes = { arbitrary: 0, p256: 2, secp256k1: 1 };
9
+ /**
10
+ * Asserts that a {@link ox#FrameSignature.FrameSignature} is structurally valid.
11
+ *
12
+ * Checks metadata, signature scalars, and public key shape without verifying
13
+ * authorization.
14
+ *
15
+ * @example
16
+ * ### Basic Usage
17
+ *
18
+ * Unsigned protocol entries are accepted by default.
19
+ *
20
+ * ```ts twoslash
21
+ * import { FrameSignature } from 'ox'
22
+ *
23
+ * FrameSignature.assert({
24
+ * payload: '0x',
25
+ * scheme: 'secp256k1'
26
+ * })
27
+ * ```
28
+ *
29
+ * @example
30
+ * ### Requiring a Signature
31
+ *
32
+ * Set `signed` to require a protocol signature.
33
+ *
34
+ * ```ts twoslash
35
+ * import { FrameSignature, Hash, Secp256k1 } from 'ox'
36
+ *
37
+ * const payload = Hash.keccak256('0xdeadbeef')
38
+ * const privateKey = Secp256k1.randomPrivateKey()
39
+ * const signature = Secp256k1.sign({ payload, privateKey })
40
+ *
41
+ * const entry = FrameSignature.from({
42
+ * payload,
43
+ * scheme: 'secp256k1',
44
+ * signature
45
+ * })
46
+ *
47
+ * FrameSignature.assert(entry, { signed: true })
48
+ * ```
49
+ *
50
+ * @param entry - The signature entry to assert.
51
+ * @param options - Validation options.
52
+ */
53
+ export function assert(entry, options = {}) {
54
+ const scheme = typeof entry.scheme === 'string' ? schemes[entry.scheme] : entry.scheme;
55
+ if (!Number.isInteger(scheme) || scheme < 0 || scheme > 2)
56
+ throw new InvalidError('Unsupported signature scheme.');
57
+ if (scheme === 0 && entry.signer !== undefined)
58
+ throw new InvalidError('Arbitrary signatures cannot specify a signer.');
59
+ if (entry.signer !== undefined)
60
+ Address.assert(entry.signer, { strict: false });
61
+ const payload = entry.payload ?? '0x';
62
+ Hex.assert(payload, { strict: true });
63
+ if (payload !== '0x' &&
64
+ (payload.length !== 66 || Hex.toBigInt(payload) === 0n))
65
+ throw new InvalidError('payload must be empty or a nonzero 32-byte digest.');
66
+ switch (entry.scheme) {
67
+ case 0:
68
+ case 'arbitrary':
69
+ Hex.assert(entry.signature, { strict: true });
70
+ if (entry.signature.length % 2 !== 0)
71
+ throw new InvalidError('signature must contain whole bytes.');
72
+ return;
73
+ }
74
+ if (entry.scheme === 2 || entry.scheme === 'p256') {
75
+ if (entry.publicKey !== undefined) {
76
+ PublicKey.assert(entry.publicKey, { compressed: false });
77
+ for (const coordinate of [entry.publicKey.x, entry.publicKey.y]) {
78
+ Hex.assert(coordinate, { strict: true });
79
+ if (coordinate === '0x' || coordinate.length > 66)
80
+ throw new InvalidError('Public key coordinates must fit in 32 bytes.');
81
+ }
82
+ }
83
+ if (entry.signature !== undefined && entry.publicKey === undefined)
84
+ throw new InvalidError('P-256 signatures require a public key.');
85
+ }
86
+ if (entry.signature === undefined) {
87
+ if (options.signed)
88
+ throw new InvalidError('Signature is required.');
89
+ return;
90
+ }
91
+ Hex.assert(entry.signature.r, { strict: true });
92
+ Hex.assert(entry.signature.s, { strict: true });
93
+ if ((scheme === 1 || entry.signature.yParity !== undefined) &&
94
+ entry.signature.yParity !== 0 &&
95
+ entry.signature.yParity !== 1)
96
+ throw new InvalidError('Signature parity must be 0 or 1.');
97
+ Signature.assert(entry.signature, { recovered: scheme === 1 });
98
+ const r = Hex.toBigInt(entry.signature.r);
99
+ const s = Hex.toBigInt(entry.signature.s);
100
+ const order = scheme === 1 ? secp256k1N : p256N;
101
+ if (r === 0n ||
102
+ r >= order ||
103
+ s === 0n ||
104
+ s >= order ||
105
+ (scheme === 1 && s > order / 2n))
106
+ throw new InvalidError('Signature scalars must be in range; secp256k1 requires low-s.');
107
+ }
108
+ /**
109
+ * Coerces a value into a {@link ox#FrameSignature.FrameSignature}.
110
+ *
111
+ * Accepts arbitrary signature bytes or a structured signature entry. Omitted
112
+ * `scheme` and `payload` default to `'arbitrary'` and `'0x'`, respectively.
113
+ * An empty payload selects the canonical transaction signing hash; an explicit
114
+ * payload must be a nonzero 32-byte digest.
115
+ *
116
+ * @example
117
+ * ### From Hex
118
+ *
119
+ * Wrap arbitrary witness bytes for contract-defined verification.
120
+ *
121
+ * ```ts twoslash
122
+ * import { FrameSignature } from 'ox'
123
+ *
124
+ * const entry = FrameSignature.from('0xaabb')
125
+ * // @log: { payload: '0x', scheme: 'arbitrary', signature: '0xaabb' }
126
+ * ```
127
+ *
128
+ * @example
129
+ * ### Secp256k1
130
+ *
131
+ * Wrap a signature over an explicit digest, retaining the same payload in the entry.
132
+ *
133
+ * ```ts twoslash
134
+ * import { FrameSignature, Hash, Secp256k1 } from 'ox'
135
+ *
136
+ * const payload = Hash.keccak256('0xdeadbeef')
137
+ * const privateKey = Secp256k1.randomPrivateKey()
138
+ * const signature = Secp256k1.sign({ payload, privateKey })
139
+ *
140
+ * const entry = FrameSignature.from({
141
+ * payload,
142
+ * scheme: 'secp256k1',
143
+ * signature
144
+ * })
145
+ * ```
146
+ *
147
+ * @example
148
+ * ### P256
149
+ *
150
+ * Include the public key with a P-256 signature over an explicit digest.
151
+ *
152
+ * ```ts twoslash
153
+ * import { FrameSignature, Hash, P256 } from 'ox'
154
+ *
155
+ * const { privateKey, publicKey } = P256.createKeyPair()
156
+ * const payload = Hash.keccak256('0xdeadbeef')
157
+ * const signature = P256.sign({ payload, privateKey })
158
+ *
159
+ * const entry = FrameSignature.from({
160
+ * payload,
161
+ * publicKey,
162
+ * scheme: 'p256',
163
+ * signature
164
+ * })
165
+ * ```
166
+ *
167
+ * @example
168
+ * ### Unsigned Entries
169
+ *
170
+ * Omit the signature to prepare a protocol entry before signing the transaction.
171
+ *
172
+ * ```ts twoslash
173
+ * import { FrameSignature } from 'ox'
174
+ *
175
+ * const entry = FrameSignature.from({ scheme: 'secp256k1' })
176
+ * // @log: { payload: '0x', scheme: 'secp256k1' }
177
+ * ```
178
+ *
179
+ * @param entry - Arbitrary signature bytes or a structured signature entry.
180
+ * @returns The validated entry, preserving supplied signature and scheme types.
181
+ */
182
+ export function from(entry) {
183
+ const result = (typeof entry === 'string'
184
+ ? { payload: '0x', scheme: 'arbitrary', signature: entry }
185
+ : {
186
+ ...entry,
187
+ payload: entry.payload ?? '0x',
188
+ scheme: entry.scheme ?? 'arbitrary',
189
+ });
190
+ assert(result);
191
+ return result;
192
+ }
193
+ /**
194
+ * Converts an RPC signature entry to a structured frame signature.
195
+ *
196
+ * @example
197
+ * ### Basic Usage
198
+ *
199
+ * ```ts twoslash
200
+ * import { FrameSignature } from 'ox'
201
+ *
202
+ * const entry = FrameSignature.fromRpc({
203
+ * msg: '0x',
204
+ * scheme: 0,
205
+ * signature: '0xdeadbeef'
206
+ * })
207
+ * ```
208
+ *
209
+ * @param entry - The value to convert.
210
+ * @returns The converted value.
211
+ */
212
+ export function fromRpc(entry) {
213
+ return fromTuple([
214
+ entry.scheme === 0 ? '0x' : Hex.fromNumber(entry.scheme, { size: 1 }),
215
+ entry.signer ?? '0x',
216
+ entry.msg,
217
+ entry.signature,
218
+ ]);
219
+ }
220
+ /**
221
+ * Converts a structured frame signature to its RPC representation.
222
+ *
223
+ * @example
224
+ * ### Basic Usage
225
+ *
226
+ * ```ts twoslash
227
+ * import { FrameSignature } from 'ox'
228
+ *
229
+ * const entry = FrameSignature.from('0xdeadbeef')
230
+ * const rpc = FrameSignature.toRpc(entry)
231
+ * ```
232
+ *
233
+ * @param entry - The value to convert.
234
+ * @returns The converted value.
235
+ */
236
+ export function toRpc(entry) {
237
+ const [scheme, signer, msg, signature] = toTuple(entry);
238
+ return {
239
+ msg,
240
+ scheme: (scheme === '0x' ? 0 : Hex.toNumber(scheme)),
241
+ signature,
242
+ ...(signer === '0x' ? {} : { signer }),
243
+ };
244
+ }
245
+ /**
246
+ * Converts a {@link ox#FrameSignature.Tuple} to a structured
247
+ * {@link ox#FrameSignature.FrameSignature}.
248
+ *
249
+ * Returns a named scheme and unpacks protocol signatures. Empty protocol signatures
250
+ * become unsigned entries. Rejects noncanonical encodings.
251
+ *
252
+ * @example
253
+ * ### Basic Usage
254
+ *
255
+ * Decode an arbitrary signature tuple.
256
+ *
257
+ * ```ts twoslash
258
+ * import { FrameSignature } from 'ox'
259
+ *
260
+ * const entry = FrameSignature.fromTuple([
261
+ * '0x',
262
+ * '0x',
263
+ * '0x',
264
+ * '0xaabb'
265
+ * ])
266
+ * // @log: { payload: '0x', scheme: 'arbitrary', signature: '0xaabb' }
267
+ * ```
268
+ *
269
+ * @param tuple - The signature tuple to convert.
270
+ * @returns The decoded signature entry.
271
+ */
272
+ export function fromTuple(tuple) {
273
+ if (!Array.isArray(tuple) || tuple.length !== 4)
274
+ throw new InvalidError('Expected [scheme, signer, payload, signature].');
275
+ const [scheme, signer, payload, signature] = tuple;
276
+ Hex.assert(signer, { strict: true });
277
+ Hex.assert(signature, { strict: true });
278
+ if (signature.length % 2 !== 0)
279
+ throw new InvalidError('signature must contain whole bytes.');
280
+ if (scheme !== '0x' && scheme !== '0x01' && scheme !== '0x02')
281
+ throw new InvalidError('Expected a canonical scheme encoding: empty bytes, 0x01, or 0x02.');
282
+ const metadata = { ...(signer === '0x' ? {} : { signer }), payload };
283
+ if (scheme === '0x') {
284
+ if (signer !== '0x')
285
+ throw new InvalidError('Arbitrary signatures cannot specify a signer.');
286
+ return from({ payload, scheme: 'arbitrary', signature });
287
+ }
288
+ if (signature === '0x')
289
+ return scheme === '0x01'
290
+ ? from({ ...metadata, scheme: 'secp256k1' })
291
+ : from({ ...metadata, scheme: 'p256' });
292
+ if (Hex.size(signature) !== (scheme === '0x01' ? 65 : 128))
293
+ throw new InvalidError('Invalid protocol signature length.');
294
+ if (scheme === '0x01') {
295
+ if (Hex.toNumber(Hex.slice(signature, 0, 1)) > 1)
296
+ throw new InvalidError('Recovery parity must be 0 or 1.');
297
+ return from({
298
+ ...metadata,
299
+ scheme: 'secp256k1',
300
+ signature: Signature.fromRecoveredBytes(Hex.toBytes(signature)),
301
+ });
302
+ }
303
+ const s = Hex.slice(signature, 32, 64);
304
+ if (Hex.toBigInt(s) > p256N / 2n)
305
+ throw new InvalidError('P-256 wire signatures require low-s.');
306
+ return from({
307
+ ...metadata,
308
+ publicKey: {
309
+ prefix: 4,
310
+ x: Hex.slice(signature, 64, 96),
311
+ y: Hex.slice(signature, 96, 128),
312
+ },
313
+ scheme: 'p256',
314
+ signature: { r: Hex.slice(signature, 0, 32), s },
315
+ });
316
+ }
317
+ /**
318
+ * Converts a {@link ox#FrameSignature.FrameSignature} to its RLP-ready
319
+ * {@link ox#FrameSignature.Tuple}.
320
+ *
321
+ * Encodes numeric scheme identifiers and packs protocol signatures without mutating
322
+ * the entry. Omitted protocol signatures become empty bytes.
323
+ *
324
+ * @example
325
+ * ### Basic Usage
326
+ *
327
+ * Encode arbitrary witness bytes with the default scheme and payload.
328
+ *
329
+ * ```ts twoslash
330
+ * import { FrameSignature } from 'ox'
331
+ *
332
+ * const entry = FrameSignature.from('0xaabb')
333
+ * const tuple = FrameSignature.toTuple(entry)
334
+ * // @log: ['0x', '0x', '0x', '0xaabb']
335
+ * ```
336
+ *
337
+ * @param entry - The signature entry to convert.
338
+ * @returns The encoded signature tuple.
339
+ */
340
+ export function toTuple(entry) {
341
+ assert(entry);
342
+ const scheme = typeof entry.scheme === 'string' ? schemes[entry.scheme] : entry.scheme;
343
+ const signature = (() => {
344
+ switch (entry.scheme) {
345
+ case 0:
346
+ case 'arbitrary':
347
+ return entry.signature;
348
+ case 1:
349
+ case 'secp256k1':
350
+ return entry.signature === undefined
351
+ ? '0x'
352
+ : Hex.fromBytes(Signature.toRecoveredBytes(entry.signature));
353
+ case 2:
354
+ case 'p256': {
355
+ if (entry.signature === undefined)
356
+ return '0x';
357
+ const { publicKey, signature } = entry;
358
+ const s = Hex.toBigInt(signature.s);
359
+ return Hex.concat(Hex.fromNumber(Hex.toBigInt(signature.r), { size: 32 }), Hex.fromNumber(s > p256N / 2n ? p256N - s : s, { size: 32 }), Hex.fromNumber(Hex.toBigInt(publicKey.x), { size: 32 }), Hex.fromNumber(Hex.toBigInt(publicKey.y), { size: 32 }));
360
+ }
361
+ }
362
+ })();
363
+ return [
364
+ scheme ? Hex.fromNumber(scheme, { size: 1 }) : '0x',
365
+ entry.signer ?? '0x',
366
+ entry.payload ?? '0x',
367
+ signature,
368
+ ];
369
+ }
370
+ /**
371
+ * Returns whether a {@link ox#FrameSignature.FrameSignature} is structurally valid.
372
+ *
373
+ * Performs the same checks as {@link ox#FrameSignature.(assert:function)}, returning
374
+ * `false` instead of throwing. Does not verify that the signature authorizes a payload.
375
+ *
376
+ * @example
377
+ * ### Basic Usage
378
+ *
379
+ * Require a signature when checking a protocol entry.
380
+ *
381
+ * ```ts twoslash
382
+ * import { FrameSignature } from 'ox'
383
+ *
384
+ * const entry = FrameSignature.from({ scheme: 'secp256k1' })
385
+ * const valid = FrameSignature.validate(entry, {
386
+ * signed: true
387
+ * })
388
+ * // @log: false
389
+ * ```
390
+ *
391
+ * @param entry - The signature entry to validate.
392
+ * @param options - Validation options.
393
+ * @returns Whether the entry is structurally valid.
394
+ */
395
+ export function validate(entry, options = {}) {
396
+ try {
397
+ assert(entry, options);
398
+ return true;
399
+ }
400
+ catch {
401
+ return false;
402
+ }
403
+ }
404
+ /** Thrown when frame signature metadata or encoding is invalid. */
405
+ export class InvalidError extends Errors.BaseError {
406
+ name = 'FrameSignature.InvalidError';
407
+ constructor(details) {
408
+ super('Invalid frame signature.', { details });
409
+ }
410
+ }
411
+ //# sourceMappingURL=FrameSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameSignature.js","sourceRoot":"","sources":["../../src/core/FrameSignature.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,21 @@ import type * as AccessList from './AccessList.js';
2
2
  import type * as Address from './Address.js';
3
3
  import * as Authorization from './Authorization.js';
4
4
  import type * as Errors from './Errors.js';
5
+ import * as Frame from './Frame.js';
6
+ import * as FrameSignature from './FrameSignature.js';
5
7
  import * as Hex from './Hex.js';
6
8
  import type { Compute, OneOf, UnionCompute } from './internal/types.js';
7
9
  import * as Signature from './Signature.js';
8
10
  /**
9
11
  * A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
10
12
  */
11
- export type Transaction<pending extends boolean = false, bigintType = bigint, numberType = number> = UnionCompute<OneOf<Legacy<pending, bigintType, numberType> | Eip1559<pending, bigintType, numberType> | Eip2930<pending, bigintType, numberType> | Eip4844<pending, bigintType, numberType> | Eip7702<pending, bigintType, numberType> | (Base & {
13
+ export type Transaction<pending extends boolean = false, bigintType = bigint, numberType = number> = UnionCompute<OneOf<Legacy<pending, bigintType, numberType> | Eip1559<pending, bigintType, numberType> | Eip2930<pending, bigintType, numberType> | Eip4844<pending, bigintType, numberType> | Eip7702<pending, bigintType, numberType> | Eip8141<pending, bigintType, numberType> | (Base & {
12
14
  type: Hex.Hex;
13
15
  })>>;
14
16
  /**
15
17
  * An RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
16
18
  */
17
- export type Rpc<pending extends boolean = false> = UnionCompute<OneOf<LegacyRpc<pending> | Eip1559Rpc<pending> | Eip2930Rpc<pending> | Eip4844Rpc<pending> | Eip7702Rpc<pending> | (BaseRpc & {
19
+ export type Rpc<pending extends boolean = false> = UnionCompute<OneOf<LegacyRpc<pending> | Eip1559Rpc<pending> | Eip2930Rpc<pending> | Eip4844Rpc<pending> | Eip7702Rpc<pending> | Eip8141Rpc<pending> | (BaseRpc & {
18
20
  type: Hex.Hex;
19
21
  })>>;
20
22
  /** Base properties of a Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
@@ -108,6 +110,27 @@ export type Eip7702<pending extends boolean = false, bigintType = bigint, number
108
110
  }>;
109
111
  /** An RPC [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
110
112
  export type Eip7702Rpc<pending extends boolean = false> = Compute<Eip7702<pending, Hex.Hex, Hex.Hex, ToRpcType['eip7702']>>;
113
+ /** An EIP-8141 frame transaction. */
114
+ export type Eip8141<pending extends boolean = false, bigintType = bigint, numberType = number, type extends string = 'eip8141'> = Compute<Omit<Base<type, pending, bigintType, numberType>, 'chainId' | 'r' | 's' | 'v' | 'yParity'> & {
115
+ /** Versioned blob hashes. */
116
+ blobVersionedHashes: readonly Hex.Hex[];
117
+ /** Chain ID, retaining bigint precision when needed. */
118
+ chainId: numberType | bigintType;
119
+ /** Frames in execution order. */
120
+ frames: readonly ([bigintType] extends [Hex.Hex] ? Frame.Rpc : Frame.Frame<bigintType>)[];
121
+ /** Effective gas price. */
122
+ gasPrice?: bigintType | undefined;
123
+ /** Maximum fee per blob gas. */
124
+ maxFeePerBlobGas: bigintType;
125
+ /** Maximum fee per gas. */
126
+ maxFeePerGas: bigintType;
127
+ /** Maximum priority fee per gas. */
128
+ maxPriorityFeePerGas: bigintType;
129
+ /** Frame signature entries. */
130
+ signatures: readonly ([bigintType] extends [Hex.Hex] ? FrameSignature.Rpc : FrameSignature.FrameSignature)[];
131
+ }>;
132
+ /** An EIP-8141 RPC transaction. */
133
+ export type Eip8141Rpc<pending extends boolean = false> = Eip8141<pending, Hex.Hex, Hex.Hex, '0x6'>;
111
134
  /** An legacy Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
112
135
  export type Legacy<pending extends boolean = false, bigintType = bigint, numberType = number, type extends string = 'legacy'> = Compute<Omit<Base<type, pending, bigintType, numberType>, 'chainId' | 'v' | 'yParity'> & {
113
136
  chainId?: numberType | undefined;
@@ -127,6 +150,7 @@ export declare const toRpcType: {
127
150
  readonly eip1559: "0x2";
128
151
  readonly eip4844: "0x3";
129
152
  readonly eip7702: "0x4";
153
+ readonly eip8141: "0x6";
130
154
  };
131
155
  /** Type to RPC Type mapping. */
132
156
  export type ToRpcType = typeof toRpcType & {
@@ -139,6 +163,7 @@ export declare const fromRpcType: {
139
163
  readonly '0x2': "eip1559";
140
164
  readonly '0x3': "eip4844";
141
165
  readonly '0x4': "eip7702";
166
+ readonly '0x6': "eip8141";
142
167
  };
143
168
  /** RPC Type to Type mapping. */
144
169
  export type FromRpcType = typeof fromRpcType & {
@@ -183,7 +208,7 @@ export declare namespace fromRpc {
183
208
  type Options<pending extends boolean = false> = {
184
209
  pending?: pending | boolean | undefined;
185
210
  };
186
- type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType;
211
+ type ErrorType = Signature.extract.ErrorType | Frame.fromRpc.ErrorType | FrameSignature.fromRpc.ErrorType | Errors.GlobalErrorType;
187
212
  }
188
213
  /**
189
214
  * Converts an {@link ox#Transaction.Transaction} to an {@link ox#Transaction.Rpc}.
@@ -227,6 +252,6 @@ export declare namespace toRpc {
227
252
  type Options<pending extends boolean = false> = {
228
253
  pending?: pending | boolean | undefined;
229
254
  };
230
- type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType;
255
+ type ErrorType = Signature.extract.ErrorType | Frame.toRpc.ErrorType | FrameSignature.toRpc.ErrorType | Errors.GlobalErrorType;
231
256
  }
232
257
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/core/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/core/Transaction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import * as Authorization from './Authorization.js';
2
+ import * as Frame from './Frame.js';
3
+ import * as FrameSignature from './FrameSignature.js';
2
4
  import * as Quantity from './internal/quantity.js';
3
5
  import * as Signature from './Signature.js';
4
6
  /** Type to RPC Type mapping. */
@@ -8,6 +10,7 @@ export const toRpcType = {
8
10
  eip1559: '0x2',
9
11
  eip4844: '0x3',
10
12
  eip7702: '0x4',
13
+ eip8141: '0x6',
11
14
  };
12
15
  /** RPC Type to Type mapping. */
13
16
  export const fromRpcType = {
@@ -16,6 +19,7 @@ export const fromRpcType = {
16
19
  '0x2': 'eip1559',
17
20
  '0x3': 'eip4844',
18
21
  '0x4': 'eip7702',
22
+ '0x6': 'eip8141',
19
23
  };
20
24
  /**
21
25
  * Converts an {@link ox#Transaction.Rpc} to an {@link ox#Transaction.Transaction}.
@@ -54,7 +58,7 @@ export const fromRpcType = {
54
58
  export function fromRpc(transaction, _options = {}) {
55
59
  if (!transaction)
56
60
  return null;
57
- const signature = Signature.extract(transaction);
61
+ const signature = transaction.type === '0x6' ? undefined : Signature.extract(transaction);
58
62
  const transaction_ = {
59
63
  ...transaction,
60
64
  ...signature,
@@ -77,8 +81,21 @@ export function fromRpc(transaction, _options = {}) {
77
81
  transaction_.value = BigInt(transaction.value ?? 0n);
78
82
  if (transaction.authorizationList)
79
83
  transaction_.authorizationList = Authorization.fromRpcList(transaction.authorizationList);
80
- if (transaction.chainId)
81
- transaction_.chainId = Number(transaction.chainId);
84
+ if (transaction.chainId) {
85
+ const chainId = BigInt(transaction.chainId);
86
+ transaction_.chainId =
87
+ transaction.type === '0x6' && chainId > BigInt(Number.MAX_SAFE_INTEGER)
88
+ ? chainId
89
+ : Number(chainId);
90
+ }
91
+ if (transaction.type === '0x6' && transaction.frames) {
92
+ transaction_.frames = transaction.frames.map(Frame.fromRpc);
93
+ transaction_.signatures = (transaction.signatures ?? []).map(FrameSignature.fromRpc);
94
+ delete transaction_.r;
95
+ delete transaction_.s;
96
+ delete transaction_.v;
97
+ delete transaction_.yParity;
98
+ }
82
99
  if (transaction.gasPrice)
83
100
  transaction_.gasPrice = BigInt(transaction.gasPrice);
84
101
  if (transaction.maxFeePerBlobGas)
@@ -155,13 +172,17 @@ export function toRpc(transaction, _options) {
155
172
  : Quantity.fromNumberish(transaction.transactionIndex);
156
173
  rpc.type = toRpcType[transaction.type] ?? transaction.type;
157
174
  rpc.value = Quantity.fromNumberish(transaction.value ?? 0n);
175
+ if (transaction.type === 'eip8141' && transaction.frames) {
176
+ rpc.frames = transaction.frames.map(Frame.toRpc);
177
+ rpc.signatures = transaction.signatures.map(FrameSignature.toRpc);
178
+ }
158
179
  if (transaction.accessList)
159
180
  rpc.accessList = transaction.accessList;
160
181
  if (transaction.authorizationList)
161
182
  rpc.authorizationList = Authorization.toRpcList(transaction.authorizationList);
162
183
  if (transaction.blobVersionedHashes)
163
184
  rpc.blobVersionedHashes = transaction.blobVersionedHashes;
164
- if (transaction.chainId)
185
+ if (transaction.chainId !== undefined)
165
186
  rpc.chainId = Quantity.fromNumberish(transaction.chainId);
166
187
  if (transaction.gasPrice !== undefined)
167
188
  rpc.gasPrice = Quantity.fromNumberish(transaction.gasPrice);
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/core/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/core/Transaction.ts"],"names":[],"mappings":"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"}