ox 0.14.28 → 0.14.29

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.
@@ -51,7 +51,7 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
51
51
  userAddress: Address.Address;
52
52
  } ? 'keychain' : envelope extends {
53
53
  account: Address.Address;
54
- configId: `0x${string}`;
54
+ genesisConfigId: `0x${string}`;
55
55
  signatures: any;
56
56
  } ? 'multisig' : never;
57
57
  /**
@@ -122,7 +122,7 @@ export type Multisig<bigintType = bigint, numberType = number> = {
122
122
  /** Native multisig account address. */
123
123
  account: Address.Address;
124
124
  /** Permanent config ID derived from the initial multisig config. */
125
- configId: Hex.Hex;
125
+ genesisConfigId: Hex.Hex;
126
126
  /** Primitive owner approvals over the multisig owner approval digest. */
127
127
  signatures: readonly SignatureEnvelope<bigintType, numberType>[];
128
128
  /**
@@ -135,6 +135,11 @@ export type Multisig<bigintType = bigint, numberType = number> = {
135
135
  export type MultisigRpc = {
136
136
  type: 'multisig';
137
137
  account: Address.Address;
138
+ /**
139
+ * The permanent multisig config ID (TIP-1061 wire field `config_id`).
140
+ * Maps to `genesisConfigId` on the typed
141
+ * {@link ox#SignatureEnvelope.Multisig} envelope.
142
+ */
138
143
  configId: Hex.Hex;
139
144
  /**
140
145
  * Encoded primitive owner approvals (raw serialized signatures), matching the
@@ -422,6 +427,43 @@ export declare function deserialize(value: Serialized): SignatureEnvelope;
422
427
  * })
423
428
  * ```
424
429
  *
430
+ * @example
431
+ * ### Multisig (from genesis config)
432
+ *
433
+ * Pass `genesisConfig` to derive `account` and `genesisConfigId` automatically.
434
+ * Set `init: true` to opt into bootstrap (uses `genesisConfig` as the
435
+ * bootstrap `init`); omit `init` for subsequent (non-bootstrap) transactions.
436
+ *
437
+ * ```ts twoslash
438
+ * import { Secp256k1 } from 'ox'
439
+ * import { MultisigConfig, SignatureEnvelope } from 'ox/tempo'
440
+ *
441
+ * const genesisConfig = MultisigConfig.from({
442
+ * threshold: 1,
443
+ * owners: [
444
+ * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
445
+ * ],
446
+ * })
447
+ *
448
+ * const privateKey = Secp256k1.randomPrivateKey()
449
+ * const signature = SignatureEnvelope.from(
450
+ * Secp256k1.sign({ payload: '0xdeadbeef', privateKey }),
451
+ * )
452
+ *
453
+ * // Bootstrap transaction
454
+ * const bootstrap = SignatureEnvelope.from({
455
+ * genesisConfig,
456
+ * signatures: [signature],
457
+ * init: true,
458
+ * })
459
+ *
460
+ * // Subsequent (non-bootstrap) transactions
461
+ * const subsequent = SignatureEnvelope.from({
462
+ * genesisConfig,
463
+ * signatures: [signature],
464
+ * })
465
+ * ```
466
+ *
425
467
  * @param value - The value to coerce (either a hex string or signature envelope).
426
468
  * @returns The signature envelope.
427
469
  */
@@ -431,8 +473,20 @@ export declare namespace from {
431
473
  /** Payload that was signed. Used to recover `keyId` for keychain envelopes with secp256k1 inner signatures. */
432
474
  payload?: Hex.Hex | Bytes.Bytes | undefined;
433
475
  };
434
- type Value = UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized;
435
- type ReturnValue<value extends Value> = Compute<OneOf<value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
476
+ /**
477
+ * Multisig envelope input variant where `account` and `genesisConfigId` are derived
478
+ * from the supplied `genesisConfig`. Pass `init: true` to opt into bootstrap
479
+ * (uses `genesisConfig` as the bootstrap `init`); omit `init` for subsequent
480
+ * (non-bootstrap) transactions.
481
+ */
482
+ type MultisigFromGenesisConfig = {
483
+ type?: 'multisig' | undefined;
484
+ genesisConfig: MultisigConfig.Config;
485
+ signatures: readonly SignatureEnvelope[];
486
+ init?: MultisigConfig.Config | boolean | undefined;
487
+ };
488
+ type Value = UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized | MultisigFromGenesisConfig;
489
+ type ReturnValue<value extends Value> = Compute<OneOf<value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends MultisigFromGenesisConfig ? Multisig : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
436
490
  readonly type: GetType<value>;
