ox 0.14.44 → 0.14.45

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 (66) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/tempo/KeyAuthorization.js +43 -10
  3. package/_cjs/tempo/KeyAuthorization.js.map +1 -1
  4. package/_cjs/tempo/MultisigConfig.js +33 -11
  5. package/_cjs/tempo/MultisigConfig.js.map +1 -1
  6. package/_cjs/tempo/MultisigOperation.js +18 -94
  7. package/_cjs/tempo/MultisigOperation.js.map +1 -1
  8. package/_cjs/tempo/MultisigSimulation.js +18 -46
  9. package/_cjs/tempo/MultisigSimulation.js.map +1 -1
  10. package/_cjs/tempo/SignatureEnvelope.js +72 -109
  11. package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
  12. package/_cjs/tempo/TransactionRequest.js +5 -1
  13. package/_cjs/tempo/TransactionRequest.js.map +1 -1
  14. package/_cjs/tempo/index.js.map +1 -1
  15. package/_cjs/version.js +1 -1
  16. package/_esm/tempo/KeyAuthorization.js +42 -9
  17. package/_esm/tempo/KeyAuthorization.js.map +1 -1
  18. package/_esm/tempo/MultisigConfig.js +41 -22
  19. package/_esm/tempo/MultisigConfig.js.map +1 -1
  20. package/_esm/tempo/MultisigOperation.js +20 -100
  21. package/_esm/tempo/MultisigOperation.js.map +1 -1
  22. package/_esm/tempo/MultisigSimulation.js +18 -46
  23. package/_esm/tempo/MultisigSimulation.js.map +1 -1
  24. package/_esm/tempo/SignatureEnvelope.js +107 -169
  25. package/_esm/tempo/SignatureEnvelope.js.map +1 -1
  26. package/_esm/tempo/TransactionRequest.js +5 -1
  27. package/_esm/tempo/TransactionRequest.js.map +1 -1
  28. package/_esm/tempo/index.js +3 -1
  29. package/_esm/tempo/index.js.map +1 -1
  30. package/_esm/version.js +1 -1
  31. package/_types/tempo/KeyAuthorization.d.ts +48 -38
  32. package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
  33. package/_types/tempo/MultisigConfig.d.ts +15 -14
  34. package/_types/tempo/MultisigConfig.d.ts.map +1 -1
  35. package/_types/tempo/MultisigOperation.d.ts +3 -2
  36. package/_types/tempo/MultisigOperation.d.ts.map +1 -1
  37. package/_types/tempo/MultisigSimulation.d.ts +2 -49
  38. package/_types/tempo/MultisigSimulation.d.ts.map +1 -1
  39. package/_types/tempo/SignatureEnvelope.d.ts +69 -128
  40. package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
  41. package/_types/tempo/TransactionRequest.d.ts +5 -2
  42. package/_types/tempo/TransactionRequest.d.ts.map +1 -1
  43. package/_types/tempo/index.d.ts +3 -1
  44. package/_types/tempo/index.d.ts.map +1 -1
  45. package/_types/version.d.ts +1 -1
  46. package/package.json +1 -1
  47. package/tempo/AuthorizationTempo.test.ts +8 -4
  48. package/tempo/KeyAuthorization.test-d.ts +68 -33
  49. package/tempo/KeyAuthorization.test.ts +89 -8
  50. package/tempo/KeyAuthorization.ts +124 -61
  51. package/tempo/MultisigConfig.test.ts +34 -26
  52. package/tempo/MultisigConfig.ts +54 -24
  53. package/tempo/MultisigOperation.test.ts +79 -550
  54. package/tempo/MultisigOperation.ts +31 -146
  55. package/tempo/MultisigSimulation.test-d.ts +2 -2
  56. package/tempo/MultisigSimulation.test.ts +21 -110
  57. package/tempo/MultisigSimulation.ts +25 -99
  58. package/tempo/SignatureEnvelope.test-d.ts +29 -67
  59. package/tempo/SignatureEnvelope.test.ts +301 -568
  60. package/tempo/SignatureEnvelope.ts +156 -274
  61. package/tempo/TransactionRequest.test-d.ts +6 -5
  62. package/tempo/TransactionRequest.test.ts +17 -80
  63. package/tempo/TransactionRequest.ts +23 -3
  64. package/tempo/index.ts +3 -1
  65. package/tempo/multisig.e2e.test.ts +322 -861
  66. package/version.ts +1 -1
