ox 1.8.6 → 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 (129) hide show
  1. package/CHANGELOG.md +29 -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 +16 -16
  15. package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
  16. package/dist/tempo/KeyAuthorization.js +10 -9
  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/TransactionRequest.d.ts +11 -9
  25. package/dist/tempo/TransactionRequest.d.ts.map +1 -1
  26. package/dist/tempo/TransactionRequest.js +14 -10
  27. package/dist/tempo/TransactionRequest.js.map +1 -1
  28. package/dist/tempo/index.d.ts +56 -54
  29. package/dist/tempo/index.d.ts.map +1 -1
  30. package/dist/tempo/index.js +56 -54
  31. package/dist/tempo/index.js.map +1 -1
  32. package/dist/zod/tempo/{MultisigConfig.d.ts → AccountConfig.d.ts} +6 -6
  33. package/dist/zod/tempo/AccountConfig.d.ts.map +1 -0
  34. package/dist/zod/tempo/{MultisigConfig.js → AccountConfig.js} +12 -12
  35. package/dist/zod/tempo/AccountConfig.js.map +1 -0
  36. package/dist/zod/tempo/{MultisigOperation.d.ts → AccountOperation.d.ts} +5 -5
  37. package/dist/zod/tempo/AccountOperation.d.ts.map +1 -0
  38. package/dist/zod/tempo/{MultisigOperation.js → AccountOperation.js} +10 -10
  39. package/dist/zod/tempo/AccountOperation.js.map +1 -0
  40. package/dist/zod/tempo/{MultisigSimulation.d.ts → AccountSimulation.d.ts} +5 -5
  41. package/dist/zod/tempo/AccountSimulation.d.ts.map +1 -0
  42. package/dist/zod/tempo/AccountSimulation.js +44 -0
  43. package/dist/zod/tempo/AccountSimulation.js.map +1 -0
  44. package/dist/zod/tempo/AuthorizationTempo.d.ts +10 -10
  45. package/dist/zod/tempo/KeyAuthorization.d.ts +12 -12
  46. package/dist/zod/tempo/KeyAuthorization.js +6 -6
  47. package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
  48. package/dist/zod/tempo/RpcSchemaTempo.d.ts +59 -59
  49. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
  50. package/dist/zod/tempo/RpcSchemaTempo.js +28 -28
  51. package/dist/zod/tempo/RpcSchemaTempo.js.map +1 -1
  52. package/dist/zod/tempo/SignatureEnvelope.d.ts +7 -7
  53. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
  54. package/dist/zod/tempo/SignatureEnvelope.js +22 -16
  55. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
  56. package/dist/zod/tempo/Transaction.d.ts +24 -24
  57. package/dist/zod/tempo/TransactionRequest.d.ts +84 -84
  58. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
  59. package/dist/zod/tempo/TransactionRequest.js +26 -17
  60. package/dist/zod/tempo/TransactionRequest.js.map +1 -1
  61. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +12 -12
  62. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +3 -3
  63. package/dist/zod/tempo/z.d.ts +3 -3
  64. package/dist/zod/tempo/z.d.ts.map +1 -1
  65. package/dist/zod/tempo/z.js +3 -3
  66. package/dist/zod/tempo/z.js.map +1 -1
  67. package/package.json +31 -31
  68. package/src/tempo/{MultisigConfig.test-d.ts → AccountConfig.test-d.ts} +22 -12
  69. package/src/tempo/{MultisigConfig.test.ts → AccountConfig.test.ts} +155 -37
  70. package/src/tempo/{MultisigConfig.ts → AccountConfig.ts} +138 -66
  71. package/src/tempo/AccountOperation.test-d.ts +79 -0
  72. package/src/tempo/{MultisigOperation.test.ts → AccountOperation.test.ts} +97 -97
  73. package/src/tempo/{MultisigOperation.ts → AccountOperation.ts} +95 -97
  74. package/src/tempo/{MultisigSimulation.test-d.ts → AccountSimulation.test-d.ts} +7 -9
  75. package/src/tempo/{MultisigSimulation.test.ts → AccountSimulation.test.ts} +28 -28
  76. package/src/tempo/{MultisigSimulation.ts → AccountSimulation.ts} +28 -30
  77. package/src/tempo/KeyAuthorization.test-d.ts +6 -6
  78. package/src/tempo/KeyAuthorization.test.ts +52 -36
  79. package/src/tempo/KeyAuthorization.ts +29 -27
  80. package/src/tempo/RpcSchemaTempo.test-d.ts +19 -19
  81. package/src/tempo/RpcSchemaTempo.ts +13 -13
  82. package/src/tempo/SignatureEnvelope.test-d.ts +7 -7
  83. package/src/tempo/SignatureEnvelope.test.ts +34 -34
  84. package/src/tempo/SignatureEnvelope.ts +112 -108
  85. package/src/tempo/Transaction.test.ts +4 -4
  86. package/src/tempo/TransactionRequest.test-d.ts +17 -6
  87. package/src/tempo/TransactionRequest.test.ts +32 -17
  88. package/src/tempo/TransactionRequest.ts +27 -19
  89. package/src/tempo/{multisig.e2e.test.ts → configurableAccounts.e2e.test.ts} +16 -16
  90. package/src/tempo/index.ts +56 -54
  91. package/src/version.ts +1 -1
  92. package/src/zod/tempo/{MultisigConfig.ts → AccountConfig.ts} +12 -12
  93. package/src/zod/tempo/{MultisigOperation.ts → AccountOperation.ts} +9 -9
  94. package/src/zod/tempo/AccountSimulation.ts +53 -0
  95. package/src/zod/tempo/KeyAuthorization.ts +8 -8
  96. package/src/zod/tempo/RpcSchemaTempo.ts +28 -28
  97. package/src/zod/tempo/SignatureEnvelope.ts +23 -17
  98. package/src/zod/tempo/TransactionRequest.ts +29 -18
  99. package/src/zod/tempo/_test/AccountConfig.test-d.ts +13 -0
  100. package/src/zod/tempo/_test/{MultisigConfig.test.ts → AccountConfig.test.ts} +7 -7
  101. package/src/zod/tempo/_test/AccountOperation.test-d.ts +27 -0
  102. package/src/zod/tempo/_test/{MultisigOperation.test.ts → AccountOperation.test.ts} +9 -9
  103. package/src/zod/tempo/_test/AccountSimulation.test-d.ts +13 -0
  104. package/src/zod/tempo/_test/{MultisigSimulation.test.ts → AccountSimulation.test.ts} +13 -13
  105. package/src/zod/tempo/_test/KeyAuthorization.test.ts +9 -9
  106. package/src/zod/tempo/_test/RpcSchemaTempo.test-d.ts +27 -27
  107. package/src/zod/tempo/_test/RpcSchemaTempo.test.ts +16 -18
  108. package/src/zod/tempo/_test/SignatureEnvelope.test-d.ts +5 -5
  109. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +12 -9
  110. package/src/zod/tempo/_test/TransactionRequest.test.ts +28 -8
  111. package/src/zod/tempo/z.ts +3 -3
  112. package/dist/tempo/MultisigConfig.d.ts.map +0 -1
  113. package/dist/tempo/MultisigConfig.js.map +0 -1
  114. package/dist/tempo/MultisigOperation.d.ts.map +0 -1
  115. package/dist/tempo/MultisigOperation.js.map +0 -1
  116. package/dist/tempo/MultisigSimulation.d.ts.map +0 -1
  117. package/dist/tempo/MultisigSimulation.js.map +0 -1
  118. package/dist/zod/tempo/MultisigConfig.d.ts.map +0 -1
  119. package/dist/zod/tempo/MultisigConfig.js.map +0 -1
  120. package/dist/zod/tempo/MultisigOperation.d.ts.map +0 -1
  121. package/dist/zod/tempo/MultisigOperation.js.map +0 -1
  122. package/dist/zod/tempo/MultisigSimulation.d.ts.map +0 -1
  123. package/dist/zod/tempo/MultisigSimulation.js +0 -44
  124. package/dist/zod/tempo/MultisigSimulation.js.map +0 -1
  125. package/src/tempo/MultisigOperation.test-d.ts +0 -79
  126. package/src/zod/tempo/MultisigSimulation.ts +0 -53
  127. package/src/zod/tempo/_test/MultisigConfig.test-d.ts +0 -13
  128. package/src/zod/tempo/_test/MultisigOperation.test-d.ts +0 -27
  129. package/src/zod/tempo/_test/MultisigSimulation.test-d.ts +0 -13
