ox 1.8.5 → 1.8.7

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 (137) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/tempo/{MultisigConfig.d.ts → AccountConfig.d.ts} +116 -63
  3. package/dist/tempo/AccountConfig.d.ts.map +1 -0
  4. package/dist/tempo/{MultisigConfig.js → AccountConfig.js} +109 -55
  5. package/dist/tempo/AccountConfig.js.map +1 -0
  6. package/dist/tempo/{MultisigOperation.d.ts → AccountOperation.d.ts} +62 -62
  7. package/dist/tempo/AccountOperation.d.ts.map +1 -0
  8. package/dist/tempo/{MultisigOperation.js → AccountOperation.js} +64 -64
  9. package/dist/tempo/AccountOperation.js.map +1 -0
  10. package/dist/tempo/{MultisigSimulation.d.ts → AccountSimulation.d.ts} +21 -21
  11. package/dist/tempo/AccountSimulation.d.ts.map +1 -0
  12. package/dist/tempo/{MultisigSimulation.js → AccountSimulation.js} +20 -20
  13. package/dist/tempo/AccountSimulation.js.map +1 -0
  14. package/dist/tempo/KeyAuthorization.d.ts +37 -27
  15. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  16. package/dist/tempo/KeyAuthorization.js +17 -19
  17. package/dist/tempo/KeyAuthorization.js.map +1 -1
  18. package/dist/tempo/RpcSchemaTempo.d.ts +13 -13
  19. package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -1
  20. package/dist/tempo/SignatureEnvelope.d.ts +36 -33
  21. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
  22. package/dist/tempo/SignatureEnvelope.js +77 -77
  23. package/dist/tempo/SignatureEnvelope.js.map +1 -1
  24. package/dist/tempo/TokenRole.d.ts +4 -2
  25. package/dist/tempo/TokenRole.d.ts.map +1 -1
  26. package/dist/tempo/TokenRole.js +4 -1
  27. package/dist/tempo/TokenRole.js.map +1 -1
  28. package/dist/tempo/TransactionRequest.d.ts +11 -9
  29. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  30. package/dist/tempo/TransactionRequest.js +14 -10
  31. package/dist/tempo/TransactionRequest.js.map +1 -1
  32. package/dist/tempo/index.d.ts +56 -54
  33. package/dist/tempo/index.d.ts.map +1 -1
  34. package/dist/tempo/index.js +56 -54
  35. package/dist/tempo/index.js.map +1 -1
  36. package/dist/zod/tempo/{MultisigConfig.d.ts → AccountConfig.d.ts} +6 -6
  37. package/dist/zod/tempo/AccountConfig.d.ts.map +1 -0
  38. package/dist/zod/tempo/{MultisigConfig.js → AccountConfig.js} +12 -12
  39. package/dist/zod/tempo/AccountConfig.js.map +1 -0
  40. package/dist/zod/tempo/{MultisigOperation.d.ts → AccountOperation.d.ts} +5 -5
  41. package/dist/zod/tempo/AccountOperation.d.ts.map +1 -0
  42. package/dist/zod/tempo/{MultisigOperation.js → AccountOperation.js} +10 -10
  43. package/dist/zod/tempo/AccountOperation.js.map +1 -0
  44. package/dist/zod/tempo/{MultisigSimulation.d.ts → AccountSimulation.d.ts} +5 -5
  45. package/dist/zod/tempo/AccountSimulation.d.ts.map +1 -0
  46. package/dist/zod/tempo/AccountSimulation.js +44 -0
  47. package/dist/zod/tempo/AccountSimulation.js.map +1 -0
  48. package/dist/zod/tempo/AuthorizationTempo.d.ts +10 -10
  49. package/dist/zod/tempo/KeyAuthorization.d.ts +12 -12
  50. package/dist/zod/tempo/KeyAuthorization.js +6 -6
  51. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  52. package/dist/zod/tempo/RpcSchemaTempo.d.ts +59 -59
  53. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  54. package/dist/zod/tempo/RpcSchemaTempo.js +28 -28
  55. package/dist/zod/tempo/RpcSchemaTempo.js.map +1 -1
  56. package/dist/zod/tempo/SignatureEnvelope.d.ts +7 -7
  57. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  58. package/dist/zod/tempo/SignatureEnvelope.js +22 -16
  59. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  60. package/dist/zod/tempo/TokenRole.d.ts +1 -1
  61. package/dist/zod/tempo/TokenRole.d.ts.map +1 -1
  62. package/dist/zod/tempo/Transaction.d.ts +24 -24
  63. package/dist/zod/tempo/TransactionRequest.d.ts +84 -84
  64. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  65. package/dist/zod/tempo/TransactionRequest.js +26 -17
  66. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  67. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +12 -12
  68. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +3 -3
  69. package/dist/zod/tempo/z.d.ts +3 -3
  70. package/dist/zod/tempo/z.d.ts.map +1 -1
  71. package/dist/zod/tempo/z.js +3 -3
  72. package/dist/zod/tempo/z.js.map +1 -1
  73. package/package.json +31 -31
  74. package/src/tempo/{MultisigConfig.test-d.ts → AccountConfig.test-d.ts} +22 -12
  75. package/src/tempo/{MultisigConfig.test.ts → AccountConfig.test.ts} +155 -37
  76. package/src/tempo/{MultisigConfig.ts → AccountConfig.ts} +138 -66
  77. package/src/tempo/AccountOperation.test-d.ts +79 -0
  78. package/src/tempo/{MultisigOperation.test.ts → AccountOperation.test.ts} +97 -97
  79. package/src/tempo/{MultisigOperation.ts → AccountOperation.ts} +95 -97
  80. package/src/tempo/{MultisigSimulation.test-d.ts → AccountSimulation.test-d.ts} +7 -9
  81. package/src/tempo/{MultisigSimulation.test.ts → AccountSimulation.test.ts} +28 -28
  82. package/src/tempo/{MultisigSimulation.ts → AccountSimulation.ts} +28 -30
  83. package/src/tempo/KeyAuthorization.test-d.ts +15 -6
  84. package/src/tempo/KeyAuthorization.test.ts +117 -37
  85. package/src/tempo/KeyAuthorization.ts +68 -59
  86. package/src/tempo/RpcSchemaTempo.test-d.ts +19 -19
  87. package/src/tempo/RpcSchemaTempo.ts +13 -13
  88. package/src/tempo/SignatureEnvelope.test-d.ts +7 -7
  89. package/src/tempo/SignatureEnvelope.test.ts +34 -34
  90. package/src/tempo/SignatureEnvelope.ts +112 -108
  91. package/src/tempo/TokenRole.ts +4 -1
  92. package/src/tempo/Transaction.test.ts +4 -4
  93. package/src/tempo/TransactionRequest.test-d.ts +17 -6
  94. package/src/tempo/TransactionRequest.test.ts +32 -17
  95. package/src/tempo/TransactionRequest.ts +27 -19
  96. package/src/tempo/{multisig.e2e.test.ts → configurableAccounts.e2e.test.ts} +16 -16
  97. package/src/tempo/e2e.test.ts +32 -20
  98. package/src/tempo/index.ts +56 -54
  99. package/src/version.ts +1 -1
  100. package/src/zod/tempo/{MultisigConfig.ts → AccountConfig.ts} +12 -12
  101. package/src/zod/tempo/{MultisigOperation.ts → AccountOperation.ts} +9 -9
  102. package/src/zod/tempo/AccountSimulation.ts +53 -0
  103. package/src/zod/tempo/KeyAuthorization.ts +8 -8
  104. package/src/zod/tempo/RpcSchemaTempo.ts +28 -28
  105. package/src/zod/tempo/SignatureEnvelope.ts +23 -17
  106. package/src/zod/tempo/TransactionRequest.ts +29 -18
  107. package/src/zod/tempo/_test/AccountConfig.test-d.ts +13 -0
  108. package/src/zod/tempo/_test/{MultisigConfig.test.ts → AccountConfig.test.ts} +7 -7
  109. package/src/zod/tempo/_test/AccountOperation.test-d.ts +27 -0
  110. package/src/zod/tempo/_test/{MultisigOperation.test.ts → AccountOperation.test.ts} +9 -9
  111. package/src/zod/tempo/_test/AccountSimulation.test-d.ts +13 -0
  112. package/src/zod/tempo/_test/{MultisigSimulation.test.ts → AccountSimulation.test.ts} +13 -13
  113. package/src/zod/tempo/_test/KeyAuthorization.test.ts +9 -9
  114. package/src/zod/tempo/_test/RpcSchemaTempo.test-d.ts +27 -27
  115. package/src/zod/tempo/_test/RpcSchemaTempo.test.ts +16 -18
  116. package/src/zod/tempo/_test/SignatureEnvelope.test-d.ts +5 -5
  117. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +12 -9
  118. package/src/zod/tempo/_test/TransactionRequest.test.ts +28 -8
  119. package/src/zod/tempo/z.ts +3 -3
  120. package/dist/tempo/MultisigConfig.d.ts.map +0 -1
  121. package/dist/tempo/MultisigConfig.js.map +0 -1
  122. package/dist/tempo/MultisigOperation.d.ts.map +0 -1
  123. package/dist/tempo/MultisigOperation.js.map +0 -1
  124. package/dist/tempo/MultisigSimulation.d.ts.map +0 -1
  125. package/dist/tempo/MultisigSimulation.js.map +0 -1
  126. package/dist/zod/tempo/MultisigConfig.d.ts.map +0 -1
  127. package/dist/zod/tempo/MultisigConfig.js.map +0 -1
  128. package/dist/zod/tempo/MultisigOperation.d.ts.map +0 -1
  129. package/dist/zod/tempo/MultisigOperation.js.map +0 -1
  130. package/dist/zod/tempo/MultisigSimulation.d.ts.map +0 -1
  131. package/dist/zod/tempo/MultisigSimulation.js +0 -44
  132. package/dist/zod/tempo/MultisigSimulation.js.map +0 -1
  133. package/src/tempo/MultisigOperation.test-d.ts +0 -79
  134. package/src/zod/tempo/MultisigSimulation.ts +0 -53
  135. package/src/zod/tempo/_test/MultisigConfig.test-d.ts +0 -13
  136. package/src/zod/tempo/_test/MultisigOperation.test-d.ts +0 -27
  137. package/src/zod/tempo/_test/MultisigSimulation.test-d.ts +0 -13