@@ -30,19 +30,19 @@ export declare const magicBytes = "0x7777777777777777777777777777777777777777777
30
30
  export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unknown> = unknown extends envelope ? envelope extends unknown ? Type : never : envelope extends {
31
31
  type: infer T extends Type;
32
32
  } ? T : envelope extends {
33
+ prehash: boolean;
34
+ publicKey: PublicKey.PublicKey;
33
35
  signature: {
34
36
  r: bigint;
35
37
  s: bigint;
36
38
  };
37
- prehash: boolean;
38
- publicKey: PublicKey.PublicKey;
39
39
  } ? 'p256' : envelope extends {
40
+ metadata: any;
41
+ publicKey: PublicKey.PublicKey;
40
42
  signature: {
41
43
  r: bigint;
42
44
  s: bigint;
43
45
  };
44
- metadata: any;
45
- publicKey: PublicKey.PublicKey;
46
46
  } ? 'webAuthn' : envelope extends {
47
47
  r: bigint;
48
48
  s: bigint;
@@ -56,7 +56,8 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
56
56
  } ? 'secp256k1' : envelope extends {
57
57
  userAddress: Address.Address;
58
58
  } ? 'keychain' : envelope extends {
59
- config: unknown;
59
+ account: Address.Address;
60
+ config: MultisigConfig.Input;
60
61
  signatures: any;
61
62
  } ? 'multisig' : never;
62
63
  /**
@@ -82,7 +83,7 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
82
83
  *
83
84
  * [Signature Types Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
84
85
  */
85
- export type SignatureEnvelope<bigintType = bigint, numberType = number> = EnvelopeOneOf<Secp256k1<bigintType, numberType> | P256<bigintType, numberType> | WebAuthn<bigintType, numberType> | Keychain<bigintType, numberType>, SignatureEnvelopeKey> | MultisigOneOf<bigintType, numberType>;
86
+ export type SignatureEnvelope<bigintType = bigint, numberType = number> = EnvelopeOneOf<Secp256k1<bigintType, numberType> | P256<bigintType, numberType> | WebAuthn<bigintType, numberType> | Keychain<bigintType, numberType>, SignatureEnvelopeKey> | EnvelopeOneOf<Multisig<bigintType, numberType>, SignatureEnvelopeKey>;
86
87
  /**
87
88
  * RPC-formatted signature envelope.
88
89
  */
@@ -100,57 +101,40 @@ export type PrimitiveRpc = OneOf<Secp256k1Rpc | P256Rpc | WebAuthnRpc>;
100
101
  */
101
102
  export type KeychainVersion = 'v1' | 'v2';
102
103
  export type Keychain<bigintType = bigint, numberType = number> = {
103
- /** Root account address that this transaction is being executed for */
104
- userAddress: Address.Address;
105
104
  /** The actual signature from the access key (can be Secp256k1, P256, or WebAuthn) */
106
105
  inner: SignatureEnvelope<bigintType, numberType>;
107
106
  /** The access key address (recovered address of the access key signer). */
108
107
  keyId?: Address.Address | undefined;
109
108
  type: 'keychain';
109
+ /** Root account address that this transaction is being executed for */
110
+ userAddress: Address.Address;
110
111
  /** Keychain signature version. @default 'v1' */
111
112
  version?: KeychainVersion | undefined;
112
113
  };
113
114
  export type KeychainRpc = {
114
- type: 'keychain';
115
- userAddress: Address.Address;
116
115
  keyId?: Address.Address | undefined;
117
116
  signature: SignatureEnvelopeRpc;
117
+ type: 'keychain';
118
+ userAddress: Address.Address;
118
119
  version?: KeychainVersion | undefined;
119
120
  };