@@ -2,19 +2,19 @@ import * as Address from '../core/Address.js';
2
2
  import * as Errors from '../core/Errors.js';
3
3
  import * as Hash from '../core/Hash.js';
4
4
  import * as Hex from '../core/Hex.js';
5
+ import * as AccountConfig from './AccountConfig.js';
5
6
  import * as KeyAuthorization_ from './KeyAuthorization.js';
6
- import * as MultisigConfig from './MultisigConfig.js';
7
7
  import * as SignatureEnvelope from './SignatureEnvelope.js';
8
8
  import * as TxEnvelopeTempo from './TxEnvelopeTempo.js';
9
9
  /**
10
- * Derives the deterministic hash for a multisig operation.
10
+ * Derives the deterministic hash for an account operation.
11
11
  *
12
12
  * @example
13
13
  * ```ts twoslash
14
14
  * // @noErrors
15
- * import { MultisigOperation } from 'ox/tempo'
15
+ * import { AccountOperation } from 'ox/tempo'
16
16
  *
17
- * const hash = MultisigOperation.getHash({
17
+ * const hash = AccountOperation.getHash({
18
18
  * account,
19
19
  * config,
20
20
  * transaction,
@@ -22,7 +22,7 @@ import * as TxEnvelopeTempo from './TxEnvelopeTempo.js';
22
22
  * })
23
23
  * ```
24
24
  *
25
- * @param options - Operation payload and multisig identity.
25
+ * @param options - Operation payload and account identity.
26
26
  * @returns The operation hash signed by each owner.
27
27
  */