@@ -8,7 +8,7 @@ import * as Rlp from '../core/Rlp.js';
8
8
  import * as ox_Secp256k1 from '../core/Secp256k1.js';
9
9
  import * as Signature from '../core/Signature.js';
10
10
  import type * as WebAuthnP256 from '../core/WebAuthnP256.js';
11
- import * as MultisigConfig from './MultisigConfig.js';
11
+ import * as AccountConfig from './AccountConfig.js';
12
12
  /** Serialized magic identifier for Tempo signature envelopes. */
13
13
  export declare const magicBytes = "0x7777777777777777777777777777777777777777777777777777777777777777";
14
14
  /**
@@ -56,9 +56,9 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
56
56
  userAddress: Address.Address;
57
57
  } ? 'keychain' : envelope extends {
58
58
  account: Address.Address;
59
- config: MultisigConfig.Input;
59
+ config: AccountConfig.Input;
60
60
  signatures: any;
61
- } ? 'multisig' : never;
61
+ } ? 'configurable' : never;
62
62
  /**
63
63
  * Represents a signature envelope that can contain different signature types.
64
64
  *
@@ -80,13 +80,16 @@ export type GetType<envelope extends PartialBy<SignatureEnvelope, 'type'> | unkn
80
80
  * V2 binds the signature to the user account via `keccak256(sigHash || userAddress)`.
81
81
  * The protocol validates the access key authorization via the AccountKeychain precompile.
82
82
  *
83
+ * - **configurable** (type `0x05`): Configurable account signature carrying the account address,
84
+ * its complete current configuration, and primitive owner approvals over the version-bound digest.
85
+ *
83
86
  * [Signature Types Specification](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
84
87
  */