120
121
  /**
121
122
  * Native multisig signature (type `0x05`).
122
123
  *
123
- * Wraps a set of owner approvals (secp256k1, p256, webAuthn, or nested
124
- * multisig) over the multisig owner approval digest. The transaction sender is
125
- * the derived `account`, authorized once the recovered owner weights meet the
126
- * configured threshold.
127
- *
128
- * [TIP-1061](https://tips.sh/1061)
124
+ * Carries the account's complete current configuration and primitive owner
125
+ * approvals over its version-bound digest. The node validates the account
126
+ * identity or stored commitment and the owner quorum against chain state.
129
127
  */
130
- export interface Multisig<bigintType = bigint, numberType = number> {
131
- /** Native multisig account address. */
128
+ export type Multisig<bigintType = bigint, numberType = number> = {
129
+ /** Permanent native multisig account address. */
132
130
  account: Address.Address;
133
- /** Complete applicable multisig configuration. */
131
+ /** Complete current configuration, included in every signature. */
134
132
  config: MultisigConfig.Config<bigintType, numberType>;
135
- /**
136
- * Owner approvals over the multisig owner approval digest. Each approval is
137
- * either a primitive signature or a nested multisig signature (keychain
138
- * approvals are invalid).
139
- */
140
- signatures: readonly SignatureEnvelope<bigintType, numberType>[];
133
+ /** Primitive owner approvals in ascending recovered-address order. */
134
+ signatures: readonly Primitive<bigintType, numberType>[];
141
135
  type: 'multisig';
142
- }
143
- type MultisigOneOf<bigintType = bigint, numberType = number> = Multisig<bigintType, numberType> & {
144
- inner?: undefined;
145
- keyId?: undefined;
146
- metadata?: undefined;
147
- prehash?: undefined;
148
- publicKey?: undefined;
149
- signature?: undefined;
150
- userAddress?: undefined;
151
- version?: undefined;
152
136
  };
153
- /** Canonical RLP-encoded native multisig signature without the `0x05` type byte. */
137
+ /** RLP-encoded `[account, config, signatures]`, without the `0x05` type byte. */
154
138
  export type MultisigRpc = Hex.Hex;
155
139
  export type P256<bigintType = bigint, numberType = number> = {
156
140
  prehash: boolean;
@@ -171,16 +155,16 @@ export type Secp256k1<bigintType = bigint, numberType = number> = {
171
155
  type: 'secp256k1';
172
156
  };
173
157
  export type Secp256k1Rpc = Compute<Signature.Rpc<true> & {
174
- v?: Hex.Hex | undefined;
175
158
  type: 'secp256k1';
159
+ v?: Hex.Hex | undefined;
176
160
  }>;
177
161
  export type Secp256k1Flat<bigintType = bigint, numberType = number> = Signature.Signature<true, bigintType, numberType> & {
178
162
  type?: 'secp256k1' | undefined;
179
163
  };
180
164
  export type WebAuthn<bigintType = bigint, numberType = number> = {
181
165
  metadata: Pick<WebAuthnP256.SignMetadata, 'authenticatorData' | 'clientDataJSON'>;
182
- signature: Signature.Signature<false, bigintType, numberType>;
183
166
  publicKey: PublicKey.PublicKey;
167
+ signature: Signature.Signature<false, bigintType, numberType>;
184
168
  type: 'webAuthn';
185
169
  };
186
170
  export type WebAuthnRpc = {
@@ -251,10 +235,10 @@ export declare namespace extractAddress {
251
235
  type Options = {
252
236
  /** The sign payload that was signed (only required for secp256k1 signatures). */
253
237
  payload: Hex.Hex | Bytes.Bytes;
254
- /** The signature envelope. */
255
- signature: SignatureEnvelope;
256
238
  /** Whether to return the root `userAddress` for keychain signatures instead of extracting from the inner signature. */
257
239
  root?: boolean | undefined;
240
+ /** The signature envelope. */
241
+ signature: SignatureEnvelope;
258
242
  };
259
243
  type ReturnType = Address.Address;
260
244
  type ErrorType = Address.fromPublicKey.ErrorType | extractPublicKey.ErrorType | Errors.GlobalErrorType;
@@ -434,25 +418,30 @@ export declare function deserialize(value: Serialized): SignatureEnvelope;
434
418
  * @example
435
419
  * ### Multisig
436
420
  *
437
- * ```ts twoslash
438
- * import { Secp256k1 } from 'ox'
439
- * import { MultisigConfig, SignatureEnvelope } from 'ox/tempo'
440
- *
441
- * const config = MultisigConfig.from({
442
- * owners: [
443
- * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
444
- * ],
445
- * threshold: 1,
446
- * })
421
+ * Include the permanent account and current configuration on every transaction.
447
422
  *
448
- * const privateKey = Secp256k1.randomPrivateKey()
449
- * const signature = SignatureEnvelope.from(
450
- * Secp256k1.sign({ payload: '0xdeadbeef', privateKey }),
451
- * )
423
+ * ```ts twoslash
424
+ * import { SignatureEnvelope } from 'ox/tempo'
452
425
  *
453
- * const multisig = SignatureEnvelope.from({
454
- * config,
455
- * signatures: [signature],
426
+ * const envelope = SignatureEnvelope.from({
427
+ * account: '0x2222222222222222222222222222222222222222',
428
+ * config: {
429
+ * version: 0n,
430
+ * threshold: 1,
431
+ * owners: [
432
+ * {
433
+ * owner: '0x1111111111111111111111111111111111111111',
434
+ * weight: 1
435
+ * }
436
+ * ]
437
+ * },
438
+ * signatures: [
439
+ * SignatureEnvelope.from({
440
+ * r: 1n,
441
+ * s: 2n,
442
+ * yParity: 0
443
+ * })
444
+ * ]
456
445
  * })
457
446
  * ```
458
447
  *
@@ -465,26 +454,15 @@ export declare namespace from {
465
454
  /** Payload that was signed. Used to recover `keyId` for keychain envelopes with secp256k1 inner signatures. */
466
455
  payload?: Hex.Hex | Bytes.Bytes | undefined;
467
456
  };
468
- /** Multisig signature input with an optional derived initial account. */
469
- type MultisigFromConfig = {
470
- /** Initial native multisig account, derived from config when omitted. */
471
- account?: Address.Address | undefined;
472
- /** Initial version-0 multisig configuration. */
473
- config: MultisigConfig.Input<0 | 0n>;
474
- /** Primitive or nested owner approvals. */
475
- signatures: readonly SignatureEnvelope[];
476
- type?: 'multisig' | undefined;
477
- } | {
478
- /** Native multisig account. */
479
- account: Address.Address;
480
- /** Complete applicable multisig configuration. */
457
+ /** Multisig input with an explicit account and a normalizable configuration. */
458
+ type MultisigFromConfig = Omit<Multisig, 'config' | 'type'> & {
481
459
  config: MultisigConfig.Input;
482
- /** Primitive or nested owner approvals. */
483
- signatures: readonly SignatureEnvelope[];
484
460
  type?: 'multisig' | undefined;
485
461
  };
486
- type Value = UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized | MultisigFromConfig;
487
- type ReturnValue<value extends Value> = value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends MultisigFromConfig ? MultisigOneOf : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
462
+ type Value = MultisigFromConfig | UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized;
463
+ type ReturnValue<value extends Value> = value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends MultisigFromConfig ? Extract<SignatureEnvelope, {
464
+ type: 'multisig';
465
+ }> : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
488
466
  readonly type: GetType<value>;
489
467
  } & (GetType<value> extends 'keychain' ? {
490
468
  keyId?: Address.Address | undefined;
@@ -510,7 +488,7 @@ export declare namespace from {
510
488
  */
511
489
  export declare function fromRpc(envelope: SignatureEnvelopeRpc): SignatureEnvelope;
512
490
  export declare namespace fromRpc {
513
- type ErrorType = assert.ErrorType | CoercionError | Hex.concat.ErrorType | Hex.isEqual.ErrorType | InvalidSerializedError | serialize.ErrorType | Signature.fromRpc.ErrorType | Errors.GlobalErrorType;
491
+ type ErrorType = assert.ErrorType | CoercionError | InvalidSerializedError | MultisigConfig.getAddress.ErrorType | Signature.fromRpc.ErrorType | Errors.GlobalErrorType;
514
492
  }
515
493
  /**
516
494
  * Determines the signature type of an envelope.
@@ -569,68 +547,31 @@ export declare namespace serialize {
569
547
  type ErrorType = assert.ErrorType | CoercionError | Hex.concat.ErrorType | Hex.fromNumber.ErrorType | Hex.fromString.ErrorType | Rlp.fromHex.ErrorType | Signature.toHex.ErrorType | Errors.GlobalErrorType;
570
548
  }
571
549
  /**
572
- * Orders native multisig owner approvals into the strictly-ascending
573
- * recovered-owner order the Tempo node requires for the multisig `signatures`
574
- * array (the node enforces "recovered owners must be strictly ascending").
550
+ * Sorts primitive owner approvals by recovered address.
575
551
  *
576
- * Each approval is signed over the multisig owner approval digest
577
- * ({@link ox#MultisigConfig.(getSignPayload:function)}), so the signer of
578
- * every approval is recovered against that digest and the list is sorted by the
579
- * recovered owner address. Works for any owner key type (secp256k1, p256,
580
- * webAuthn).
552
+ * Recovery uses the account and current config version's multisig digest.
553
+ * Duplicate or non-owner approvals must still be rejected by the node.
581
554
  *
582
555
  * @example
583
556
  * ```ts twoslash
584
- * import { Secp256k1 } from 'ox'
585
- * import { MultisigConfig, SignatureEnvelope, TxEnvelopeTempo } from 'ox/tempo'
586
- *
587
- * const config = MultisigConfig.from({
588
- * owners: [
589
- * { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
590
- * { owner: '0x2222222222222222222222222222222222222222', weight: 1 },
591
- * ],
592
- * threshold: 2,
593
- * })
594
- * const account = MultisigConfig.getAddress(config)
595
- *
596
- * const tx = TxEnvelopeTempo.from({ chainId: 1, calls: [] })
597
- * const payload = TxEnvelopeTempo.getSignPayload(tx)
598
- *
599
- * const privateKeys = [
600
- * Secp256k1.randomPrivateKey(),
601
- * Secp256k1.randomPrivateKey(),
602
- * ]
603
- * const digest = MultisigConfig.getSignPayload({
604
- * account,
605
- * config,
606
- * payload,
607
- * })
608
- * const signatures = privateKeys.map((privateKey) =>
609
- * SignatureEnvelope.from(Secp256k1.sign({ payload: digest, privateKey })),
610
- * )
557
+ * import { SignatureEnvelope } from 'ox/tempo'
611
558
  *
612
- * const ordered = SignatureEnvelope.sortMultisigApprovals({ // [!code focus]
613
- * account, // [!code focus]
614
- * config, // [!code focus]
615
- * payload, // [!code focus]
616
- * signatures, // [!code focus]
617
- * }) // [!code focus]
559
+ * const ordered = SignatureEnvelope.sortMultisigApprovals({
560
+ * account: '0x2222222222222222222222222222222222222222',
561
+ * config: { version: 0n },
562
+ * payload: `0x${'ab'.repeat(32)}`,
563
+ * signatures: []
564
+ * })
618
565
  * ```
619
566
  *
620
- * @param value - The approval ordering parameters.
621
- * @returns The owner approvals ordered ascending by recovered owner address.
567
+ * @param value - Account, version, payload, and primitive approvals.
568
+ * @returns The approvals in ascending recovered-address order.
622
569
  */
623
- export declare function sortMultisigApprovals(value: sortMultisigApprovals.Value): readonly SignatureEnvelope[];
570
+ export declare function sortMultisigApprovals(value: sortMultisigApprovals.Value): readonly Primitive[];
624
571
  export declare namespace sortMultisigApprovals {
625
- type Value = {
626
- /** The native multisig account address. */
627
- account: Address.Address;
628
- /** Complete applicable multisig configuration. */
629
- config: MultisigConfig.Input;
630
- /** The inner transaction sign payload (`tx.signature_hash()`). */
631
- payload: Hex.Hex | Bytes.Bytes;
632
- /** The owner approvals to order. */
633
- signatures: readonly SignatureEnvelope[];
572
+ type Value = MultisigConfig.getSignPayload.Value & {
573
+ /** Primitive owner approvals to order. */
574
+ signatures: readonly Primitive[];
634
575
  };
635
576
  type ErrorType = MultisigConfig.getSignPayload.ErrorType | extractAddress.ErrorType | Errors.GlobalErrorType;
636
577
  }
@@ -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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"}
@@ -5,10 +5,11 @@ import * as ox_TransactionRequest from '../core/TransactionRequest.js';
5
5
  import * as AuthorizationTempo from './AuthorizationTempo.js';
6
6
  import * as KeyAuthorization from './KeyAuthorization.js';
7
7
  import * as MultisigSimulation from './MultisigSimulation.js';
8
+ import type * as SignatureEnvelope from './SignatureEnvelope.js';
8
9
  import * as TempoAddress from './TempoAddress.js';
9
10
  import * as TokenId from './TokenId.js';
10
11
  import type { Call } from './TxEnvelopeTempo.js';
11
- type KeyType = 'secp256k1' | 'p256' | 'webAuthn';
12
+ type KeyType = SignatureEnvelope.Type | 'multisig';
12
13
  /**
13
14
  * A Transaction Request that is generic to all transaction types.
14
15
  *
@@ -23,6 +24,7 @@ export type TransactionRequest<bigintType = bigint, numberType = number, type ex
23
24
  feePayer?: boolean | undefined;
24
25
  feeToken?: TokenId.TokenIdOrAddress<addressType> | undefined;
25
26
  keyAuthorization?: KeyAuthorization.KeyAuthorization<true> | undefined;
27
+ keyAuthorizationSimulation?: MultisigSimulation.Spec | undefined;
26
28
  keyData?: Hex.Hex | undefined;
27
29
  keyType?: KeyType | undefined;
28
30
  multisigSimulation?: MultisigSimulation.Spec | undefined;
@@ -31,10 +33,11 @@ export type TransactionRequest<bigintType = bigint, numberType = number, type ex
31
33
  validBefore?: numberType | undefined;
32
34
  }>;
33
35
  /** RPC representation of a {@link ox#TransactionRequest.TransactionRequest}. */
34
- export type Rpc = Omit<TransactionRequest<Hex.Hex, Hex.Hex, string, Hex.Hex>, 'authorizationList' | 'feeToken' | 'keyAuthorization' | 'multisigSimulation'> & {
36
+ export type Rpc = Omit<TransactionRequest<Hex.Hex, Hex.Hex, string, Hex.Hex>, 'authorizationList' | 'feeToken' | 'keyAuthorization' | 'multisigSimulation' | 'keyAuthorizationSimulation'> & {
35
37
  authorizationList?: AuthorizationTempo.ListRpc | undefined;
36
38
  feeToken?: Hex.Hex | undefined;
37
39
  keyAuthorization?: KeyAuthorization.Rpc | undefined;
40
+ keyAuthorizationSimulation?: MultisigSimulation.Rpc | undefined;
38
41
  multisigSimulation?: MultisigSimulation.Rpc | undefined;
39
42
  nonceKey?: Hex.Hex | undefined;
40
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionRequest.d.ts","sourceRoot":"","sources":["../../tempo/TransactionRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransactionRequest.d.ts","sourceRoot":"","sources":["../../tempo/TransactionRequest.ts"],"names":[],"mappings":"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"}
@@ -142,7 +142,9 @@ export * as KeyAuthorization from './KeyAuthorization.js';
142
142
  * ],
143
143
  * })
144
144
  *
145
- * const account = MultisigConfig.getAddress(initialConfig)
145
+ * const account = MultisigConfig.getAddress(initialConfig, {
146
+ * factory: '0x7171717171717171717171717171717171717171'
147
+ * })
146
148
  * ```
147
149
  *
148
150
  * @category Reference
@@ -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;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;GAOG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;GAOG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AACjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,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;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;GAOG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;GAOG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AACjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;AACvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
@@ -1,3 +1,3 @@
1
1
  /** @internal */
2
- export declare const version = "0.14.44";
2
+ export declare const version = "0.14.45";
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.44",
4
+ "version": "0.14.45",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -326,7 +326,8 @@ describe('fromRpc', () => {
326
326
  type: 'p256',
327
327
  },
328
328
  })
329
- if (typeof result.signature === 'string') throw new Error('unreachable')
329
+ if (typeof result.signature === 'string')
330
+ throw new Error('Expected structured primitive signature')
330
331
  expect(result.signature.type).toBe('p256')
331
332
  expect(result.signature).toHaveProperty('prehash', true)
332
333
  expect(result.signature).toHaveProperty('publicKey')
@@ -349,7 +350,8 @@ describe('fromRpc', () => {
349
350
  '0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d976305000000007b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22222c226f726967696e223a2268747470733a2f2f6578616d706c652e636f6d222c2263726f73734f726967696e223a66616c73657d',
350
351
  },
351
352
  })
352
- if (typeof result.signature === 'string') throw new Error('unreachable')
353
+ if (typeof result.signature === 'string')
354
+ throw new Error('Expected structured primitive signature')
353
355
  expect(result.signature.type).toBe('webAuthn')
354
356
  expect(result.signature).toHaveProperty('metadata')
355
357
  expect(result.signature).toHaveProperty('publicKey')
@@ -951,7 +953,8 @@ describe('toRpc', () => {
951
953
  type: 'p256',
952
954
  },
953
955
  })
954
- if (typeof result.signature === 'string') throw new Error('unreachable')
956
+ if (typeof result.signature === 'string')
957
+ throw new Error('Expected structured primitive signature')
955
958
  expect(result.signature.type).toBe('p256')
956
959
  })
957
960
 
@@ -973,7 +976,8 @@ describe('toRpc', () => {
973
976
  type: 'webAuthn',
974
977
  },
975
978
  })
976
- if (typeof result.signature === 'string') throw new Error('unreachable')
979
+ if (typeof result.signature === 'string')
980
+ throw new Error('Expected structured primitive signature')
977
981
  expect(result.signature.type).toBe('webAuthn')
978
982
  })