28
28
  export function getHash(options) {
@@ -30,7 +30,7 @@ export function getHash(options) {
30
30
  const payload = options.type === 'transaction'
31
31
  ? TxEnvelopeTempo.getSignPayload(TxEnvelopeTempo.deserialize(options.transaction))
32
32
  : KeyAuthorization_.getSignPayload(KeyAuthorization_.deserialize(options.keyAuthorization));
33
- return MultisigConfig.getSignPayload({
33
+ return AccountConfig.getSignPayload({
34
34
  account,
35
35
  config,
36
36
  payload,
@@ -47,9 +47,9 @@ export function getHash(options) {
47
47
  * @example
48
48
  * ```ts twoslash
49
49
  * // @noErrors
50
- * import { MultisigOperation } from 'ox/tempo'
50
+ * import { AccountOperation } from 'ox/tempo'
51
51
  *
52
- * const selection = await MultisigOperation.selectApprovals({
52
+ * const selection = await AccountOperation.selectApprovals({
53
53
  * account,
54
54
  * approvals,
55
55
  * config,
@@ -66,7 +66,7 @@ export async function selectApprovals(options) {
66
66
  throw new InvalidApprovalError({ reason: 'account is invalid' });
67
67
  if (!Hash.validate(hash))
68
68
  throw new InvalidApprovalError({ reason: 'hash is invalid' });
69
- const config = MultisigConfig.from(options.config);
69
+ const config = AccountConfig.from(options.config);
70
70
  return selectApprovals_internal({
71
71
  account,
72
72
  approvals,
@@ -75,15 +75,15 @@ export async function selectApprovals(options) {
75
75
  });
76
76
  }
77
77
  /**
78
- * Serializes a key authorization with selected multisig owner approvals.
78
+ * Serializes a key authorization with selected owner approvals.
79
79
  *
80
80
  * @example
81
81
  * ```ts twoslash
82
82
  * // @noErrors
83
- * import { MultisigOperation } from 'ox/tempo'
83
+ * import { AccountOperation } from 'ox/tempo'
84
84
  *
85
85
  * const authorization =
86
- * MultisigOperation.serializeKeyAuthorization(
86
+ * AccountOperation.serializeKeyAuthorization(
87
87
  * keyAuthorization,
88
88
  * {
89
89
  * account,
@@ -94,7 +94,7 @@ export async function selectApprovals(options) {
94
94
  * ```
95
95
  *
96
96
  * @param keyAuthorization - Canonical serialized unsigned key authorization.
97
- * @param options - Multisig account, config, and selected approvals.
97
+ * @param options - Configurable account, config, and selected approvals.
98
98
  * @returns The signed serialized key authorization.
99
99
  */
100
100
  export function serializeKeyAuthorization(keyAuthorization, options) {
@@ -108,8 +108,8 @@ export function serializeKeyAuthorization(keyAuthorization, options) {
108
108
  throw new InvalidOperationError({
109
109
  reason: 'keyAuthorization is not canonically serialized',
110
110
  });
111
- const config = MultisigConfig.from(options.config);
112
- const signatures = SignatureEnvelope.sortMultisigApprovals({
111
+ const config = AccountConfig.from(options.config);
112
+ const signatures = SignatureEnvelope.sortApprovals({
113
113
  account: options.account,
114
114
  config,
115
115
  payload: KeyAuthorization_.getSignPayload(authorization),
@@ -124,14 +124,14 @@ export function serializeKeyAuthorization(keyAuthorization, options) {
124
124
  }));
125
125
  }
126
126
  /**
127
- * Serializes a multisig transaction operation with selected owner approvals.
127
+ * Serializes an account transaction operation with selected owner approvals.
128
128
  *
129
129
  * @example
130
130
  * ```ts twoslash
131
131
  * // @noErrors
132
- * import { MultisigOperation } from 'ox/tempo'
132
+ * import { AccountOperation } from 'ox/tempo'
133
133
  *
134
- * const transaction = MultisigOperation.serializeTransaction(
134
+ * const transaction = AccountOperation.serializeTransaction(
135
135
  * operation,
136
136
  * {
137
137
  * approvals: selection.selectedApprovals
@@ -139,7 +139,7 @@ export function serializeKeyAuthorization(keyAuthorization, options) {
139
139
  * )
140
140
  * ```
141
141
  *
142
- * @param operation - Multisig transaction operation.
142
+ * @param operation - Account transaction operation.
143
143
  * @param options - Transaction serialization options.
144
144
  * @returns The signed serialized Tempo transaction.
145
145
  */
@@ -148,7 +148,7 @@ export function serializeTransaction(operation, options) {
148
148
  const envelope = TxEnvelopeTempo.deserialize(value.transaction);
149
149
  const approvals = options.approvals.map((approval) => assertApproval(value.account, approval, value.config));
150
150
  assertRetainedApprovals(value, approvals);
151
- const signatures = SignatureEnvelope.sortMultisigApprovals({
151
+ const signatures = SignatureEnvelope.sortApprovals({
152
152
  account: value.account,
153
153
  config: value.config,
154
154
  payload: TxEnvelopeTempo.getSignPayload(envelope),
@@ -168,22 +168,22 @@ export function serializeTransaction(operation, options) {
168
168
  : { signature });
169
169
  }
170
170
  /**
171
- * Validates and normalizes a multisig operation.
171
+ * Validates and normalizes an account operation.
172
172
  *
173
173
  * @example
174
174
  * ```ts twoslash
175
175
  * // @noErrors
176
- * import { MultisigOperation } from 'ox/tempo'
176
+ * import { AccountOperation } from 'ox/tempo'
177
177
  *
178
- * const operation = MultisigOperation.from(value)
178
+ * const operation = AccountOperation.from(value)
179
179
  * ```
180
180
  *
181
- * @param operation - Multisig operation.
181
+ * @param operation - Account operation.
182
182
  * @returns The validated operation.
183
183
  */
184
184
  export function from(operation) {
185
185
  try {
186
- const config = MultisigConfig.from(operation.config);
186
+ const config = AccountConfig.from(operation.config);
187
187
  if (typeof config.threshold !== 'number' ||
188
188
  config.owners.some((owner) => typeof owner.weight !== 'number'))
189
189
  throw new InvalidOperationError({
@@ -206,17 +206,17 @@ export function from(operation) {
206
206
  }
207
207
  }
208
208
  /**
209
- * Converts a JSON-RPC multisig operation to its domain representation.
209
+ * Converts a JSON-RPC account operation to its domain representation.
210
210
  *
211
211
  * @example
212
212
  * ```ts twoslash
213
213
  * // @noErrors
214
- * import { MultisigOperation } from 'ox/tempo'
214
+ * import { AccountOperation } from 'ox/tempo'
215
215
  *
216
- * const operation = MultisigOperation.fromRpc(value)
216
+ * const operation = AccountOperation.fromRpc(value)
217
217
  * ```
218
218
  *
219
- * @param operation - JSON-RPC multisig operation.
219
+ * @param operation - JSON-RPC account operation.
220
220
  * @returns The validated operation.
221
221
  */
222
222
  export function fromRpc(operation) {
@@ -233,7 +233,7 @@ export function fromRpc(operation) {
233
233
  });
234
234
  return from({
235
235
  ...operation,
236
- config: MultisigConfig.fromRpc(operation.config),
236
+ config: AccountConfig.fromRpc(operation.config),
237
237
  });
238
238
  }
239
239
  catch (cause) {
@@ -243,24 +243,24 @@ export function fromRpc(operation) {
243
243
  }
244
244
  }
245
245
  /**
246
- * Converts a multisig operation to its JSON-RPC representation.
246
+ * Converts an account operation to its JSON-RPC representation.
247
247
  *
248
248
  * @example
249
249
  * ```ts twoslash
250
250
  * // @noErrors
251
- * import { MultisigOperation } from 'ox/tempo'
251
+ * import { AccountOperation } from 'ox/tempo'
252
252
  *
253
- * const operationRpc = MultisigOperation.toRpc(operation)
253
+ * const operationRpc = AccountOperation.toRpc(operation)
254
254
  * ```
255
255
  *
256
- * @param operation - Multisig operation.
256
+ * @param operation - Account operation.
257
257
  * @returns The JSON-RPC operation.
258
258
  */
259
259
  export function toRpc(operation) {
260
260
  const value = from(operation);
261
261
  return {
262
262
  ...value,
263
- config: MultisigConfig.toRpc(value.config),
263
+ config: AccountConfig.toRpc(value.config),
264
264
  };
265
265
  }
266
266
  /**
@@ -276,9 +276,9 @@ async function selectApprovals_internal(options) {
276
276
  const groups = new Map();
277
277
  for (const serialized of options.approvals) {
278
278
  const signature = SignatureEnvelope.from(serialized);
279
- if (signature.type === 'keychain' || signature.type === 'multisig')
279
+ if (signature.type === 'keychain' || signature.type === 'configurable')
280
280
  throw new InvalidApprovalError({
281
- reason: 'only primitive signatures can approve a multisig operation',
281
+ reason: 'only primitive signatures can approve an account operation',
282
282
  });
283
283
  const address = SignatureEnvelope.extractAddress({
284
284
  payload: options.hash,
@@ -324,7 +324,7 @@ async function selectApprovals_internal(options) {
324
324
  const ranked = valid.sort((a, b) => b.weight - a.weight || compareApprovalAddress(a, b));
325
325
  const selected = [];
326
326
  let weight = 0;
327
- for (const approval of ranked.slice(0, MultisigConfig.maxSignatures)) {
327
+ for (const approval of ranked.slice(0, AccountConfig.maxSignatures)) {
328
328
  if (weight >= Number(options.config.threshold))
329
329
  break;
330
330
  selected.push(approval);
@@ -388,7 +388,7 @@ function assertBase(operation, config) {
388
388
  });
389
389
  if (operation.weight > 0xff)
390
390
  throw new InvalidOperationError({ reason: 'weight exceeds u8 max' });
391
- if (operation.signatureCount > MultisigConfig.maxSignatures)
391
+ if (operation.signatureCount > AccountConfig.maxSignatures)
392
392
  throw new InvalidOperationError({ reason: 'too many selected signatures' });
393
393
  if (!Array.isArray(operation.approvals))
394
394
  throw new InvalidOperationError({ reason: 'approvals must be an array' });
@@ -552,9 +552,9 @@ function assertKeyAuthorization(operation, config) {
552
552
  reason: 'pending key authorizations must be unsigned',
553
553
  });
554
554
  if (operation.status === 'success') {
555
- if (signature?.type !== 'multisig')
555
+ if (signature?.type !== 'configurable')
556
556
  throw new InvalidOperationError({
557
- reason: 'successful key authorizations require a multisig signature',
557
+ reason: 'successful key authorizations require a configurable account signature',
558
558
  });
559
559
  if (signature.account.toLowerCase() !== operation.account.toLowerCase())
560
560
  throw new InvalidOperationError({
@@ -584,7 +584,7 @@ function assertKeyAuthorization(operation, config) {
584
584
  */
585
585
  function assertApproval(account, serialized, config) {
586
586
  const approval = SignatureEnvelope.deserialize(serialized);
587
- if (approval.type === 'keychain' || approval.type === 'multisig')
587
+ if (approval.type === 'keychain' || approval.type === 'configurable')
588
588
  throw new InvalidOperationError({
589
589
  reason: 'only primitive owner approvals are allowed',
590
590
  });
@@ -592,7 +592,7 @@ function assertApproval(account, serialized, config) {
592
592
  account,
593
593
  config,
594
594
  signatures: [approval],
595
- type: 'multisig',
595
+ type: 'configurable',
596
596
  });
597
597
  if (SignatureEnvelope.serialize(approval).toLowerCase() !==
598
598
  serialized.toLowerCase())
@@ -632,7 +632,7 @@ function assertSelectedApprovals(operation, selected, authorization) {
632
632
  });
633
633
  retained.splice(index, 1);
634
634
  }
635
- const digest = MultisigConfig.getSignPayload({
635
+ const digest = AccountConfig.getSignPayload({
636
636
  account: operation.account,
637
637
  config: operation.config,
638
638
  payload: KeyAuthorization_.getSignPayload(authorization),
@@ -671,7 +671,7 @@ function isWeightReachable(weights, signatureCount, weight) {
671
671
  * @internal
672
672
  */
673
673
  function assertOperationHash(operation, payload) {
674
- const hash = MultisigConfig.getSignPayload({
674
+ const hash = AccountConfig.getSignPayload({
675
675
  account: operation.account,
676
676
  config: operation.config,
677
677
  payload,
@@ -693,14 +693,14 @@ function assertInteger(value, field) {
693
693
  });
694
694
  }
695
695
  /**
696
- * Compares normalized multisig configurations.
696
+ * Compares normalized account configurations.
697
697
  *
698
698
  * @internal
699
699
  */
700
700
  function sameConfig(a, b) {
701
- const configA = MultisigConfig.from(a);
702
- const configB = MultisigConfig.from(b);
703
- return (Hex.isEqual(configA.salt ?? MultisigConfig.zeroSalt, configB.salt ?? MultisigConfig.zeroSalt) &&
701
+ const configA = AccountConfig.from(a);
702
+ const configB = AccountConfig.from(b);
703
+ return (Hex.isEqual(configA.salt ?? AccountConfig.zeroSalt, configB.salt ?? AccountConfig.zeroSalt) &&
704
704
  configA.threshold === configB.threshold &&
705
705
  configA.version === configB.version &&
706
706
  configA.owners.length === configB.owners.length &&
@@ -710,17 +710,17 @@ function sameConfig(a, b) {
710
710
  owner.weight === other.weight);
711
711
  }));
712
712
  }
713
- /** Thrown when a multisig owner approval is invalid. */
713
+ /** Thrown when an account operation owner approval is invalid. */
714
714
  export class InvalidApprovalError extends Errors.BaseError {
715
- name = 'MultisigOperation.InvalidApprovalError';
715
+ name = 'AccountOperation.InvalidApprovalError';
716
716
  /**
717
- * Creates an invalid multisig approval error.
717
+ * Creates an invalid operation approval error.
718
718
  *
719
719
  * @example
720
720
  * ```ts twoslash
721
- * import { MultisigOperation } from 'ox/tempo'
721
+ * import { AccountOperation } from 'ox/tempo'
722
722
  *
723
- * throw new MultisigOperation.InvalidApprovalError({
723
+ * throw new AccountOperation.InvalidApprovalError({
724
724
  * reason: 'signature is from a non-owner'
725
725
  * })
726
726
  * ```
@@ -729,21 +729,21 @@ export class InvalidApprovalError extends Errors.BaseError {
729
729
  */
730
730
  constructor(options = {}) {
731
731
  super(options.reason
732
- ? `Invalid multisig approval: ${options.reason}.`
733
- : 'Invalid multisig approval.', { cause: options.cause });
732
+ ? `Invalid operation approval: ${options.reason}.`
733
+ : 'Invalid operation approval.', { cause: options.cause });
734
734
  }
735
735
  }
736
- /** Thrown when a multisig operation is malformed or internally inconsistent. */
736
+ /** Thrown when an account operation is malformed or internally inconsistent. */
737
737
  export class InvalidOperationError extends Errors.BaseError {
738
- name = 'MultisigOperation.InvalidOperationError';
738
+ name = 'AccountOperation.InvalidOperationError';
739
739
  /**
740
- * Creates an invalid multisig operation error.
740
+ * Creates an invalid account operation error.
741
741
  *
742
742
  * @example
743
743
  * ```ts twoslash
744
- * import { MultisigOperation } from 'ox/tempo'
744
+ * import { AccountOperation } from 'ox/tempo'
745
745
  *
746
- * throw new MultisigOperation.InvalidOperationError({
746
+ * throw new AccountOperation.InvalidOperationError({
747
747
  * reason: 'hash does not match the operation payload'
748
748
  * })
749
749
  * ```
@@ -752,8 +752,8 @@ export class InvalidOperationError extends Errors.BaseError {
752
752
  */
753
753
  constructor(options = {}) {
754
754
  super(options.reason
755
- ? `Invalid multisig operation: ${options.reason}.`
756
- : 'Invalid multisig operation.', { cause: options.cause });
755
+ ? `Invalid account operation: ${options.reason}.`
756
+ : 'Invalid account operation.', { cause: options.cause });
757
757
  }
758
758
  }
759
- //# sourceMappingURL=MultisigOperation.js.map
759
+ //# sourceMappingURL=AccountOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountOperation.js","sourceRoot":"","sources":["../../src/tempo/AccountOperation.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import * as Errors from '../core/Errors.js';
3
3
  import * as Hex from '../core/Hex.js';
4
4
  import type { Compute } from '../core/internal/types.js';
5
5
  import * as Rlp from '../core/Rlp.js';
6
- import * as MultisigConfig from './MultisigConfig.js';
6
+ import * as AccountConfig from './AccountConfig.js';
7
7
  import type * as SignatureEnvelope from './SignatureEnvelope.js';
8
- /** Native multisig owner approval used for RPC simulation. */
8
+ /** Configurable account owner approval used for RPC simulation. */
9
9
  export type Approval = PrimitiveApproval;
10
- /** JSON-RPC native multisig owner approval used for RPC simulation. */
10
+ /** JSON-RPC configurable account owner approval used for RPC simulation. */
11
11
  export type ApprovalRpc = PrimitiveApproval;
12
12
  /** Primitive owner approval used for RPC simulation. */
13
13
  export type PrimitiveApproval = {
@@ -18,61 +18,61 @@ export type PrimitiveApproval = {
18
18
  /** Configured owner address. */
19
19
  owner: Address.Address;
20
20
  };
21
- /** JSON-RPC representation of a native multisig simulation spec. */
21
+ /** JSON-RPC representation of an account simulation spec. */
22
22
  export type Rpc = Compute<{
23
23
  /** Owner approvals to model. */
24
24
  approvals: readonly ApprovalRpc[];
25
25
  /** Canonical RLP-encoded applicable configuration. */
26
26
  config: Hex.Hex;
27
27
  }>;
28
- /** Native multisig spec used to construct an RPC simulation signature. */
28
+ /** Account simulation spec used to construct an RPC simulation signature. */
29
29
  export type Spec = Compute<{
30
30
  /** Owner approvals to model. */
31
31
  approvals: readonly Approval[];
32
32
  /** Complete applicable configuration. */
33
- config: MultisigConfig.Config;
33
+ config: AccountConfig.Config;
34
34
  }>;
35
35
  /**
36
- * Converts a JSON-RPC multisig simulation spec to its domain representation.
36
+ * Converts a JSON-RPC account simulation spec to its domain representation.
37
37
  *
38
38
  * @example
39
39
  * ```ts twoslash
40
40
  * // @noErrors
41
- * import { MultisigSimulation } from 'ox/tempo'
41
+ * import { AccountSimulation } from 'ox/tempo'
42
42
  *
43
- * const spec = MultisigSimulation.fromRpc(specRpc)
43
+ * const spec = AccountSimulation.fromRpc(specRpc)
44
44
  * ```
45
45
  *
46
- * @param spec - JSON-RPC multisig simulation spec.
47
- * @returns The multisig simulation spec with decoded configurations.
46
+ * @param spec - JSON-RPC account simulation spec.
47
+ * @returns The account simulation spec with decoded configurations.
48
48
  */
49
49
  export declare function fromRpc(spec: Rpc): Spec;
50
50
  export declare namespace fromRpc {
51
51
  /** Error type for `fromRpc`. */
52
- type ErrorType = Hex.isEqual.ErrorType | InvalidSimulationError | MultisigConfig.assert.ErrorType | Rlp.fromHex.ErrorType | Rlp.toHex.ErrorType | Errors.GlobalErrorType;
52
+ type ErrorType = Hex.isEqual.ErrorType | InvalidSimulationError | AccountConfig.assert.ErrorType | Rlp.fromHex.ErrorType | Rlp.toHex.ErrorType | Errors.GlobalErrorType;
53
53
  }
54
54
  /**
55
- * Converts a multisig simulation spec to its JSON-RPC representation.
55
+ * Converts an account simulation spec to its JSON-RPC representation.
56
56
  *
57
57
  * @example
58
58
  * ```ts twoslash
59
59
  * // @noErrors
60
- * import { MultisigSimulation } from 'ox/tempo'
60
+ * import { AccountSimulation } from 'ox/tempo'
61
61
  *
62
- * const specRpc = MultisigSimulation.toRpc(spec)
62
+ * const specRpc = AccountSimulation.toRpc(spec)
63
63
  * ```
64
64
  *
65
- * @param spec - Multisig simulation spec.
66
- * @returns The JSON-RPC multisig simulation spec with encoded configurations.
65
+ * @param spec - Account simulation spec.
66
+ * @returns The JSON-RPC account simulation spec with encoded configurations.
67
67
  */
68
68
  export declare function toRpc(spec: Spec): Rpc;
69
69
  export declare namespace toRpc {
70
70
  /** Error type for `toRpc`. */
71
- type ErrorType = Hex.fromNumber.ErrorType | InvalidSimulationError | MultisigConfig.assert.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
71
+ type ErrorType = Hex.fromNumber.ErrorType | InvalidSimulationError | AccountConfig.assert.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
72
72
  }
73
- /** Thrown when a native multisig simulation spec is invalid. */
73
+ /** Thrown when an account simulation spec is invalid. */
74
74
  export declare class InvalidSimulationError extends Errors.BaseError {
75
- readonly name = "MultisigSimulation.InvalidSimulationError";
75
+ readonly name = "AccountSimulation.InvalidSimulationError";
76
76
  constructor(options: InvalidSimulationError.Options);
77
77
  }
78
78
  export declare namespace InvalidSimulationError {
@@ -82,4 +82,4 @@ export declare namespace InvalidSimulationError {
82
82
  reason: string;
83
83
  };
84
84
  }
85
- //# sourceMappingURL=MultisigSimulation.d.ts.map
85
+ //# sourceMappingURL=AccountSimulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountSimulation.d.ts","sourceRoot":"","sources":["../../src/tempo/AccountSimulation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAEhE,mEAAmE;AACnE,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAA;AAExC,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAE3C,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uDAAuD;IACvD,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IAC7B,gFAAgF;IAChF,OAAO,CAAC,EAAE,iBAAiB,CAAC,IAAI,GAAG,SAAS,CAAA;IAC5C,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAA;CACvB,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC;IACxB,gCAAgC;IAChC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAA;IACjC,sDAAsD;IACtD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;CAChB,CAAC,CAAA;AAEF,6EAA6E;AAC7E,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;IACzB,gCAAgC;IAChC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;IAC9B,yCAAyC;IACzC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAA;CAC7B,CAAC,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAIvC;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,gCAAgC;IAChC,KAAY,SAAS,GACjB,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,sBAAsB,GACtB,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,GAAG,CAAC,KAAK,CAAC,SAAS,GACnB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAWrC;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,8BAA8B;IAC9B,KAAY,SAAS,GACjB,GAAG,CAAC,UAAU,CAAC,SAAS,GACxB,sBAAsB,GACtB,aAAa,CAAC,MAAM,CAAC,SAAS,GAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,GACrB,MAAM,CAAC,eAAe,CAAA;CAC3B;AAqED,yDAAyD;AACzD,qBAAa,sBAAuB,SAAQ,MAAM,CAAC,SAAS;IAC1D,SAAkB,IAAI,8CAA6C;gBACvD,OAAO,EAAE,sBAAsB,CAAC,OAAO;CAGpD;AAED,MAAM,CAAC,OAAO,WAAW,sBAAsB,CAAC;IAC9C,kCAAkC;IAClC,KAAY,OAAO,GAAG;QACpB,0BAA0B;QAC1B,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF"}
@@ -2,20 +2,20 @@ import * as Address from '../core/Address.js';
2
2
  import * as Errors from '../core/Errors.js';
3
3
  import * as Hex from '../core/Hex.js';
4
4
  import * as Rlp from '../core/Rlp.js';
5
- import * as MultisigConfig from './MultisigConfig.js';
5
+ import * as AccountConfig from './AccountConfig.js';
6
6
  /**
7
- * Converts a JSON-RPC multisig simulation spec to its domain representation.
7
+ * Converts a JSON-RPC account simulation spec to its domain representation.
8
8
  *
9
9
  * @example
10
10
  * ```ts twoslash
11
11
  * // @noErrors
12
- * import { MultisigSimulation } from 'ox/tempo'
12
+ * import { AccountSimulation } from 'ox/tempo'
13
13
  *
14
- * const spec = MultisigSimulation.fromRpc(specRpc)
14
+ * const spec = AccountSimulation.fromRpc(specRpc)
15
15
  * ```
16
16
  *
17
- * @param spec - JSON-RPC multisig simulation spec.
18
- * @returns The multisig simulation spec with decoded configurations.
17
+ * @param spec - JSON-RPC account simulation spec.
18
+ * @returns The account simulation spec with decoded configurations.
19
19
  */
20
20
  export function fromRpc(spec) {
21
21
  const { approvals, config } = spec;
@@ -23,18 +23,18 @@ export function fromRpc(spec) {
23
23
  return { approvals, config: deserializeConfig(config) };
24
24
  }
25
25
  /**
26
- * Converts a multisig simulation spec to its JSON-RPC representation.
26
+ * Converts an account simulation spec to its JSON-RPC representation.
27
27
  *
28
28
  * @example
29
29
  * ```ts twoslash
30
30
  * // @noErrors
31
- * import { MultisigSimulation } from 'ox/tempo'
31
+ * import { AccountSimulation } from 'ox/tempo'
32
32
  *
33
- * const specRpc = MultisigSimulation.toRpc(spec)
33
+ * const specRpc = AccountSimulation.toRpc(spec)
34
34
  * ```
35
35
  *
36
- * @param spec - Multisig simulation spec.
37
- * @returns The JSON-RPC multisig simulation spec with encoded configurations.
36
+ * @param spec - Account simulation spec.
37
+ * @returns The JSON-RPC account simulation spec with encoded configurations.
38
38
  */
39
39
  export function toRpc(spec) {
40
40
  const { approvals, config } = spec;
@@ -57,9 +57,9 @@ function assertApprovals(approvals) {
57
57
  throw new InvalidSimulationError({
58
58
  reason: 'only untagged primitive owner approvals are allowed',
59
59
  });
60
- if (approvals.length > MultisigConfig.maxSignatures)
60
+ if (approvals.length > AccountConfig.maxSignatures)
61
61
  throw new InvalidSimulationError({
62
- reason: `approval count exceeds ${MultisigConfig.maxSignatures}`,
62
+ reason: `approval count exceeds ${AccountConfig.maxSignatures}`,
63
63
  });
64
64
  }
65
65
  /** @internal */
@@ -82,15 +82,15 @@ function deserializeConfig(config) {
82
82
  !Address.validate(owner[0]) ||
83
83
  Hex.size(owner[1]) > 1))
84
84
  throw new InvalidSimulationError({ reason: 'invalid config encoding' });
85
- const value = MultisigConfig.fromTuple(tuple);
86
- MultisigConfig.assert(value);
85
+ const value = AccountConfig.fromTuple(tuple);
86
+ AccountConfig.assert(value);
87
87
  if (!Hex.isEqual(config, serializeConfig(value)))
88
88
  throw new InvalidSimulationError({ reason: 'noncanonical config encoding' });
89
89
  return value;
90
90
  }
91
91
  /** @internal */
92
92
  function serializeConfig(config) {
93
- return Rlp.fromHex(MultisigConfig.toTuple(config));
93
+ return Rlp.fromHex(AccountConfig.toTuple(config));
94
94
  }
95
95
  /**
96
96
  * Shims long key data into the length hint accepted by Tempo's gas estimator.
@@ -102,11 +102,11 @@ function shimKeyData(data) {
102
102
  return data;
103
103
  return Hex.fromNumber(size, { size: 2 });
104
104
  }
105
- /** Thrown when a native multisig simulation spec is invalid. */
105
+ /** Thrown when an account simulation spec is invalid. */
106
106
  export class InvalidSimulationError extends Errors.BaseError {
107
- name = 'MultisigSimulation.InvalidSimulationError';
107
+ name = 'AccountSimulation.InvalidSimulationError';
108
108
  constructor(options) {
109
- super(`Invalid multisig simulation: ${options.reason}.`);
109
+ super(`Invalid account simulation: ${options.reason}.`);
110
110
  }
111
111
  }
112
- //# sourceMappingURL=MultisigSimulation.js.map
112
+ //# sourceMappingURL=AccountSimulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountSimulation.js","sourceRoot":"","sources":["../../src/tempo/AccountSimulation.ts"],"names":[],"mappings":"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"}