85
- export type SignatureEnvelope<numberType = number> = OneOf<Secp256k1<numberType> | P256<numberType> | WebAuthn<numberType> | Keychain<numberType> | Multisig<numberType>>;
88
+ export type SignatureEnvelope<numberType = number> = OneOf<Secp256k1<numberType> | P256<numberType> | WebAuthn<numberType> | Keychain<numberType> | Configurable<numberType>>;
86
89
  /**
87
90
  * RPC-formatted signature envelope.
88
91
  */
89
- export type SignatureEnvelopeRpc = OneOf<Secp256k1Rpc | P256Rpc | WebAuthnRpc | KeychainRpc> | MultisigRpc;
92
+ export type SignatureEnvelopeRpc = OneOf<Secp256k1Rpc | P256Rpc | WebAuthnRpc | KeychainRpc> | ConfigurableRpc;
90
93
  /** Primitive signature envelope accepted by protocol sidecars. */
91
94
  export type Primitive<numberType = number> = OneOf<Secp256k1<numberType> | P256<numberType> | WebAuthn<numberType>>;
92
95
  /** RPC-formatted primitive signature envelope. */
@@ -118,23 +121,23 @@ export type KeychainRpc = {
118
121
  version?: KeychainVersion | undefined;
119
122
  };
120
123
  /**
121
- * Native multisig signature (type `0x05`).
124
+ * Configurable account signature (type `0x05`).
122
125
  *
123
126
  * Carries the account's complete current configuration and primitive owner
124
127
  * approvals over its version-bound digest. The node validates the account
125
128
  * identity or stored commitment and the owner quorum against chain state.
126
129
  */