979
983
  })
@@ -1,7 +1,7 @@
1
1
  import { expectTypeOf, test } from 'vitest'
2
2
  import * as KeyAuthorization from './KeyAuthorization.js'
3
- import * as MultisigConfig from './MultisigConfig.js'
4
3
  import type * as SignatureEnvelope from './SignatureEnvelope.js'
4
+ import * as TempoAddress from './TempoAddress.js'
5
5
 
6
6
  const authorization = {
7
7
  address: '0x1111111111111111111111111111111111111111',
@@ -20,26 +20,18 @@ const signature = {
20
20
 
21
21
  const multisig = {
22
22
  account: '0x2222222222222222222222222222222222222222',
23
- config: MultisigConfig.from({
23
+ config: {
24
+ salt: `0x${'00'.repeat(32)}`,
25
+ version: 0n,
26
+ threshold: 1,
24
27
  owners: [
25
- {
26
- owner: '0x1111111111111111111111111111111111111111',
27
- weight: 1,
28
- },
28
+ { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
29
29
  ],
30
- threshold: 1,
31
- version: 1n,
32
- }),
30
+ },
33
31
  signatures: [signature],
34
32
  type: 'multisig',
35
33
  } as const satisfies SignatureEnvelope.Multisig
36
34
 
37
- const keychain = {
38
- inner: signature,
39
- type: 'keychain',
40
- userAddress: authorization.address,
41
- } as const satisfies SignatureEnvelope.Keychain
42
-
43
35
  test('accepts primitive signatures', () => {
44
36
  const signed = KeyAuthorization.from(authorization, { signature })
45
37
 
@@ -48,27 +40,56 @@ test('accepts primitive signatures', () => {
48
40
  >()
49
41
  })
50
42
 
51
- test('accepts multisig signatures', () => {
52
- const signed = KeyAuthorization.from(authorization, { signature: multisig })
53
-
54
- expectTypeOf(signed.signature).toMatchTypeOf<
55
- KeyAuthorization.Signed['signature']
56
- >()
57
-
58
- const multisigRpc = '0xf8' as const satisfies SignatureEnvelope.MultisigRpc
59
-
60
- const rpc: KeyAuthorization.Rpc = {
61
- chainId: '0x1',
62
- expiry: null,
63
- keyId: authorization.address,
64
- keyType: authorization.type,
65
- signature: multisigRpc,
66
- }
43
+ test('accepts multisig signatures and account-bound grants', () => {
44
+ const signed = KeyAuthorization.from(
45
+ { ...authorization, account: multisig.account, type: 'multisig' },
46
+ { signature: multisig },
47
+ )
48
+ expectTypeOf(signed).toMatchTypeOf<KeyAuthorization.Signed>()
49
+ expectTypeOf(
50
+ KeyAuthorization.toRpc(signed),
51
+ ).toMatchTypeOf<KeyAuthorization.Rpc>()
52
+ })
67
53
 
68
- expectTypeOf(rpc).toEqualTypeOf<KeyAuthorization.Rpc>()
54
+ test('requires an account for multisig grants', () => {
55
+ type Multisig = Extract<KeyAuthorization.Input, { type: 'multisig' }>
56
+ expectTypeOf<Multisig['account']>().toEqualTypeOf<TempoAddress.Address>()
57
+ expectTypeOf<
58
+ Extract<KeyAuthorization.Signed, { type: 'multisig' }>['account']
59
+ >().toEqualTypeOf<`0x${string}`>()
60
+ expectTypeOf<
61
+ Omit<Extract<KeyAuthorization.Rpc, { keyType: 'multisig' }>, 'account'>
62
+ >().not.toExtend<KeyAuthorization.Rpc>()
63
+ expectTypeOf<{
64
+ address: `0x${string}`
65
+ chainId: bigint
66
+ type: 'multisig'
67
+ }>().not.toExtend<KeyAuthorization.Input>()
68
+ expectTypeOf<{
69
+ account: undefined
70
+ address: `0x${string}`
71
+ chainId: bigint
72
+ type: 'multisig'
73
+ }>().not.toExtend<KeyAuthorization.Input>()
74
+ expectTypeOf<{
75
+ account: null
76
+ chainId: '0x1'
77
+ expiry: null
78
+ keyId: `0x${string}`
79
+ keyType: 'multisig'
80
+ signature: KeyAuthorization.SignatureRpc
81
+ }>().not.toExtend<KeyAuthorization.Rpc>()
82
+ expectTypeOf<
83
+ Extract<KeyAuthorization.Rpc, { keyType: 'multisig' }>['account']
84
+ >().toEqualTypeOf<`0x${string}`>()
69
85
  })
70
86
 
71
87
  test('rejects keychain signatures', () => {
88
+ const keychain = {
89
+ inner: signature,
90
+ type: 'keychain',
91
+ userAddress: authorization.address,
92
+ } as const
72
93
  KeyAuthorization.from(authorization, {
73
94
  // @ts-expect-error Key authorizations do not accept keychain signatures.
74
95
  signature: keychain,
@@ -94,5 +115,19 @@ test('rejects keychain signatures', () => {
94
115
  signature: keychainRpc,
95
116
  }
96
117
 
97
- expectTypeOf(rpc).toEqualTypeOf<KeyAuthorization.Rpc>()
118
+ expectTypeOf(rpc).toMatchTypeOf<KeyAuthorization.Rpc>()
119
+ })
120
+
121
+ test('resolves Tempo address bindings for multisig grants', () => {
122
+ const signed = KeyAuthorization.from(
123
+ {
124
+ account: TempoAddress.format(authorization.address),
125
+ address: TempoAddress.format(authorization.address),
126
+ chainId: 1n,
127
+ type: 'multisig',
128
+ },
129
+ { signature },
130
+ )
131
+ expectTypeOf(signed.account).toMatchTypeOf<`0x${string}`>()
132
+ expectTypeOf(signed.address).toMatchTypeOf<`0x${string}`>()
98
133
  })