viem 2.56.0 → 2.56.2
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 +16 -0
- package/_cjs/actions/wallet/sendTransaction.js +9 -1
- package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/_cjs/actions/wallet/sendTransactionSync.js +9 -1
- package/_cjs/actions/wallet/sendTransactionSync.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/tempo/Abis.js +11 -23
- package/_cjs/tempo/Abis.js.map +1 -1
- package/_cjs/tempo/Account.js +66 -61
- package/_cjs/tempo/Account.js.map +1 -1
- package/_cjs/tempo/Client.js +10 -2
- package/_cjs/tempo/Client.js.map +1 -1
- package/_cjs/tempo/Decorator.js +2 -1
- package/_cjs/tempo/Decorator.js.map +1 -1
- package/_cjs/tempo/Formatters.js +29 -9
- package/_cjs/tempo/Formatters.js.map +1 -1
- package/_cjs/tempo/Multisig.js +990 -0
- package/_cjs/tempo/Multisig.js.map +1 -0
- package/_cjs/tempo/Selectors.js +2 -3
- package/_cjs/tempo/Selectors.js.map +1 -1
- package/_cjs/tempo/{Storage.js → Store.js} +34 -9
- package/_cjs/tempo/Store.js.map +1 -0
- package/_cjs/tempo/Transaction.js +15 -30
- package/_cjs/tempo/Transaction.js.map +1 -1
- package/_cjs/tempo/Transport.js +51 -5
- package/_cjs/tempo/Transport.js.map +1 -1
- package/_cjs/tempo/actions/accessKey.js +102 -8
- package/_cjs/tempo/actions/accessKey.js.map +1 -1
- package/_cjs/tempo/actions/amm.js +6 -0
- package/_cjs/tempo/actions/amm.js.map +1 -1
- package/_cjs/tempo/actions/channel.js +12 -0
- package/_cjs/tempo/actions/channel.js.map +1 -1
- package/_cjs/tempo/actions/dex.js +10 -0
- package/_cjs/tempo/actions/dex.js.map +1 -1
- package/_cjs/tempo/actions/earn/deployment.js +13 -1
- package/_cjs/tempo/actions/earn/deployment.js.map +1 -1
- package/_cjs/tempo/actions/earn.js +17 -0
- package/_cjs/tempo/actions/earn.js.map +1 -1
- package/_cjs/tempo/actions/fee.js +4 -0
- package/_cjs/tempo/actions/fee.js.map +1 -1
- package/_cjs/tempo/actions/multisig.js +86 -28
- package/_cjs/tempo/actions/multisig.js.map +1 -1
- package/_cjs/tempo/actions/policy.js +8 -0
- package/_cjs/tempo/actions/policy.js.map +1 -1
- package/_cjs/tempo/actions/receivePolicy.js +6 -0
- package/_cjs/tempo/actions/receivePolicy.js.map +1 -1
- package/_cjs/tempo/actions/reward.js +4 -0
- package/_cjs/tempo/actions/reward.js.map +1 -1
- package/_cjs/tempo/actions/token.js +32 -0
- package/_cjs/tempo/actions/token.js.map +1 -1
- package/_cjs/tempo/actions/virtualAddress.js +2 -0
- package/_cjs/tempo/actions/virtualAddress.js.map +1 -1
- package/_cjs/tempo/actions/zone.js +7 -5
- package/_cjs/tempo/actions/zone.js.map +1 -1
- package/_cjs/tempo/chainConfig.js +180 -69
- package/_cjs/tempo/chainConfig.js.map +1 -1
- package/_cjs/tempo/index.js +5 -2
- package/_cjs/tempo/index.js.map +1 -1
- package/_cjs/tempo/internal/utils.js +2 -1
- package/_cjs/tempo/internal/utils.js.map +1 -1
- package/_cjs/tempo/multisig/Config.js +80 -0
- package/_cjs/tempo/multisig/Config.js.map +1 -0
- package/_cjs/tempo/multisig/Operation.js +163 -0
- package/_cjs/tempo/multisig/Operation.js.map +1 -0
- package/_cjs/utils/encoding/fromHex.js +1 -1
- package/_cjs/utils/encoding/fromHex.js.map +1 -1
- package/_cjs/utils/hash/isHash.js +1 -2
- package/_cjs/utils/hash/isHash.js.map +1 -1
- package/_esm/actions/wallet/sendTransaction.js +9 -1
- package/_esm/actions/wallet/sendTransaction.js.map +1 -1
- package/_esm/actions/wallet/sendTransactionSync.js +9 -1
- package/_esm/actions/wallet/sendTransactionSync.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/tempo/Abis.js +11 -23
- package/_esm/tempo/Abis.js.map +1 -1
- package/_esm/tempo/Account.js +66 -61
- package/_esm/tempo/Account.js.map +1 -1
- package/_esm/tempo/Client.js +22 -3
- package/_esm/tempo/Client.js.map +1 -1
- package/_esm/tempo/Decorator.js +2 -1
- package/_esm/tempo/Decorator.js.map +1 -1
- package/_esm/tempo/Formatters.js +32 -11
- package/_esm/tempo/Formatters.js.map +1 -1
- package/_esm/tempo/Multisig.js +1020 -0
- package/_esm/tempo/Multisig.js.map +1 -0
- package/_esm/tempo/Selectors.js +2 -3
- package/_esm/tempo/Selectors.js.map +1 -1
- package/_esm/tempo/{Storage.js → Store.js} +37 -26
- package/_esm/tempo/Store.js.map +1 -0
- package/_esm/tempo/Transaction.js +16 -31
- package/_esm/tempo/Transaction.js.map +1 -1
- package/_esm/tempo/Transport.js +71 -6
- package/_esm/tempo/Transport.js.map +1 -1
- package/_esm/tempo/actions/accessKey.js +104 -20
- package/_esm/tempo/actions/accessKey.js.map +1 -1
- package/_esm/tempo/actions/amm.js +6 -0
- package/_esm/tempo/actions/amm.js.map +1 -1
- package/_esm/tempo/actions/channel.js +12 -0
- package/_esm/tempo/actions/channel.js.map +1 -1
- package/_esm/tempo/actions/dex.js +10 -0
- package/_esm/tempo/actions/dex.js.map +1 -1
- package/_esm/tempo/actions/earn/deployment.js +13 -1
- package/_esm/tempo/actions/earn/deployment.js.map +1 -1
- package/_esm/tempo/actions/earn.js +17 -0
- package/_esm/tempo/actions/earn.js.map +1 -1
- package/_esm/tempo/actions/fee.js +4 -0
- package/_esm/tempo/actions/fee.js.map +1 -1
- package/_esm/tempo/actions/multisig.js +129 -63
- package/_esm/tempo/actions/multisig.js.map +1 -1
- package/_esm/tempo/actions/policy.js +8 -0
- package/_esm/tempo/actions/policy.js.map +1 -1
- package/_esm/tempo/actions/receivePolicy.js +6 -0
- package/_esm/tempo/actions/receivePolicy.js.map +1 -1
- package/_esm/tempo/actions/reward.js +4 -0
- package/_esm/tempo/actions/reward.js.map +1 -1
- package/_esm/tempo/actions/token.js +32 -0
- package/_esm/tempo/actions/token.js.map +1 -1
- package/_esm/tempo/actions/virtualAddress.js +2 -0
- package/_esm/tempo/actions/virtualAddress.js.map +1 -1
- package/_esm/tempo/actions/zone.js +8 -6
- package/_esm/tempo/actions/zone.js.map +1 -1
- package/_esm/tempo/chainConfig.js +188 -86
- package/_esm/tempo/chainConfig.js.map +1 -1
- package/_esm/tempo/index.js +5 -3
- package/_esm/tempo/index.js.map +1 -1
- package/_esm/tempo/internal/utils.js +2 -1
- package/_esm/tempo/internal/utils.js.map +1 -1
- package/_esm/tempo/multisig/Config.js +84 -0
- package/_esm/tempo/multisig/Config.js.map +1 -0
- package/_esm/tempo/multisig/Operation.js +170 -0
- package/_esm/tempo/multisig/Operation.js.map +1 -0
- package/_esm/utils/encoding/fromHex.js +1 -1
- package/_esm/utils/encoding/fromHex.js.map +1 -1
- package/_esm/utils/hash/isHash.js +1 -2
- package/_esm/utils/hash/isHash.js.map +1 -1
- package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/_types/actions/wallet/sendTransactionSync.d.ts.map +1 -1
- package/_types/chains/definitions/tempo.d.ts +72 -92
- package/_types/chains/definitions/tempo.d.ts.map +1 -1
- package/_types/chains/definitions/tempoDevnet.d.ts +72 -92
- package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
- package/_types/chains/definitions/tempoLocalnet.d.ts +72 -92
- package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
- package/_types/chains/definitions/tempoModerato.d.ts +72 -92
- package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/tempo/Abis.d.ts +54 -108
- package/_types/tempo/Abis.d.ts.map +1 -1
- package/_types/tempo/Account.d.ts +47 -20
- package/_types/tempo/Account.d.ts.map +1 -1
- package/_types/tempo/Client.d.ts +23 -1
- package/_types/tempo/Client.d.ts.map +1 -1
- package/_types/tempo/Decorator.d.ts +30 -5
- package/_types/tempo/Decorator.d.ts.map +1 -1
- package/_types/tempo/Formatters.d.ts.map +1 -1
- package/_types/tempo/Multisig.d.ts +32 -0
- package/_types/tempo/Multisig.d.ts.map +1 -0
- package/_types/tempo/Selectors.d.ts +2 -3
- package/_types/tempo/Selectors.d.ts.map +1 -1
- package/_types/tempo/Store.d.ts +62 -0
- package/_types/tempo/Store.d.ts.map +1 -0
- package/_types/tempo/Transaction.d.ts +12 -31
- package/_types/tempo/Transaction.d.ts.map +1 -1
- package/_types/tempo/Transport.d.ts +37 -5
- package/_types/tempo/Transport.d.ts.map +1 -1
- package/_types/tempo/Zone.d.ts +468 -598
- package/_types/tempo/Zone.d.ts.map +1 -1
- package/_types/tempo/actions/accessKey.d.ts +38 -8
- package/_types/tempo/actions/accessKey.d.ts.map +1 -1
- package/_types/tempo/actions/amm.d.ts.map +1 -1
- package/_types/tempo/actions/channel.d.ts.map +1 -1
- package/_types/tempo/actions/dex.d.ts.map +1 -1
- package/_types/tempo/actions/earn/deployment.d.ts +3 -3
- package/_types/tempo/actions/earn/deployment.d.ts.map +1 -1
- package/_types/tempo/actions/earn.d.ts.map +1 -1
- package/_types/tempo/actions/fee.d.ts.map +1 -1
- package/_types/tempo/actions/multisig.d.ts +139 -136
- package/_types/tempo/actions/multisig.d.ts.map +1 -1
- package/_types/tempo/actions/policy.d.ts.map +1 -1
- package/_types/tempo/actions/receivePolicy.d.ts.map +1 -1
- package/_types/tempo/actions/reward.d.ts.map +1 -1
- package/_types/tempo/actions/token.d.ts.map +1 -1
- package/_types/tempo/actions/virtualAddress.d.ts.map +1 -1
- package/_types/tempo/actions/zone.d.ts +4 -4
- package/_types/tempo/actions/zone.d.ts.map +1 -1
- package/_types/tempo/chainConfig.d.ts +38 -48
- package/_types/tempo/chainConfig.d.ts.map +1 -1
- package/_types/tempo/index.d.ts +8 -3
- package/_types/tempo/index.d.ts.map +1 -1
- package/_types/tempo/internal/types.d.ts +1 -1
- package/_types/tempo/internal/types.d.ts.map +1 -1
- package/_types/tempo/internal/utils.d.ts +1 -0
- package/_types/tempo/internal/utils.d.ts.map +1 -1
- package/_types/tempo/multisig/Config.d.ts +42 -0
- package/_types/tempo/multisig/Config.d.ts.map +1 -0
- package/_types/tempo/multisig/Operation.d.ts +32 -0
- package/_types/tempo/multisig/Operation.d.ts.map +1 -0
- package/_types/types/chain.d.ts +10 -0
- package/_types/types/chain.d.ts.map +1 -1
- package/_types/utils/hash/isHash.d.ts +1 -2
- package/_types/utils/hash/isHash.d.ts.map +1 -1
- package/actions/wallet/sendTransaction.ts +9 -1
- package/actions/wallet/sendTransactionSync.ts +9 -1
- package/errors/version.ts +1 -1
- package/package.json +2 -2
- package/tempo/Abis.ts +11 -23
- package/tempo/Account.ts +136 -105
- package/tempo/Client.ts +46 -3
- package/tempo/Decorator.ts +40 -8
- package/tempo/Formatters.ts +39 -21
- package/tempo/Multisig.ts +1349 -0
- package/tempo/Selectors.ts +2 -3
- package/tempo/Store.ts +170 -0
- package/tempo/Transaction.ts +39 -64
- package/tempo/Transport.ts +125 -10
- package/tempo/actions/accessKey.ts +210 -23
- package/tempo/actions/amm.ts +7 -0
- package/tempo/actions/channel.ts +12 -0
- package/tempo/actions/dex.ts +10 -0
- package/tempo/actions/earn/deployment.ts +16 -3
- package/tempo/actions/earn.ts +19 -0
- package/tempo/actions/fee.ts +4 -0
- package/tempo/actions/multisig.ts +192 -94
- package/tempo/actions/policy.ts +8 -0
- package/tempo/actions/receivePolicy.ts +6 -0
- package/tempo/actions/reward.ts +5 -0
- package/tempo/actions/token.ts +33 -0
- package/tempo/actions/virtualAddress.ts +2 -0
- package/tempo/actions/zone.ts +10 -8
- package/tempo/chainConfig.ts +259 -100
- package/tempo/index.ts +9 -1
- package/tempo/internal/types.ts +3 -2
- package/tempo/internal/utils.ts +2 -0
- package/tempo/multisig/Config.ts +131 -0
- package/tempo/multisig/Operation.ts +211 -0
- package/types/chain.ts +14 -0
- package/utils/encoding/fromHex.ts +1 -1
- package/utils/hash/isHash.ts +2 -3
- package/_cjs/tempo/Storage.js.map +0 -1
- package/_cjs/tempo/internal/multisig.js +0 -56
- package/_cjs/tempo/internal/multisig.js.map +0 -1
- package/_esm/tempo/Storage.js.map +0 -1
- package/_esm/tempo/internal/multisig.js +0 -56
- package/_esm/tempo/internal/multisig.js.map +0 -1
- package/_types/tempo/Storage.d.ts +0 -42
- package/_types/tempo/Storage.d.ts.map +0 -1
- package/_types/tempo/internal/multisig.d.ts +0 -13
- package/_types/tempo/internal/multisig.d.ts.map +0 -1
- package/tempo/Storage.ts +0 -115
- package/tempo/internal/multisig.ts +0 -72
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Hex from 'ox/Hex';
|
|
2
|
-
import { MultisigConfig, SignatureEnvelope } from 'ox/tempo';
|
|
2
|
+
import { MultisigConfig, MultisigOperation, SignatureEnvelope, } from 'ox/tempo';
|
|
3
3
|
import { getCode } from '../actions/public/getCode.js';
|
|
4
|
+
import { getTransaction } from '../actions/public/getTransaction.js';
|
|
4
5
|
import { verifyHash } from '../actions/public/verifyHash.js';
|
|
5
6
|
import { maxUint256 } from '../constants/number.js';
|
|
6
7
|
import { isAddressEqual } from '../utils/address/isAddressEqual.js';
|
|
@@ -11,20 +12,13 @@ import { defineTransactionRequest } from '../utils/formatters/transactionRequest
|
|
|
11
12
|
import { getAction } from '../utils/getAction.js';
|
|
12
13
|
import { keccak256 } from '../utils/hash/keccak256.js';
|
|
13
14
|
import { getMetadata } from './actions/accessKey.js';
|
|
14
|
-
import
|
|
15
|
+
import { getConfig } from './actions/multisig.js';
|
|
15
16
|
import * as Formatters from './Formatters.js';
|
|
16
17
|
import * as Concurrent from './internal/concurrent.js';
|
|
17
|
-
import { createMultisigStateResolver, getMultisigOwnerStates, } from './internal/multisig.js';
|
|
18
18
|
import * as Transaction from './Transaction.js';
|
|
19
19
|
const maxExpirySecs = 25;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const now = BigInt(Math.floor(Date.now() / 1_000));
|
|
23
|
-
const latest = now - 60n;
|
|
24
|
-
if (latest <= 0n)
|
|
25
|
-
return 0;
|
|
26
|
-
return Number(BigInt(Hex.random(8)) % latest);
|
|
27
|
-
}
|
|
20
|
+
// TODO: casting to satisfy viem – viem v3 to have more flexible serializer type.
|
|
21
|
+
const serializeTransaction = ((transaction, signature) => Transaction.serialize(transaction, signature));
|
|
28
22
|
export const chainConfig = {
|
|
29
23
|
blockTime: 1_000,
|
|
30
24
|
extendSchema: extendSchema(),
|
|
@@ -43,6 +37,45 @@ export const chainConfig = {
|
|
|
43
37
|
prepareTransactionRequest: [
|
|
44
38
|
async (r, { client, phase }) => {
|
|
45
39
|
const request = r;
|
|
40
|
+
if (request.hash) {
|
|
41
|
+
if (!request.account ||
|
|
42
|
+
typeof request.account === 'string' ||
|
|
43
|
+
request.account.source !== 'multisig')
|
|
44
|
+
throw new Error('A local multisig account is required to approve a stored multisig transaction.');
|
|
45
|
+
if (!request.owner || typeof request.owner === 'string')
|
|
46
|
+
throw new Error('A local owner account is required to approve a stored multisig transaction.');
|
|
47
|
+
if (request.owner.source !== 'root' &&
|
|
48
|
+
request.owner.source !== 'multisig')
|
|
49
|
+
throw new Error('A Tempo owner account is required to approve a stored multisig transaction.');
|
|
50
|
+
const transaction = await getAction(client, getTransaction, 'getTransaction')({ hash: request.hash });
|
|
51
|
+
const operation = 'multisig' in transaction
|
|
52
|
+
? transaction.multisig
|
|
53
|
+
: undefined;
|
|
54
|
+
if (!operation)
|
|
55
|
+
throw new Error('Expected a multisig operation transaction.');
|
|
56
|
+
if (!isAddressEqual(operation.account, request.account.address))
|
|
57
|
+
throw new Error('Multisig operation account does not match the requested account.');
|
|
58
|
+
const storedTransaction = Transaction.deserialize(operation.transaction);
|
|
59
|
+
const hash = MultisigOperation.getHash({
|
|
60
|
+
account: operation.account,
|
|
61
|
+
config: operation.config,
|
|
62
|
+
transaction: operation.transaction,
|
|
63
|
+
type: 'transaction',
|
|
64
|
+
});
|
|
65
|
+
if (hash.toLowerCase() !== request.hash.toLowerCase())
|
|
66
|
+
throw new Error('Multisig operation hash does not match transaction.');
|
|
67
|
+
return {
|
|
68
|
+
...storedTransaction,
|
|
69
|
+
account: request.account,
|
|
70
|
+
from: operation.account,
|
|
71
|
+
multisigSimulation: getMultisigSimulation({
|
|
72
|
+
account: operation.account,
|
|
73
|
+
config: operation.config,
|
|
74
|
+
local: request.account,
|
|
75
|
+
}),
|
|
76
|
+
owner: request.owner,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
46
79
|
// FIXME: node estimates gas with secp256k1 dummy sig + null feePayerSignature.
|
|
47
80
|
// Actual tx has larger keychain/webAuthn sigs + real fee payer sig, costing more intrinsic gas.
|
|
48
81
|
if (phase === 'afterFillParameters') {
|
|
@@ -57,85 +90,56 @@ export const chainConfig = {
|
|
|
57
90
|
}
|
|
58
91
|
return request;
|
|
59
92
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// a multisig account (so callers can just pass `account` to
|
|
67
|
-
// `prepareTransactionRequest` without also passing `multisig`).
|
|
68
|
-
const multisigIdentity = request.multisig ??
|
|
69
|
-
(request.account?.source === 'multisig'
|
|
70
|
-
? (request.account.config ??
|
|
71
|
-
request.account.address)
|
|
72
|
-
: undefined);
|
|
73
|
-
if (multisigIdentity) {
|
|
74
|
-
const initialConfig = typeof multisigIdentity === 'string'
|
|
75
|
-
? undefined
|
|
76
|
-
: MultisigConfig.from(multisigIdentity);
|
|
77
|
-
const multisigAddress = typeof multisigIdentity === 'string'
|
|
78
|
-
? multisigIdentity
|
|
79
|
-
: MultisigConfig.getAddress(initialConfig);
|
|
80
|
-
request.multisig = initialConfig ?? multisigIdentity;
|
|
81
|
-
request.from = multisigAddress;
|
|
82
|
-
// Key types are not part of the config, so conservatively model every
|
|
83
|
-
// approval as a maximum-size WebAuthn signature.
|
|
84
|
-
if (typeof request.keyType === 'undefined') {
|
|
85
|
-
request.keyType = 'webAuthn';
|
|
86
|
-
if (typeof request.keyData === 'undefined')
|
|
87
|
-
request.keyData = '0x0578';
|
|
88
|
-
}
|
|
89
|
-
const getState = createMultisigStateResolver((account) => getAction(client, multisig.getConfig, 'getConfig')({ account }));
|
|
90
|
-
const ownerStates = request.account?.source === 'multisig'
|
|
91
|
-
? getMultisigOwnerStates(request.account, getState)
|
|
92
|
-
: undefined;
|
|
93
|
-
const state = ownerStates
|
|
94
|
-
? (await ownerStates)[0]
|
|
95
|
-
: await getState(multisigAddress);
|
|
96
|
-
if (!initialConfig && !state.initialized)
|
|
97
|
-
throw new Error('Cannot prepare an uninitialized multisig account from an address. Provide its initial config instead.');
|
|
98
|
-
if (typeof request.multisigVersion === 'undefined')
|
|
99
|
-
request.multisigVersion = state.version;
|
|
100
|
-
const authorizationSignature = request.keyAuthorization?.signature;
|
|
101
|
-
if (authorizationSignature?.type === 'multisig' &&
|
|
102
|
-
typeof authorizationSignature.init !== 'undefined')
|
|
103
|
-
request.keyAuthorization = {
|
|
104
|
-
...request.keyAuthorization,
|
|
105
|
-
signature: SignatureEnvelope.from({
|
|
106
|
-
initialConfig: authorizationSignature.init,
|
|
107
|
-
signatures: authorizationSignature.signatures,
|
|
108
|
-
}),
|
|
93
|
+
const multisigIdentity = (() => {
|
|
94
|
+
if (request.account?.source === 'multisig')
|
|
95
|
+
return {
|
|
96
|
+
account: request.account.address,
|
|
97
|
+
config: request.account.config,
|
|
98
|
+
local: request.account,
|
|
109
99
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
100
|
+
return undefined;
|
|
101
|
+
})();
|
|
102
|
+
if (request.owner && !multisigIdentity)
|
|
103
|
+
throw new Error('A multisig account is required when an owner is provided.');
|
|
104
|
+
if (request.owner && typeof request.owner === 'string')
|
|
105
|
+
throw new Error('A local owner account is required to approve a multisig transaction.');
|
|
106
|
+
if (request.owner &&
|
|
107
|
+
request.owner.source !== 'root' &&
|
|
108
|
+
request.owner.source !== 'multisig')
|
|
109
|
+
throw new Error('A Tempo owner account is required to approve a multisig transaction.');
|
|
110
|
+
const coordinatedMultisig = !!multisigIdentity &&
|
|
111
|
+
!!request.owner &&
|
|
112
|
+
client.transport.multisig === true;
|
|
113
|
+
if (multisigIdentity) {
|
|
114
|
+
const { account, local } = multisigIdentity;
|
|
115
|
+
if (!account)
|
|
116
|
+
throw new Error('A multisig account address is required with a current config.');
|
|
117
|
+
const config = await (async () => {
|
|
118
|
+
if (multisigIdentity.config)
|
|
119
|
+
return multisigIdentity.config;
|
|
120
|
+
if (!coordinatedMultisig)
|
|
121
|
+
return undefined;
|
|
122
|
+
const cachedConfig = await getAction(client, getConfig, 'getConfig')({ address: account });
|
|
123
|
+
if (!cachedConfig)
|
|
124
|
+
throw new Error(`No current multisig config is cached for account ${account}. Provide the current config.`);
|
|
125
|
+
return cachedConfig;
|
|
126
|
+
})();
|
|
127
|
+
if (!config)
|
|
128
|
+
throw new Error('A multisig config is required to prepare a transaction.');
|
|
129
|
+
request.from = account;
|
|
130
|
+
request.multisigSimulation = getMultisigSimulation({
|
|
131
|
+
account,
|
|
132
|
+
config,
|
|
133
|
+
local,
|
|
134
|
+
});
|
|
133
135
|
}
|
|
134
136
|
// Register concurrency before account preparation performs storage or
|
|
135
137
|
// network I/O so overlapping requests cannot miss each other.
|
|
136
138
|
const useExpiringNonce = await (async () => {
|
|
137
139
|
if (request.nonceKey === 'expiring' || request.nonceKey === maxUint256)
|
|
138
140
|
return true;
|
|
141
|
+
if (typeof request.nonceKey !== 'undefined')
|
|
142
|
+
return false;
|
|
139
143
|
if (multisigIdentity)
|
|
140
144
|
return false;
|
|
141
145
|
if (request.feePayer && typeof request.nonceKey === 'undefined')
|
|
@@ -146,7 +150,13 @@ export const chainConfig = {
|
|
|
146
150
|
return await Concurrent.detect(address.toLowerCase());
|
|
147
151
|
return false;
|
|
148
152
|
})();
|
|
149
|
-
if (
|
|
153
|
+
if (coordinatedMultisig && typeof request.nonceKey === 'undefined') {
|
|
154
|
+
// A random nonce lane lets a stored approval ceremony remain valid
|
|
155
|
+
// indefinitely without blocking other pending operations.
|
|
156
|
+
request.nonceKey = Hex.toBigInt(Hex.random(31)) + 1n;
|
|
157
|
+
request.nonce = 0;
|
|
158
|
+
}
|
|
159
|
+
else if (useExpiringNonce) {
|
|
150
160
|
request.nonceKey = maxUint256;
|
|
151
161
|
request.nonce = 0;
|
|
152
162
|
if (typeof request.validAfter === 'undefined')
|
|
@@ -193,8 +203,25 @@ export const chainConfig = {
|
|
|
193
203
|
{ runAt: ['beforeFillTransaction', 'afterFillParameters'] },
|
|
194
204
|
],
|
|
195
205
|
serializers: {
|
|
196
|
-
|
|
197
|
-
|
|
206
|
+
transaction: serializeTransaction,
|
|
207
|
+
async transactionEnvelope({ serializedTransaction, transaction }) {
|
|
208
|
+
const request = transaction;
|
|
209
|
+
if (!request.multisigSimulation)
|
|
210
|
+
return serializedTransaction;
|
|
211
|
+
try {
|
|
212
|
+
SignatureEnvelope.deserialize(serializedTransaction);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
const transaction = Transaction.deserialize(serializedTransaction);
|
|
216
|
+
if (transaction.signature?.type === 'multisig')
|
|
217
|
+
return serializedTransaction;
|
|
218
|
+
throw new Error('A Tempo owner account is required to approve a multisig transaction.');
|
|
219
|
+
}
|
|
220
|
+
return await serializeTransaction({
|
|
221
|
+
...request,
|
|
222
|
+
signatures: [...(request.signatures ?? []), serializedTransaction],
|
|
223
|
+
});
|
|
224
|
+
},
|
|
198
225
|
},
|
|
199
226
|
async verifyHash(client, parameters) {
|
|
200
227
|
const { address, hash, signature, mode } = parameters;
|
|
@@ -274,4 +301,79 @@ export const chainConfig = {
|
|
|
274
301
|
return await getAction(client, verifyHash, 'verifyHash')({ ...parameters, chain: null });
|
|
275
302
|
},
|
|
276
303
|
};
|
|
304
|
+
/** Builds a bounded multisig spec for gas simulation. */
|
|
305
|
+
function getMultisigSimulation(options) {
|
|
306
|
+
const { account, config, local } = options;
|
|
307
|
+
return {
|
|
308
|
+
account,
|
|
309
|
+
approvals: selectOwners(config).map((owner) => {
|
|
310
|
+
const localOwner = local?.owners.find((account) => isAddressEqual(account.address, owner.owner));
|
|
311
|
+
if (localOwner?.source === 'multisig') {
|
|
312
|
+
const nested = localOwner;
|
|
313
|
+
if (!nested.config)
|
|
314
|
+
throw new Error('A nested multisig config is required for gas estimation.');
|
|
315
|
+
return {
|
|
316
|
+
type: 'multisig',
|
|
317
|
+
spec: {
|
|
318
|
+
account: nested.address,
|
|
319
|
+
approvals: selectOwners(nested.config).map((owner) => {
|
|
320
|
+
const nestedOwner = nested.owners.find((account) => isAddressEqual(account.address, owner.owner));
|
|
321
|
+
if (nestedOwner?.source === 'multisig')
|
|
322
|
+
throw new Error('Multisig simulation nesting exceeds depth two.');
|
|
323
|
+
return {
|
|
324
|
+
...getSimulationKey(nestedOwner),
|
|
325
|
+
owner: owner.owner,
|
|
326
|
+
};
|
|
327
|
+
}),
|
|
328
|
+
config: nested.config,
|
|
329
|
+
},
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
return {
|
|
333
|
+
...getSimulationKey(localOwner),
|
|
334
|
+
owner: owner.owner,
|
|
335
|
+
type: 'primitive',
|
|
336
|
+
};
|
|
337
|
+
}),
|
|
338
|
+
config,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
/** Returns signature metadata for conservative gas estimation. */
|
|
342
|
+
function getSimulationKey(account) {
|
|
343
|
+
const keyType = (() => {
|
|
344
|
+
if (account &&
|
|
345
|
+
typeof account === 'object' &&
|
|
346
|
+
'keyType' in account &&
|
|
347
|
+
typeof account.keyType === 'string')
|
|
348
|
+
return account.keyType;
|
|
349
|
+
return undefined;
|
|
350
|
+
})();
|
|
351
|
+
if (!keyType || keyType === 'webAuthn')
|
|
352
|
+
return { keyData: '0x0578', keyType: 'webAuthn' };
|
|
353
|
+
if (keyType === 'p256' || keyType === 'secp256k1')
|
|
354
|
+
return { keyType };
|
|
355
|
+
return { keyData: '0x0578', keyType: 'webAuthn' };
|
|
356
|
+
}
|
|
357
|
+
/** Returns random past seconds to distinguish otherwise-identical expiring transactions. */
|
|
358
|
+
function randomValidAfter() {
|
|
359
|
+
const now = BigInt(Math.floor(Date.now() / 1_000));
|
|
360
|
+
const latest = now - 60n;
|
|
361
|
+
if (latest <= 0n)
|
|
362
|
+
return 0;
|
|
363
|
+
return Number(BigInt(Hex.random(8)) % latest);
|
|
364
|
+
}
|
|
365
|
+
/** Selects a deterministic minimum-cardinality owner quorum. */
|
|
366
|
+
function selectOwners(config) {
|
|
367
|
+
const owners = [...config.owners].sort((a, b) => Number(b.weight) - Number(a.weight) ||
|
|
368
|
+
a.owner.toLowerCase().localeCompare(b.owner.toLowerCase()));
|
|
369
|
+
const selected = [];
|
|
370
|
+
let weight = 0;
|
|
371
|
+
for (const owner of owners.slice(0, MultisigConfig.maxSignatures)) {
|
|
372
|
+
if (weight >= Number(config.threshold))
|
|
373
|
+
break;
|
|
374
|
+
selected.push(owner);
|
|
375
|
+
weight += Number(owner.weight);
|
|
376
|
+
}
|
|
377
|
+
return selected.sort((a, b) => a.owner.toLowerCase().localeCompare(b.owner.toLowerCase()));
|
|
378
|
+
}
|
|
277
379
|
//# sourceMappingURL=chainConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../tempo/chainConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../tempo/chainConfig.ts"],"names":[],"mappings":"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"}
|
package/_esm/tempo/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// biome-ignore lint/performance/noBarrelFile: entrypoint module
|
|
2
2
|
export { Bytes, PublicKey, Secp256k1 } from 'ox';
|
|
3
|
-
export { Channel, EarnShares, MultisigConfig, Period, ReceivePolicyReceipt, TempoAddress, Tick, TokenId, VirtualAddress, VirtualMaster, } from 'ox/tempo';
|
|
3
|
+
export { Channel, EarnShares, MultisigConfig, MultisigOperation, Period, ReceivePolicyReceipt, TempoAddress, Tick, TokenId, VirtualAddress, VirtualMaster, } from 'ox/tempo';
|
|
4
4
|
export { custom, } from '../clients/transports/custom.js';
|
|
5
5
|
export { fallback, } from '../clients/transports/fallback.js';
|
|
6
6
|
export { webSocket, } from '../clients/transports/webSocket.js';
|
|
@@ -17,16 +17,18 @@ export * from './errors.js';
|
|
|
17
17
|
export * as Formatters from './Formatters.js';
|
|
18
18
|
export * as Hardfork from './Hardfork.js';
|
|
19
19
|
export * as KeyAuthorizationManager from './KeyAuthorizationManager.js';
|
|
20
|
+
/** @experimental */
|
|
21
|
+
export * as Multisig from './Multisig.js';
|
|
20
22
|
export * as P256 from './P256.js';
|
|
21
23
|
/** @experimental */
|
|
22
24
|
export * as Scopes from './Scopes.js';
|
|
23
25
|
/** @experimental */
|
|
24
26
|
export * as Selectors from './Selectors.js';
|
|
25
|
-
export * as
|
|
27
|
+
export * as Store from './Store.js';
|
|
26
28
|
export * as TokenIds from './TokenIds.js';
|
|
27
29
|
export * as Transaction from './Transaction.js';
|
|
28
30
|
export * as Transport from './Transport.js';
|
|
29
|
-
export { http, walletNamespaceCompat, withFeePayer, withRelay, } from './Transport.js';
|
|
31
|
+
export { http, walletNamespaceCompat, withFeePayer, withMultisig, withRelay, } from './Transport.js';
|
|
30
32
|
export * as WebAuthnP256 from './WebAuthnP256.js';
|
|
31
33
|
export * as WebCryptoP256 from './WebCryptoP256.js';
|
|
32
34
|
export * as Zone from './Zone.js';
|
package/_esm/tempo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAYhD,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,MAAM,EACN,oBAAoB,EACpB,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAYhD,OAAO,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,oBAAoB,EACpB,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAA;AAKjB,OAAO,EAIL,MAAM,GACP,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAIL,QAAQ,GACT,MAAM,mCAAmC,CAAA;AAM1C,OAAO,EAIL,SAAS,GACV,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,EAIL,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,EAEL,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AACvE,oBAAoB;AACpB,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,oBAAoB;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,oBAAoB;AACpB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AA8BzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAEL,IAAI,EACJ,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA"}
|
|
@@ -141,7 +141,7 @@ export async function resolveTokenWithDecimals(client, parameters) {
|
|
|
141
141
|
* @internal
|
|
142
142
|
*/
|
|
143
143
|
export function pickWriteParameters(parameters) {
|
|
144
|
-
const { account, chain, feePayer, feeToken, gas, keyAuthorization, maxFeePerGas, maxPriorityFeePerGas, nonce, nonceKey, validAfter, validBefore, } = parameters;
|
|
144
|
+
const { account, chain, feePayer, feeToken, gas, keyAuthorization, maxFeePerGas, maxPriorityFeePerGas, nonce, nonceKey, owner, validAfter, validBefore, } = parameters;
|
|
145
145
|
return {
|
|
146
146
|
account,
|
|
147
147
|
chain,
|
|
@@ -153,6 +153,7 @@ export function pickWriteParameters(parameters) {
|
|
|
153
153
|
maxPriorityFeePerGas,
|
|
154
154
|
nonce,
|
|
155
155
|
nonceKey,
|
|
156
|
+
owner,
|
|
156
157
|
validAfter,
|
|
157
158
|
validBefore,
|
|
158
159
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../tempo/internal/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../tempo/internal/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as Address from 'ox/Address';
|
|
2
|
+
import * as Hash from 'ox/Hash';
|
|
3
|
+
import * as Json from 'ox/Json';
|
|
4
|
+
import { MultisigConfig } from 'ox/tempo';
|
|
5
|
+
import { BaseError } from '../../errors/base.js';
|
|
6
|
+
/** A valid 48-owner config is much smaller; 64 KiB bounds hostile store parsing work. */
|
|
7
|
+
const maxStoredValueLength = 65_536;
|
|
8
|
+
/** Zero commitment used before an account records its first config update. */
|
|
9
|
+
const zeroCommitment = `0x${'00'.repeat(32)}`;
|
|
10
|
+
/** Reads a cached multisig config. */
|
|
11
|
+
export async function read(store, options) {
|
|
12
|
+
const { address, commitment } = options;
|
|
13
|
+
const value = await store.getItem(key({ address, commitment }));
|
|
14
|
+
if (value === null || value === undefined)
|
|
15
|
+
return null;
|
|
16
|
+
const config = deserialize(value);
|
|
17
|
+
assertKey({ address, commitment, config });
|
|
18
|
+
return config;
|
|
19
|
+
}
|
|
20
|
+
/** Writes a validated multisig config. */
|
|
21
|
+
export async function write(store, options) {
|
|
22
|
+
const { address, commitment } = options;
|
|
23
|
+
const config = MultisigConfig.from(options.config);
|
|
24
|
+
assertKey({ address, commitment, config });
|
|
25
|
+
await store.setItem(key({ address, commitment }), serialize(config));
|
|
26
|
+
}
|
|
27
|
+
/** Verifies that a config matches its account-and-commitment key. */
|
|
28
|
+
function assertKey(options) {
|
|
29
|
+
const { address, commitment, config } = options;
|
|
30
|
+
if (!Address.validate(address) || !Hash.validate(commitment))
|
|
31
|
+
throw new InvalidStoreValueError();
|
|
32
|
+
if (config.version === 0n) {
|
|
33
|
+
if (commitment.toLowerCase() !== zeroCommitment ||
|
|
34
|
+
!Address.isEqual(MultisigConfig.getAddress(config), address))
|
|
35
|
+
throw new InvalidStoreValueError();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (MultisigConfig.getCommitment(config).toLowerCase() !==
|
|
39
|
+
commitment.toLowerCase())
|
|
40
|
+
throw new InvalidStoreValueError();
|
|
41
|
+
}
|
|
42
|
+
/** Deserializes a multisig config from storage. */
|
|
43
|
+
function deserialize(value) {
|
|
44
|
+
try {
|
|
45
|
+
if (value.length > maxStoredValueLength)
|
|
46
|
+
throw new InvalidStoreValueError();
|
|
47
|
+
return MultisigConfig.fromRpc(Json.parse(value));
|
|
48
|
+
}
|
|
49
|
+
catch (cause) {
|
|
50
|
+
if (cause instanceof InvalidStoreValueError)
|
|
51
|
+
throw cause;
|
|
52
|
+
throw new InvalidStoreValueError({ cause });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** Returns the store key for an account and config commitment. */
|
|
56
|
+
function key(options) {
|
|
57
|
+
const { address, commitment } = options;
|
|
58
|
+
return `multisig:config:${address.toLowerCase()}:${commitment.toLowerCase()}`;
|
|
59
|
+
}
|
|
60
|
+
/** Serializes a multisig config for storage. */
|
|
61
|
+
function serialize(config) {
|
|
62
|
+
try {
|
|
63
|
+
const value = Json.stringify(MultisigConfig.toRpc(config));
|
|
64
|
+
if (value.length > maxStoredValueLength)
|
|
65
|
+
throw new InvalidStoreValueError();
|
|
66
|
+
return value;
|
|
67
|
+
}
|
|
68
|
+
catch (cause) {
|
|
69
|
+
if (cause instanceof InvalidStoreValueError)
|
|
70
|
+
throw cause;
|
|
71
|
+
throw new InvalidStoreValueError({ cause });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Thrown when a stored multisig config is malformed or mismatched. */
|
|
75
|
+
export class InvalidStoreValueError extends BaseError {
|
|
76
|
+
/** Creates an invalid store value error. */
|
|
77
|
+
constructor(options = {}) {
|
|
78
|
+
super('Stored multisig config is malformed or mismatched.', {
|
|
79
|
+
cause: options.cause,
|
|
80
|
+
name: 'Multisig.Config.InvalidStoreValueError',
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../tempo/multisig/Config.ts"],"names":[],"mappings":"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"}
|