@openzeppelin/miden-multisig-client 0.17.0 → 0.18.0-rc.1
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 +159 -46
- package/dist/account/builder.d.ts +4 -4
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +17 -7
- package/dist/account/builder.js.map +1 -1
- package/dist/account/layout.d.ts +5 -5
- package/dist/account/layout.d.ts.map +1 -1
- package/dist/account/layout.js +5 -5
- package/dist/account/layout.js.map +1 -1
- package/dist/client.d.ts +18 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/multisig/authArgErrors.d.ts +14 -31
- package/dist/multisig/authArgErrors.d.ts.map +1 -1
- package/dist/multisig/authArgErrors.js +22 -46
- package/dist/multisig/authArgErrors.js.map +1 -1
- package/dist/multisig/consumeNotesErrors.d.ts +13 -1
- package/dist/multisig/consumeNotesErrors.d.ts.map +1 -1
- package/dist/multisig/consumeNotesErrors.js +17 -0
- package/dist/multisig/consumeNotesErrors.js.map +1 -1
- package/dist/multisig/signing.d.ts +1 -1
- package/dist/multisig/signing.d.ts.map +1 -1
- package/dist/multisig/signing.js +8 -3
- package/dist/multisig/signing.js.map +1 -1
- package/dist/multisig.d.ts +118 -11
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +421 -141
- package/dist/multisig.js.map +1 -1
- package/dist/procedures.d.ts +7 -7
- package/dist/procedures.js +7 -7
- package/dist/proposal/factory.d.ts.map +1 -1
- package/dist/proposal/factory.js +7 -0
- package/dist/proposal/factory.js.map +1 -1
- package/dist/raw-client.d.ts +1 -0
- package/dist/raw-client.d.ts.map +1 -1
- package/dist/raw-client.js +10 -2
- package/dist/raw-client.js.map +1 -1
- package/dist/recovery/publicNoteBackfill.js +1 -1
- package/dist/recovery/publicNoteBackfill.js.map +1 -1
- package/dist/retry/classify.d.ts +3 -0
- package/dist/retry/classify.d.ts.map +1 -1
- package/dist/retry/classify.js +2 -2
- package/dist/retry/classify.js.map +1 -1
- package/dist/signer.d.ts +1 -0
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +1 -0
- package/dist/signer.js.map +1 -1
- package/dist/signers/index.d.ts +1 -0
- package/dist/signers/index.d.ts.map +1 -1
- package/dist/signers/index.js +1 -0
- package/dist/signers/index.js.map +1 -1
- package/dist/signers/ledger.d.ts +25 -0
- package/dist/signers/ledger.d.ts.map +1 -0
- package/dist/signers/ledger.js +96 -0
- package/dist/signers/ledger.js.map +1 -0
- package/dist/state/adopt.d.ts +45 -0
- package/dist/state/adopt.d.ts.map +1 -0
- package/dist/state/adopt.js +101 -0
- package/dist/state/adopt.js.map +1 -0
- package/dist/transaction/authArgs.d.ts +57 -0
- package/dist/transaction/authArgs.d.ts.map +1 -0
- package/dist/transaction/authArgs.js +108 -0
- package/dist/transaction/authArgs.js.map +1 -0
- package/dist/transaction/consumeNotes.d.ts +9 -5
- package/dist/transaction/consumeNotes.d.ts.map +1 -1
- package/dist/transaction/consumeNotes.js +8 -23
- package/dist/transaction/consumeNotes.js.map +1 -1
- package/dist/transaction/noteAuthentication.d.ts +39 -0
- package/dist/transaction/noteAuthentication.d.ts.map +1 -0
- package/dist/transaction/noteAuthentication.js +94 -0
- package/dist/transaction/noteAuthentication.js.map +1 -0
- package/dist/transaction/options.d.ts +25 -0
- package/dist/transaction/options.d.ts.map +1 -1
- package/dist/transaction/p2id.d.ts +3 -2
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js +36 -27
- package/dist/transaction/p2id.js.map +1 -1
- package/dist/transaction/summary.d.ts +41 -15
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js +71 -19
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction/updateGuardian.d.ts +3 -3
- package/dist/transaction/updateGuardian.d.ts.map +1 -1
- package/dist/transaction/updateGuardian.js +5 -16
- package/dist/transaction/updateGuardian.js.map +1 -1
- package/dist/transaction/updateProcedureThreshold.d.ts +3 -3
- package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
- package/dist/transaction/updateProcedureThreshold.js +6 -16
- package/dist/transaction/updateProcedureThreshold.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts +3 -3
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js +9 -16
- package/dist/transaction/updateSigners.js.map +1 -1
- package/dist/transaction.d.ts +3 -2
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +3 -2
- package/dist/transaction.js.map +1 -1
- package/dist/types/proposal.d.ts +31 -0
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types/proposal.js +8 -0
- package/dist/types/proposal.js.map +1 -1
- package/dist/utils/eip712.d.ts +80 -0
- package/dist/utils/eip712.d.ts.map +1 -0
- package/dist/utils/eip712.js +49 -0
- package/dist/utils/eip712.js.map +1 -0
- package/dist/utils/signature.d.ts +4 -0
- package/dist/utils/signature.d.ts.map +1 -1
- package/dist/utils/signature.js +49 -1
- package/dist/utils/signature.js.map +1 -1
- package/package.json +11 -6
- package/src/account/builder.ts +18 -7
- package/src/account/layout.ts +5 -5
- package/src/client.ts +94 -6
- package/src/index.ts +21 -3
- package/src/multisig/authArgErrors.ts +23 -56
- package/src/multisig/consumeNotesErrors.ts +20 -1
- package/src/multisig/signing.ts +8 -2
- package/src/multisig.ts +530 -183
- package/src/procedures.ts +7 -7
- package/src/proposal/factory.ts +7 -0
- package/src/raw-client.ts +11 -7
- package/src/recovery/publicNoteBackfill.ts +1 -1
- package/src/retry/classify.ts +3 -3
- package/src/signer.ts +1 -0
- package/src/signers/index.ts +1 -0
- package/src/signers/ledger.ts +122 -0
- package/src/state/adopt.ts +132 -0
- package/src/transaction/authArgs.ts +142 -0
- package/src/transaction/consumeNotes.ts +23 -30
- package/src/transaction/noteAuthentication.ts +136 -0
- package/src/transaction/options.ts +27 -0
- package/src/transaction/p2id.ts +45 -34
- package/src/transaction/summary.ts +86 -22
- package/src/transaction/updateGuardian.ts +8 -22
- package/src/transaction/updateProcedureThreshold.ts +8 -20
- package/src/transaction/updateSigners.ts +11 -22
- package/src/transaction.ts +12 -1
- package/src/types/proposal.ts +30 -0
- package/src/utils/eip712.ts +57 -0
- package/src/utils/signature.ts +57 -0
- package/src/prover/test-node.d.ts +0 -6
package/dist/multisig.d.ts
CHANGED
|
@@ -39,6 +39,13 @@ export interface AccountStateVerificationResult {
|
|
|
39
39
|
export interface CreateProposalOptions {
|
|
40
40
|
/** Proposal nonce; defaults to `Date.now()`. */
|
|
41
41
|
nonce?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Blocks after the proposal's anchor block by which the transaction must be
|
|
44
|
+
* included; past that the approvers' signatures no longer authorize it. The
|
|
45
|
+
* summary binds it, so the executing party can neither shorten nor extend it.
|
|
46
|
+
* Omitted, the approval never expires (the upstream default).
|
|
47
|
+
*/
|
|
48
|
+
approvalExpirationDelta?: number;
|
|
42
49
|
}
|
|
43
50
|
export interface CreateSignerProposalOptions extends CreateProposalOptions {
|
|
44
51
|
/**
|
|
@@ -67,6 +74,24 @@ export declare class Multisig {
|
|
|
67
74
|
private readonly _accountId;
|
|
68
75
|
private readonly midenRpcEndpoint;
|
|
69
76
|
private proposals;
|
|
77
|
+
/** Ids GUARDIAN returned on the most recent sync; these prune immediately when dropped. */
|
|
78
|
+
private lastReportedProposalIds;
|
|
79
|
+
/**
|
|
80
|
+
* Ids GUARDIAN is known to hold: acknowledged `createProposal` pushes,
|
|
81
|
+
* acknowledged `signProposal` signatures, plus every listed id. Only these
|
|
82
|
+
* are subject to miss-based pruning; offline creations and imports GUARDIAN
|
|
83
|
+
* never received are exempt.
|
|
84
|
+
*/
|
|
85
|
+
private guardianKnownProposalIds;
|
|
86
|
+
/**
|
|
87
|
+
* Consecutive successful listings that omitted a guardian-known proposal
|
|
88
|
+
* not yet listed; at {@link UNREPORTED_LISTING_MISS_LIMIT} it is pruned.
|
|
89
|
+
*/
|
|
90
|
+
private unreportedMissCounts;
|
|
91
|
+
/** Bumped by {@link setGuardianClient}; a sync spanning a bump aborts unapplied. */
|
|
92
|
+
private syncGeneration;
|
|
93
|
+
/** Pending sync shared by overlapping {@link syncProposals} callers. */
|
|
94
|
+
private syncProposalsInFlight?;
|
|
70
95
|
constructor(account: Account, config: MultisigConfig, guardian: GuardianHttpClient, signer: Signer, midenClient: MidenClient, accountId: string | undefined, midenRpcEndpoint: string, proverConfig?: ResolvedProverConfig, rpcConfig?: ResolvedRpcConfig);
|
|
71
96
|
private getMidenRpcEndpoint;
|
|
72
97
|
private getRawClient;
|
|
@@ -133,6 +158,11 @@ export declare class Multisig {
|
|
|
133
158
|
procedure: ProcedureName;
|
|
134
159
|
threshold: number;
|
|
135
160
|
}>;
|
|
161
|
+
/**
|
|
162
|
+
* The request options every `create*Proposal` hands its builder: the account,
|
|
163
|
+
* the caller's approval expiration, and the signer's scheme.
|
|
164
|
+
*/
|
|
165
|
+
private proposalRequestOptions;
|
|
136
166
|
private warnOnOverrideDilution;
|
|
137
167
|
/**
|
|
138
168
|
* Update the GUARDIAN client used by this Multisig instance.
|
|
@@ -142,6 +172,14 @@ export declare class Multisig {
|
|
|
142
172
|
* survive a switch, and the notes embedded in them can only be imported
|
|
143
173
|
* while the old GUARDIAN is still the current client.
|
|
144
174
|
*
|
|
175
|
+
* Repointing abandons a {@link syncProposals} still in flight: it rejects
|
|
176
|
+
* without applying its listing, though its request to the old GUARDIAN is
|
|
177
|
+
* not cancelled, so callers already awaiting it see the rejection only
|
|
178
|
+
* once that response settles. The reported-id and miss-count bookkeeping
|
|
179
|
+
* is reset; the set of ids GUARDIAN is known to hold is kept on purpose,
|
|
180
|
+
* so proposals orphaned by the repoint expire through the two-miss rule
|
|
181
|
+
* instead of lingering.
|
|
182
|
+
*
|
|
145
183
|
* @param guardianClient - The new GUARDIAN HTTP client
|
|
146
184
|
*/
|
|
147
185
|
setGuardianClient(guardianClient: GuardianHttpClient): void;
|
|
@@ -205,9 +243,49 @@ export declare class Multisig {
|
|
|
205
243
|
*/
|
|
206
244
|
registerOnGuardian(initialStateBase64?: string): Promise<void>;
|
|
207
245
|
/**
|
|
208
|
-
* Sync proposals from the GUARDIAN server
|
|
246
|
+
* Sync proposals from the GUARDIAN server, reconciling the local cache to
|
|
247
|
+
* the response. GUARDIAN reports only pending proposals, so a proposal it
|
|
248
|
+
* reported on an earlier sync and now omits is pruned immediately. A
|
|
249
|
+
* proposal GUARDIAN holds but has not listed yet (a fresh `createProposal`
|
|
250
|
+
* its read-your-writes has not caught up with, or a proposal orphaned by a
|
|
251
|
+
* {@link setGuardianClient} repoint) is pruned only after
|
|
252
|
+
* {@link UNREPORTED_LISTING_MISS_LIMIT} consecutive listings omit it.
|
|
253
|
+
* Proposals GUARDIAN never received (an `importProposal`, or a
|
|
254
|
+
* `createSwitchGuardianProposalOffline`) are not pruned by listings; an
|
|
255
|
+
* import graduates to the pruned classes once GUARDIAN acknowledges it
|
|
256
|
+
* (listed, or a successful online `signProposal`).
|
|
257
|
+
* Proposals cached or replaced after the sync started are not evaluated
|
|
258
|
+
* by it.
|
|
259
|
+
*
|
|
260
|
+
* Every synced proposal's metadata is checked against its signed summary
|
|
261
|
+
* and the outcome is recorded in {@link Proposal.verification}. One that
|
|
262
|
+
* fails is still cached and returned, so a single stale or corrupt
|
|
263
|
+
* proposal cannot hide the others (issue #462: once the node prunes a
|
|
264
|
+
* proposal's anchor block its re-execution fails for everyone). `failed`
|
|
265
|
+
* with `retryable: true` means a transient node error, worth syncing
|
|
266
|
+
* again; `retryable: false` means the proposal cannot be reproduced and
|
|
267
|
+
* must be re-proposed. `signProposal` and `executeProposal` re-verify and
|
|
268
|
+
* refuse a failed proposal. A failed proposal still counts as reported, so
|
|
269
|
+
* it is pruned like any other once GUARDIAN stops listing it.
|
|
270
|
+
*
|
|
271
|
+
* The response is parsed in full before the cache or the pruning state
|
|
272
|
+
* changes; a payload that does not parse at all rejects and leaves both
|
|
273
|
+
* untouched, so malformed GUARDIAN data is never silently dropped.
|
|
274
|
+
* Signatures added to a cached proposal while the sync was verifying are
|
|
275
|
+
* preserved by its apply, and a proposal executed locally in that window
|
|
276
|
+
* stays `finalized` rather than reverting to the listed pending state.
|
|
277
|
+
* Overlapping callers share the same in-flight promise. A sync that spans a {@link setGuardianClient} repoint rejects
|
|
278
|
+
* without applying its listing.
|
|
279
|
+
*
|
|
280
|
+
* Nonce-based staleness hiding is the caller's job (see the examples'
|
|
281
|
+
* `filterVisibleProposals`): callers of this shared client disagree on
|
|
282
|
+
* whether a proposal's `nonce` is the pre-execution or the next account
|
|
283
|
+
* nonce, so the Rust client's `proposal.nonce <= account.nonce()` filter
|
|
284
|
+
* cannot be applied here. This is an intentional TS/Rust surface
|
|
285
|
+
* difference.
|
|
209
286
|
*/
|
|
210
287
|
syncProposals(): Promise<Proposal[]>;
|
|
288
|
+
private reconcileProposals;
|
|
211
289
|
/**
|
|
212
290
|
* {@link syncProposals} variant for the recovery flow: per-proposal
|
|
213
291
|
* failures (a payload that does not parse, a metadata binding that does
|
|
@@ -222,7 +300,10 @@ export declare class Multisig {
|
|
|
222
300
|
*/
|
|
223
301
|
private syncProposalsIsolatingFailures;
|
|
224
302
|
/**
|
|
225
|
-
*
|
|
303
|
+
* Returns the proposals cached by the most recent {@link syncProposals}
|
|
304
|
+
* call, plus any locally created or imported proposals GUARDIAN has not
|
|
305
|
+
* reported yet (see {@link syncProposals} for their retention). Not a
|
|
306
|
+
* durable history: proposals GUARDIAN no longer reports were pruned.
|
|
226
307
|
*/
|
|
227
308
|
listProposals(): Proposal[];
|
|
228
309
|
/**
|
|
@@ -377,6 +458,12 @@ export declare class Multisig {
|
|
|
377
458
|
* store, reusing this client's Miden RPC endpoint and retry
|
|
378
459
|
* configuration.
|
|
379
460
|
*/
|
|
461
|
+
/**
|
|
462
|
+
* Puts the local store in the canonical (authenticated) consumption mode
|
|
463
|
+
* for `notes`, fetching missing inclusion proofs from this client's Miden
|
|
464
|
+
* node; see {@link ensureNotesAuthenticated}.
|
|
465
|
+
*/
|
|
466
|
+
private ensureNotesAuthenticated;
|
|
380
467
|
private importNotesFromProposals;
|
|
381
468
|
/**
|
|
382
469
|
* Public-backfill strategy of {@link recoverNotes}: scan a historical
|
|
@@ -524,8 +611,13 @@ export declare class Multisig {
|
|
|
524
611
|
* its rebuilt transaction (`builder.extendAdviceMap(advice)`).
|
|
525
612
|
*/
|
|
526
613
|
prepareCustomExecution(proposalId: string, transactionRequestBytes: Uint8Array): Promise<AdviceMap>;
|
|
614
|
+
private buildCosignerAdviceEntry;
|
|
527
615
|
private assembleCustomAdvice;
|
|
528
616
|
private getLocalProposal;
|
|
617
|
+
/**
|
|
618
|
+
* The returned `anchor` is the block the request has to execute at; the
|
|
619
|
+
* caller owns it and frees it once submitted.
|
|
620
|
+
*/
|
|
529
621
|
private prepareProposalExecution;
|
|
530
622
|
/**
|
|
531
623
|
* Export a proposal for offline signing
|
|
@@ -553,7 +645,15 @@ export declare class Multisig {
|
|
|
553
645
|
*/
|
|
554
646
|
signProposalOffline(proposalId: string): Promise<string>;
|
|
555
647
|
private ensureProposalCommitmentMatchesSummary;
|
|
648
|
+
/**
|
|
649
|
+
* Verifies that a proposal's metadata reconstructs its signed summary
|
|
650
|
+
* commitment and records the outcome in {@link Proposal.verification}:
|
|
651
|
+
* `verified`, or `failed` with the message and whether the failure looked
|
|
652
|
+
* transient. Rethrows the failure so strict callers keep failing closed
|
|
653
|
+
* while `syncProposals` keeps going with the outcome recorded.
|
|
654
|
+
*/
|
|
556
655
|
private verifyProposalMetadataBinding;
|
|
656
|
+
private checkProposalMetadataBinding;
|
|
557
657
|
/**
|
|
558
658
|
* Decodes a proposal's chain anchor. Throws when absent: a proposal without
|
|
559
659
|
* an anchor was created at an unknown reference block, so its signed summary
|
|
@@ -564,18 +664,25 @@ export declare class Multisig {
|
|
|
564
664
|
* Reads a proposal's salt. Throws when absent, because there is nothing to fall
|
|
565
665
|
* back to.
|
|
566
666
|
*
|
|
567
|
-
* The
|
|
568
|
-
*
|
|
569
|
-
*
|
|
570
|
-
*
|
|
571
|
-
*
|
|
572
|
-
* why the fallback this replaces was correct when it was written.
|
|
573
|
-
*
|
|
574
|
-
* A declared salt also bypasses miden-client's zero-fee early return, so this holds
|
|
575
|
-
* on a chain that charges nothing exactly as on one that charges.
|
|
667
|
+
* The salt goes into the request's multisig auth args and the summary binds it in
|
|
668
|
+
* its user params, so `summarySalt(summary)` reads the value the cosigners signed
|
|
669
|
+
* over. It is not a substitute for this field: a request has to be rebuilt before
|
|
670
|
+
* any summary exists, and a proposal GUARDIAN serves may pair a summary with
|
|
671
|
+
* metadata that names another salt, which the binding check reports by name.
|
|
576
672
|
*/
|
|
577
673
|
private requireProposalSaltHex;
|
|
578
674
|
private requireProposalAnchor;
|
|
675
|
+
/**
|
|
676
|
+
* An expired approval aborts in the auth procedure only at execution.
|
|
677
|
+
* The summary carries the deadline, so callers check it against the sync
|
|
678
|
+
* height before assembling advice or requesting the GUARDIAN ack.
|
|
679
|
+
*/
|
|
680
|
+
private assertApprovalNotExpired;
|
|
681
|
+
/**
|
|
682
|
+
* Rebuilds a proposal's request from its metadata under `binding`, so the
|
|
683
|
+
* summary it produces is the one the cosigners signed.
|
|
684
|
+
*/
|
|
579
685
|
private buildTransactionRequestFromMetadata;
|
|
686
|
+
private buildTransactionRequestWithOptions;
|
|
580
687
|
}
|
|
581
688
|
//# sourceMappingURL=multisig.d.ts.map
|
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,EACV,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EAEP,SAAS,
|
|
1
|
+
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
|