@openzeppelin/miden-multisig-client 0.18.0-rc.2 → 0.18.0-rc.3
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/README.md +46 -4
- package/dist/account/builder.d.ts +3 -4
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +6 -13
- package/dist/account/builder.js.map +1 -1
- package/dist/client.d.ts +11 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -3
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +14 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/multisig.d.ts +40 -9
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +97 -108
- package/dist/multisig.js.map +1 -1
- package/dist/procedures.d.ts +5 -5
- package/dist/procedures.js +5 -5
- package/dist/recovery/proposalNoteImport.d.ts +5 -6
- package/dist/recovery/proposalNoteImport.d.ts.map +1 -1
- package/dist/recovery/proposalNoteImport.js +12 -13
- package/dist/recovery/proposalNoteImport.js.map +1 -1
- package/dist/recovery/publicNoteBackfill.d.ts +2 -3
- package/dist/recovery/publicNoteBackfill.d.ts.map +1 -1
- package/dist/recovery/publicNoteBackfill.js +4 -5
- package/dist/recovery/publicNoteBackfill.js.map +1 -1
- package/dist/transaction/authArgs.d.ts +2 -3
- package/dist/transaction/authArgs.d.ts.map +1 -1
- package/dist/transaction/authArgs.js +7 -14
- package/dist/transaction/authArgs.js.map +1 -1
- package/dist/transaction/consumeNotes.d.ts +4 -12
- package/dist/transaction/consumeNotes.d.ts.map +1 -1
- package/dist/transaction/consumeNotes.js +10 -4
- package/dist/transaction/consumeNotes.js.map +1 -1
- package/dist/transaction/noteAuthentication.d.ts +2 -3
- package/dist/transaction/noteAuthentication.d.ts.map +1 -1
- package/dist/transaction/noteAuthentication.js +11 -11
- package/dist/transaction/noteAuthentication.js.map +1 -1
- package/dist/transaction/options.d.ts +0 -7
- package/dist/transaction/options.d.ts.map +1 -1
- package/dist/transaction/p2id.d.ts +2 -3
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js.map +1 -1
- package/dist/transaction/summary.d.ts +8 -14
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js +64 -20
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction/updateGuardian.d.ts +3 -7
- package/dist/transaction/updateGuardian.d.ts.map +1 -1
- package/dist/transaction/updateGuardian.js +3 -4
- package/dist/transaction/updateGuardian.js.map +1 -1
- package/dist/transaction/updateProcedureThreshold.d.ts +3 -8
- package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
- package/dist/transaction/updateProcedureThreshold.js +3 -4
- package/dist/transaction/updateProcedureThreshold.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts +3 -8
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js +3 -4
- package/dist/transaction/updateSigners.js.map +1 -1
- package/package.json +4 -4
- package/src/account/builder.ts +6 -13
- package/src/client.ts +13 -10
- package/src/config.ts +14 -0
- package/src/index.ts +2 -3
- package/src/multisig.ts +125 -143
- package/src/procedures.ts +5 -5
- package/src/recovery/proposalNoteImport.ts +13 -15
- package/src/recovery/publicNoteBackfill.ts +6 -6
- package/src/transaction/authArgs.ts +15 -21
- package/src/transaction/consumeNotes.ts +6 -34
- package/src/transaction/noteAuthentication.ts +18 -13
- package/src/transaction/options.ts +0 -9
- package/src/transaction/p2id.ts +2 -3
- package/src/transaction/summary.ts +27 -69
- package/src/transaction/updateGuardian.ts +5 -23
- package/src/transaction/updateProcedureThreshold.ts +5 -25
- package/src/transaction/updateSigners.ts +5 -22
- package/dist/raw-client.d.ts +0 -14
- package/dist/raw-client.d.ts.map +0 -1
- package/dist/raw-client.js +0 -60
- package/dist/raw-client.js.map +0 -1
- package/src/raw-client.ts +0 -89
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Miden multisig accounts store their authentication logic on-chain, but **their s
|
|
|
17
17
|
## Installation
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
npm install @openzeppelin/miden-multisig-client@0.18.0-rc.
|
|
20
|
+
npm install @openzeppelin/miden-multisig-client@0.18.0-rc.3 @miden-sdk/miden-sdk@0.17.0-rc.5
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Miden 0.17 requires a new client database: a store created under 0.16 does
|
|
@@ -53,7 +53,7 @@ breaking changes per line, and what each upgrade does to stored data:
|
|
|
53
53
|
import { MultisigClient, FalconSigner } from '@openzeppelin/miden-multisig-client';
|
|
54
54
|
import { AuthSecretKey, MidenClient } from '@miden-sdk/miden-sdk';
|
|
55
55
|
|
|
56
|
-
const midenClient = await MidenClient.createDevnet();
|
|
56
|
+
const midenClient = await MidenClient.createDevnet({ useWorker: false });
|
|
57
57
|
|
|
58
58
|
// Create a signer from your secret key
|
|
59
59
|
const secretKey = AuthSecretKey.rpoFalconWithRNG(undefined);
|
|
@@ -75,6 +75,25 @@ const client = new MultisigClient(midenClient, {
|
|
|
75
75
|
});
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
The SDK does all of its local work (account reads and writes, note imports and
|
|
79
|
+
exports, chain syncs, proposal previews) through the `MidenClient` you pass in,
|
|
80
|
+
and never opens a second client on that client's store. Pass the client your
|
|
81
|
+
application executes transactions with: miden-client keeps account state in
|
|
82
|
+
memory per client, so two live clients writing one store can leave either of
|
|
83
|
+
them persisting a storage root computed from state it never saw.
|
|
84
|
+
`midenRpcEndpoint` serves only the SDK's direct node reads (on-chain
|
|
85
|
+
commitments and note inclusion proofs).
|
|
86
|
+
|
|
87
|
+
In a browser, create that client with `useWorker: false`, which runs its WASM
|
|
88
|
+
work on the page's main thread. In the default worker mode, transactions
|
|
89
|
+
execute and apply in a Web Worker that never sees the account state this SDK
|
|
90
|
+
writes with `accounts.insert`, so a device's local copy of the account breaks
|
|
91
|
+
after `MultisigClient.load` or a `syncState()` import
|
|
92
|
+
([0xMiden/web-sdk#441](https://github.com/0xMiden/web-sdk/issues/441)). The
|
|
93
|
+
symptoms and recovery are in
|
|
94
|
+
[TROUBLESHOOTING.md](https://github.com/OpenZeppelin/guardian/blob/main/docs/TROUBLESHOOTING.md#account-data-wasnt-found-or-incomplete-storage-map-in-a-browser).
|
|
95
|
+
Node.js has no worker and is unaffected.
|
|
96
|
+
|
|
78
97
|
For an ECDSA cosigner using an EIP-1193 wallet (including Ledger), call
|
|
79
98
|
`Eip712Signer.connect(provider)` once to select the Ethereum address and
|
|
80
99
|
recover its secp256k1 public key from a dedicated key-discovery signature.
|
|
@@ -145,6 +164,7 @@ explicitly.
|
|
|
145
164
|
const midenClient = await MidenClient.create({
|
|
146
165
|
rpcUrl: 'https://my-node.internal:57291',
|
|
147
166
|
noteTransportUrl: 'https://my-transport.internal',
|
|
167
|
+
useWorker: false,
|
|
148
168
|
});
|
|
149
169
|
|
|
150
170
|
const client = new MultisigClient(midenClient, {
|
|
@@ -251,6 +271,28 @@ console.log('Commitment:', state.commitment);
|
|
|
251
271
|
console.log('Created:', state.createdAt);
|
|
252
272
|
```
|
|
253
273
|
|
|
274
|
+
### Sync Account State
|
|
275
|
+
|
|
276
|
+
`syncState()` reconciles the local store with GUARDIAN. It first asks GUARDIAN
|
|
277
|
+
for the nonce and commitment of its canonical state (`getCanonicalNonce`) and
|
|
278
|
+
skips the full state fetch when that nonce is not above the local account's
|
|
279
|
+
(at a matching commitment when equal). The result says which side stood:
|
|
280
|
+
|
|
281
|
+
```typescript
|
|
282
|
+
const synced = await multisig.syncState();
|
|
283
|
+
if (synced.source === 'guardian') {
|
|
284
|
+
console.log('Imported GUARDIAN state at', synced.state.commitment);
|
|
285
|
+
} else {
|
|
286
|
+
console.log(`Local nonce ${synced.localNonce} is current (GUARDIAN at ${synced.guardianNonce})`);
|
|
287
|
+
}
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Either way `multisig.account` and the cached config reflect the authoritative
|
|
291
|
+
account afterwards. Call `fetchState()` when you need GUARDIAN's state copy
|
|
292
|
+
regardless. The pre-check needs a GUARDIAN server that serves `GET /state/nonce`
|
|
293
|
+
(issue #191); against an older server `syncState()` fails rather than falling back
|
|
294
|
+
to the full fetch, so deploy the server first.
|
|
295
|
+
|
|
254
296
|
### Creating Proposals
|
|
255
297
|
|
|
256
298
|
Every `create*Proposal` method takes its required arguments followed by a
|
|
@@ -514,7 +556,7 @@ import { buildP2idTransactionRequest, chainAnchorBlockNum } from '@openzeppelin/
|
|
|
514
556
|
// The builder takes the Miden client because the executing account decides
|
|
515
557
|
// the auth args the request has to carry (see below).
|
|
516
558
|
const { request, salt } = await buildP2idTransactionRequest(
|
|
517
|
-
midenClient, senderId, recipientId, faucetId, amount,
|
|
559
|
+
midenClient, senderId, recipientId, faucetId, amount,
|
|
518
560
|
);
|
|
519
561
|
const proposal = await multisig.createCustomProposal(request.serialize(), 'b2agg');
|
|
520
562
|
|
|
@@ -531,7 +573,7 @@ const advice = await multisig.prepareCustomExecution(proposal.id, request.serial
|
|
|
531
573
|
const boundBlockNum = chainAnchorBlockNum(proposal.metadata.chainAnchor);
|
|
532
574
|
const { request: finalRequest } = await buildP2idTransactionRequest(
|
|
533
575
|
midenClient, senderId, recipientId, faucetId, amount,
|
|
534
|
-
{ salt, boundBlockNum, signatureAdviceMap: advice
|
|
576
|
+
{ salt, boundBlockNum, signatureAdviceMap: advice },
|
|
535
577
|
);
|
|
536
578
|
await multisig.submitTransaction(proposal.id, finalRequest);
|
|
537
579
|
```
|
|
@@ -3,17 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module provides functionality to create multisig accounts.
|
|
5
5
|
*/
|
|
6
|
-
import { type
|
|
6
|
+
import { type MidenClient } from "@miden-sdk/miden-sdk";
|
|
7
7
|
import type { MultisigConfig, CreateAccountResult } from "../types.js";
|
|
8
8
|
/**
|
|
9
9
|
* Creates a multisig account with GUARDIAN authentication.
|
|
10
10
|
*
|
|
11
|
-
* @param client - Initialized MidenClient
|
|
11
|
+
* @param client - Initialized MidenClient
|
|
12
12
|
* @param config - Multisig configuration
|
|
13
|
-
* @param midenRpcEndpoint - RPC endpoint for the client's network
|
|
14
13
|
* @returns The created account and seed
|
|
15
14
|
*/
|
|
16
|
-
export declare function createMultisigAccount(client:
|
|
15
|
+
export declare function createMultisigAccount(client: MidenClient, config: MultisigConfig): Promise<CreateAccountResult>;
|
|
17
16
|
/**
|
|
18
17
|
* Validates a multisig configuration.
|
|
19
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/account/builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/account/builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAgEvE;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAgFnE"}
|
package/dist/account/builder.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { AccountBuilder, AccountStorageMode, AuthGuardedMultisigConfig, ProcedureThreshold, Word, createAuthGuardedMultisig, } from "@miden-sdk/miden-sdk";
|
|
7
7
|
import { getProcedureRoot } from "../procedures.js";
|
|
8
|
-
import { isPublicMidenClient } from "../raw-client.js";
|
|
9
8
|
import { MAX_SIGNERS } from "./layout.js";
|
|
10
9
|
import { normalizeSignerCommitment } from "../utils/signature.js";
|
|
11
10
|
/**
|
|
@@ -46,12 +45,11 @@ function buildGuardedMultisigComponent(config) {
|
|
|
46
45
|
/**
|
|
47
46
|
* Creates a multisig account with GUARDIAN authentication.
|
|
48
47
|
*
|
|
49
|
-
* @param client - Initialized MidenClient
|
|
48
|
+
* @param client - Initialized MidenClient
|
|
50
49
|
* @param config - Multisig configuration
|
|
51
|
-
* @param midenRpcEndpoint - RPC endpoint for the client's network
|
|
52
50
|
* @returns The created account and seed
|
|
53
51
|
*/
|
|
54
|
-
export async function createMultisigAccount(client, config
|
|
52
|
+
export async function createMultisigAccount(client, config) {
|
|
55
53
|
validateMultisigConfig(config);
|
|
56
54
|
const authComponent = buildGuardedMultisigComponent(config);
|
|
57
55
|
let seed = config.seed;
|
|
@@ -69,15 +67,10 @@ export async function createMultisigAccount(client, config, midenRpcEndpoint) {
|
|
|
69
67
|
.withAuthComponent(authComponent)
|
|
70
68
|
.withBasicWalletComponent();
|
|
71
69
|
const result = accountBuilder.buildWithoutSchemaCommitment();
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
await client.newAccount(result.account, false);
|
|
80
|
-
}
|
|
70
|
+
await client.accounts.insert({
|
|
71
|
+
account: result.account,
|
|
72
|
+
overwrite: false,
|
|
73
|
+
});
|
|
81
74
|
return {
|
|
82
75
|
account: result.account,
|
|
83
76
|
seed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/account/builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EAEd,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,IAAI,EACJ,yBAAyB,GAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/account/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -18,9 +18,11 @@ export interface MultisigClientConfig {
|
|
|
18
18
|
/** GUARDIAN server endpoint. Required — there is no default. */
|
|
19
19
|
guardianEndpoint: string;
|
|
20
20
|
/**
|
|
21
|
-
* Miden node RPC endpoint
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* Miden node RPC endpoint the SDK reads directly: on-chain commitments for
|
|
22
|
+
* state verification, and note inclusion proofs for consume-notes proposals
|
|
23
|
+
* and note recovery. Everything else, execution included, goes through the
|
|
24
|
+
* injected `MidenClient`. Required — must point at the same network as the
|
|
25
|
+
* injected `MidenClient`; there is no default.
|
|
24
26
|
*/
|
|
25
27
|
midenRpcEndpoint: string;
|
|
26
28
|
/** Multisig-owned remote prover override and proof retry policy. */
|
|
@@ -40,13 +42,18 @@ export interface RecoveredAccount {
|
|
|
40
42
|
/**
|
|
41
43
|
* Client for creating and loading multisig accounts.
|
|
42
44
|
*
|
|
45
|
+
* In a browser, create the injected `MidenClient` with `useWorker: false` until
|
|
46
|
+
* https://github.com/0xMiden/web-sdk/issues/441 is fixed: a worker-mode client
|
|
47
|
+
* applies transactions in a Web Worker that never sees the account state this
|
|
48
|
+
* SDK writes.
|
|
49
|
+
*
|
|
43
50
|
* @example
|
|
44
51
|
* ```typescript
|
|
45
52
|
* import { MultisigClient, FalconSigner } from '@openzeppelin/miden-multisig-client';
|
|
46
53
|
* import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
|
|
47
54
|
*
|
|
48
55
|
* // Initialize
|
|
49
|
-
* const midenClient = await MidenClient.createDevnet();
|
|
56
|
+
* const midenClient = await MidenClient.createDevnet({ useWorker: false });
|
|
50
57
|
* const secretKey = AuthSecretKey.rpoFalconWithRNG(seed);
|
|
51
58
|
* const signer = new FalconSigner(secretKey);
|
|
52
59
|
*
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AAiBzB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AAiBzB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iFAAiF;IACjF,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,eAAe,CAAqB;gBAEhC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB;IAUlE;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM3C;;OAEG;IACH,IAAI,cAAc,IAAI,kBAAkB,CAEvC;IAED;;;;;;;;;OASG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAe/D;;;;;;OAMG;IACG,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoBvE;;;;;;OAMG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+ChE;;;;;;;;;;;;;;;OAeG;YACW,oBAAoB;CAuEnC"}
|
package/dist/client.js
CHANGED
|
@@ -9,7 +9,7 @@ import { GuardianHttpClient } from '@openzeppelin/guardian-client';
|
|
|
9
9
|
import { Multisig } from './multisig.js';
|
|
10
10
|
import { createMultisigAccount } from './account/index.js';
|
|
11
11
|
import { AccountInspector, assertCompleteDetectedConfig } from './inspector.js';
|
|
12
|
-
import { requireConfigValue, requireMidenRpcEndpoint } from './
|
|
12
|
+
import { requireConfigValue, requireMidenRpcEndpoint } from './config.js';
|
|
13
13
|
import { isSafeToAdoptGuardianState, readOnChainCommitment } from './state/adopt.js';
|
|
14
14
|
import { normalizeHexWord } from './utils/encoding.js';
|
|
15
15
|
import { resolveProverConfig, } from './prover/config.js';
|
|
@@ -23,13 +23,18 @@ async function bindSignerAccountKey(signer, midenClient, accountId) {
|
|
|
23
23
|
/**
|
|
24
24
|
* Client for creating and loading multisig accounts.
|
|
25
25
|
*
|
|
26
|
+
* In a browser, create the injected `MidenClient` with `useWorker: false` until
|
|
27
|
+
* https://github.com/0xMiden/web-sdk/issues/441 is fixed: a worker-mode client
|
|
28
|
+
* applies transactions in a Web Worker that never sees the account state this
|
|
29
|
+
* SDK writes.
|
|
30
|
+
*
|
|
26
31
|
* @example
|
|
27
32
|
* ```typescript
|
|
28
33
|
* import { MultisigClient, FalconSigner } from '@openzeppelin/miden-multisig-client';
|
|
29
34
|
* import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
|
|
30
35
|
*
|
|
31
36
|
* // Initialize
|
|
32
|
-
* const midenClient = await MidenClient.createDevnet();
|
|
37
|
+
* const midenClient = await MidenClient.createDevnet({ useWorker: false });
|
|
33
38
|
* const secretKey = AuthSecretKey.rpoFalconWithRNG(seed);
|
|
34
39
|
* const signer = new FalconSigner(secretKey);
|
|
35
40
|
*
|
|
@@ -107,7 +112,7 @@ export class MultisigClient {
|
|
|
107
112
|
*/
|
|
108
113
|
async create(config, signer) {
|
|
109
114
|
this._guardianClient.setSigner(signer);
|
|
110
|
-
const { account } = await createMultisigAccount(this.midenClient, config
|
|
115
|
+
const { account } = await createMultisigAccount(this.midenClient, config);
|
|
111
116
|
const accountId = account.id().toString();
|
|
112
117
|
await bindSignerAccountKey(signer, this.midenClient, accountId);
|
|
113
118
|
return new Multisig(account, config, this._guardianClient, signer, this.midenClient, undefined, this.midenRpcEndpoint, this.proverConfig, this.rpcConfig);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CASzE;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function requireConfigValue(field, value) {
|
|
2
|
+
if (typeof value !== 'string') {
|
|
3
|
+
throw new Error(`missing required configuration: ${field}`);
|
|
4
|
+
}
|
|
5
|
+
const normalizedValue = value.trim();
|
|
6
|
+
if (normalizedValue === '') {
|
|
7
|
+
throw new Error(`missing required configuration: ${field}`);
|
|
8
|
+
}
|
|
9
|
+
return normalizedValue;
|
|
10
|
+
}
|
|
11
|
+
export function requireMidenRpcEndpoint(endpoint) {
|
|
12
|
+
return requireConfigValue('midenRpcEndpoint', endpoint);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAe;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAiB;IACvD,OAAO,kBAAkB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* } from '@openzeppelin/miden-multisig-client';
|
|
12
12
|
* import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
|
|
13
13
|
*
|
|
14
|
-
* const midenClient = await MidenClient.createDevnet();
|
|
14
|
+
* const midenClient = await MidenClient.createDevnet({ useWorker: false });
|
|
15
15
|
* const secretKey = AuthSecretKey.rpoFalconWithRNG(undefined);
|
|
16
16
|
*
|
|
17
17
|
* // Store in miden-sdk's keystore
|
|
@@ -48,11 +48,11 @@ export type { TransportRecoveryReport, TransportRecoveryStatus, } from './recove
|
|
|
48
48
|
export type { ProverConfig, ProverRetryPolicy } from './prover/config.js';
|
|
49
49
|
export type { RpcConfig, RpcRetryPolicy } from './rpc/config.js';
|
|
50
50
|
export { lookupAuthDigest } from './lookupAuth.js';
|
|
51
|
-
export { Multisig, type AccountState, type CreateProposalOptions, type CreateSignerProposalOptions, type CreateP2idProposalOptions, } from './multisig.js';
|
|
51
|
+
export { Multisig, type AccountState, type SyncStateResult, type CreateProposalOptions, type CreateSignerProposalOptions, type CreateP2idProposalOptions, } from './multisig.js';
|
|
52
52
|
export { AccountInspector, type DetectedMultisigConfig, type VaultBalance } from './inspector.js';
|
|
53
53
|
export { ChainBehindBoundBlockError, chainAnchorFromBase64, chainAnchorToBase64, chainAnchorBlockNum, executeForSummary, executeForSummaryAt, executeForSummaryAtTip, summaryApprovalExpirationBlockNum, summarySalt, SummaryAnchorMismatchError, buildUpdateSignersTransactionRequest, buildUpdateProcedureThresholdTransactionRequest, buildUpdateGuardianTransactionRequest, buildConsumeNotesTransactionRequest, buildConsumeNotesTransactionRequestFromNotes, buildP2idTransactionRequest, requestBoundBlockNum, requestSaltHex, MAX_APPROVAL_EXPIRATION_DELTA, parseP2idNoteType, p2idNoteTypeToMetadata, type P2idTransactionOptions, type P2ideHeightOptions, } from './transaction.js';
|
|
54
54
|
export { computeCommitmentFromTxSummary } from './multisig/helpers.js';
|
|
55
|
-
export type {
|
|
55
|
+
export type { MultisigRequestOptions, SignatureOptions, } from './transaction/options.js';
|
|
56
56
|
export { GuardianHttpClient, GuardianHttpError } from '@openzeppelin/guardian-client';
|
|
57
57
|
export type { GuardianErrorMeta } from '@openzeppelin/guardian-client';
|
|
58
58
|
export { GUARDIAN_ERROR_CODES, isGuardianErrorCode, normalizeGuardianErrorCode, } from '@openzeppelin/guardian-client';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iCAAiC,EACjC,WAAW,EACX,0BAA0B,EAC1B,oCAAoC,EACpC,+CAA+C,EAC/C,qCAAqC,EACrC,mCAAmC,EACnC,4CAA4C,EAC5C,2BAA2B,EAC3B,oBAAoB,EACpB,cAAc,EACd,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iCAAiC,EACjC,WAAW,EACX,0BAA0B,EAC1B,oCAAoC,EACpC,+CAA+C,EAC/C,qCAAqC,EACrC,mCAAmC,EACnC,4CAA4C,EAC5C,2BAA2B,EAC3B,oBAAoB,EACpB,cAAc,EACd,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EACV,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAM/E,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACzF,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,+BAA+B,EAC/B,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,gBAAgB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAEV,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAGlB,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EAGzB,eAAe,EAGf,cAAc,EACd,SAAS,EAGT,eAAe,EACf,MAAM,EACN,eAAe,EAGf,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EAGjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* } from '@openzeppelin/miden-multisig-client';
|
|
12
12
|
* import { MidenClient, AuthSecretKey } from '@miden-sdk/miden-sdk';
|
|
13
13
|
*
|
|
14
|
-
* const midenClient = await MidenClient.createDevnet();
|
|
14
|
+
* const midenClient = await MidenClient.createDevnet({ useWorker: false });
|
|
15
15
|
* const secretKey = AuthSecretKey.rpoFalconWithRNG(undefined);
|
|
16
16
|
*
|
|
17
17
|
* // Store in miden-sdk's keystore
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EACL,cAAc,GAGf,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EACL,cAAc,GAGf,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,QAAQ,GAMT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAkD,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iCAAiC,EACjC,WAAW,EACX,0BAA0B,EAC1B,oCAAoC,EACpC,+CAA+C,EAC/C,qCAAqC,EACrC,mCAAmC,EACnC,4CAA4C,EAC5C,2BAA2B,EAC3B,oBAAoB,EACpB,cAAc,EACd,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,0EAA0E;AAC1E,sEAAsE;AACtE,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAMvE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,yEAAyE;AACzE,iEAAiE;AACjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAevC,yEAAyE;AACzE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAoB5E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,GAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EAEpB,oBAAoB,EAEpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,wBAAwB,EACxB,+BAA+B,EAC/B,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAEL,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAElB,MAAM,iBAAiB,CAAC"}
|
package/dist/multisig.d.ts
CHANGED
|
@@ -26,6 +26,24 @@ export interface AccountState {
|
|
|
26
26
|
createdAt: string;
|
|
27
27
|
updatedAt: string;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Outcome of {@link Multisig.syncState}.
|
|
31
|
+
*
|
|
32
|
+
* `'guardian'`: GUARDIAN's canonical nonce was above the local nonce (or the
|
|
33
|
+
* local store had no account, or the same nonce carried a different
|
|
34
|
+
* commitment), so the state was fetched and reconciled; `state` is what
|
|
35
|
+
* GUARDIAN served. `'local'`: GUARDIAN's canonical nonce was below the local
|
|
36
|
+
* nonce, or equal to it at the same commitment, so the state fetch was
|
|
37
|
+
* skipped and the local account stands.
|
|
38
|
+
*/
|
|
39
|
+
export type SyncStateResult = {
|
|
40
|
+
source: 'guardian';
|
|
41
|
+
state: AccountState;
|
|
42
|
+
} | {
|
|
43
|
+
source: 'local';
|
|
44
|
+
localNonce: bigint;
|
|
45
|
+
guardianNonce: bigint;
|
|
46
|
+
};
|
|
29
47
|
export interface AccountStateVerificationResult {
|
|
30
48
|
accountId: string;
|
|
31
49
|
localCommitment: string;
|
|
@@ -68,7 +86,6 @@ export declare class Multisig {
|
|
|
68
86
|
private guardian;
|
|
69
87
|
private readonly signer;
|
|
70
88
|
private readonly midenClient;
|
|
71
|
-
private readonly rawClientPromise;
|
|
72
89
|
private readonly proverWorkflow;
|
|
73
90
|
private readonly rpcConfig;
|
|
74
91
|
private readonly _accountId;
|
|
@@ -94,7 +111,6 @@ export declare class Multisig {
|
|
|
94
111
|
private syncProposalsInFlight?;
|
|
95
112
|
constructor(account: Account, config: MultisigConfig, guardian: GuardianHttpClient, signer: Signer, midenClient: MidenClient, accountId: string | undefined, midenRpcEndpoint: string, proverConfig?: ResolvedProverConfig, rpcConfig?: ResolvedRpcConfig);
|
|
96
113
|
private getMidenRpcEndpoint;
|
|
97
|
-
private getRawClient;
|
|
98
114
|
private proposalFactory;
|
|
99
115
|
private verifyGuardianEndpointCommitment;
|
|
100
116
|
/** The account ID as a string */
|
|
@@ -102,7 +118,7 @@ export declare class Multisig {
|
|
|
102
118
|
/** The signer's commitment */
|
|
103
119
|
get signerCommitment(): string;
|
|
104
120
|
/**
|
|
105
|
-
* Resolve the account from the
|
|
121
|
+
* Resolve the account from the Miden client's store, falling back to the
|
|
106
122
|
* `account` snapshot when the store has no record.
|
|
107
123
|
*
|
|
108
124
|
* Transaction execution reads the store, and other flows (e.g. consume-notes
|
|
@@ -110,6 +126,7 @@ export declare class Multisig {
|
|
|
110
126
|
* source from the store to see the same state execution will.
|
|
111
127
|
*/
|
|
112
128
|
getStoreAccount(): Promise<Account>;
|
|
129
|
+
private readStoreAccount;
|
|
113
130
|
/**
|
|
114
131
|
* Read the current ordered signer public-key commitments from account
|
|
115
132
|
* storage (store-backed state, falling back to the snapshot).
|
|
@@ -192,16 +209,30 @@ export declare class Multisig {
|
|
|
192
209
|
/**
|
|
193
210
|
* Sync account state from GUARDIAN into the local Miden client store.
|
|
194
211
|
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
* is
|
|
212
|
+
* Starts with the canonical-nonce pre-check (OpenZeppelin/guardian#191):
|
|
213
|
+
* GUARDIAN reports the nonce and commitment of its canonical state, and
|
|
214
|
+
* when that nonce is not above the local account's — at a matching
|
|
215
|
+
* commitment when equal — nothing newer exists to pull, so the state
|
|
216
|
+
* fetch is skipped and the local account stands (`source: 'local'`).
|
|
217
|
+
*
|
|
218
|
+
* Otherwise the state is fetched (`source: 'guardian'`). If the GUARDIAN
|
|
219
|
+
* commitment differs from the local commitment (or the account is missing
|
|
220
|
+
* locally) and the GUARDIAN state is safe to import, the local store is
|
|
221
|
+
* overwritten with the GUARDIAN state. When the GUARDIAN is merely *behind*
|
|
198
222
|
* local — e.g. the pushed execution delta has not been canonicalized yet
|
|
199
223
|
* (see OpenZeppelin/guardian#316) — the local state is already ahead and
|
|
200
224
|
* on-chain-verifiable, so it is kept as authoritative. Either way, config is
|
|
201
225
|
* refreshed from the resulting account so callers reading `Multisig.account`
|
|
202
226
|
* (e.g. the UI) observe the current state instead of a stale snapshot.
|
|
203
227
|
*/
|
|
204
|
-
syncState(): Promise<
|
|
228
|
+
syncState(): Promise<SyncStateResult>;
|
|
229
|
+
/**
|
|
230
|
+
* The pre-check decision: GUARDIAN has nothing newer when its canonical
|
|
231
|
+
* nonce is below the local nonce, or equal to it at the same commitment.
|
|
232
|
+
* An equal nonce with a different commitment is divergence, which the
|
|
233
|
+
* full fetch reports (see `isSafeToOverwriteLocalState`).
|
|
234
|
+
*/
|
|
235
|
+
private guardianIsNotAhead;
|
|
205
236
|
verifyStateCommitment(): Promise<AccountStateVerificationResult>;
|
|
206
237
|
/**
|
|
207
238
|
* Decide whether GUARDIAN-provided state may overwrite the local store.
|
|
@@ -401,8 +432,8 @@ export declare class Multisig {
|
|
|
401
432
|
/**
|
|
402
433
|
* Get notes that can be consumed by this multisig account.
|
|
403
434
|
*
|
|
404
|
-
* Returns
|
|
405
|
-
*
|
|
435
|
+
* Returns the notes the Miden client's last sync screened as consumable by
|
|
436
|
+
* this account right now; block-locked notes are left out.
|
|
406
437
|
*/
|
|
407
438
|
getConsumableNotes(): Promise<ConsumableNote[]>;
|
|
408
439
|
/**
|
package/dist/multisig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,KAAK,aAAa,EAAoB,KAAK,cAAc,EAAE,KAAK,WAAW,EAA0B,KAAK,MAAM,EAAqC,MAAM,+BAA+B,CAAC;AACvP,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EAEd,QAAQ,EACR,gBAAgB,EAEhB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
|