127
- export type Multisig<numberType = number> = {
128
- /** Permanent native multisig account address. */
130
+ export type Configurable<numberType = number> = {
131
+ /** Permanent account address. */
129
132
  account: Address.Address;
130
133
  /** Complete current configuration, included in every signature. */
131
- config: MultisigConfig.Config<bigint, numberType>;
134
+ config: AccountConfig.Config<bigint, numberType>;
132
135
  /** Primitive owner approvals in ascending recovered-address order. */
133
136
  signatures: readonly Primitive<numberType>[];
134
- type: 'multisig';
137
+ type: 'configurable';
135
138
  };
136
139
  /** RLP-encoded `[account, config, signatures]`, without the `0x05` type byte. */
137
- export type MultisigRpc = Hex.Hex;
140
+ export type ConfigurableRpc = Hex.Hex;
138
141
  export type P256<numberType = number> = {
139
142
  prehash: boolean;
140
143
  publicKey: PublicKey.PublicKey;
@@ -202,7 +205,7 @@ export type Type = (typeof types)[number];
202
205
  */
203
206
  export declare function assert(envelope: PartialBy<SignatureEnvelope, 'type'>): void;
204
207
  export declare namespace assert {
205
- type ErrorType = CoercionError | InvalidMultisigApprovalError | MissingPropertiesError | MultisigConfig.assert.ErrorType | MultisigConfig.getAddress.ErrorType | Signature.assert.ErrorType | Errors.GlobalErrorType;
208
+ type ErrorType = CoercionError | InvalidApprovalError | MissingPropertiesError | AccountConfig.assert.ErrorType | AccountConfig.getAddress.ErrorType | Signature.assert.ErrorType | Errors.GlobalErrorType;
206
209
  }
207
210
  /**
208
211
  * Extracts the address of the signer from a {@link ox#SignatureEnvelope.SignatureEnvelope}.
@@ -436,7 +439,7 @@ export declare function deserialize(value: Serialized): SignatureEnvelope;
436
439
  * ```
437
440
  *
438
441
  * @example
439
- * ### Multisig
442
+ * ### Configurable
440
443
  *
441
444
  * Include the permanent account and current configuration on every transaction.
442
445
  *
@@ -474,14 +477,14 @@ export declare namespace from {
474
477
  /** Payload that was signed. Used to recover `keyId` for keychain envelopes with secp256k1 inner signatures. */
475
478
  payload?: Hex.Hex | Bytes.Bytes | undefined;
476
479
  };
477
- /** Multisig input with an explicit account and a normalizable configuration. */
478
- type MultisigFromConfig = Omit<Multisig, 'config' | 'type'> & {
479
- config: MultisigConfig.Input;
480
- type?: 'multisig' | undefined;
480
+ /** Configurable input with an explicit account and a normalizable configuration. */
481
+ type ConfigurableFromConfig = Omit<Configurable, 'config' | 'type'> & {
482
+ config: AccountConfig.Input;
483
+ type?: 'configurable' | undefined;
481
484
  };
482
- type Value = MultisigFromConfig | UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized;
483
- type ReturnValue<value extends Value> = Compute<OneOf<value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends MultisigFromConfig ? Extract<SignatureEnvelope, {
484
- type: 'multisig';
485
+ type Value = ConfigurableFromConfig | UnionPartialBy<SignatureEnvelope, 'prehash' | 'type'> | Secp256k1Flat | Serialized;
486
+ type ReturnValue<value extends Value> = Compute<OneOf<value extends Serialized ? SignatureEnvelope : value extends Secp256k1Flat ? Secp256k1 : value extends ConfigurableFromConfig ? Extract<SignatureEnvelope, {
487
+ type: 'configurable';
485
488
  }> : IsNarrowable<value, SignatureEnvelope> extends true ? SignatureEnvelope : Assign<value, {
486
489
  readonly type: GetType<value>;
487
490
  } & (GetType<value> extends 'keychain' ? {
@@ -508,7 +511,7 @@ export declare namespace from {
508
511
  */
509
512
  export declare function fromRpc(envelope: SignatureEnvelopeRpc): SignatureEnvelope;
510
513
  export declare namespace fromRpc {
511
- type ErrorType = assert.ErrorType | CoercionError | InvalidSerializedError | MultisigConfig.getAddress.ErrorType | Signature.fromRpc.ErrorType | Errors.GlobalErrorType;
514
+ type ErrorType = assert.ErrorType | CoercionError | InvalidSerializedError | AccountConfig.getAddress.ErrorType | Signature.fromRpc.ErrorType | Errors.GlobalErrorType;
512
515
  }
513
516
  /**
514
517
  * Determines the signature type of an envelope.
@@ -541,7 +544,7 @@ export declare function getType<envelope extends PartialBy<SignatureEnvelope, 't
541
544
  * - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
542
545
  * - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
543
546
  * - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
544
- * - Multisig: `0x05` + RLP `[account, config, signatures]`
547
+ * - Configurable: `0x05` + RLP `[account, config, signatures]`
545
548
  *
546
549
  * [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
547
550
  *
@@ -577,14 +580,14 @@ export declare namespace serialize {
577
580
  /**
578
581
  * Sorts primitive owner approvals by recovered address.
579
582
  *
580
- * Recovery uses the account and current config version's multisig digest.
583
+ * Recovery uses the account and current config version's owner approval digest.
581
584
  * Duplicate or non-owner approvals must still be rejected by the node.
582
585
  *
583
586
  * @example
584
587
  * ```ts twoslash
585
588
  * import { SignatureEnvelope } from 'ox/tempo'
586
589
  *
587
- * const ordered = SignatureEnvelope.sortMultisigApprovals({
590
+ * const ordered = SignatureEnvelope.sortApprovals({
588
591
  * account: '0x2222222222222222222222222222222222222222',
589
592
  * config: { version: 0n },
590
593
  * payload: `0x${'ab'.repeat(32)}`,
@@ -595,13 +598,13 @@ export declare namespace serialize {
595
598
  * @param value - Account, version, payload, and primitive approvals.
596
599
  * @returns The approvals in ascending recovered-address order.
597
600
  */
598
- export declare function sortMultisigApprovals(value: sortMultisigApprovals.Value): readonly Primitive[];
599
- export declare namespace sortMultisigApprovals {
600
- type Value = MultisigConfig.getSignPayload.Value & {
601
+ export declare function sortApprovals(value: sortApprovals.Value): readonly Primitive[];
602
+ export declare namespace sortApprovals {
603
+ type Value = AccountConfig.getSignPayload.Value & {
601
604
  /** Primitive owner approvals to order. */
602
605
  signatures: readonly Primitive[];
603
606
  };
604
- type ErrorType = MultisigConfig.getSignPayload.ErrorType | extractAddress.ErrorType | Errors.GlobalErrorType;
607
+ type ErrorType = AccountConfig.getSignPayload.ErrorType | extractAddress.ErrorType | Errors.GlobalErrorType;
605
608
  }
606
609
  /**
607
610
  * Converts a signature envelope to RPC format.
@@ -628,7 +631,7 @@ export declare namespace toRpc {
628
631
  /** Numberish input accepted by {@link ox#SignatureEnvelope.(toRpc:function)}. */
629
632
  type Input = SignatureEnvelope<Hex.Hex | number>;
630
633
  /** RPC signature envelope inferred from the input type. */
631
- type ReturnType<envelope extends Input = Input> = GetType<envelope> extends 'secp256k1' ? Secp256k1Rpc : GetType<envelope> extends 'p256' ? P256Rpc : GetType<envelope> extends 'webAuthn' ? WebAuthnRpc : GetType<envelope> extends 'keychain' ? KeychainRpc : GetType<envelope> extends 'multisig' ? MultisigRpc : SignatureEnvelopeRpc;
634
+ type ReturnType<envelope extends Input = Input> = GetType<envelope> extends 'secp256k1' ? Secp256k1Rpc : GetType<envelope> extends 'p256' ? P256Rpc : GetType<envelope> extends 'webAuthn' ? WebAuthnRpc : GetType<envelope> extends 'keychain' ? KeychainRpc : GetType<envelope> extends 'configurable' ? ConfigurableRpc : SignatureEnvelopeRpc;
632
635
  type ErrorType = assert.ErrorType | CoercionError | Hex.slice.ErrorType | serialize.ErrorType | Signature.toRpc.ErrorType | Errors.GlobalErrorType;
633
636
  }
634
637
  /**
@@ -804,7 +807,7 @@ export declare class MissingPropertiesError extends Errors.BaseError {
804
807
  constructor({ envelope, missing, type, }: {
805
808
  envelope: unknown;
806
809
  missing: string[];
807
- type: Type | 'keychain' | 'multisig';
810
+ type: Type | 'keychain' | 'configurable';
808
811
  });
809
812
  }
810
813
  /**
@@ -818,10 +821,10 @@ export declare class InvalidSerializedError extends Errors.BaseError {
818
821
  });
819
822
  }
820
823
  /**
821
- * Error thrown when a native multisig owner approval is invalid.
824
+ * Error thrown when a configurable account owner approval is invalid.
822
825
  */
823
- export declare class InvalidMultisigApprovalError extends Errors.BaseError {
824
- readonly name = "SignatureEnvelope.InvalidMultisigApprovalError";
826
+ export declare class InvalidApprovalError extends Errors.BaseError {
827
+ readonly name = "SignatureEnvelope.InvalidApprovalError";
825
828
  constructor({ reason }: {
826
829
  reason: string;
827
830
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../src/tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureEnvelope.d.ts","sourceRoot":"","sources":["../../src/tempo/SignatureEnvelope.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,13 @@ import * as Rlp from '../core/Rlp.js';
7
7
  import * as ox_Secp256k1 from '../core/Secp256k1.js';
8
8
  import * as Signature from '../core/Signature.js';
9
9
  import * as ox_WebAuthnP256 from '../core/WebAuthnP256.js';
10
- import * as MultisigConfig from './MultisigConfig.js';
10
+ import * as AccountConfig from './AccountConfig.js';
11
11
  /** Signature type identifiers for encoding/decoding */
12
12
  const serializedP256Type = '0x01';
13
13
  const serializedWebAuthnType = '0x02';
14
14
  const serializedKeychainType = '0x03';
15
15
  const serializedKeychainV2Type = '0x04';
16
- const serializedMultisigType = '0x05';
16
+ const serializedConfigurableType = '0x05';
17
17
  /** Serialized magic identifier for Tempo signature envelopes. */
18
18
  export const magicBytes = '0x7777777777777777777777777777777777777777777777777777777777777777'; // 32 "T"s
19
19
  /** List of supported signature types. */
@@ -99,9 +99,9 @@ export function assert(envelope) {
99
99
  assert(keychain.inner);
100
100
  return;
101
101
  }
102
- if (type === 'multisig') {
103
- const multisig = envelope;
104
- assertMultisig(multisig);
102
+ if (type === 'configurable') {
103
+ const configurable = envelope;
104
+ assertConfigurable(configurable);
105
105
  return;
106
106
  }
107
107
  }
@@ -111,12 +111,12 @@ function assertKeychainVersion(keychain) {
111
111
  let inner = keychain.inner;
112
112
  while (getType(inner) === 'keychain')
113
113
  inner = inner.inner;
114
- if (getType(inner) === 'multisig')
115
- throw new InvalidMultisigApprovalError({
116
- reason: 'multisig access keys require keychain V2',
114
+ if (getType(inner) === 'configurable')
115
+ throw new InvalidApprovalError({
116
+ reason: 'configurable access keys require keychain V2',
117
117
  });
118
118
  }
119
- function assertMultisig(envelope) {
119
+ function assertConfigurable(envelope) {
120
120
  const missing = [];
121
121
  if (!envelope.account)
122
122
  missing.push('account');
@@ -128,40 +128,40 @@ function assertMultisig(envelope) {
128
128
  throw new MissingPropertiesError({
129
129
  envelope,
130
130
  missing,
131
- type: 'multisig',
131
+ type: 'configurable',
132
132
  });
133
133
  if (!Address.validate(envelope.account))
134
- throw new InvalidMultisigApprovalError({
135
- reason: 'multisig account is invalid',
134
+ throw new InvalidApprovalError({
135
+ reason: 'configurable account is invalid',
136
136
  });
137
137
  if (Hex.toBigInt(envelope.account) === 0n)
138
- throw new InvalidMultisigApprovalError({
139
- reason: 'multisig account cannot be zero',
138
+ throw new InvalidApprovalError({
139
+ reason: 'configurable account cannot be zero',
140
140
  });
141
141
  if (envelope.signatures.length === 0)
142
- throw new InvalidMultisigApprovalError({
143
- reason: 'multisig signatures cannot be empty',
142
+ throw new InvalidApprovalError({
143
+ reason: 'configurable signatures cannot be empty',
144
144
  });
145
- if (envelope.signatures.length > MultisigConfig.maxSignatures)
146
- throw new InvalidMultisigApprovalError({
147
- reason: `multisig signatures exceed ${MultisigConfig.maxSignatures}`,
145
+ if (envelope.signatures.length > AccountConfig.maxSignatures)
146
+ throw new InvalidApprovalError({
147
+ reason: `configurable signatures exceed ${AccountConfig.maxSignatures}`,
148
148
  });
149
- MultisigConfig.assert(envelope.config);
149
+ AccountConfig.assert(envelope.config);
150
150
  if ((envelope.config.version ?? 0n) === 0n &&
151
151
  envelope.config.owners.some((owner) => Address.isEqual(owner.owner, envelope.account)))
152
- throw new InvalidMultisigApprovalError({
152
+ throw new InvalidApprovalError({
153
153
  reason: 'initial account cannot be an owner',
154
154
  });
155
155
  for (const inner of envelope.signatures) {
156
156
  const type = getType(inner);
157
- if (type === 'keychain' || type === 'multisig')
158
- throw new InvalidMultisigApprovalError({
157
+ if (type === 'keychain' || type === 'configurable')
158
+ throw new InvalidApprovalError({
159
159
  reason: 'owner approvals must be primitive signatures',
160
160
  });
161
161
  assert(inner);
162
- if (Hex.size(serialize(inner)) > MultisigConfig.maxOwnerSignatureBytes)
163
- throw new InvalidMultisigApprovalError({
164
- reason: `multisig owner signature exceeds ${MultisigConfig.maxOwnerSignatureBytes} bytes`,
162
+ if (Hex.size(serialize(inner)) > AccountConfig.maxOwnerSignatureBytes)
163
+ throw new InvalidApprovalError({
164
+ reason: `configurable owner signature exceeds ${AccountConfig.maxOwnerSignatureBytes} bytes`,
165
165
  });
166
166
  }
167
167
  }
@@ -201,9 +201,9 @@ export function extractAddress(options) {
201
201
  return signature.userAddress;
202
202
  return extractAddress({ ...options, signature: signature.inner });
203
203
  }
204
- // Native multisig signatures have no single signer; the recovered sender is the
205
- // derived multisig account address.
206
- if (signature.type === 'multisig')
204
+ // Configurable signatures have no single signer; the recovered sender is the
205
+ // derived configurable account address.
206
+ if (signature.type === 'configurable')
207
207
  return signature.account;
208
208
  return Address.fromPublicKey(extractPublicKey(options));
209
209
  }
@@ -249,9 +249,9 @@ export function extractPublicKey(options) {
249
249
  return signature.publicKey;
250
250
  case 'keychain':
251
251
  return extractPublicKey({ payload, signature: signature.inner });
252
- case 'multisig':
253
- // A multisig signature aggregates multiple owner approvals and has no
254
- // single public key; recover the multisig account via `extractAddress`.
252
+ case 'configurable':
253
+ // A configurable signature aggregates multiple owner approvals and has no
254
+ // single public key; recover the configurable account via `extractAddress`.
255
255
  throw new CoercionError({ envelope: signature });
256
256
  }
257
257
  }
@@ -380,40 +380,40 @@ function deserialize_(value) {
380
380
  assert(envelope);
381
381
  return envelope;
382
382
  }
383
- if (typeId === serializedMultisigType) {
383
+ if (typeId === serializedConfigurableType) {
384
384
  const decoded = Rlp.toHex(data);
385
385
  if (!Array.isArray(decoded) || decoded.length !== 3)
386
386
  throw new InvalidSerializedError({
387
- reason: 'invalid multisig wire shape: expected exactly three fields',
387
+ reason: 'invalid configurable wire shape: expected exactly three fields',
388
388
  serialized,
389
389
  });
390
390
  const [account, config, signatures] = decoded;
391
391
  if (typeof account !== 'string' || !Address.validate(account))
392
392
  throw new InvalidSerializedError({
393
- reason: 'invalid multisig account',
393
+ reason: 'invalid configurable account',
394
394
  serialized,
395
395
  });
396
396
  if (!Array.isArray(config))
397
397
  throw new InvalidSerializedError({
398
- reason: 'invalid multisig config',
398
+ reason: 'invalid account config',
399
399
  serialized,
400
400
  });
401
401
  if (!Array.isArray(signatures) ||
402
402
  signatures.length === 0 ||
403
- signatures.length > MultisigConfig.maxSignatures)
403
+ signatures.length > AccountConfig.maxSignatures)
404
404
  throw new InvalidSerializedError({
405
- reason: 'invalid multisig signatures list',
405
+ reason: 'invalid configurable signatures list',
406
406
  serialized,
407
407
  });
408
408
  const envelope = {
409
- type: 'multisig',
409
+ type: 'configurable',
410
410
  account,
411
- config: MultisigConfig.fromTuple(config),
411
+ config: AccountConfig.fromTuple(config),
412
412
  signatures: signatures.map((signature) => {
413
413
  if (!Hex.validate(signature) ||
414
- Hex.size(signature) > MultisigConfig.maxOwnerSignatureBytes)
414
+ Hex.size(signature) > AccountConfig.maxOwnerSignatureBytes)
415
415
  throw new InvalidSerializedError({
416
- reason: 'invalid multisig owner signature',
416
+ reason: 'invalid configurable owner signature',
417
417
  serialized,
418
418
  });
419
419
  // Reject recursive envelopes before decoding their contents.
@@ -426,11 +426,11 @@ function deserialize_(value) {
426
426
  return deserialize(signature);
427
427
  }),
428
428
  };
429
- assertMultisig(envelope);
429
+ assertConfigurable(envelope);
430
430
  return envelope;
431
431
  }
432
432
  throw new InvalidSerializedError({
433
- reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256), ${serializedWebAuthnType} (WebAuthn), ${serializedKeychainType} (Keychain V1), ${serializedKeychainV2Type} (Keychain V2), or ${serializedMultisigType} (Multisig)`,
433
+ reason: `Unknown signature type identifier: ${typeId}. Expected ${serializedP256Type} (P256), ${serializedWebAuthnType} (WebAuthn), ${serializedKeychainType} (Keychain V1), ${serializedKeychainV2Type} (Keychain V2), or ${serializedConfigurableType} (Configurable)`,
434
434
  serialized,
435
435
  });
436
436
  }
@@ -560,7 +560,7 @@ function deserialize_(value) {
560
560
  * ```
561
561
  *
562
562
  * @example
563
- * ### Multisig
563
+ * ### Configurable
564
564
  *
565
565
  * Include the permanent account and current configuration on every transaction.
566
566
  *
@@ -602,12 +602,12 @@ export function from(value, options) {
602
602
  'yParity' in value)
603
603
  return { signature: value, type: 'secp256k1' };
604
604
  const type = getType(value);
605
- if (type === 'multisig') {
606
- const multisig = value;
605
+ if (type === 'configurable') {
606
+ const configurable = value;
607
607
  return {
608
- ...multisig,
609
- config: MultisigConfig.from(multisig.config),
610
- signatures: multisig.signatures.map((signature) => from(signature)),
608
+ ...configurable,
609
+ config: AccountConfig.from(configurable.config),
610
+ signatures: configurable.signatures.map((signature) => from(signature)),
611
611
  type,
612
612
  };
613
613
  }
@@ -662,8 +662,8 @@ export function from(value, options) {
662
662
  */
663
663
  export function fromRpc(envelope) {
664
664
  if (typeof envelope === 'string') {
665
- const signature = deserialize(Hex.concat(serializedMultisigType, envelope));
666
- if (signature.type !== 'multisig')
665
+ const signature = deserialize(Hex.concat(serializedConfigurableType, envelope));
666
+ if (signature.type !== 'configurable')
667
667
  throw new CoercionError({ envelope });
668
668
  return signature;
669
669
  }
@@ -795,9 +795,9 @@ export function getType(envelope) {
795
795
  // Detect Keychain signature
796
796
  if ('userAddress' in envelope && 'inner' in envelope)
797
797
  return 'keychain';
798
- // Detect Multisig signature
798
+ // Detect Configurable signature
799
799
  if ('account' in envelope && 'config' in envelope && 'signatures' in envelope)
800
- return 'multisig';
800
+ return 'configurable';
801
801
  throw new CoercionError({
802
802
  envelope,
803
803
  });
@@ -811,7 +811,7 @@ export function getType(envelope) {
811
811
  * - WebAuthn: `0x02` + webauthnData (variable) + r (32) + s (32) + pubKeyX (32) + pubKeyY (32)
812
812
  * - Keychain V1: `0x03` + userAddress (20) + inner signature (recursive)
813
813
  * - Keychain V2: `0x04` + userAddress (20) + inner signature (recursive)
814
- * - Multisig: `0x05` + RLP `[account, config, signatures]`
814
+ * - Configurable: `0x05` + RLP `[account, config, signatures]`
815
815
  *
816
816
  * [Signature Types](https://docs.tempo.xyz/protocol/transactions/spec-tempo-transaction#signature-types)
817
817
  *
@@ -859,13 +859,13 @@ export function serialize(envelope, options = {}) {
859
859
  : serializedKeychainV2Type;
860
860
  return Hex.concat(keychainTypeId, keychain.userAddress, serialize(keychain.inner), options.magic ? magicBytes : '0x');
861
861
  }
862
- if (type === 'multisig') {
863
- const multisig = envelope;
864
- assert(multisig);
865
- return Hex.concat(serializedMultisigType, Rlp.fromHex([
866
- multisig.account,
867
- MultisigConfig.toTuple(multisig.config),
868
- multisig.signatures.map((signature) => serialize(signature)),
862
+ if (type === 'configurable') {
863
+ const configurable = envelope;
864
+ assert(configurable);
865
+ return Hex.concat(serializedConfigurableType, Rlp.fromHex([
866
+ configurable.account,
867
+ AccountConfig.toTuple(configurable.config),
868
+ configurable.signatures.map((signature) => serialize(signature)),
869
869
  ]), options.magic ? magicBytes : '0x');
870
870
  }
871
871
  throw new CoercionError({ envelope });
@@ -873,14 +873,14 @@ export function serialize(envelope, options = {}) {
873
873
  /**
874
874
  * Sorts primitive owner approvals by recovered address.
875
875
  *
876
- * Recovery uses the account and current config version's multisig digest.
876
+ * Recovery uses the account and current config version's owner approval digest.
877
877
  * Duplicate or non-owner approvals must still be rejected by the node.
878
878
  *
879
879
  * @example
880
880
  * ```ts twoslash
881
881
  * import { SignatureEnvelope } from 'ox/tempo'
882
882
  *
883
- * const ordered = SignatureEnvelope.sortMultisigApprovals({
883
+ * const ordered = SignatureEnvelope.sortApprovals({
884
884
  * account: '0x2222222222222222222222222222222222222222',
885
885
  * config: { version: 0n },
886
886
  * payload: `0x${'ab'.repeat(32)}`,
@@ -891,9 +891,9 @@ export function serialize(envelope, options = {}) {
891
891
  * @param value - Account, version, payload, and primitive approvals.
892
892
  * @returns The approvals in ascending recovered-address order.
893
893
  */
894
- export function sortMultisigApprovals(value) {
894
+ export function sortApprovals(value) {
895
895
  const { signatures } = value;
896
- const digest = MultisigConfig.getSignPayload(value);
896
+ const digest = AccountConfig.getSignPayload(value);
897
897
  // Recover each signer once (decorate–sort–undecorate) rather than inside the
898
898
  // comparator.
899
899
  return signatures
@@ -967,19 +967,19 @@ export function toRpc(envelope) {
967
967
  ...(keychain.version ? { version: keychain.version } : {}),
968
968
  };
969
969
  }
970
- if (type === 'multisig') {
971
- const multisig = envelope;
970
+ if (type === 'configurable') {
971
+ const configurable = envelope;
972
972
  return Hex.slice(serialize({
973
- ...multisig,
973
+ ...configurable,
974
974
  config: {
975
- ...multisig.config,
976
- threshold: Number(multisig.config.threshold),
977
- owners: multisig.config.owners.map((owner) => ({
975
+ ...configurable.config,
976
+ threshold: Number(configurable.config.threshold),
977
+ owners: configurable.config.owners.map((owner) => ({
978
978
  ...owner,
979
979
  weight: Number(owner.weight),
980
980
  })),
981
981
  },
982
- signatures: multisig.signatures.map((signature) => signature.type === 'secp256k1'
982
+ signatures: configurable.signatures.map((signature) => signature.type === 'secp256k1'
983
983
  ? {
984
984
  ...signature,
985
985
  signature: {
@@ -1221,12 +1221,12 @@ export class InvalidSerializedError extends Errors.BaseError {
1221
1221
  }
1222
1222
  }
1223
1223
  /**
1224
- * Error thrown when a native multisig owner approval is invalid.
1224
+ * Error thrown when a configurable account owner approval is invalid.
1225
1225
  */
1226
- export class InvalidMultisigApprovalError extends Errors.BaseError {
1227
- name = 'SignatureEnvelope.InvalidMultisigApprovalError';
1226
+ export class InvalidApprovalError extends Errors.BaseError {
1227
+ name = 'SignatureEnvelope.InvalidApprovalError';
1228
1228
  constructor({ reason }) {
1229
- super(`Invalid native multisig owner approval: ${reason}.`);
1229
+ super(`Invalid owner approval: ${reason}.`);
1230
1230
  }
1231
1231
  }
1232
1232
  /**