viem 2.57.4 → 2.57.5
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 +26 -0
- package/_cjs/actions/public/waitForTransactionReceipt.js +5 -2
- package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/_cjs/actions/wallet/waitForCallsStatus.js +25 -2
- package/_cjs/actions/wallet/waitForCallsStatus.js.map +1 -1
- package/_cjs/chains/definitions/arcTestnet.js +11 -8
- package/_cjs/chains/definitions/arcTestnet.js.map +1 -1
- package/_cjs/chains/definitions/qmsTestnet.js +30 -0
- package/_cjs/chains/definitions/qmsTestnet.js.map +1 -0
- package/_cjs/chains/definitions/tempo.js +1 -1
- package/_cjs/chains/definitions/tempoModerato.js +2 -2
- package/_cjs/chains/index.js +7 -5
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/clients/transports/ipc.js +19 -10
- package/_cjs/clients/transports/ipc.js.map +1 -1
- package/_cjs/clients/transports/webSocket.js +19 -10
- package/_cjs/clients/transports/webSocket.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/tempo/Account.js +40 -40
- package/_cjs/tempo/Account.js.map +1 -1
- package/_cjs/tempo/Decorator.js +9 -8
- package/_cjs/tempo/Decorator.js.map +1 -1
- package/_cjs/tempo/ExecutionError.js +1 -1
- package/_cjs/tempo/ExecutionError.js.map +1 -1
- package/_cjs/tempo/Formatters.js +8 -7
- package/_cjs/tempo/Formatters.js.map +1 -1
- package/_cjs/tempo/KeyAuthorizationManager.js +25 -16
- package/_cjs/tempo/KeyAuthorizationManager.js.map +1 -1
- package/_cjs/tempo/Relay.js +9 -4
- package/_cjs/tempo/Relay.js.map +1 -1
- package/_cjs/tempo/Transaction.js +9 -9
- package/_cjs/tempo/Transaction.js.map +1 -1
- package/_cjs/tempo/Transport.js +21 -11
- package/_cjs/tempo/Transport.js.map +1 -1
- package/_cjs/tempo/{multisig → accounts}/Config.js +8 -8
- package/_cjs/tempo/{multisig → accounts}/Config.js.map +1 -1
- package/_cjs/tempo/{multisig → accounts}/Operation.js +10 -10
- package/_cjs/tempo/{multisig → accounts}/Operation.js.map +1 -1
- package/_cjs/tempo/{multisig → accounts}/Signature.js +2 -2
- package/_cjs/tempo/accounts/Signature.js.map +1 -0
- package/_cjs/tempo/actions/accessKey.js +60 -37
- package/_cjs/tempo/actions/accessKey.js.map +1 -1
- package/_cjs/tempo/actions/{multisig.js → accounts.js} +13 -18
- package/_cjs/tempo/actions/accounts.js.map +1 -0
- package/_cjs/tempo/actions/index.js +2 -2
- package/_cjs/tempo/actions/index.js.map +1 -1
- package/_cjs/tempo/chainConfig.js +37 -37
- package/_cjs/tempo/chainConfig.js.map +1 -1
- package/_cjs/tempo/index.js +3 -3
- package/_cjs/tempo/index.js.map +1 -1
- package/_cjs/tempo/internal/relay/{multisig.js → accounts.js} +90 -93
- package/_cjs/tempo/internal/relay/accounts.js.map +1 -0
- package/_cjs/tempo/internal/relay/keyAuthorization.js +296 -0
- package/_cjs/tempo/internal/relay/keyAuthorization.js.map +1 -0
- package/_cjs/tempo/internal/relay/plugin.js +17 -7
- package/_cjs/tempo/internal/relay/plugin.js.map +1 -1
- package/_cjs/utils/hash/normalizeSignature.js +1 -1
- package/_cjs/utils/hash/normalizeSignature.js.map +1 -1
- package/_cjs/utils/rpc/http.js +66 -31
- package/_cjs/utils/rpc/http.js.map +1 -1
- package/_cjs/utils/rpc/socket.js +1 -1
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_esm/actions/public/waitForTransactionReceipt.js +5 -2
- package/_esm/actions/public/waitForTransactionReceipt.js.map +1 -1
- package/_esm/actions/wallet/waitForCallsStatus.js +39 -2
- package/_esm/actions/wallet/waitForCallsStatus.js.map +1 -1
- package/_esm/chains/definitions/arcTestnet.js +11 -8
- package/_esm/chains/definitions/arcTestnet.js.map +1 -1
- package/_esm/chains/definitions/qmsTestnet.js +27 -0
- package/_esm/chains/definitions/qmsTestnet.js.map +1 -0
- package/_esm/chains/definitions/tempo.js +1 -1
- package/_esm/chains/definitions/tempoModerato.js +2 -2
- package/_esm/chains/index.js +1 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/clients/transports/ipc.js +21 -10
- package/_esm/clients/transports/ipc.js.map +1 -1
- package/_esm/clients/transports/webSocket.js +21 -10
- package/_esm/clients/transports/webSocket.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/tempo/Account.js +42 -42
- package/_esm/tempo/Account.js.map +1 -1
- package/_esm/tempo/Client.js +3 -3
- package/_esm/tempo/Decorator.js +9 -8
- package/_esm/tempo/Decorator.js.map +1 -1
- package/_esm/tempo/ExecutionError.js +1 -1
- package/_esm/tempo/ExecutionError.js.map +1 -1
- package/_esm/tempo/Formatters.js +11 -10
- package/_esm/tempo/Formatters.js.map +1 -1
- package/_esm/tempo/KeyAuthorizationManager.js +58 -16
- package/_esm/tempo/KeyAuthorizationManager.js.map +1 -1
- package/_esm/tempo/Relay.js +49 -8
- package/_esm/tempo/Relay.js.map +1 -1
- package/_esm/tempo/Transaction.js +11 -11
- package/_esm/tempo/Transaction.js.map +1 -1
- package/_esm/tempo/Transport.js +22 -12
- package/_esm/tempo/Transport.js.map +1 -1
- package/_esm/tempo/{multisig → accounts}/Config.js +14 -14
- package/_esm/tempo/{multisig → accounts}/Config.js.map +1 -1
- package/_esm/tempo/{multisig → accounts}/Operation.js +17 -17
- package/_esm/tempo/{multisig → accounts}/Operation.js.map +1 -1
- package/_esm/tempo/accounts/Signature.js +9 -0
- package/_esm/tempo/accounts/Signature.js.map +1 -0
- package/_esm/tempo/actions/accessKey.js +93 -38
- package/_esm/tempo/actions/accessKey.js.map +1 -1
- package/_esm/tempo/actions/{multisig.js → accounts.js} +31 -36
- package/_esm/tempo/actions/accounts.js.map +1 -0
- package/_esm/tempo/actions/index.js +1 -1
- package/_esm/tempo/actions/index.js.map +1 -1
- package/_esm/tempo/chainConfig.js +38 -38
- package/_esm/tempo/chainConfig.js.map +1 -1
- package/_esm/tempo/index.js +2 -1
- package/_esm/tempo/index.js.map +1 -1
- package/_esm/tempo/internal/relay/{multisig.js → accounts.js} +93 -98
- package/_esm/tempo/internal/relay/accounts.js.map +1 -0
- package/_esm/tempo/internal/relay/feePayer.js +1 -1
- package/_esm/tempo/internal/relay/feePayer.js.map +1 -1
- package/_esm/tempo/internal/relay/keyAuthorization.js +334 -0
- package/_esm/tempo/internal/relay/keyAuthorization.js.map +1 -0
- package/_esm/tempo/internal/relay/plugin.js +15 -6
- package/_esm/tempo/internal/relay/plugin.js.map +1 -1
- package/_esm/utils/hash/normalizeSignature.js +3 -2
- package/_esm/utils/hash/normalizeSignature.js.map +1 -1
- package/_esm/utils/rpc/http.js +74 -31
- package/_esm/utils/rpc/http.js.map +1 -1
- package/_esm/utils/rpc/socket.js +3 -1
- package/_esm/utils/rpc/socket.js.map +1 -1
- package/_types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
- package/_types/actions/wallet/waitForCallsStatus.d.ts.map +1 -1
- package/_types/chains/definitions/arcTestnet.d.ts +5 -5
- package/_types/chains/definitions/arcTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/qmsTestnet.d.ts +50 -0
- package/_types/chains/definitions/qmsTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/tempo.d.ts +2 -2
- package/_types/chains/definitions/tempoModerato.d.ts +4 -4
- package/_types/chains/index.d.ts +1 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/clients/transports/ipc.d.ts.map +1 -1
- package/_types/clients/transports/webSocket.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/tempo/Account.d.ts +28 -28
- package/_types/tempo/Account.d.ts.map +1 -1
- package/_types/tempo/Client.d.ts +3 -3
- package/_types/tempo/Decorator.d.ts +63 -37
- package/_types/tempo/Decorator.d.ts.map +1 -1
- package/_types/tempo/Formatters.d.ts.map +1 -1
- package/_types/tempo/KeyAuthorizationManager.d.ts +45 -2
- package/_types/tempo/KeyAuthorizationManager.d.ts.map +1 -1
- package/_types/tempo/Relay.d.ts +62 -12
- package/_types/tempo/Relay.d.ts.map +1 -1
- package/_types/tempo/Transaction.d.ts +14 -11
- package/_types/tempo/Transaction.d.ts.map +1 -1
- package/_types/tempo/Transport.d.ts +20 -7
- package/_types/tempo/Transport.d.ts.map +1 -1
- package/_types/tempo/{multisig → accounts}/Config.d.ts +7 -7
- package/_types/tempo/accounts/Config.d.ts.map +1 -0
- package/_types/tempo/{multisig → accounts}/Operation.d.ts +7 -7
- package/_types/tempo/accounts/Operation.d.ts.map +1 -0
- package/_types/tempo/{multisig → accounts}/Signature.d.ts +1 -1
- package/_types/tempo/accounts/Signature.d.ts.map +1 -0
- package/_types/tempo/actions/accessKey.d.ts +59 -17
- package/_types/tempo/actions/accessKey.d.ts.map +1 -1
- package/_types/tempo/actions/{multisig.d.ts → accounts.d.ts} +28 -28
- package/_types/tempo/actions/{multisig.d.ts.map → accounts.d.ts.map} +1 -1
- package/_types/tempo/actions/index.d.ts +1 -1
- package/_types/tempo/actions/index.d.ts.map +1 -1
- package/_types/tempo/index.d.ts +3 -2
- package/_types/tempo/index.d.ts.map +1 -1
- package/_types/tempo/internal/relay/accounts.d.ts +15 -0
- package/_types/tempo/internal/relay/accounts.d.ts.map +1 -0
- package/_types/tempo/internal/relay/keyAuthorization.d.ts +25 -0
- package/_types/tempo/internal/relay/keyAuthorization.d.ts.map +1 -0
- package/_types/tempo/internal/relay/plugin.d.ts +6 -3
- package/_types/tempo/internal/relay/plugin.d.ts.map +1 -1
- package/_types/utils/hash/normalizeSignature.d.ts.map +1 -1
- package/_types/utils/rpc/http.d.ts.map +1 -1
- package/_types/utils/rpc/socket.d.ts.map +1 -1
- package/actions/public/waitForTransactionReceipt.ts +8 -2
- package/actions/wallet/waitForCallsStatus.ts +41 -2
- package/chains/definitions/arcTestnet.ts +11 -8
- package/chains/definitions/qmsTestnet.ts +27 -0
- package/chains/definitions/tempo.ts +1 -1
- package/chains/definitions/tempoModerato.ts +2 -2
- package/chains/index.ts +1 -0
- package/clients/transports/ipc.ts +38 -29
- package/clients/transports/webSocket.ts +42 -33
- package/errors/version.ts +1 -1
- package/package.json +2 -2
- package/tempo/Account.ts +95 -84
- package/tempo/Client.ts +3 -3
- package/tempo/Decorator.ts +86 -57
- package/tempo/ExecutionError.ts +1 -1
- package/tempo/Formatters.ts +14 -13
- package/tempo/KeyAuthorizationManager.ts +71 -19
- package/tempo/Relay.ts +70 -14
- package/tempo/Transaction.ts +31 -23
- package/tempo/Transport.ts +49 -21
- package/tempo/{multisig → accounts}/Config.ts +21 -21
- package/tempo/{multisig → accounts}/Operation.ts +26 -26
- package/tempo/{multisig → accounts}/Signature.ts +5 -3
- package/tempo/actions/accessKey.ts +179 -79
- package/tempo/actions/{multisig.ts → accounts.ts} +47 -56
- package/tempo/actions/index.ts +1 -1
- package/tempo/chainConfig.ts +52 -52
- package/tempo/index.ts +5 -4
- package/tempo/internal/relay/{multisig.ts → accounts.ts} +118 -118
- package/tempo/internal/relay/feePayer.ts +1 -1
- package/tempo/internal/relay/keyAuthorization.ts +415 -0
- package/tempo/internal/relay/plugin.ts +20 -7
- package/utils/hash/normalizeSignature.ts +3 -2
- package/utils/rpc/http.ts +76 -30
- package/utils/rpc/socket.ts +3 -1
- package/_cjs/tempo/actions/multisig.js.map +0 -1
- package/_cjs/tempo/internal/relay/multisig.js.map +0 -1
- package/_cjs/tempo/multisig/Signature.js.map +0 -1
- package/_esm/tempo/actions/multisig.js.map +0 -1
- package/_esm/tempo/internal/relay/multisig.js.map +0 -1
- package/_esm/tempo/multisig/Signature.js +0 -9
- package/_esm/tempo/multisig/Signature.js.map +0 -1
- package/_types/tempo/internal/relay/multisig.d.ts +0 -4
- package/_types/tempo/internal/relay/multisig.d.ts.map +0 -1
- package/_types/tempo/multisig/Config.d.ts.map +0 -1
- package/_types/tempo/multisig/Operation.d.ts.map +0 -1
- package/_types/tempo/multisig/Signature.d.ts.map +0 -1
package/_cjs/tempo/Relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relay.js","sourceRoot":"","sources":["../../tempo/Relay.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Relay.js","sourceRoot":"","sources":["../../tempo/Relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,18 +11,18 @@ const tempo_1 = require("ox/tempo");
|
|
|
11
11
|
const getTransactionType_js_1 = require("../utils/transaction/getTransactionType.js");
|
|
12
12
|
const parseTransaction_js_1 = require("../utils/transaction/parseTransaction.js");
|
|
13
13
|
const serializeTransaction_js_1 = require("../utils/transaction/serializeTransaction.js");
|
|
14
|
-
const Signature_js_1 = require("./
|
|
14
|
+
const Signature_js_1 = require("./accounts/Signature.js");
|
|
15
15
|
function getType(transaction) {
|
|
16
16
|
const account = transaction.account;
|
|
17
17
|
if ((account?.keyType && account.keyType !== 'secp256k1') ||
|
|
18
18
|
account?.source === 'accessKey' ||
|
|
19
|
-
account?.source === '
|
|
19
|
+
account?.source === 'configurable' ||
|
|
20
20
|
typeof transaction.calls !== 'undefined' ||
|
|
21
21
|
typeof transaction.feePayer !== 'undefined' ||
|
|
22
22
|
typeof transaction.feePayerSignature !== 'undefined' ||
|
|
23
23
|
typeof transaction.feeToken !== 'undefined' ||
|
|
24
24
|
typeof transaction.keyAuthorization !== 'undefined' ||
|
|
25
|
-
typeof transaction.
|
|
25
|
+
typeof transaction.accountSimulation !== 'undefined' ||
|
|
26
26
|
typeof transaction.nonceKey !== 'undefined' ||
|
|
27
27
|
typeof transaction.owner !== 'undefined' ||
|
|
28
28
|
typeof transaction.signature !== 'undefined' ||
|
|
@@ -98,7 +98,7 @@ async function serializeTempo(transaction, sig) {
|
|
|
98
98
|
});
|
|
99
99
|
return undefined;
|
|
100
100
|
})();
|
|
101
|
-
const { chainId, feePayer,
|
|
101
|
+
const { chainId, feePayer, accountSimulation, nonce, owner: _owner, ...rest } = transaction;
|
|
102
102
|
const feePayerSignature = (() => {
|
|
103
103
|
const feePayerSignature = transaction.feePayerSignature;
|
|
104
104
|
if (feePayerSignature)
|
|
@@ -114,7 +114,7 @@ async function serializeTempo(transaction, sig) {
|
|
|
114
114
|
const hasPrefilledFeePayerSignature = typeof transaction.feePayerSignature !== 'undefined' &&
|
|
115
115
|
transaction.feePayerSignature !== null;
|
|
116
116
|
const hasSenderSignature = typeof signature_provided !== 'undefined' ||
|
|
117
|
-
Boolean(
|
|
117
|
+
Boolean(accountSimulation && transaction.signatures);
|
|
118
118
|
const shouldStripFeeTokenForSponsorship = (feePayer === true && (!hasSenderSignature || !feePayerSignature)) ||
|
|
119
119
|
(typeof feePayer === 'object' && !hasSenderSignature) ||
|
|
120
120
|
(!hasSenderSignature && hasPrefilledFeePayerSignature);
|
|
@@ -143,15 +143,15 @@ async function serializeTempo(transaction, sig) {
|
|
|
143
143
|
const signature = (() => {
|
|
144
144
|
if (signature_provided)
|
|
145
145
|
return signature_provided;
|
|
146
|
-
if (!
|
|
146
|
+
if (!accountSimulation || !transaction.signatures)
|
|
147
147
|
return undefined;
|
|
148
148
|
const payload = tempo_1.TxEnvelopeTempo.getSignPayload(tempo_1.TxEnvelopeTempo.from(transaction_sender_ox));
|
|
149
149
|
const signatures = transaction.signatures.map((approval) => (0, Signature_js_1.parseApproval)(approval));
|
|
150
|
-
const config = tempo_1.
|
|
150
|
+
const config = tempo_1.AccountConfig.from(accountSimulation.config);
|
|
151
151
|
const account = transaction.from;
|
|
152
152
|
if (!account)
|
|
153
|
-
throw new Error('A
|
|
154
|
-
const sorted = tempo_1.SignatureEnvelope.
|
|
153
|
+
throw new Error('A configurable account sender is required for signing.');
|
|
154
|
+
const sorted = tempo_1.SignatureEnvelope.sortApprovals({
|
|
155
155
|
account,
|
|
156
156
|
config,
|
|
157
157
|
payload,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../tempo/Transaction.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../tempo/Transaction.ts"],"names":[],"mappings":"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"}
|
package/_cjs/tempo/Transport.js
CHANGED
|
@@ -52,13 +52,16 @@ function withRelay(defaultTransport, relayTransport, parameters) {
|
|
|
52
52
|
})),
|
|
53
53
|
value: {
|
|
54
54
|
...transport.value,
|
|
55
|
-
...(relayTransport.plugins?.some(Plugin_.
|
|
56
|
-
? {
|
|
55
|
+
...(relayTransport.plugins?.some(Plugin_.isAccounts)
|
|
56
|
+
? { accounts: true }
|
|
57
|
+
: {}),
|
|
58
|
+
...(relayTransport.plugins?.some(Plugin_.isKeyAuthorization)
|
|
59
|
+
? { keyAuthorization: true }
|
|
57
60
|
: {}),
|
|
58
61
|
},
|
|
59
62
|
};
|
|
60
63
|
};
|
|
61
|
-
const { policy = 'sign-only' } = parameters ?? {};
|
|
64
|
+
const { keyAuthorization, policy = 'sign-only' } = parameters ?? {};
|
|
62
65
|
return (config) => {
|
|
63
66
|
const transport_default = defaultTransport(config);
|
|
64
67
|
const transport_relay = relayTransport(config);
|
|
@@ -75,7 +78,7 @@ function withRelay(defaultTransport, relayTransport, parameters) {
|
|
|
75
78
|
return result;
|
|
76
79
|
const operation = await (async () => {
|
|
77
80
|
try {
|
|
78
|
-
return await transport_relay.request({ method: '
|
|
81
|
+
return await transport_relay.request({ method: 'account_getOperation', params }, options);
|
|
79
82
|
}
|
|
80
83
|
catch (error) {
|
|
81
84
|
if (error instanceof rpc_js_1.MethodNotFoundRpcError ||
|
|
@@ -92,17 +95,18 @@ function withRelay(defaultTransport, relayTransport, parameters) {
|
|
|
92
95
|
return result;
|
|
93
96
|
return transport_relay.request({ method, params }, options);
|
|
94
97
|
}
|
|
95
|
-
if (method === '
|
|
96
|
-
method === '
|
|
97
|
-
method === '
|
|
98
|
-
method === '
|
|
99
|
-
method === '
|
|
98
|
+
if (method === 'account_approveKeyAuthorization' ||
|
|
99
|
+
method === 'account_approveRawTransaction' ||
|
|
100
|
+
method === 'account_approveRawTransactionSync' ||
|
|
101
|
+
method === 'account_getConfig' ||
|
|
102
|
+
method === 'account_getOperation' ||
|
|
103
|
+
method === 'relay_saveKeyAuthorization')
|
|
100
104
|
return transport_relay.request({ method, params }, options);
|
|
101
105
|
if (method === 'eth_sendRawTransactionSync' ||
|
|
102
106
|
method === 'eth_sendRawTransaction') {
|
|
103
107
|
const serialized = params[0];
|
|
104
108
|
const transaction = Transaction.deserialize(serialized);
|
|
105
|
-
if (transaction.signature?.type === '
|
|
109
|
+
if (transaction.signature?.type === 'configurable')
|
|
106
110
|
return transport_relay.request({ method, params }, options);
|
|
107
111
|
if (transaction.feePayerSignature === null) {
|
|
108
112
|
if (policy === 'sign-and-broadcast')
|
|
@@ -120,7 +124,13 @@ function withRelay(defaultTransport, relayTransport, parameters) {
|
|
|
120
124
|
},
|
|
121
125
|
type: withRelay.type,
|
|
122
126
|
});
|
|
123
|
-
return {
|
|
127
|
+
return {
|
|
128
|
+
...transport,
|
|
129
|
+
value: {
|
|
130
|
+
accounts: true,
|
|
131
|
+
...(keyAuthorization ? { keyAuthorization } : {}),
|
|
132
|
+
},
|
|
133
|
+
};
|
|
124
134
|
};
|
|
125
135
|
}
|
|
126
136
|
function withFeePayer(defaultTransport, relayTransport, parameters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../tempo/Transport.ts"],"names":[],"mappings":";;AAyDA,oBAuBC;
|
|
1
|
+
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../tempo/Transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,24 +21,24 @@ async function read(store, options) {
|
|
|
21
21
|
}
|
|
22
22
|
async function write(store, options) {
|
|
23
23
|
const { address, commitment } = options;
|
|
24
|
-
const config = tempo_1.
|
|
24
|
+
const config = tempo_1.AccountConfig.from(options.config);
|
|
25
25
|
assertKey({ address, commitment, config });
|
|
26
26
|
const value = serialize(config);
|
|
27
27
|
await store.setItem(key({ address, commitment }), value);
|
|
28
28
|
if (commitment.toLowerCase() === zeroCommitment)
|
|
29
|
-
await store.setItem(key({ address, commitment: tempo_1.
|
|
29
|
+
await store.setItem(key({ address, commitment: tempo_1.AccountConfig.getCommitment(config) }), value);
|
|
30
30
|
}
|
|
31
31
|
function assertKey(options) {
|
|
32
32
|
const { address, commitment, config } = options;
|
|
33
33
|
if (!Address.validate(address) || !Hash.validate(commitment))
|
|
34
34
|
throw new InvalidStoreValueError();
|
|
35
35
|
if (config.version === 0n) {
|
|
36
|
-
if (!Address.isEqual(tempo_1.
|
|
36
|
+
if (!Address.isEqual(tempo_1.AccountConfig.getAddress(config, { factory: Addresses_js_1.nativeMultisigFactory }), address))
|
|
37
37
|
throw new InvalidStoreValueError();
|
|
38
38
|
if (commitment.toLowerCase() === zeroCommitment)
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
-
if (tempo_1.
|
|
41
|
+
if (tempo_1.AccountConfig.getCommitment(config).toLowerCase() !==
|
|
42
42
|
commitment.toLowerCase())
|
|
43
43
|
throw new InvalidStoreValueError();
|
|
44
44
|
}
|
|
@@ -46,7 +46,7 @@ function deserialize(value) {
|
|
|
46
46
|
try {
|
|
47
47
|
if (value.length > maxStoredValueLength)
|
|
48
48
|
throw new InvalidStoreValueError();
|
|
49
|
-
return tempo_1.
|
|
49
|
+
return tempo_1.AccountConfig.fromRpc(Json.parse(value));
|
|
50
50
|
}
|
|
51
51
|
catch (cause) {
|
|
52
52
|
if (cause instanceof InvalidStoreValueError)
|
|
@@ -60,7 +60,7 @@ function key(options) {
|
|
|
60
60
|
}
|
|
61
61
|
function serialize(config) {
|
|
62
62
|
try {
|
|
63
|
-
const value = Json.stringify(tempo_1.
|
|
63
|
+
const value = Json.stringify(tempo_1.AccountConfig.toRpc(config));
|
|
64
64
|
if (value.length > maxStoredValueLength)
|
|
65
65
|
throw new InvalidStoreValueError();
|
|
66
66
|
return value;
|
|
@@ -73,9 +73,9 @@ function serialize(config) {
|
|
|
73
73
|
}
|
|
74
74
|
class InvalidStoreValueError extends base_js_1.BaseError {
|
|
75
75
|
constructor(options = {}) {
|
|
76
|
-
super('Stored
|
|
76
|
+
super('Stored account config is malformed or mismatched.', {
|
|
77
77
|
cause: options.cause,
|
|
78
|
-
name: '
|
|
78
|
+
name: 'Accounts.Config.InvalidStoreValueError',
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../tempo/
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../tempo/accounts/Config.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ async function update(store, hash, update) {
|
|
|
31
31
|
const value_ = await update(current);
|
|
32
32
|
let next;
|
|
33
33
|
try {
|
|
34
|
-
next = tempo_1.
|
|
34
|
+
next = tempo_1.AccountOperation.from(value_);
|
|
35
35
|
}
|
|
36
36
|
catch (cause) {
|
|
37
37
|
throw new InvalidStoreValueError({ cause });
|
|
@@ -55,9 +55,9 @@ async function readSubmission(store, operation, submissionId) {
|
|
|
55
55
|
if (value.length > maxStoredValueLength)
|
|
56
56
|
throw new InvalidStoreValueError();
|
|
57
57
|
const transaction = tempo_1.TxEnvelopeTempo.deserialize(value);
|
|
58
|
-
if (transaction.signature?.type !== '
|
|
58
|
+
if (transaction.signature?.type !== 'configurable')
|
|
59
59
|
throw new InvalidStoreValueError();
|
|
60
|
-
const serialized = tempo_1.
|
|
60
|
+
const serialized = tempo_1.AccountOperation.serializeTransaction(operation, {
|
|
61
61
|
approvals: transaction.signature.signatures.map((signature) => tempo_1.SignatureEnvelope.serialize(signature)),
|
|
62
62
|
});
|
|
63
63
|
if (serialized.toLowerCase() !== value.toLowerCase())
|
|
@@ -95,7 +95,7 @@ function deserialize(value) {
|
|
|
95
95
|
try {
|
|
96
96
|
if (value.length > maxStoredValueLength)
|
|
97
97
|
throw new InvalidStoreValueError();
|
|
98
|
-
const operation = tempo_1.
|
|
98
|
+
const operation = tempo_1.AccountOperation.from(Json.parse(value));
|
|
99
99
|
assertHash(operation);
|
|
100
100
|
return operation;
|
|
101
101
|
}
|
|
@@ -107,7 +107,7 @@ function deserialize(value) {
|
|
|
107
107
|
}
|
|
108
108
|
function serialize(operation) {
|
|
109
109
|
try {
|
|
110
|
-
const operation_ = tempo_1.
|
|
110
|
+
const operation_ = tempo_1.AccountOperation.from(operation);
|
|
111
111
|
assertHash(operation_);
|
|
112
112
|
const value = Json.stringify(operation_);
|
|
113
113
|
if (value.length > maxStoredValueLength)
|
|
@@ -121,7 +121,7 @@ function serialize(operation) {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
function assertHash(operation) {
|
|
124
|
-
const hash = tempo_1.
|
|
124
|
+
const hash = tempo_1.AccountOperation.getHash(operation.type === 'transaction'
|
|
125
125
|
? {
|
|
126
126
|
account: operation.account,
|
|
127
127
|
config: operation.config,
|
|
@@ -145,17 +145,17 @@ function submissionKey(hash, submissionId) {
|
|
|
145
145
|
}
|
|
146
146
|
class InvalidStoreValueError extends base_js_1.BaseError {
|
|
147
147
|
constructor(options = {}) {
|
|
148
|
-
super('Stored
|
|
148
|
+
super('Stored account operation is malformed or unsupported.', {
|
|
149
149
|
cause: options.cause,
|
|
150
|
-
name: '
|
|
150
|
+
name: 'Accounts.Operation.InvalidStoreValueError',
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
exports.InvalidStoreValueError = InvalidStoreValueError;
|
|
155
155
|
class StoreConflictError extends base_js_1.BaseError {
|
|
156
156
|
constructor() {
|
|
157
|
-
super('
|
|
158
|
-
name: '
|
|
157
|
+
super('Account operation could not be updated after repeated conflicts.', {
|
|
158
|
+
name: 'Accounts.Operation.StoreConflictError',
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../tempo/
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../tempo/accounts/Operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ exports.parseApproval = parseApproval;
|
|
|
4
4
|
const tempo_1 = require("ox/tempo");
|
|
5
5
|
function parseApproval(signature) {
|
|
6
6
|
const approval = tempo_1.SignatureEnvelope.from(signature);
|
|
7
|
-
if (approval.type === '
|
|
8
|
-
throw new Error('
|
|
7
|
+
if (approval.type === 'configurable' || approval.type === 'keychain')
|
|
8
|
+
throw new Error('Configurable account owners must use primitive signatures.');
|
|
9
9
|
return approval;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=Signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../tempo/accounts/Signature.ts"],"names":[],"mappings":";;AAGA,sCASC;AAZD,oCAA4C;AAG5C,SAAgB,aAAa,CAC3B,SAAuC;IAEvC,MAAM,QAAQ,GAAG,yBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAClE,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;IACH,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -11,6 +11,7 @@ exports.isWitnessBurned = isWitnessBurned;
|
|
|
11
11
|
exports.revoke = revoke;
|
|
12
12
|
exports.revokeSync = revokeSync;
|
|
13
13
|
exports.prepareAuthorization = prepareAuthorization;
|
|
14
|
+
exports.saveAuthorization = saveAuthorization;
|
|
14
15
|
exports.signAuthorization = signAuthorization;
|
|
15
16
|
exports.updateLimit = updateLimit;
|
|
16
17
|
exports.updateLimitSync = updateLimitSync;
|
|
@@ -26,15 +27,16 @@ const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js");
|
|
|
26
27
|
const sendTransactionSync_js_1 = require("../../actions/wallet/sendTransactionSync.js");
|
|
27
28
|
const writeContract_js_1 = require("../../actions/wallet/writeContract.js");
|
|
28
29
|
const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js");
|
|
30
|
+
const rpc_js_1 = require("../../errors/rpc.js");
|
|
29
31
|
const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js");
|
|
30
32
|
const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js");
|
|
31
33
|
const Abis = require("../Abis.js");
|
|
32
34
|
const Account_js_1 = require("../Account.js");
|
|
33
35
|
const Addresses = require("../Addresses.js");
|
|
36
|
+
const Signature_js_1 = require("../accounts/Signature.js");
|
|
34
37
|
const Hardfork = require("../Hardfork.js");
|
|
35
38
|
const utils_js_1 = require("../internal/utils.js");
|
|
36
|
-
const
|
|
37
|
-
const multisig_js_1 = require("./multisig.js");
|
|
39
|
+
const accounts_js_1 = require("./accounts.js");
|
|
38
40
|
const signatureTypes = {
|
|
39
41
|
0: 'secp256k1',
|
|
40
42
|
1: 'p256',
|
|
@@ -55,7 +57,7 @@ async function authorize(client, parameters) {
|
|
|
55
57
|
throw new Error('account is required.');
|
|
56
58
|
if (!chainId)
|
|
57
59
|
throw new Error('chainId is required.');
|
|
58
|
-
const keyAuthorization = await
|
|
60
|
+
const keyAuthorization = await signLocal(client, {
|
|
59
61
|
account: account_,
|
|
60
62
|
accessKey,
|
|
61
63
|
chainId,
|
|
@@ -328,14 +330,14 @@ async function prepareAuthorization(client, parameters) {
|
|
|
328
330
|
if (!chainId)
|
|
329
331
|
throw new Error('chainId is required.');
|
|
330
332
|
const parsed = (0, parseAccount_js_1.parseAccount)(account_);
|
|
331
|
-
const
|
|
332
|
-
if ('
|
|
333
|
-
return parameters.
|
|
334
|
-
if (parsed.source !== '
|
|
333
|
+
const configurableState = await (async () => {
|
|
334
|
+
if ('configurable' in parameters)
|
|
335
|
+
return parameters.configurable;
|
|
336
|
+
if (parsed.source !== 'configurable')
|
|
335
337
|
return undefined;
|
|
336
338
|
const account = parsed;
|
|
337
339
|
if (!account.config)
|
|
338
|
-
throw new Error('
|
|
340
|
+
throw new Error('An account config is required to prepare a key authorization.');
|
|
339
341
|
return { config: account.config };
|
|
340
342
|
})();
|
|
341
343
|
const authorizationSignPayload = (0, Account_js_1.getKeyAuthorizationSignPayload)(parsed, {
|
|
@@ -343,10 +345,10 @@ async function prepareAuthorization(client, parameters) {
|
|
|
343
345
|
chainId: BigInt(chainId),
|
|
344
346
|
key: parameters.accessKey,
|
|
345
347
|
});
|
|
346
|
-
const signPayload = parsed.source === '
|
|
347
|
-
? tempo_1.
|
|
348
|
+
const signPayload = parsed.source === 'configurable' && configurableState
|
|
349
|
+
? tempo_1.AccountConfig.getSignPayload({
|
|
348
350
|
account: parsed.address,
|
|
349
|
-
config:
|
|
351
|
+
config: configurableState.config,
|
|
350
352
|
payload: authorizationSignPayload,
|
|
351
353
|
})
|
|
352
354
|
: authorizationSignPayload;
|
|
@@ -354,10 +356,17 @@ async function prepareAuthorization(client, parameters) {
|
|
|
354
356
|
...parameters,
|
|
355
357
|
account: parsed,
|
|
356
358
|
chainId,
|
|
357
|
-
|
|
359
|
+
configurable: configurableState,
|
|
358
360
|
signPayload,
|
|
359
361
|
};
|
|
360
362
|
}
|
|
363
|
+
async function saveAuthorization(client, parameters) {
|
|
364
|
+
const { keyAuthorization } = parameters;
|
|
365
|
+
await client.request({
|
|
366
|
+
method: 'relay_saveKeyAuthorization',
|
|
367
|
+
params: [tempo_1.KeyAuthorization.toRpc(keyAuthorization)],
|
|
368
|
+
});
|
|
369
|
+
}
|
|
361
370
|
async function signAuthorization(client, parameters) {
|
|
362
371
|
const coordinated = ('hash' in parameters && parameters.hash) ||
|
|
363
372
|
('owner' in parameters && parameters.owner);
|
|
@@ -365,11 +374,11 @@ async function signAuthorization(client, parameters) {
|
|
|
365
374
|
const parameters_ = parameters;
|
|
366
375
|
const owner_ = parameters_.owner;
|
|
367
376
|
if (!owner_ || typeof owner_ === 'string')
|
|
368
|
-
throw new Error('A local owner account is required to approve a
|
|
377
|
+
throw new Error('A local owner account is required to approve a configurable account key authorization.');
|
|
369
378
|
const owner = (0, parseAccount_js_1.parseAccount)(owner_);
|
|
370
379
|
const sign = owner.sign;
|
|
371
380
|
if (!sign)
|
|
372
|
-
throw new Error('A local owner account is required to approve a
|
|
381
|
+
throw new Error('A local owner account is required to approve a configurable account key authorization.');
|
|
373
382
|
const request = await (async () => {
|
|
374
383
|
if ('hash' in parameters_ && parameters_.hash) {
|
|
375
384
|
const signature = tempo_1.SignatureEnvelope.serialize(tempo_1.SignatureEnvelope.from(await sign({ hash: parameters_.hash })));
|
|
@@ -380,19 +389,19 @@ async function signAuthorization(client, parameters) {
|
|
|
380
389
|
const config = await (async () => {
|
|
381
390
|
if (typeof account_ !== 'string' && account_.config)
|
|
382
391
|
return account_.config;
|
|
383
|
-
const config = await (0,
|
|
392
|
+
const config = await (0, accounts_js_1.getConfig)(client, { address });
|
|
384
393
|
if (config)
|
|
385
394
|
return config;
|
|
386
|
-
throw new Error(`No current
|
|
395
|
+
throw new Error(`No current account config is cached for account ${address}. Provide the current config.`);
|
|
387
396
|
})();
|
|
388
397
|
const account = (() => {
|
|
389
398
|
if (config.version !== 0n)
|
|
390
|
-
return (0, Account_js_1.
|
|
399
|
+
return (0, Account_js_1.fromConfig)({ address, ...config });
|
|
391
400
|
const { version: _, ...initialConfig } = config;
|
|
392
|
-
return (0, Account_js_1.
|
|
401
|
+
return (0, Account_js_1.fromConfig)({ address: 'infer', ...initialConfig });
|
|
393
402
|
})();
|
|
394
403
|
if (!(0, isAddressEqual_js_1.isAddressEqual)(account.address, address))
|
|
395
|
-
throw new Error('Initial
|
|
404
|
+
throw new Error('Initial account config does not match the account.');
|
|
396
405
|
const prepared = await prepareAuthorization(client, {
|
|
397
406
|
...authorization,
|
|
398
407
|
account,
|
|
@@ -416,44 +425,58 @@ async function signAuthorization(client, parameters) {
|
|
|
416
425
|
return { keyAuthorization: tempo_1.KeyAuthorization.toRpc(keyAuthorization) };
|
|
417
426
|
})();
|
|
418
427
|
const operation = await client.request({
|
|
419
|
-
method: '
|
|
428
|
+
method: 'account_approveKeyAuthorization',
|
|
420
429
|
params: [request],
|
|
421
430
|
});
|
|
422
|
-
const
|
|
431
|
+
const operation_ = tempo_1.AccountOperation.fromRpc(operation);
|
|
423
432
|
const keyAuthorization = tempo_1.KeyAuthorization.deserialize(await (async () => {
|
|
424
|
-
if (
|
|
425
|
-
return
|
|
426
|
-
const approvals = await tempo_1.
|
|
427
|
-
account:
|
|
428
|
-
approvals:
|
|
429
|
-
config:
|
|
430
|
-
hash:
|
|
433
|
+
if (operation_.status === 'success')
|
|
434
|
+
return operation_.keyAuthorization;
|
|
435
|
+
const approvals = await tempo_1.AccountOperation.selectApprovals({
|
|
436
|
+
account: operation_.account,
|
|
437
|
+
approvals: operation_.approvals,
|
|
438
|
+
config: operation_.config,
|
|
439
|
+
hash: operation_.hash,
|
|
431
440
|
});
|
|
432
|
-
return tempo_1.
|
|
433
|
-
account:
|
|
441
|
+
return tempo_1.AccountOperation.serializeKeyAuthorization(operation_.keyAuthorization, {
|
|
442
|
+
account: operation_.account,
|
|
434
443
|
approvals: approvals.selectedApprovals.length > 0
|
|
435
444
|
? approvals.selectedApprovals
|
|
436
445
|
: approvals.approvals.slice(0, 1),
|
|
437
|
-
config:
|
|
446
|
+
config: operation_.config,
|
|
438
447
|
});
|
|
439
448
|
})());
|
|
440
449
|
if (!keyAuthorization.signature)
|
|
441
|
-
throw new Error('Expected a signed
|
|
450
|
+
throw new Error('Expected a signed configurable account key authorization.');
|
|
442
451
|
return {
|
|
443
452
|
...keyAuthorization,
|
|
444
|
-
hash:
|
|
445
|
-
|
|
446
|
-
status:
|
|
453
|
+
hash: operation_.hash,
|
|
454
|
+
operation: operation_,
|
|
455
|
+
status: operation_.status,
|
|
447
456
|
};
|
|
448
457
|
}
|
|
458
|
+
const keyAuthorization = await signLocal(client, parameters);
|
|
459
|
+
const signer = parameters.account ?? client.account;
|
|
460
|
+
if (client.transport.keyAuthorization &&
|
|
461
|
+
signer &&
|
|
462
|
+
(0, parseAccount_js_1.parseAccount)(signer).source !== 'accessKey')
|
|
463
|
+
await saveAuthorization(client, { keyAuthorization }).catch((error) => {
|
|
464
|
+
if (error instanceof rpc_js_1.MethodNotFoundRpcError ||
|
|
465
|
+
error instanceof rpc_js_1.MethodNotSupportedRpcError)
|
|
466
|
+
return;
|
|
467
|
+
throw error;
|
|
468
|
+
});
|
|
469
|
+
return keyAuthorization;
|
|
470
|
+
}
|
|
471
|
+
async function signLocal(client, parameters) {
|
|
449
472
|
const prepared = ('signPayload' in parameters
|
|
450
473
|
? parameters
|
|
451
474
|
: await prepareAuthorization(client, parameters));
|
|
452
|
-
const { accessKey, account: account_, chainId,
|
|
475
|
+
const { accessKey, account: account_, chainId, configurable: configurableState, signPayload: _, ...rest } = prepared;
|
|
453
476
|
return (0, Account_js_1.signKeyAuthorization)(account_, {
|
|
454
477
|
chainId: BigInt(chainId),
|
|
455
478
|
key: accessKey,
|
|
456
|
-
|
|
479
|
+
configurable: configurableState,
|
|
457
480
|
...rest,
|
|
458
481
|
});
|
|
459
482
|
}
|