@openzeppelin/miden-multisig-client 0.15.2 → 0.16.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 +37 -1
- package/dist/account/builder.d.ts +2 -1
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +1 -0
- package/dist/account/builder.js.map +1 -1
- package/dist/account/builder.test.js +2 -2
- package/dist/account/builder.test.js.map +1 -1
- package/dist/client.d.ts +17 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -7
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +46 -15
- package/dist/client.test.js.map +1 -1
- package/dist/connectivity.d.ts +38 -0
- package/dist/connectivity.d.ts.map +1 -0
- package/dist/connectivity.js +97 -0
- package/dist/connectivity.js.map +1 -0
- package/dist/connectivity.test.d.ts +2 -0
- package/dist/connectivity.test.d.ts.map +1 -0
- package/dist/connectivity.test.js +61 -0
- package/dist/connectivity.test.js.map +1 -0
- package/dist/index.d.ts +14 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/multisig.d.ts +130 -8
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +220 -24
- package/dist/multisig.js.map +1 -1
- package/dist/multisig.test.js +427 -89
- package/dist/multisig.test.js.map +1 -1
- package/dist/proposal/factory.d.ts.map +1 -1
- package/dist/proposal/factory.js +10 -0
- package/dist/proposal/factory.js.map +1 -1
- package/dist/proposal/factory.test.d.ts +2 -0
- package/dist/proposal/factory.test.d.ts.map +1 -0
- package/dist/proposal/factory.test.js +32 -0
- package/dist/proposal/factory.test.js.map +1 -0
- package/dist/proposal/metadata.d.ts.map +1 -1
- package/dist/proposal/metadata.js +12 -0
- package/dist/proposal/metadata.js.map +1 -1
- package/dist/proposal/metadata.test.js +49 -0
- package/dist/proposal/metadata.test.js.map +1 -1
- package/dist/prover/config.d.ts +16 -0
- package/dist/prover/config.d.ts.map +1 -0
- package/dist/prover/config.js +54 -0
- package/dist/prover/config.js.map +1 -0
- package/dist/prover/config.test.d.ts +2 -0
- package/dist/prover/config.test.d.ts.map +1 -0
- package/dist/prover/config.test.js +54 -0
- package/dist/prover/config.test.js.map +1 -0
- package/dist/prover/errors.d.ts +2 -0
- package/dist/prover/errors.d.ts.map +1 -0
- package/dist/prover/errors.js +158 -0
- package/dist/prover/errors.js.map +1 -0
- package/dist/prover/errors.test.d.ts +2 -0
- package/dist/prover/errors.test.d.ts.map +1 -0
- package/dist/prover/errors.test.js +24 -0
- package/dist/prover/errors.test.js.map +1 -0
- package/dist/prover/retry.d.ts +10 -0
- package/dist/prover/retry.d.ts.map +1 -0
- package/dist/prover/retry.js +32 -0
- package/dist/prover/retry.js.map +1 -0
- package/dist/prover/retry.test.d.ts +2 -0
- package/dist/prover/retry.test.d.ts.map +1 -0
- package/dist/prover/retry.test.js +20 -0
- package/dist/prover/retry.test.js.map +1 -0
- package/dist/prover/workflow.d.ts +11 -0
- package/dist/prover/workflow.d.ts.map +1 -0
- package/dist/prover/workflow.js +18 -0
- package/dist/prover/workflow.js.map +1 -0
- package/dist/prover/workflow.test.d.ts +2 -0
- package/dist/prover/workflow.test.d.ts.map +1 -0
- package/dist/prover/workflow.test.js +80 -0
- package/dist/prover/workflow.test.js.map +1 -0
- package/dist/raw-client.d.ts +2 -2
- package/dist/raw-client.d.ts.map +1 -1
- package/dist/raw-client.js +14 -4
- package/dist/raw-client.js.map +1 -1
- package/dist/raw-client.test.js +25 -3
- package/dist/raw-client.test.js.map +1 -1
- package/dist/transaction/consumeNotes.d.ts +6 -2
- package/dist/transaction/consumeNotes.d.ts.map +1 -1
- package/dist/transaction/consumeNotes.js +0 -4
- package/dist/transaction/consumeNotes.js.map +1 -1
- package/dist/transaction/options.d.ts +3 -0
- package/dist/transaction/options.d.ts.map +1 -1
- package/dist/transaction/p2id.d.ts +27 -2
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js +56 -4
- package/dist/transaction/p2id.js.map +1 -1
- package/dist/transaction/p2id.test.js +66 -6
- package/dist/transaction/p2id.test.js.map +1 -1
- package/dist/transaction/summary.d.ts +2 -1
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction/updateGuardian.d.ts +6 -2
- package/dist/transaction/updateGuardian.d.ts.map +1 -1
- package/dist/transaction/updateGuardian.js.map +1 -1
- package/dist/transaction/updateProcedureThreshold.d.ts +7 -2
- package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
- package/dist/transaction/updateProcedureThreshold.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts +7 -2
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js.map +1 -1
- package/dist/transaction.d.ts +1 -1
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +1 -1
- package/dist/transaction.js.map +1 -1
- package/dist/types/proposal.d.ts +5 -0
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types/proposal.js +3 -0
- package/dist/types/proposal.js.map +1 -1
- package/package.json +3 -3
- package/src/account/builder.test.ts +19 -11
- package/src/account/builder.ts +2 -1
- package/src/client.test.ts +67 -15
- package/src/client.ts +35 -12
- package/src/connectivity.test.ts +67 -0
- package/src/connectivity.ts +111 -0
- package/src/index.ts +25 -1
- package/src/multisig.test.ts +526 -94
- package/src/multisig.ts +270 -25
- package/src/proposal/factory.test.ts +40 -0
- package/src/proposal/factory.ts +11 -1
- package/src/proposal/metadata.test.ts +60 -0
- package/src/proposal/metadata.ts +14 -0
- package/src/prover/config.test.ts +90 -0
- package/src/prover/config.ts +78 -0
- package/src/prover/errors.test.ts +53 -0
- package/src/prover/errors.ts +178 -0
- package/src/prover/retry.test.ts +38 -0
- package/src/prover/retry.ts +46 -0
- package/src/prover/test-node.d.ts +6 -0
- package/src/prover/workflow.test.ts +109 -0
- package/src/prover/workflow.ts +19 -0
- package/src/raw-client.test.ts +41 -3
- package/src/raw-client.ts +15 -5
- package/src/transaction/consumeNotes.ts +11 -1
- package/src/transaction/options.ts +4 -0
- package/src/transaction/p2id.test.ts +98 -8
- package/src/transaction/p2id.ts +91 -12
- package/src/transaction/summary.ts +12 -0
- package/src/transaction/updateGuardian.ts +11 -1
- package/src/transaction/updateProcedureThreshold.ts +13 -1
- package/src/transaction/updateSigners.ts +13 -1
- package/src/transaction.ts +4 -0
- package/src/types/proposal.ts +9 -0
package/dist/multisig.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* for proposal management.
|
|
6
6
|
*/
|
|
7
7
|
import { GuardianHttpClient } from '@openzeppelin/guardian-client';
|
|
8
|
-
import { Account, AccountId, AdviceMap, Endpoint, FeltArray, Note, RpcClient, Signature, TransactionRequest, TransactionSummary, Word, } from '@miden-sdk/miden-sdk';
|
|
9
|
-
import { executeForSummary, buildUpdateSignersTransactionRequest, buildUpdateProcedureThresholdTransactionRequest, buildUpdateGuardianTransactionRequest, buildConsumeNotesTransactionRequest, buildP2idTransactionRequest, } from './transaction.js';
|
|
8
|
+
import { Account, AccountId, AdviceMap, Endpoint, FeltArray, Note, NoteExportFormat, NoteFile, RpcClient, Signature, TransactionRequest, TransactionSummary, Word, } from '@miden-sdk/miden-sdk';
|
|
9
|
+
import { executeForSummary, buildUpdateSignersTransactionRequest, buildUpdateProcedureThresholdTransactionRequest, buildUpdateGuardianTransactionRequest, buildConsumeNotesTransactionRequest, buildP2idNoteFromMetadata, buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, } from './transaction.js';
|
|
10
10
|
import { buildConsumeNotesTransactionRequestFromNotes } from './transaction/consumeNotes.js';
|
|
11
11
|
import { CONSUME_NOTES_METADATA_VERSION_V2, MAX_CONSUME_NOTES_METADATA_BYTES, } from './types/proposal.js';
|
|
12
12
|
import { LEGACY_CONSUME_NOTES_ENABLED } from './multisig/config.js';
|
|
@@ -20,7 +20,9 @@ import { AccountInspector } from './inspector.js';
|
|
|
20
20
|
import { ProposalFactory } from './proposal/factory.js';
|
|
21
21
|
import { ProposalMetadataCodec } from './proposal/metadata.js';
|
|
22
22
|
import { ProposalSignatures } from './proposal/signatures.js';
|
|
23
|
-
import { getRawMidenClient, getTransactionProver } from './raw-client.js';
|
|
23
|
+
import { getRawMidenClient, getTransactionProver, requireMidenRpcEndpoint, } from './raw-client.js';
|
|
24
|
+
import { resolveProverConfig, } from './prover/config.js';
|
|
25
|
+
import { ProverWorkflow } from './prover/workflow.js';
|
|
24
26
|
/**
|
|
25
27
|
* Represents a multisig account with GUARDIAN integration.
|
|
26
28
|
*/
|
|
@@ -60,11 +62,11 @@ export class Multisig {
|
|
|
60
62
|
signer;
|
|
61
63
|
midenClient;
|
|
62
64
|
rawClientPromise;
|
|
63
|
-
|
|
65
|
+
proverWorkflow;
|
|
64
66
|
_accountId;
|
|
65
67
|
midenRpcEndpoint;
|
|
66
68
|
proposals = new Map();
|
|
67
|
-
constructor(account, config, guardian, signer, midenClient, accountId, midenRpcEndpoint) {
|
|
69
|
+
constructor(account, config, guardian, signer, midenClient, accountId, midenRpcEndpoint, proverConfig) {
|
|
68
70
|
this.account = account;
|
|
69
71
|
this.threshold = config.threshold;
|
|
70
72
|
this.signerCommitments = config.signerCommitments;
|
|
@@ -75,14 +77,11 @@ export class Multisig {
|
|
|
75
77
|
this.signer = signer;
|
|
76
78
|
this.midenClient = midenClient;
|
|
77
79
|
this._accountId = accountId ?? (account ? accountIdToHex(account) : '');
|
|
78
|
-
this.midenRpcEndpoint = midenRpcEndpoint;
|
|
79
|
-
this.rawClientPromise = getRawMidenClient(midenClient, midenRpcEndpoint);
|
|
80
|
-
this.
|
|
80
|
+
this.midenRpcEndpoint = requireMidenRpcEndpoint(midenRpcEndpoint);
|
|
81
|
+
this.rawClientPromise = getRawMidenClient(midenClient, this.midenRpcEndpoint);
|
|
82
|
+
this.proverWorkflow = new ProverWorkflow(this.midenClient, proverConfig ?? resolveProverConfig(undefined, getTransactionProver(midenClient)));
|
|
81
83
|
}
|
|
82
84
|
getMidenRpcEndpoint() {
|
|
83
|
-
if (!this.midenRpcEndpoint) {
|
|
84
|
-
throw new Error('Missing Miden RPC endpoint in MultisigClient configuration');
|
|
85
|
-
}
|
|
86
85
|
return this.midenRpcEndpoint;
|
|
87
86
|
}
|
|
88
87
|
async getRawClient() {
|
|
@@ -115,6 +114,18 @@ export class Multisig {
|
|
|
115
114
|
get signerCommitment() {
|
|
116
115
|
return this.signer.commitment;
|
|
117
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Resolve the account from the web client's store, falling back to the
|
|
119
|
+
* `account` snapshot when the store has no record.
|
|
120
|
+
*
|
|
121
|
+
* Transaction execution reads the store, and other flows (e.g. consume-notes
|
|
122
|
+
* finalize) update it without refreshing the snapshot, so vault lookups must
|
|
123
|
+
* source from the store to see the same state execution will.
|
|
124
|
+
*/
|
|
125
|
+
async getStoreAccount() {
|
|
126
|
+
const webClient = await this.getRawClient();
|
|
127
|
+
return (await webClient.getAccount(AccountId.fromHex(this._accountId))) ?? this.account;
|
|
128
|
+
}
|
|
118
129
|
/**
|
|
119
130
|
* Maps a proposal type to the procedure that determines its threshold.
|
|
120
131
|
*/
|
|
@@ -181,7 +192,13 @@ export class Multisig {
|
|
|
181
192
|
* Sync account state from GUARDIAN into the local Miden client store.
|
|
182
193
|
*
|
|
183
194
|
* If the GUARDIAN commitment differs from the local commitment (or the account
|
|
184
|
-
* is missing locally)
|
|
195
|
+
* is missing locally) and the GUARDIAN state is safe to import, the local store
|
|
196
|
+
* is overwritten with the GUARDIAN state. When the GUARDIAN is merely *behind*
|
|
197
|
+
* local — e.g. the pushed execution delta has not been canonicalized yet
|
|
198
|
+
* (see OpenZeppelin/guardian#316) — the local state is already ahead and
|
|
199
|
+
* on-chain-verifiable, so it is kept as authoritative. Either way, config is
|
|
200
|
+
* refreshed from the resulting account so callers reading `Multisig.account`
|
|
201
|
+
* (e.g. the UI) observe the current state instead of a stale snapshot.
|
|
185
202
|
*/
|
|
186
203
|
async syncState() {
|
|
187
204
|
const state = await this.fetchState();
|
|
@@ -196,9 +213,10 @@ export class Multisig {
|
|
|
196
213
|
if (!localAccount || localCommitment !== guardianCommitment) {
|
|
197
214
|
const accountBytes = base64ToUint8Array(state.stateDataBase64);
|
|
198
215
|
const incomingAccount = Account.deserialize(accountBytes);
|
|
199
|
-
await this.
|
|
200
|
-
|
|
201
|
-
|
|
216
|
+
if (await this.isSafeToOverwriteLocalState(incomingAccount, localAccount)) {
|
|
217
|
+
await webClient.newAccount(incomingAccount, true);
|
|
218
|
+
accountForConfigRefresh = incomingAccount;
|
|
219
|
+
}
|
|
202
220
|
}
|
|
203
221
|
this.refreshConfigFromAccount(accountForConfigRefresh);
|
|
204
222
|
return state;
|
|
@@ -224,23 +242,43 @@ export class Multisig {
|
|
|
224
242
|
onChainCommitment,
|
|
225
243
|
};
|
|
226
244
|
}
|
|
227
|
-
|
|
245
|
+
/**
|
|
246
|
+
* Decide whether GUARDIAN-provided state may overwrite the local store.
|
|
247
|
+
*
|
|
248
|
+
* Returns `false` — rather than throwing — when the GUARDIAN state is simply
|
|
249
|
+
* *behind* local (lower nonce). That happens whenever the execution delta the
|
|
250
|
+
* client pushed has not been canonicalized by the GUARDIAN's background worker
|
|
251
|
+
* yet (see OpenZeppelin/guardian#316), or permanently if that candidate was
|
|
252
|
+
* discarded (#312 / #319). In that case the local account is already ahead and
|
|
253
|
+
* is independently verifiable against chain (`verifyStateCommitment`), so it is
|
|
254
|
+
* authoritative and must be kept, not clobbered; the caller keeps local and
|
|
255
|
+
* refreshes config from it.
|
|
256
|
+
*
|
|
257
|
+
* Still throws for genuine divergence: an incoming state at the *same* nonce as
|
|
258
|
+
* local but a different commitment, or an incoming state whose commitment does
|
|
259
|
+
* not match the on-chain commitment.
|
|
260
|
+
*/
|
|
261
|
+
async isSafeToOverwriteLocalState(incomingAccount, localAccount) {
|
|
228
262
|
if (localAccount) {
|
|
229
263
|
const localNonce = localAccount.nonce().asInt();
|
|
230
264
|
const incomingNonce = incomingAccount.nonce().asInt();
|
|
231
|
-
if (incomingNonce
|
|
232
|
-
|
|
265
|
+
if (incomingNonce < localNonce) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
if (incomingNonce === localNonce) {
|
|
269
|
+
throw new Error(`Refusing to overwrite local state: incoming nonce ${incomingNonce.toString()} equals local nonce ${localNonce.toString()} but commitments differ for account ${this._accountId}`);
|
|
233
270
|
}
|
|
234
271
|
}
|
|
235
272
|
const accountId = AccountId.fromHex(this._accountId);
|
|
236
273
|
const onChainCommitment = await this.getOnChainCommitment(accountId);
|
|
237
274
|
if (!onChainCommitment) {
|
|
238
|
-
return;
|
|
275
|
+
return true;
|
|
239
276
|
}
|
|
240
277
|
const incomingCommitment = normalizeHexWord(incomingAccount.to_commitment().toHex());
|
|
241
278
|
if (incomingCommitment !== onChainCommitment) {
|
|
242
279
|
throw new Error(`Refusing to overwrite local state: incoming commitment does not match on-chain commitment for account ${this._accountId}`);
|
|
243
280
|
}
|
|
281
|
+
return true;
|
|
244
282
|
}
|
|
245
283
|
async getOnChainCommitment(accountId) {
|
|
246
284
|
const rpcClient = new RpcClient(new Endpoint(this.getMidenRpcEndpoint()));
|
|
@@ -556,13 +594,16 @@ export class Multisig {
|
|
|
556
594
|
* @param faucetId - Faucet/token account ID (hex string)
|
|
557
595
|
* @param amount - Amount to send
|
|
558
596
|
* @param nonce - Optional proposal nonce (defaults to Date.now())
|
|
597
|
+
* @param options - Optional settings; `noteType` selects the created note's
|
|
598
|
+
* visibility (defaults to `NoteType.Public`, issue #322)
|
|
559
599
|
*/
|
|
560
|
-
async createP2idProposal(recipientId, faucetId, amount, nonce) {
|
|
600
|
+
async createP2idProposal(recipientId, faucetId, amount, nonce, options = {}) {
|
|
561
601
|
const webClient = await this.getRawClient();
|
|
562
602
|
if (amount <= 0n) {
|
|
563
603
|
throw new Error('Amount must be greater than 0');
|
|
564
604
|
}
|
|
565
|
-
const
|
|
605
|
+
const account = await this.getStoreAccount();
|
|
606
|
+
const { request, salt } = buildP2idTransactionRequest(this._accountId, recipientId, faucetId, amount, account, { noteType: options.noteType });
|
|
566
607
|
const summary = await executeForSummary(webClient, this._accountId, request);
|
|
567
608
|
const summaryBase64 = uint8ArrayToBase64(summary.serialize());
|
|
568
609
|
const proposalNonce = nonce ?? Date.now();
|
|
@@ -573,6 +614,8 @@ export class Multisig {
|
|
|
573
614
|
recipientId,
|
|
574
615
|
faucetId,
|
|
575
616
|
amount: amount.toString(),
|
|
617
|
+
// Omitted for public notes so the wire shape matches pre-#322 proposals.
|
|
618
|
+
noteType: p2idNoteTypeToMetadata(options.noteType),
|
|
576
619
|
description: `Send ${amount} of asset ${faucetId.slice(0, 10)}... to ${recipientId.slice(0, 10)}...`,
|
|
577
620
|
};
|
|
578
621
|
return this.createProposal(proposalNonce, summaryBase64, metadata);
|
|
@@ -618,6 +661,128 @@ export class Multisig {
|
|
|
618
661
|
}
|
|
619
662
|
return notes;
|
|
620
663
|
}
|
|
664
|
+
/**
|
|
665
|
+
* Export a note created by this multisig account as serialized note-file
|
|
666
|
+
* bytes for out-of-band delivery (issue #356).
|
|
667
|
+
*
|
|
668
|
+
* A private note publishes only its commitment on chain, so the recipient
|
|
669
|
+
* can never learn its contents via sync; the sender must hand them the
|
|
670
|
+
* bytes produced here, which they load with {@link importNoteFromBytes}.
|
|
671
|
+
*
|
|
672
|
+
* The note must be an output note of this client (created by a transaction
|
|
673
|
+
* this client executed). When the note's on-chain inclusion proof is
|
|
674
|
+
* already known (after a post-commit sync) the full note with proof is
|
|
675
|
+
* exported; otherwise the note details are exported and the importer's
|
|
676
|
+
* client tracks the note until it commits on chain.
|
|
677
|
+
*
|
|
678
|
+
* @param noteId - ID of the note to export (hex string)
|
|
679
|
+
* @returns Serialized note file bytes
|
|
680
|
+
*/
|
|
681
|
+
async exportNoteToBytes(noteId) {
|
|
682
|
+
const webClient = await this.getRawClient();
|
|
683
|
+
const trimmedNoteId = noteId.trim();
|
|
684
|
+
let record;
|
|
685
|
+
try {
|
|
686
|
+
record = await webClient.getOutputNote(trimmedNoteId);
|
|
687
|
+
}
|
|
688
|
+
catch (err) {
|
|
689
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
690
|
+
throw new Error(`Output note ${trimmedNoteId} not found in the local store; only notes created by this client can be exported: ${detail}`);
|
|
691
|
+
}
|
|
692
|
+
if (!record) {
|
|
693
|
+
throw new Error(`Output note ${trimmedNoteId} not found in the local store; only notes created by this client can be exported`);
|
|
694
|
+
}
|
|
695
|
+
const format = record.inclusionProof()
|
|
696
|
+
? NoteExportFormat.Full
|
|
697
|
+
: NoteExportFormat.Details;
|
|
698
|
+
const noteFile = await webClient.exportNoteFile(trimmedNoteId, format);
|
|
699
|
+
return noteFile.serialize();
|
|
700
|
+
}
|
|
701
|
+
/**
|
|
702
|
+
* Export a note created by this multisig account as a note file downloaded
|
|
703
|
+
* by the browser (issue #356). Browser-only convenience over
|
|
704
|
+
* {@link exportNoteToBytes}; use that method directly in non-DOM
|
|
705
|
+
* environments.
|
|
706
|
+
*
|
|
707
|
+
* @param noteId - ID of the note to export (hex string)
|
|
708
|
+
* @param filename - Download filename; defaults to `note_<id>.mno`
|
|
709
|
+
*/
|
|
710
|
+
async exportNoteToFile(noteId, filename) {
|
|
711
|
+
if (typeof document === 'undefined') {
|
|
712
|
+
throw new Error('exportNoteToFile requires a browser environment; use exportNoteToBytes instead');
|
|
713
|
+
}
|
|
714
|
+
const trimmedNoteId = noteId.trim();
|
|
715
|
+
const noteBytes = await this.exportNoteToBytes(trimmedNoteId);
|
|
716
|
+
const blob = new Blob([noteBytes], { type: 'application/octet-stream' });
|
|
717
|
+
const url = URL.createObjectURL(blob);
|
|
718
|
+
try {
|
|
719
|
+
const anchor = document.createElement('a');
|
|
720
|
+
anchor.href = url;
|
|
721
|
+
anchor.download = filename ?? `note_${trimmedNoteId}.mno`;
|
|
722
|
+
anchor.click();
|
|
723
|
+
}
|
|
724
|
+
finally {
|
|
725
|
+
URL.revokeObjectURL(url);
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
/**
|
|
729
|
+
* Import a note file received out-of-band (issue #356) so the note can be
|
|
730
|
+
* consumed by this multisig account.
|
|
731
|
+
*
|
|
732
|
+
* Sync the Miden client with the network afterwards so the note's on-chain
|
|
733
|
+
* commitment is tracked and the note shows up in {@link getConsumableNotes};
|
|
734
|
+
* it can then be consumed via {@link createConsumeNotesProposal}.
|
|
735
|
+
*
|
|
736
|
+
* @param noteBytes - Serialized note file bytes produced by
|
|
737
|
+
* {@link exportNoteToBytes}
|
|
738
|
+
* @returns The note ID when the file carries one, or the note's details
|
|
739
|
+
* commitment for a details-only file
|
|
740
|
+
*/
|
|
741
|
+
async importNoteFromBytes(noteBytes) {
|
|
742
|
+
const webClient = await this.getRawClient();
|
|
743
|
+
let noteFile;
|
|
744
|
+
try {
|
|
745
|
+
noteFile = NoteFile.deserialize(noteBytes);
|
|
746
|
+
}
|
|
747
|
+
catch (err) {
|
|
748
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
749
|
+
throw new Error(`failed to decode note file: ${detail}`);
|
|
750
|
+
}
|
|
751
|
+
return webClient.importNoteFile(noteFile);
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Import a note file received out-of-band (issue #356) from a browser
|
|
755
|
+
* `File`/`Blob` (e.g. a file-input selection). See
|
|
756
|
+
* {@link importNoteFromBytes} for the returned identifier semantics.
|
|
757
|
+
*/
|
|
758
|
+
async importNoteFromFile(file) {
|
|
759
|
+
const noteBytes = new Uint8Array(await file.arrayBuffer());
|
|
760
|
+
return this.importNoteFromBytes(noteBytes);
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Compute the ID of the note a P2ID proposal will create when executed.
|
|
764
|
+
*
|
|
765
|
+
* The P2ID note is rebuilt deterministically from the proposal salt, so the
|
|
766
|
+
* ID is known ahead of execution. For a private P2ID this is the ID to pass
|
|
767
|
+
* to {@link exportNoteToBytes} after executing, so the note file can be delivered
|
|
768
|
+
* to the recipient out-of-band (issue #356).
|
|
769
|
+
*
|
|
770
|
+
* Call this before executing the proposal: the asset is derived from the
|
|
771
|
+
* current vault state, which execution itself changes.
|
|
772
|
+
*/
|
|
773
|
+
async getP2idNoteId(proposal) {
|
|
774
|
+
const metadata = proposal.metadata;
|
|
775
|
+
if (metadata.proposalType !== 'p2id' ||
|
|
776
|
+
!metadata.recipientId ||
|
|
777
|
+
!metadata.faucetId ||
|
|
778
|
+
!metadata.amount ||
|
|
779
|
+
!metadata.saltHex) {
|
|
780
|
+
throw new Error('getP2idNoteId requires a P2ID proposal with recipient, faucet, amount, and salt metadata');
|
|
781
|
+
}
|
|
782
|
+
const account = await this.getStoreAccount();
|
|
783
|
+
const note = buildP2idNoteFromMetadata(this._accountId, metadata.recipientId, metadata.faucetId, BigInt(metadata.amount), account, parseP2idNoteType(metadata.noteType), metadata.saltHex);
|
|
784
|
+
return note.id().toString();
|
|
785
|
+
}
|
|
621
786
|
/**
|
|
622
787
|
* Sign a proposal.
|
|
623
788
|
*
|
|
@@ -626,6 +791,36 @@ export class Multisig {
|
|
|
626
791
|
*
|
|
627
792
|
* @param proposalId - The proposal commitment/ID (this is also what gets signed)
|
|
628
793
|
*/
|
|
794
|
+
/**
|
|
795
|
+
* Request abandonment of a pending canonicalization candidate whose
|
|
796
|
+
* transaction will never land on-chain (issue #319) — e.g. after an
|
|
797
|
+
* approved transaction died client-side (RPC submit failure, prover
|
|
798
|
+
* timeout, crash).
|
|
799
|
+
*
|
|
800
|
+
* Records an abandon *intent* on GUARDIAN: the account stays locked
|
|
801
|
+
* until the guardian's canonicalization worker confirms over a short
|
|
802
|
+
* quarantine (typically well under a minute) that the transaction did
|
|
803
|
+
* not land, then releases the account. Poll {@link abandonStatus} for
|
|
804
|
+
* the resolution.
|
|
805
|
+
*
|
|
806
|
+
* `nonce` pins the exact candidate to release; it is the nonce the
|
|
807
|
+
* proposal was pushed with. Retries are idempotent and preserve the
|
|
808
|
+
* original request timestamp. Refused with `GUARDIAN_CANDIDATE_LANDED`
|
|
809
|
+
* (409) when the transaction actually landed.
|
|
810
|
+
*/
|
|
811
|
+
async abandonCandidate(nonce) {
|
|
812
|
+
return this.guardian.abandonCandidate(this._accountId, nonce);
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Poll the resolution of an abandon request made with
|
|
816
|
+
* {@link abandonCandidate}: `'waiting'` while the quarantine runs,
|
|
817
|
+
* `'landed'` if the transaction landed after all, `'abandoned'` once
|
|
818
|
+
* the account is released, `'unexpected'` for any state no abandon
|
|
819
|
+
* flow produces.
|
|
820
|
+
*/
|
|
821
|
+
async abandonStatus(nonce) {
|
|
822
|
+
return this.guardian.abandonStatus(this._accountId, nonce);
|
|
823
|
+
}
|
|
629
824
|
async signProposal(proposalId) {
|
|
630
825
|
const normalizedProposalId = normalizeHexWord(proposalId);
|
|
631
826
|
const existingProposal = await this.getProposalForSigning(proposalId, normalizedProposalId);
|
|
@@ -667,7 +862,7 @@ export class Multisig {
|
|
|
667
862
|
async executeProposal(proposalId) {
|
|
668
863
|
const { metadata, finalRequest, proposal } = await this.prepareProposalExecution(proposalId);
|
|
669
864
|
const accountId = AccountId.fromHex(this._accountId);
|
|
670
|
-
await this.
|
|
865
|
+
await this.proverWorkflow.submit(accountId, finalRequest);
|
|
671
866
|
if (metadata.proposalType === 'switch_guardian') {
|
|
672
867
|
if (!metadata.newGuardianEndpoint || !metadata.newGuardianPubkey) {
|
|
673
868
|
throw new Error('Switch GUARDIAN proposal metadata is incomplete after execution');
|
|
@@ -713,7 +908,7 @@ export class Multisig {
|
|
|
713
908
|
* after `prepareCustomExecution` rebuilds its request with the returned advice.
|
|
714
909
|
*/
|
|
715
910
|
async submitTransaction(request) {
|
|
716
|
-
await this.
|
|
911
|
+
await this.proverWorkflow.submit(AccountId.fromHex(this._accountId), request);
|
|
717
912
|
}
|
|
718
913
|
/**
|
|
719
914
|
* Create a proposal from a producer-built transaction the SDK does not model
|
|
@@ -1166,7 +1361,8 @@ export class Multisig {
|
|
|
1166
1361
|
throw new UnsupportedMetadataVersionError(version);
|
|
1167
1362
|
}
|
|
1168
1363
|
case 'p2id': {
|
|
1169
|
-
const
|
|
1364
|
+
const account = await this.getStoreAccount();
|
|
1365
|
+
const { request } = buildP2idTransactionRequest(this._accountId, metadata.recipientId, metadata.faucetId, BigInt(metadata.amount), account, { salt, signatureAdviceMap, noteType: parseP2idNoteType(metadata.noteType) });
|
|
1170
1366
|
return request;
|
|
1171
1367
|
}
|
|
1172
1368
|
case 'custom':
|
package/dist/multisig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
|