437
491
  } & (GetType<value> extends 'keychain' ? {
438
492
  keyId?: Address.Address | undefined;
@@ -525,33 +579,33 @@ export declare namespace serialize {
525
579
  * recovered owner address. Works for any owner key type (secp256k1, p256,
526
580
  * webAuthn, keychain).
527
581
  *
582
+ * Config updates never change `account`/`genesisConfigId`, so the genesis
583
+ * config is the correct input even for post-update transactions.
584
+ *
528
585
  * @example
529
586
  * ```ts twoslash
530
587
  * import { Secp256k1 } from 'ox'
531
588
  * import { MultisigConfig, SignatureEnvelope, TxEnvelopeTempo } from 'ox/tempo'
532
589
  *
533
- * const config = MultisigConfig.from({
590
+ * const genesisConfig = MultisigConfig.from({
534
591
  * threshold: 2,
535
592
  * owners: [
536
593
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
537
594
  * { owner: '0x2222222222222222222222222222222222222222', weight: 1 },
538
595
  * ],
539
596
  * })
540
- * const configId = MultisigConfig.toId(config)
541
- * const account = MultisigConfig.getAddress({ configId })
542
597
  *
543
598
  * const tx = TxEnvelopeTempo.from({ chainId: 1, calls: [] })
544
599
  * const payload = TxEnvelopeTempo.getSignPayload(tx)
545
- * const digest = MultisigConfig.getSignPayload({ payload, account, configId })
546
600
  *
547
601
  * const privateKeys = [Secp256k1.randomPrivateKey(), Secp256k1.randomPrivateKey()]
602
+ * const digest = MultisigConfig.getSignPayload({ payload, genesisConfig })
548
603
  * const signatures = privateKeys.map((privateKey) =>
549
604
  * SignatureEnvelope.from(Secp256k1.sign({ payload: digest, privateKey })),
550
605
  * )
551
606
  *
552
607
  * const ordered = SignatureEnvelope.sortMultisigApprovals({ // [!code focus]
553
- * account, // [!code focus]
554
- * configId, // [!code focus]
608
+ * genesisConfig, // [!code focus]
555
609
  * payload, // [!code focus]
556
610
  * signatures, // [!code focus]
557
611
  * }) // [!code focus]
@@ -563,15 +617,23 @@ export declare namespace serialize {
563
617
  export declare function sortMultisigApprovals(value: sortMultisigApprovals.Value): readonly SignatureEnvelope[];
564
618
  export declare namespace sortMultisigApprovals {
565
619
  type Value = {
566
- /** The native multisig account address. */
567
- account: Address.Address;
568
- /** The permanent config ID. */
569
- configId: Hex.Hex;
570
620
  /** The inner transaction sign payload (`tx.signature_hash()`). */
571
621
  payload: Hex.Hex | Bytes.Bytes;
572
622
  /** The primitive owner approvals to order. */
573
623
  signatures: readonly SignatureEnvelope[];
574
- };
624
+ } & OneOf<{
625
+ /** The native multisig account address. */
626
+ account: Address.Address;
627
+ /** The permanent config ID. */
628
+ genesisConfigId: Hex.Hex;
629
+ } | {
630
+ /**
631
+ * The initial multisig config (the bootstrap config that derived the
632
+ * permanent `account` and `genesisConfigId`). Used to derive both values
633
+ * automatically.
634
+ */
635
+ genesisConfig: MultisigConfig.Config;
636
+ }>;
575
637
  type ErrorType = MultisigConfig.getSignPayload.ErrorType | extractAddress.ErrorType | Errors.GlobalErrorType;
576
638
  }
577
639
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ export * as KeyAuthorization from './KeyAuthorization.js';
112
112
  * ```ts twoslash
113
113
  * import { MultisigConfig } from 'ox/tempo'
114
114
  *
115
- * const config = MultisigConfig.from({
115
+ * const genesisConfig = MultisigConfig.from({
116
116
  * threshold: 2,
117
117
  * owners: [
118
118
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
@@ -120,7 +120,7 @@ export * as KeyAuthorization from './KeyAuthorization.js';
120
120
  * ],
121
121
  * })
122
122
  *
123
- * const account = MultisigConfig.getAddress({ config })
123
+ * const account = MultisigConfig.getAddress(genesisConfig)
124
124
  * ```
125
125
  *
126
126
  * @category Reference
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.14.28";
2
+ export declare const version = "0.14.29";
3
3
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ox",
3
3
  "description": "Ethereum Standard Library",
4
- "version": "0.14.28",
4
+ "version": "0.14.29",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -30,7 +30,7 @@ describe('from', () => {
30
30
  })
31
31
  })
32
32
 
33
- describe('configId', () => {
33
+ describe('genesisConfigId', () => {
34
34
  test('matches independent ground truth', () => {
35
35
  expect(MultisigConfig.toId(singleOwnerConfig)).toMatchInlineSnapshot(
36
36
  `"0xd1f20e1a5bfdd89488f57f68db5bd1aae9a51b510f4a042b2604b57a0b7b471d"`,
@@ -64,15 +64,15 @@ describe('configId', () => {
64
64
 
65
65
  describe('getAddress', () => {
66
66
  test('matches independent ground truth', () => {
67
- expect(
68
- MultisigConfig.getAddress({ config: singleOwnerConfig }),
69
- ).toMatchInlineSnapshot(`"0x6ca655065b1de473d903eebd50e5cb4996e10468"`)
67
+ expect(MultisigConfig.getAddress(singleOwnerConfig)).toMatchInlineSnapshot(
68
+ `"0x6ca655065b1de473d903eebd50e5cb4996e10468"`,
69
+ )
70
70
  })
71
71
 
72
- test('derives from config or configId identically', () => {
73
- const configId = MultisigConfig.toId(singleOwnerConfig)
74
- expect(MultisigConfig.getAddress({ configId })).toBe(
75
- MultisigConfig.getAddress({ config: singleOwnerConfig }),
72
+ test('derives from positional config or `{ genesisConfigId }` identically', () => {
73
+ const genesisConfigId = MultisigConfig.toId(singleOwnerConfig)
74
+ expect(MultisigConfig.getAddress({ genesisConfigId })).toBe(
75
+ MultisigConfig.getAddress(singleOwnerConfig),
76
76
  )
77
77
  })
78
78
 
@@ -86,18 +86,27 @@ describe('getAddress', () => {
86
86
 
87
87
  describe('getSignPayload', () => {
88
88
  test('matches independent ground truth', () => {
89
- const configId = MultisigConfig.toId(singleOwnerConfig)
90
- const account = MultisigConfig.getAddress({ configId })
91
89
  expect(
92
90
  MultisigConfig.getSignPayload({
93
91
  payload: `0x${'42'.repeat(32)}`,
94
- account,
95
- configId,
92
+ genesisConfig: singleOwnerConfig,
96
93
  }),
97
94
  ).toMatchInlineSnapshot(
98
95
  `"0xe3d66f6118b89a67c71c8137c46abf0c829056a46ee6a038a1b42c84529fc17e"`,
99
96
  )
100
97
  })
98
+
99
+ test('behavior: `genesisConfig` and `{account, genesisConfigId}` produce identical digests', () => {
100
+ const genesisConfigId = MultisigConfig.toId(singleOwnerConfig)
101
+ const account = MultisigConfig.getAddress({ genesisConfigId })
102
+ const payload = `0x${'42'.repeat(32)}` as const
103
+ expect(
104
+ MultisigConfig.getSignPayload({
105
+ payload,
106
+ genesisConfig: singleOwnerConfig,
107
+ }),
108
+ ).toBe(MultisigConfig.getSignPayload({ payload, account, genesisConfigId }))
109
+ })
101
110
  })
102
111
 
103
112
  describe('toTuple / fromTuple', () => {
@@ -3,7 +3,7 @@ import type * as Bytes from '../core/Bytes.js'
3
3
  import * as Errors from '../core/Errors.js'
4
4
  import * as Hash from '../core/Hash.js'
5
5
  import * as Hex from '../core/Hex.js'
6
- import type { Compute } from '../core/internal/types.js'
6
+ import type { Compute, OneOf } from '../core/internal/types.js'
7
7
 
8
8
  /** Maximum number of owners allowed in a native multisig config. */
9
9
  export const maxOwners = 10
@@ -203,27 +203,53 @@ export function fromTuple(tuple: Tuple): Config {
203
203
  * ```ts twoslash
204
204
  * import { MultisigConfig } from 'ox/tempo'
205
205
  *
206
- * const config = MultisigConfig.from({
206
+ * const genesisConfig = MultisigConfig.from({
207
207
  * threshold: 1,
208
208
  * owners: [
209
209
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
210
210
  * ],
211
211
  * })
212
212
  *
213
- * const address = MultisigConfig.getAddress({ config })
213
+ * const address = MultisigConfig.getAddress(genesisConfig)
214
+ * ```
215
+ *
216
+ * @example
217
+ * ### From an genesis config ID
218
+ *
219
+ * If you already have the permanent `genesisConfigId`, pass it directly:
220
+ *
221
+ * ```ts twoslash
222
+ * import { MultisigConfig } from 'ox/tempo'
223
+ *
224
+ * const genesisConfigId =
225
+ * `0x${'00'.repeat(32)}` as const
226
+ *
227
+ * const address = MultisigConfig.getAddress({ genesisConfigId })
214
228
  * ```
215
229
  *
216
- * @param value - The config or config ID to derive the address from.
230
+ * @param value - The genesis config (positional) or `{ genesisConfigId }`.
217
231
  * @returns The multisig account address.
218
232
  */
219
233
  export function getAddress(value: getAddress.Value): Address.Address {
220
- const id = 'configId' in value ? value.configId : toId(value.config)
234
+ const id =
235
+ typeof value === 'object' && 'genesisConfigId' in value
236
+ ? value.genesisConfigId
237
+ : toId(value)
221
238
  const hash = Hash.keccak256(Hex.concat(Hex.fromString(accountDomain), id))
222
239
  return Address.from(Hex.slice(hash, 12, 32))
223
240
  }
224
241
 
225
242
  export declare namespace getAddress {
226
- type Value = { config: Config } | { configId: Hex.Hex }
243
+ type Value =
244
+ | Config
245
+ | {
246
+ /**
247
+ * The permanent genesis config ID (`MultisigConfig.toId(genesisConfig)`).
248
+ * Config updates never change this value, so it identifies the
249
+ * account permanently.
250
+ */
251
+ genesisConfigId: Hex.Hex
252
+ }
227
253
 
228
254
  type ErrorType =
229
255
  | toId.ErrorType
@@ -241,18 +267,21 @@ export declare namespace getAddress {
241
267
  * where `inner_digest` is the transaction sign payload
242
268
  * ({@link ox#TxEnvelopeTempo.(getSignPayload:function)}).
243
269
  *
270
+ * The digest is always keyed on the permanent `account`/`genesisConfigId`
271
+ * derived from the genesis (bootstrap) config — config updates never change
272
+ * these values, so the genesis config is the correct input even for
273
+ * post-update transactions.
274
+ *
244
275
  * @example
245
276
  * ```ts twoslash
246
277
  * import { MultisigConfig, TxEnvelopeTempo } from 'ox/tempo'
247
278
  *
248
- * const config = MultisigConfig.from({
279
+ * const genesisConfig = MultisigConfig.from({
249
280
  * threshold: 1,
250
281
  * owners: [
251
282
  * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
252
283
  * ],
253
284
  * })
254
- * const configId = MultisigConfig.toId(config)
255
- * const account = MultisigConfig.getAddress({ configId })
256
285
  *
257
286
  * const envelope = TxEnvelopeTempo.from({
258
287
  * chainId: 1,
@@ -261,8 +290,34 @@ export declare namespace getAddress {
261
290
  *
262
291
  * const digest = MultisigConfig.getSignPayload({
263
292
  * payload: TxEnvelopeTempo.getSignPayload(envelope),
293
+ * genesisConfig,
294
+ * })
295
+ * ```
296
+ *
297
+ * @example
298
+ * ### From `account` + `genesisConfigId`
299
+ *
300
+ * If you already have the permanent `account` and `genesisConfigId` (for
301
+ * example, recovered from a stored envelope), pass them directly:
302
+ *
303
+ * ```ts twoslash
304
+ * import { MultisigConfig, TxEnvelopeTempo } from 'ox/tempo'
305
+ *
306
+ * const genesisConfig = MultisigConfig.from({
307
+ * threshold: 1,
308
+ * owners: [
309
+ * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
310
+ * ],
311
+ * })
312
+ * const genesisConfigId = MultisigConfig.toId(genesisConfig)
313
+ * const account = MultisigConfig.getAddress(genesisConfig)
314
+ *
315
+ * const envelope = TxEnvelopeTempo.from({ chainId: 1, calls: [] })
316
+ *
317
+ * const digest = MultisigConfig.getSignPayload({
318
+ * payload: TxEnvelopeTempo.getSignPayload(envelope),
264
319
  * account,
265
- * configId,
320
+ * genesisConfigId,
266
321
  * })
267
322
  * ```
268
323
  *
@@ -270,13 +325,21 @@ export declare namespace getAddress {
270
325
  * @returns The owner approval digest.
271
326
  */
272
327
  export function getSignPayload(value: getSignPayload.Value): Hex.Hex {
273
- const { payload, account, configId } = value
328
+ const { payload } = value
329
+ const account =
330
+ 'account' in value && value.account
331
+ ? value.account
332
+ : getAddress((value as { genesisConfig: Config }).genesisConfig)
333
+ const genesisConfigId =
334
+ 'genesisConfigId' in value && value.genesisConfigId
335
+ ? value.genesisConfigId
336
+ : toId((value as { genesisConfig: Config }).genesisConfig)
274
337
  return Hash.keccak256(
275
338
  Hex.concat(
276
339
  Hex.fromString(signatureDomain),
277
340
  Hex.from(payload),
278
341
  account,
279
- configId,
342
+ genesisConfigId,
280
343
  ),
281
344
  )
282
345
  }
@@ -285,13 +348,28 @@ export declare namespace getSignPayload {
285
348
  type Value = {
286
349
  /** The inner transaction sign payload (`tx.signature_hash()`). */
287
350
  payload: Hex.Hex | Bytes.Bytes
288
- /** The native multisig account address. */
289
- account: Address.Address
290
- /** The permanent config ID. */
291
- configId: Hex.Hex
292
- }
351
+ } & OneOf<
352
+ | {
353
+ /** The native multisig account address. */
354
+ account: Address.Address
355
+ /** The permanent config ID. */
356
+ genesisConfigId: Hex.Hex
357
+ }
358
+ | {
359
+ /**
360
+ * The initial multisig config (the bootstrap config that derived the
361
+ * permanent `account` and `genesisConfigId`). Used to derive both values
362
+ * automatically. Config updates never change `account`/`genesisConfigId`,
363
+ * so the genesis config is also the correct input for post-update
364
+ * transactions.
365
+ */
366
+ genesisConfig: Config
367
+ }
368
+ >
293
369
 
294
370
  type ErrorType =
371
+ | getAddress.ErrorType
372
+ | toId.ErrorType
295
373
  | Hash.keccak256.ErrorType
296
374
  | Hex.concat.ErrorType
297
375
  | Hex.from.ErrorType
@@ -316,7 +394,7 @@ export declare namespace getSignPayload {
316
394
  * ],
317
395
  * })
318
396
  *
319
- * const configId = MultisigConfig.toId(config)
397
+ * const genesisConfigId = MultisigConfig.toId(config)
320
398
  * ```
321
399
  *
322
400
  * @param config - The multisig config.