ox 0.14.54 → 0.14.56
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.
- package/CHANGELOG.md +35 -0
- package/_cjs/tempo/{MultisigConfig.js → AccountConfig.js} +16 -4
- package/_cjs/tempo/AccountConfig.js.map +1 -0
- package/_cjs/tempo/{MultisigOperation.js → AccountOperation.js} +29 -29
- package/_cjs/tempo/AccountOperation.js.map +1 -0
- package/_cjs/tempo/{MultisigSimulation.js → AccountSimulation.js} +9 -9
- package/_cjs/tempo/AccountSimulation.js.map +1 -0
- package/_cjs/tempo/KeyAuthorization.js +12 -11
- package/_cjs/tempo/KeyAuthorization.js.map +1 -1
- package/_cjs/tempo/SignatureEnvelope.js +64 -64
- package/_cjs/tempo/SignatureEnvelope.js.map +1 -1
- package/_cjs/tempo/Transaction.js +2 -0
- package/_cjs/tempo/Transaction.js.map +1 -1
- package/_cjs/tempo/TransactionRequest.js +12 -9
- package/_cjs/tempo/TransactionRequest.js.map +1 -1
- package/_cjs/tempo/index.js +4 -4
- package/_cjs/tempo/index.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/tempo/{MultisigConfig.js → AccountConfig.js} +103 -55
- package/_esm/tempo/AccountConfig.js.map +1 -0
- package/_esm/tempo/{MultisigOperation.js → AccountOperation.js} +64 -64
- package/_esm/tempo/AccountOperation.js.map +1 -0
- package/_esm/tempo/{MultisigSimulation.js → AccountSimulation.js} +20 -20
- package/_esm/tempo/AccountSimulation.js.map +1 -0
- package/_esm/tempo/KeyAuthorization.js +13 -12
- package/_esm/tempo/KeyAuthorization.js.map +1 -1
- package/_esm/tempo/SignatureEnvelope.js +71 -71
- package/_esm/tempo/SignatureEnvelope.js.map +1 -1
- package/_esm/tempo/Transaction.js +2 -0
- package/_esm/tempo/Transaction.js.map +1 -1
- package/_esm/tempo/TransactionRequest.js +12 -9
- package/_esm/tempo/TransactionRequest.js.map +1 -1
- package/_esm/tempo/index.js +50 -48
- package/_esm/tempo/index.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/tempo/{MultisigConfig.d.ts → AccountConfig.d.ts} +110 -63
- package/_types/tempo/AccountConfig.d.ts.map +1 -0
- package/_types/tempo/{MultisigOperation.d.ts → AccountOperation.d.ts} +62 -62
- package/_types/tempo/AccountOperation.d.ts.map +1 -0
- package/_types/tempo/{MultisigSimulation.d.ts → AccountSimulation.d.ts} +21 -21
- package/_types/tempo/AccountSimulation.d.ts.map +1 -0
- package/_types/tempo/KeyAuthorization.d.ts +14 -14
- package/_types/tempo/KeyAuthorization.d.ts.map +1 -1
- package/_types/tempo/RpcSchemaTempo.d.ts +13 -13
- package/_types/tempo/RpcSchemaTempo.d.ts.map +1 -1
- package/_types/tempo/SignatureEnvelope.d.ts +36 -33
- package/_types/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/_types/tempo/Transaction.d.ts.map +1 -1
- package/_types/tempo/TransactionRequest.d.ts +11 -9
- package/_types/tempo/TransactionRequest.d.ts.map +1 -1
- package/_types/tempo/index.d.ts +50 -48
- package/_types/tempo/index.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/package.json +31 -31
- package/tempo/AccountConfig/package.json +6 -0
- package/tempo/AccountConfig.test-d/package.json +6 -0
- package/tempo/{MultisigConfig.test-d.ts → AccountConfig.test-d.ts} +22 -12
- package/tempo/{MultisigConfig.test.ts → AccountConfig.test.ts} +155 -37
- package/tempo/{MultisigConfig.ts → AccountConfig.ts} +132 -66
- package/tempo/AccountOperation/package.json +6 -0
- package/tempo/AccountOperation.test-d/package.json +6 -0
- package/tempo/AccountOperation.test-d.ts +71 -0
- package/tempo/{MultisigOperation.test.ts → AccountOperation.test.ts} +97 -97
- package/tempo/{MultisigOperation.ts → AccountOperation.ts} +95 -97
- package/tempo/AccountSimulation/package.json +6 -0
- package/tempo/AccountSimulation.test-d/package.json +6 -0
- package/tempo/{MultisigSimulation.test-d.ts → AccountSimulation.test-d.ts} +7 -9
- package/tempo/{MultisigSimulation.test.ts → AccountSimulation.test.ts} +29 -29
- package/tempo/{MultisigSimulation.ts → AccountSimulation.ts} +28 -30
- package/tempo/KeyAuthorization.test-d.ts +14 -14
- package/tempo/KeyAuthorization.test.ts +70 -49
- package/tempo/KeyAuthorization.ts +29 -27
- package/tempo/RpcSchemaTempo.test-d.ts +19 -19
- package/tempo/RpcSchemaTempo.ts +13 -13
- package/tempo/SignatureEnvelope.test-d.ts +7 -7
- package/tempo/SignatureEnvelope.test.ts +34 -34
- package/tempo/SignatureEnvelope.ts +107 -103
- package/tempo/Transaction.test.ts +40 -4
- package/tempo/Transaction.ts +2 -0
- package/tempo/TransactionRequest.test-d.ts +16 -7
- package/tempo/TransactionRequest.test.ts +25 -17
- package/tempo/TransactionRequest.ts +25 -18
- package/tempo/{multisig.e2e.test.ts → configurableAccounts.e2e.test.ts} +16 -16
- package/tempo/index.ts +50 -48
- package/version.ts +1 -1
- package/_cjs/tempo/MultisigConfig.js.map +0 -1
- package/_cjs/tempo/MultisigOperation.js.map +0 -1
- package/_cjs/tempo/MultisigSimulation.js.map +0 -1
- package/_esm/tempo/MultisigConfig.js.map +0 -1
- package/_esm/tempo/MultisigOperation.js.map +0 -1
- package/_esm/tempo/MultisigSimulation.js.map +0 -1
- package/_types/tempo/MultisigConfig.d.ts.map +0 -1
- package/_types/tempo/MultisigOperation.d.ts.map +0 -1
- package/_types/tempo/MultisigSimulation.d.ts.map +0 -1
- package/tempo/MultisigConfig/package.json +0 -6
- package/tempo/MultisigConfig.test-d/package.json +0 -6
- package/tempo/MultisigOperation/package.json +0 -6
- package/tempo/MultisigOperation.test-d/package.json +0 -6
- package/tempo/MultisigOperation.test-d.ts +0 -71
- package/tempo/MultisigSimulation/package.json +0 -6
- package/tempo/MultisigSimulation.test-d/package.json +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# ox
|
|
2
2
|
|
|
3
|
+
## 0.14.56
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#509](https://github.com/wevm/ox/pull/509) [`3549b12`](https://github.com/wevm/ox/commit/3549b120c0c259d8ecbc3d16b3ae77f72dfbf791) Thanks [@jxom](https://github.com/jxom)! - Renamed the Tempo multisig account APIs to configurable accounts (TIP-1107), including the `account_` relay RPC namespace, raised `AccountConfig.maxThreshold` to `255` per TIP-1114, and added `AccountConfig.update` for deriving the next config after an owner update.
|
|
8
|
+
|
|
9
|
+
```diff
|
|
10
|
+
- import { MultisigConfig, MultisigOperation, MultisigSimulation } from 'ox/tempo'
|
|
11
|
+
+ import { AccountConfig, AccountOperation, AccountSimulation } from 'ox/tempo'
|
|
12
|
+
|
|
13
|
+
- const initialConfig = MultisigConfig.from({ owners, threshold: 2 })
|
|
14
|
+
+ const initialConfig = AccountConfig.from({ owners, threshold: 2 })
|
|
15
|
+
|
|
16
|
+
- SignatureEnvelope.sortMultisigApprovals({ account, config, payload, signatures })
|
|
17
|
+
+ SignatureEnvelope.sortApprovals({ account, config, payload, signatures })
|
|
18
|
+
|
|
19
|
+
- if (signature.type === 'multisig') signature satisfies SignatureEnvelope.Multisig
|
|
20
|
+
+ if (signature.type === 'configurable') signature satisfies SignatureEnvelope.Configurable
|
|
21
|
+
|
|
22
|
+
- KeyAuthorization.from({ account, address, chainId, type: 'multisig' })
|
|
23
|
+
+ KeyAuthorization.from({ account, address, chainId, type: 'configurable' })
|
|
24
|
+
|
|
25
|
+
- TransactionRequest.toRpc({ from, keyType: 'multisig', multisigSimulation })
|
|
26
|
+
+ TransactionRequest.toRpc({ accountSimulation, from, keyType: 'configurable' })
|
|
27
|
+
|
|
28
|
+
- RpcSchema.from<RpcSchemaTempo.Multisig>() // multisig_getConfig, multisig_getOperation, ...
|
|
29
|
+
+ RpcSchema.from<RpcSchemaTempo.Account>() // account_getConfig, account_getOperation, ...
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 0.14.55
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- [#510](https://github.com/wevm/ox/pull/510) [`5b2a75b`](https://github.com/wevm/ox/commit/5b2a75b08397483e3ab4a157e11e8ef70b65f9ff) Thanks [@jxom](https://github.com/jxom)! - Fixed `Transaction.toRpc` (in `ox/tempo`) dropping `nonceKey`, so serialized Tempo transactions keep their 2D nonce lane.
|
|
37
|
+
|
|
3
38
|
## 0.14.54
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
|
@@ -10,6 +10,7 @@ exports.getCommitment = getCommitment;
|
|
|
10
10
|
exports.getSignPayload = getSignPayload;
|
|
11
11
|
exports.toRpc = toRpc;
|
|
12
12
|
exports.toTuple = toTuple;
|
|
13
|
+
exports.update = update;
|
|
13
14
|
exports.validate = validate;
|
|
14
15
|
const Address = require("../core/Address.js");
|
|
15
16
|
const ContractAddress = require("../core/ContractAddress.js");
|
|
@@ -19,7 +20,7 @@ const Hex = require("../core/Hex.js");
|
|
|
19
20
|
exports.maxOwnerSignatureBytes = 2049;
|
|
20
21
|
exports.maxOwners = 48;
|
|
21
22
|
exports.maxSignatures = 8;
|
|
22
|
-
exports.maxThreshold =
|
|
23
|
+
exports.maxThreshold = 0xff;
|
|
23
24
|
exports.maxVersion = 2n ** 64n - 1n;
|
|
24
25
|
exports.signatureTypeByte = '0x05';
|
|
25
26
|
exports.zeroSalt = `0x${'00'.repeat(32)}`;
|
|
@@ -198,6 +199,17 @@ function toTuple(config) {
|
|
|
198
199
|
owners,
|
|
199
200
|
];
|
|
200
201
|
}
|
|
202
|
+
function update(config, options) {
|
|
203
|
+
const current = from(config);
|
|
204
|
+
if (current.version === exports.maxVersion)
|
|
205
|
+
throw new InvalidConfigError({ reason: 'version overflow' });
|
|
206
|
+
return from({
|
|
207
|
+
owners: options.owners,
|
|
208
|
+
salt: current.salt,
|
|
209
|
+
threshold: options.threshold,
|
|
210
|
+
version: current.version + 1n,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
201
213
|
function validate(config) {
|
|
202
214
|
try {
|
|
203
215
|
assert(config);
|
|
@@ -209,12 +221,12 @@ function validate(config) {
|
|
|
209
221
|
}
|
|
210
222
|
class InvalidConfigError extends Errors.BaseError {
|
|
211
223
|
constructor({ reason }) {
|
|
212
|
-
super(`Invalid
|
|
224
|
+
super(`Invalid account config: ${reason}.`);
|
|
213
225
|
Object.defineProperty(this, "name", {
|
|
214
226
|
enumerable: true,
|
|
215
227
|
configurable: true,
|
|
216
228
|
writable: true,
|
|
217
|
-
value: '
|
|
229
|
+
value: 'AccountConfig.InvalidConfigError'
|
|
218
230
|
});
|
|
219
231
|
}
|
|
220
232
|
}
|
|
@@ -228,4 +240,4 @@ function assertVersion(version) {
|
|
|
228
240
|
reason: 'version must be an unsigned 64-bit integer',
|
|
229
241
|
});
|
|
230
242
|
}
|
|
231
|
-
//# sourceMappingURL=
|
|
243
|
+
//# sourceMappingURL=AccountConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountConfig.js","sourceRoot":"","sources":["../../tempo/AccountConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ const Address = require("../core/Address.js");
|
|
|
12
12
|
const Errors = require("../core/Errors.js");
|
|
13
13
|
const Hash = require("../core/Hash.js");
|
|
14
14
|
const Hex = require("../core/Hex.js");
|
|
15
|
+
const AccountConfig = require("./AccountConfig.js");
|
|
15
16
|
const KeyAuthorization_ = require("./KeyAuthorization.js");
|
|
16
|
-
const MultisigConfig = require("./MultisigConfig.js");
|
|
17
17
|
const SignatureEnvelope = require("./SignatureEnvelope.js");
|
|
18
18
|
const TxEnvelopeTempo = require("./TxEnvelopeTempo.js");
|
|
19
19
|
function getHash(options) {
|
|
@@ -21,7 +21,7 @@ function getHash(options) {
|
|
|
21
21
|
const payload = options.type === 'transaction'
|
|
22
22
|
? TxEnvelopeTempo.getSignPayload(TxEnvelopeTempo.deserialize(options.transaction))
|
|
23
23
|
: KeyAuthorization_.getSignPayload(KeyAuthorization_.deserialize(options.keyAuthorization));
|
|
24
|
-
return
|
|
24
|
+
return AccountConfig.getSignPayload({
|
|
25
25
|
account,
|
|
26
26
|
config,
|
|
27
27
|
payload,
|
|
@@ -33,7 +33,7 @@ async function selectApprovals(options) {
|
|
|
33
33
|
throw new InvalidApprovalError({ reason: 'account is invalid' });
|
|
34
34
|
if (!Hash.validate(hash))
|
|
35
35
|
throw new InvalidApprovalError({ reason: 'hash is invalid' });
|
|
36
|
-
const config =
|
|
36
|
+
const config = AccountConfig.from(options.config);
|
|
37
37
|
return selectApprovals_internal({
|
|
38
38
|
account,
|
|
39
39
|
approvals,
|
|
@@ -52,8 +52,8 @@ function serializeKeyAuthorization(keyAuthorization, options) {
|
|
|
52
52
|
throw new InvalidOperationError({
|
|
53
53
|
reason: 'keyAuthorization is not canonically serialized',
|
|
54
54
|
});
|
|
55
|
-
const config =
|
|
56
|
-
const signatures = SignatureEnvelope.
|
|
55
|
+
const config = AccountConfig.from(options.config);
|
|
56
|
+
const signatures = SignatureEnvelope.sortApprovals({
|
|
57
57
|
account: options.account,
|
|
58
58
|
config,
|
|
59
59
|
payload: KeyAuthorization_.getSignPayload(authorization),
|
|
@@ -72,7 +72,7 @@ function serializeTransaction(operation, options) {
|
|
|
72
72
|
const envelope = TxEnvelopeTempo.deserialize(value.transaction);
|
|
73
73
|
const approvals = options.approvals.map((approval) => assertApproval(value.account, approval, value.config));
|
|
74
74
|
assertRetainedApprovals(value, approvals);
|
|
75
|
-
const signatures = SignatureEnvelope.
|
|
75
|
+
const signatures = SignatureEnvelope.sortApprovals({
|
|
76
76
|
account: value.account,
|
|
77
77
|
config: value.config,
|
|
78
78
|
payload: TxEnvelopeTempo.getSignPayload(envelope),
|
|
@@ -93,7 +93,7 @@ function serializeTransaction(operation, options) {
|
|
|
93
93
|
}
|
|
94
94
|
function from(operation) {
|
|
95
95
|
try {
|
|
96
|
-
const config =
|
|
96
|
+
const config = AccountConfig.from(operation.config);
|
|
97
97
|
if (typeof config.threshold !== 'number' ||
|
|
98
98
|
config.owners.some((owner) => typeof owner.weight !== 'number'))
|
|
99
99
|
throw new InvalidOperationError({
|
|
@@ -129,7 +129,7 @@ function fromRpc(operation) {
|
|
|
129
129
|
});
|
|
130
130
|
return from({
|
|
131
131
|
...operation,
|
|
132
|
-
config:
|
|
132
|
+
config: AccountConfig.fromRpc(operation.config),
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
catch (cause) {
|
|
@@ -142,7 +142,7 @@ function toRpc(operation) {
|
|
|
142
142
|
const value = from(operation);
|
|
143
143
|
return {
|
|
144
144
|
...value,
|
|
145
|
-
config:
|
|
145
|
+
config: AccountConfig.toRpc(value.config),
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
148
|
async function selectApprovals_internal(options) {
|
|
@@ -153,9 +153,9 @@ async function selectApprovals_internal(options) {
|
|
|
153
153
|
const groups = new Map();
|
|
154
154
|
for (const serialized of options.approvals) {
|
|
155
155
|
const signature = SignatureEnvelope.from(serialized);
|
|
156
|
-
if (signature.type === 'keychain' || signature.type === '
|
|
156
|
+
if (signature.type === 'keychain' || signature.type === 'configurable')
|
|
157
157
|
throw new InvalidApprovalError({
|
|
158
|
-
reason: 'only primitive signatures can approve
|
|
158
|
+
reason: 'only primitive signatures can approve an account operation',
|
|
159
159
|
});
|
|
160
160
|
const address = SignatureEnvelope.extractAddress({
|
|
161
161
|
payload: options.hash,
|
|
@@ -201,7 +201,7 @@ async function selectApprovals_internal(options) {
|
|
|
201
201
|
const ranked = valid.sort((a, b) => b.weight - a.weight || compareApprovalAddress(a, b));
|
|
202
202
|
const selected = [];
|
|
203
203
|
let weight = 0;
|
|
204
|
-
for (const approval of ranked.slice(0,
|
|
204
|
+
for (const approval of ranked.slice(0, AccountConfig.maxSignatures)) {
|
|
205
205
|
if (weight >= Number(options.config.threshold))
|
|
206
206
|
break;
|
|
207
207
|
selected.push(approval);
|
|
@@ -250,7 +250,7 @@ function assertBase(operation, config) {
|
|
|
250
250
|
});
|
|
251
251
|
if (operation.weight > 0xff)
|
|
252
252
|
throw new InvalidOperationError({ reason: 'weight exceeds u8 max' });
|
|
253
|
-
if (operation.signatureCount >
|
|
253
|
+
if (operation.signatureCount > AccountConfig.maxSignatures)
|
|
254
254
|
throw new InvalidOperationError({ reason: 'too many selected signatures' });
|
|
255
255
|
if (!Array.isArray(operation.approvals))
|
|
256
256
|
throw new InvalidOperationError({ reason: 'approvals must be an array' });
|
|
@@ -404,9 +404,9 @@ function assertKeyAuthorization(operation, config) {
|
|
|
404
404
|
reason: 'pending key authorizations must be unsigned',
|
|
405
405
|
});
|
|
406
406
|
if (operation.status === 'success') {
|
|
407
|
-
if (signature?.type !== '
|
|
407
|
+
if (signature?.type !== 'configurable')
|
|
408
408
|
throw new InvalidOperationError({
|
|
409
|
-
reason: 'successful key authorizations require a
|
|
409
|
+
reason: 'successful key authorizations require a configurable account signature',
|
|
410
410
|
});
|
|
411
411
|
if (signature.account.toLowerCase() !== operation.account.toLowerCase())
|
|
412
412
|
throw new InvalidOperationError({
|
|
@@ -431,7 +431,7 @@ function assertKeyAuthorization(operation, config) {
|
|
|
431
431
|
}
|
|
432
432
|
function assertApproval(account, serialized, config) {
|
|
433
433
|
const approval = SignatureEnvelope.deserialize(serialized);
|
|
434
|
-
if (approval.type === 'keychain' || approval.type === '
|
|
434
|
+
if (approval.type === 'keychain' || approval.type === 'configurable')
|
|
435
435
|
throw new InvalidOperationError({
|
|
436
436
|
reason: 'only primitive owner approvals are allowed',
|
|
437
437
|
});
|
|
@@ -439,7 +439,7 @@ function assertApproval(account, serialized, config) {
|
|
|
439
439
|
account,
|
|
440
440
|
config,
|
|
441
441
|
signatures: [approval],
|
|
442
|
-
type: '
|
|
442
|
+
type: 'configurable',
|
|
443
443
|
});
|
|
444
444
|
if (SignatureEnvelope.serialize(approval).toLowerCase() !==
|
|
445
445
|
serialized.toLowerCase())
|
|
@@ -469,7 +469,7 @@ function assertSelectedApprovals(operation, selected, authorization) {
|
|
|
469
469
|
});
|
|
470
470
|
retained.splice(index, 1);
|
|
471
471
|
}
|
|
472
|
-
const digest =
|
|
472
|
+
const digest = AccountConfig.getSignPayload({
|
|
473
473
|
account: operation.account,
|
|
474
474
|
config: operation.config,
|
|
475
475
|
payload: KeyAuthorization_.getSignPayload(authorization),
|
|
@@ -498,7 +498,7 @@ function isWeightReachable(weights, signatureCount, weight) {
|
|
|
498
498
|
return reachable[signatureCount].has(weight);
|
|
499
499
|
}
|
|
500
500
|
function assertOperationHash(operation, payload) {
|
|
501
|
-
const hash =
|
|
501
|
+
const hash = AccountConfig.getSignPayload({
|
|
502
502
|
account: operation.account,
|
|
503
503
|
config: operation.config,
|
|
504
504
|
payload,
|
|
@@ -515,9 +515,9 @@ function assertInteger(value, field) {
|
|
|
515
515
|
});
|
|
516
516
|
}
|
|
517
517
|
function sameConfig(a, b) {
|
|
518
|
-
const configA =
|
|
519
|
-
const configB =
|
|
520
|
-
return (Hex.isEqual(configA.salt ??
|
|
518
|
+
const configA = AccountConfig.from(a);
|
|
519
|
+
const configB = AccountConfig.from(b);
|
|
520
|
+
return (Hex.isEqual(configA.salt ?? AccountConfig.zeroSalt, configB.salt ?? AccountConfig.zeroSalt) &&
|
|
521
521
|
configA.threshold === configB.threshold &&
|
|
522
522
|
configA.version === configB.version &&
|
|
523
523
|
configA.owners.length === configB.owners.length &&
|
|
@@ -530,13 +530,13 @@ function sameConfig(a, b) {
|
|
|
530
530
|
class InvalidApprovalError extends Errors.BaseError {
|
|
531
531
|
constructor(options = {}) {
|
|
532
532
|
super(options.reason
|
|
533
|
-
? `Invalid
|
|
534
|
-
: 'Invalid
|
|
533
|
+
? `Invalid operation approval: ${options.reason}.`
|
|
534
|
+
: 'Invalid operation approval.', { cause: options.cause });
|
|
535
535
|
Object.defineProperty(this, "name", {
|
|
536
536
|
enumerable: true,
|
|
537
537
|
configurable: true,
|
|
538
538
|
writable: true,
|
|
539
|
-
value: '
|
|
539
|
+
value: 'AccountOperation.InvalidApprovalError'
|
|
540
540
|
});
|
|
541
541
|
}
|
|
542
542
|
}
|
|
@@ -544,15 +544,15 @@ exports.InvalidApprovalError = InvalidApprovalError;
|
|
|
544
544
|
class InvalidOperationError extends Errors.BaseError {
|
|
545
545
|
constructor(options = {}) {
|
|
546
546
|
super(options.reason
|
|
547
|
-
? `Invalid
|
|
548
|
-
: 'Invalid
|
|
547
|
+
? `Invalid account operation: ${options.reason}.`
|
|
548
|
+
: 'Invalid account operation.', { cause: options.cause });
|
|
549
549
|
Object.defineProperty(this, "name", {
|
|
550
550
|
enumerable: true,
|
|
551
551
|
configurable: true,
|
|
552
552
|
writable: true,
|
|
553
|
-
value: '
|
|
553
|
+
value: 'AccountOperation.InvalidOperationError'
|
|
554
554
|
});
|
|
555
555
|
}
|
|
556
556
|
}
|
|
557
557
|
exports.InvalidOperationError = InvalidOperationError;
|
|
558
|
-
//# sourceMappingURL=
|
|
558
|
+
//# sourceMappingURL=AccountOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountOperation.js","sourceRoot":"","sources":["../../tempo/AccountOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const Address = require("../core/Address.js");
|
|
|
7
7
|
const Errors = require("../core/Errors.js");
|
|
8
8
|
const Hex = require("../core/Hex.js");
|
|
9
9
|
const Rlp = require("../core/Rlp.js");
|
|
10
|
-
const
|
|
10
|
+
const AccountConfig = require("./AccountConfig.js");
|
|
11
11
|
function fromRpc(spec) {
|
|
12
12
|
const { approvals, config } = spec;
|
|
13
13
|
assertApprovals(approvals);
|
|
@@ -33,9 +33,9 @@ function assertApprovals(approvals) {
|
|
|
33
33
|
throw new InvalidSimulationError({
|
|
34
34
|
reason: 'only untagged primitive owner approvals are allowed',
|
|
35
35
|
});
|
|
36
|
-
if (approvals.length >
|
|
36
|
+
if (approvals.length > AccountConfig.maxSignatures)
|
|
37
37
|
throw new InvalidSimulationError({
|
|
38
|
-
reason: `approval count exceeds ${
|
|
38
|
+
reason: `approval count exceeds ${AccountConfig.maxSignatures}`,
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
function deserializeConfig(config) {
|
|
@@ -57,14 +57,14 @@ function deserializeConfig(config) {
|
|
|
57
57
|
!Address.validate(owner[0]) ||
|
|
58
58
|
Hex.size(owner[1]) > 1))
|
|
59
59
|
throw new InvalidSimulationError({ reason: 'invalid config encoding' });
|
|
60
|
-
const value =
|
|
61
|
-
|
|
60
|
+
const value = AccountConfig.fromTuple(tuple);
|
|
61
|
+
AccountConfig.assert(value);
|
|
62
62
|
if (!Hex.isEqual(config, serializeConfig(value)))
|
|
63
63
|
throw new InvalidSimulationError({ reason: 'noncanonical config encoding' });
|
|
64
64
|
return value;
|
|
65
65
|
}
|
|
66
66
|
function serializeConfig(config) {
|
|
67
|
-
return Rlp.fromHex(
|
|
67
|
+
return Rlp.fromHex(AccountConfig.toTuple(config));
|
|
68
68
|
}
|
|
69
69
|
function shimKeyData(data) {
|
|
70
70
|
const size = Hex.size(data);
|
|
@@ -74,14 +74,14 @@ function shimKeyData(data) {
|
|
|
74
74
|
}
|
|
75
75
|
class InvalidSimulationError extends Errors.BaseError {
|
|
76
76
|
constructor(options) {
|
|
77
|
-
super(`Invalid
|
|
77
|
+
super(`Invalid account simulation: ${options.reason}.`);
|
|
78
78
|
Object.defineProperty(this, "name", {
|
|
79
79
|
enumerable: true,
|
|
80
80
|
configurable: true,
|
|
81
81
|
writable: true,
|
|
82
|
-
value: '
|
|
82
|
+
value: 'AccountSimulation.InvalidSimulationError'
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
exports.InvalidSimulationError = InvalidSimulationError;
|
|
87
|
-
//# sourceMappingURL=
|
|
87
|
+
//# sourceMappingURL=AccountSimulation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountSimulation.js","sourceRoot":"","sources":["../../tempo/AccountSimulation.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,8 @@ function fromRpc(authorization) {
|
|
|
69
69
|
const witness = authorization.witness ?? undefined;
|
|
70
70
|
const isAdmin = authorization.isAdmin ?? undefined;
|
|
71
71
|
const account = authorization.account ?? undefined;
|
|
72
|
-
|
|
72
|
+
const type = keyType === 'multisig' ? 'configurable' : keyType;
|
|
73
|
+
assertAccountBinding(type, account);
|
|
73
74
|
const signature = SignatureEnvelope.fromRpc(authorization.signature);
|
|
74
75
|
assertSignature(signature);
|
|
75
76
|
if (witness !== undefined)
|
|
@@ -100,9 +101,7 @@ function fromRpc(authorization) {
|
|
|
100
101
|
})),
|
|
101
102
|
...(scopes ? { scopes } : {}),
|
|
102
103
|
signature,
|
|
103
|
-
...(
|
|
104
|
-
? { account: account, type: keyType }
|
|
105
|
-
: { type: keyType }),
|
|
104
|
+
...(type === 'configurable' ? { account: account, type } : { type }),
|
|
106
105
|
...(witness !== undefined ? { witness } : {}),
|
|
107
106
|
...(account !== undefined ? { account } : {}),
|
|
108
107
|
...(isAdmin ? { isAdmin: true } : {}),
|
|
@@ -121,7 +120,7 @@ function fromTuple(tuple) {
|
|
|
121
120
|
case '0x02':
|
|
122
121
|
return 'webAuthn';
|
|
123
122
|
case '0x03':
|
|
124
|
-
return '
|
|
123
|
+
return 'configurable';
|
|
125
124
|
default:
|
|
126
125
|
throw new Error(`Invalid key type: ${keyType_hex}`);
|
|
127
126
|
}
|
|
@@ -174,7 +173,7 @@ function fromTuple(tuple) {
|
|
|
174
173
|
const args = {
|
|
175
174
|
address: keyId,
|
|
176
175
|
chainId: chainId === '0x' ? 0n : Hex.toBigInt(chainId),
|
|
177
|
-
...(keyType === '
|
|
176
|
+
...(keyType === 'configurable'
|
|
178
177
|
? { account: account, type: keyType }
|
|
179
178
|
: { type: keyType }),
|
|
180
179
|
...(expiry !== undefined ? { expiry } : {}),
|
|
@@ -239,7 +238,9 @@ function toRpc(authorization) {
|
|
|
239
238
|
chainId: chainId === 0n ? '0x' : Hex.fromNumber(chainId),
|
|
240
239
|
expiry: typeof expiry === 'number' ? Hex.fromNumber(expiry) : null,
|
|
241
240
|
keyId: TempoAddress.resolve(address),
|
|
242
|
-
...(type === '
|
|
241
|
+
...(type === 'configurable'
|
|
242
|
+
? { account, keyType: 'multisig' }
|
|
243
|
+
: { keyType: type }),
|
|
243
244
|
limits: limits?.map(({ token, limit, period }) => ({
|
|
244
245
|
token,
|
|
245
246
|
limit: Hex.fromNumber(limit),
|
|
@@ -272,7 +273,7 @@ function toTuple(authorization) {
|
|
|
272
273
|
return '0x01';
|
|
273
274
|
case 'webAuthn':
|
|
274
275
|
return '0x02';
|
|
275
|
-
case '
|
|
276
|
+
case 'configurable':
|
|
276
277
|
return '0x03';
|
|
277
278
|
default:
|
|
278
279
|
throw new Error(`Invalid key type: ${keyType}`);
|
|
@@ -362,7 +363,7 @@ function resolveSelector(selector) {
|
|
|
362
363
|
return AbiItem.getSelector(selector);
|
|
363
364
|
}
|
|
364
365
|
function assertAccountBinding(type, account) {
|
|
365
|
-
if (type === '
|
|
366
|
+
if (type === 'configurable' && account == null)
|
|
366
367
|
throw new MissingAccountError();
|
|
367
368
|
}
|
|
368
369
|
function assertWitness(witness) {
|
|
@@ -402,7 +403,7 @@ class InvalidAdminMarkerError extends Error {
|
|
|
402
403
|
exports.InvalidAdminMarkerError = InvalidAdminMarkerError;
|
|
403
404
|
class InvalidSignatureTypeError extends Error {
|
|
404
405
|
constructor(type) {
|
|
405
|
-
super(`Signature type \`${type}\` is invalid for key authorizations; expected \`secp256k1\`, \`p256\`, \`webAuthn\`, or \`
|
|
406
|
+
super(`Signature type \`${type}\` is invalid for key authorizations; expected \`secp256k1\`, \`p256\`, \`webAuthn\`, or \`configurable\`.`);
|
|
406
407
|
Object.defineProperty(this, "name", {
|
|
407
408
|
enumerable: true,
|
|
408
409
|
configurable: true,
|
|
@@ -414,7 +415,7 @@ class InvalidSignatureTypeError extends Error {
|
|
|
414
415
|
exports.InvalidSignatureTypeError = InvalidSignatureTypeError;
|
|
415
416
|
class MissingAccountError extends Error {
|
|
416
417
|
constructor() {
|
|
417
|
-
super('
|
|
418
|
+
super('Configurable account key grants require a parent account binding.');
|
|
418
419
|
Object.defineProperty(this, "name", {
|
|
419
420
|
enumerable: true,
|
|
420
421
|
configurable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyAuthorization.js","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeyAuthorization.js","sourceRoot":"","sources":["../../tempo/KeyAuthorization.ts"],"names":[],"mappings":"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"}
|