@openzeppelin/miden-multisig-client 0.16.2 → 0.17.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +144 -7
  2. package/dist/account/builder.d.ts.map +1 -1
  3. package/dist/account/builder.js +32 -25
  4. package/dist/account/builder.js.map +1 -1
  5. package/dist/account/builder.test.js +73 -21
  6. package/dist/account/builder.test.js.map +1 -1
  7. package/dist/account/layout.d.ts +31 -0
  8. package/dist/account/layout.d.ts.map +1 -0
  9. package/dist/account/layout.js +31 -0
  10. package/dist/account/layout.js.map +1 -0
  11. package/dist/account/masm/account-components/auth.d.ts +1 -4
  12. package/dist/account/masm/account-components/auth.d.ts.map +1 -1
  13. package/dist/account/masm/account-components/auth.js +36 -53
  14. package/dist/account/masm/account-components/auth.js.map +1 -1
  15. package/dist/account/masm/index.d.ts +0 -1
  16. package/dist/account/masm/index.d.ts.map +1 -1
  17. package/dist/account/masm/index.js +0 -1
  18. package/dist/account/masm/index.js.map +1 -1
  19. package/dist/account/storage.d.ts +4 -0
  20. package/dist/account/storage.d.ts.map +1 -1
  21. package/dist/account/storage.js +9 -20
  22. package/dist/account/storage.js.map +1 -1
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +5 -3
  25. package/dist/client.js.map +1 -1
  26. package/dist/client.test.js +68 -15
  27. package/dist/client.test.js.map +1 -1
  28. package/dist/index.d.ts +4 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/inspector.d.ts +59 -1
  33. package/dist/inspector.d.ts.map +1 -1
  34. package/dist/inspector.js +157 -29
  35. package/dist/inspector.js.map +1 -1
  36. package/dist/inspector.test.js +246 -37
  37. package/dist/inspector.test.js.map +1 -1
  38. package/dist/multisig.d.ts +106 -32
  39. package/dist/multisig.d.ts.map +1 -1
  40. package/dist/multisig.js +289 -95
  41. package/dist/multisig.js.map +1 -1
  42. package/dist/multisig.test.js +581 -58
  43. package/dist/multisig.test.js.map +1 -1
  44. package/dist/procedures.d.ts +6 -7
  45. package/dist/procedures.d.ts.map +1 -1
  46. package/dist/procedures.js +6 -7
  47. package/dist/procedures.js.map +1 -1
  48. package/dist/proposal/metadata.d.ts.map +1 -1
  49. package/dist/proposal/metadata.js +13 -2
  50. package/dist/proposal/metadata.js.map +1 -1
  51. package/dist/proposal/metadata.test.js +57 -0
  52. package/dist/proposal/metadata.test.js.map +1 -1
  53. package/dist/prover/workflow.d.ts +3 -2
  54. package/dist/prover/workflow.d.ts.map +1 -1
  55. package/dist/prover/workflow.js +5 -2
  56. package/dist/prover/workflow.js.map +1 -1
  57. package/dist/prover/workflow.test.js +6 -4
  58. package/dist/prover/workflow.test.js.map +1 -1
  59. package/dist/transaction/index.d.ts +1 -1
  60. package/dist/transaction/index.d.ts.map +1 -1
  61. package/dist/transaction/index.js +1 -1
  62. package/dist/transaction/index.js.map +1 -1
  63. package/dist/transaction/p2id.d.ts +17 -6
  64. package/dist/transaction/p2id.d.ts.map +1 -1
  65. package/dist/transaction/p2id.js +22 -31
  66. package/dist/transaction/p2id.js.map +1 -1
  67. package/dist/transaction/p2id.test.js +62 -24
  68. package/dist/transaction/p2id.test.js.map +1 -1
  69. package/dist/transaction/summary.d.ts +45 -2
  70. package/dist/transaction/summary.d.ts.map +1 -1
  71. package/dist/transaction/summary.js +42 -2
  72. package/dist/transaction/summary.js.map +1 -1
  73. package/dist/transaction/summary.test.d.ts +2 -0
  74. package/dist/transaction/summary.test.d.ts.map +1 -0
  75. package/dist/transaction/summary.test.js +26 -0
  76. package/dist/transaction/summary.test.js.map +1 -0
  77. package/dist/transaction/updateGuardian.d.ts.map +1 -1
  78. package/dist/transaction/updateGuardian.js +16 -18
  79. package/dist/transaction/updateGuardian.js.map +1 -1
  80. package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
  81. package/dist/transaction/updateProcedureThreshold.js +15 -17
  82. package/dist/transaction/updateProcedureThreshold.js.map +1 -1
  83. package/dist/transaction/updateSigners.d.ts +6 -1
  84. package/dist/transaction/updateSigners.d.ts.map +1 -1
  85. package/dist/transaction/updateSigners.js +20 -17
  86. package/dist/transaction/updateSigners.js.map +1 -1
  87. package/dist/transaction.d.ts +2 -2
  88. package/dist/transaction.d.ts.map +1 -1
  89. package/dist/transaction.js +1 -1
  90. package/dist/transaction.js.map +1 -1
  91. package/dist/types/proposal.d.ts +28 -4
  92. package/dist/types/proposal.d.ts.map +1 -1
  93. package/dist/types/proposal.js +18 -0
  94. package/dist/types/proposal.js.map +1 -1
  95. package/dist/types.d.ts +0 -1
  96. package/dist/types.d.ts.map +1 -1
  97. package/dist/utils/signature.d.ts +11 -7
  98. package/dist/utils/signature.d.ts.map +1 -1
  99. package/dist/utils/signature.js +24 -58
  100. package/dist/utils/signature.js.map +1 -1
  101. package/dist/utils/word.d.ts +7 -0
  102. package/dist/utils/word.d.ts.map +1 -1
  103. package/dist/utils/word.js +15 -0
  104. package/dist/utils/word.js.map +1 -1
  105. package/masm/account_components/auth/guarded_multisig.masm +42 -0
  106. package/package.json +7 -4
  107. package/src/account/builder.test.ts +111 -45
  108. package/src/account/builder.ts +45 -33
  109. package/src/account/layout.ts +33 -0
  110. package/src/account/masm/account-components/auth.ts +36 -56
  111. package/src/account/masm/index.ts +0 -1
  112. package/src/account/storage.ts +9 -22
  113. package/src/client.test.ts +80 -15
  114. package/src/client.ts +5 -3
  115. package/src/index.ts +26 -1
  116. package/src/inspector.test.ts +330 -38
  117. package/src/inspector.ts +196 -33
  118. package/src/multisig.test.ts +679 -63
  119. package/src/multisig.ts +361 -107
  120. package/src/procedures.ts +6 -7
  121. package/src/proposal/metadata.test.ts +76 -0
  122. package/src/proposal/metadata.ts +13 -2
  123. package/src/prover/workflow.test.ts +9 -4
  124. package/src/prover/workflow.ts +15 -3
  125. package/src/transaction/index.ts +7 -1
  126. package/src/transaction/p2id.test.ts +112 -31
  127. package/src/transaction/p2id.ts +39 -38
  128. package/src/transaction/summary.test.ts +32 -0
  129. package/src/transaction/summary.ts +83 -4
  130. package/src/transaction/updateGuardian.ts +15 -25
  131. package/src/transaction/updateProcedureThreshold.ts +13 -29
  132. package/src/transaction/updateSigners.ts +38 -30
  133. package/src/transaction.ts +8 -1
  134. package/src/types/proposal.ts +43 -4
  135. package/src/types.ts +0 -1
  136. package/src/utils/signature.ts +32 -65
  137. package/src/utils/word.ts +17 -0
  138. package/dist/account/masm/auth.d.ts +0 -5
  139. package/dist/account/masm/auth.d.ts.map +0 -1
  140. package/dist/account/masm/auth.js +0 -1509
  141. package/dist/account/masm/auth.js.map +0 -1
  142. package/masm/account_components/auth/multisig.masm +0 -12
  143. package/masm/account_components/auth/multisig_ecdsa.masm +0 -12
  144. package/masm/account_components/auth/multisig_guardian.masm +0 -16
  145. package/masm/account_components/auth/multisig_guardian_ecdsa.masm +0 -16
  146. package/masm/auth/guardian.masm +0 -199
  147. package/masm/auth/guardian_ecdsa.masm +0 -195
  148. package/masm/auth/multisig.masm +0 -554
  149. package/masm/auth/multisig_ecdsa.masm +0 -554
  150. package/src/account/masm/auth.ts +0 -1512
@@ -4,11 +4,12 @@
4
4
  * This class wraps a Miden SDK Account and provides GUARDIAN integration
5
5
  * for proposal management.
6
6
  */
7
- import { GuardianHttpClient, type AbandonCandidateResponse, type AbandonStatus, type Signer } from '@openzeppelin/guardian-client';
7
+ import { GuardianHttpClient, type AbandonCandidateResponse, type AbandonStatus, type HistoryOptions, type HistoryPage, type Signer } from '@openzeppelin/guardian-client';
8
8
  import type { ConsumableNote, ExportedProposal, MultisigConfig, Proposal, ProposalMetadata, ProposalType } from './types.js';
9
9
  import type { ProcedureName } from './procedures.js';
10
10
  import type { MidenClient } from '@miden-sdk/miden-sdk';
11
11
  import { Account, AdviceMap, NoteType, TransactionRequest } from '@miden-sdk/miden-sdk';
12
+ import { type P2ideHeightOptions } from './transaction.js';
12
13
  import { type ResolvedProverConfig } from './prover/config.js';
13
14
  import { type ResolvedRpcConfig } from './rpc/config.js';
14
15
  /**
@@ -29,6 +30,26 @@ export interface AccountStateVerificationResult {
29
30
  localCommitment: string;
30
31
  onChainCommitment: string;
31
32
  }
33
+ /**
34
+ * Options shared by the `create*Proposal` family (issue #387). Every optional
35
+ * knob lives in a single trailing options bag, so call sites never need
36
+ * positional `undefined` holes to reach a later option.
37
+ */
38
+ export interface CreateProposalOptions {
39
+ /** Proposal nonce; defaults to `Date.now()`. */
40
+ nonce?: number;
41
+ }
42
+ export interface CreateSignerProposalOptions extends CreateProposalOptions {
43
+ /**
44
+ * New signing threshold. Defaults to the current threshold on add, and to
45
+ * `min(current threshold, remaining signer count)` on remove.
46
+ */
47
+ newThreshold?: number;
48
+ }
49
+ export interface CreateP2idProposalOptions extends CreateProposalOptions, P2ideHeightOptions {
50
+ /** Visibility of the created note. Defaults to `NoteType.Public` (issue #322). */
51
+ noteType?: NoteType;
52
+ }
32
53
  export declare class Multisig {
33
54
  account: Account;
34
55
  threshold: number;
@@ -63,6 +84,24 @@ export declare class Multisig {
63
84
  * source from the store to see the same state execution will.
64
85
  */
65
86
  getStoreAccount(): Promise<Account>;
87
+ /**
88
+ * Read the current ordered signer public-key commitments from account
89
+ * storage (store-backed state, falling back to the snapshot).
90
+ *
91
+ * Commitments are ordered by signer index as currently stored; indices
92
+ * re-pack when signers are removed, so index 0 is the creation-time first
93
+ * key only until the first membership change. Unlike the
94
+ * `signerCommitments` field, which reflects the config detected at
95
+ * construction / last sync, this reads the account state directly.
96
+ * See `AccountInspector.getSignerPublicKeyCommitments` (issue #306).
97
+ */
98
+ getSignerPublicKeyCommitments(): Promise<string[]>;
99
+ /**
100
+ * Read the current guardian public-key commitment from account storage.
101
+ * The guarded-multisig always includes a guardian, so this throws (rather
102
+ * than returning null) when the entry is missing.
103
+ */
104
+ getGuardianPublicKeyCommitment(): Promise<string>;
66
105
  /**
67
106
  * Maps a proposal type to the procedure that determines its threshold.
68
107
  */
@@ -75,6 +114,25 @@ export declare class Multisig {
75
114
  * @returns The threshold that applies to this proposal type
76
115
  */
77
116
  getEffectiveThreshold(proposalType: ProposalType): number;
117
+ /**
118
+ * Per-procedure threshold overrides whose effective signing ratio is diluted
119
+ * by growing the signer set to `newNumSigners`.
120
+ *
121
+ * Overrides are absolute signature counts, not ratios, and the on-chain
122
+ * `update_signers_and_threshold` procedure does not re-scale them: growing
123
+ * the approver set silently lowers every override's effective signing ratio
124
+ * (a 2-of-2 override becomes 2-of-n). Callers creating a proposal that grows
125
+ * the signer set should surface these overrides and suggest raising them via
126
+ * an update-procedure-threshold proposal alongside the growth.
127
+ *
128
+ * @param newNumSigners - Signer-set size the proposal produces
129
+ * @returns The configured overrides, or an empty list when the set does not grow
130
+ */
131
+ overridesDilutedBySignerGrowth(newNumSigners: number): Array<{
132
+ procedure: ProcedureName;
133
+ threshold: number;
134
+ }>;
135
+ private warnOnOverrideDilution;
78
136
  /**
79
137
  * Update the GUARDIAN client used by this Multisig instance.
80
138
  *
@@ -149,54 +207,52 @@ export declare class Multisig {
149
207
  * Create an "add signer" proposal.
150
208
  *
151
209
  * @param newCommitment - Commitment of the new signer (hex)
152
- * @param nonce - Optional proposal nonce (defaults to Date.now())
153
- * @param newThreshold - Optional new threshold (defaults to current threshold)
210
+ * @param options - Optional settings: `nonce`, `newThreshold` (defaults to
211
+ * current threshold)
154
212
  */
155
- createAddSignerProposal(newCommitment: string, nonce?: number, newThreshold?: number): Promise<Proposal>;
213
+ createAddSignerProposal(newCommitment: string, options?: CreateSignerProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
156
214
  /**
157
215
  * Create a "remove signer" proposal by executing the update_signers script to summary.
158
216
  *
159
217
  * @param signerToRemove - Commitment of the signer to remove (hex)
160
- * @param nonce - Optional proposal nonce (defaults to Date.now())
161
- * @param newThreshold - Optional new threshold (defaults to min of current threshold and new signer count)
218
+ * @param options - Optional settings: `nonce`, `newThreshold` (defaults to
219
+ * min of current threshold and new signer count)
162
220
  */
163
- createRemoveSignerProposal(signerToRemove: string, nonce?: number, newThreshold?: number): Promise<Proposal>;
221
+ createRemoveSignerProposal(signerToRemove: string, options?: CreateSignerProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
164
222
  /**
165
223
  * Create a "change threshold" proposal.
166
224
  *
167
225
  * @param newThreshold - The new threshold value
168
- * @param nonce - Optional proposal nonce (defaults to Date.now())
226
+ * @param options - Optional settings: `nonce`
169
227
  */
170
- createChangeThresholdProposal(newThreshold: number, nonce?: number): Promise<Proposal>;
171
- createUpdateProcedureThresholdProposal(targetProcedure: ProcedureName, targetThreshold: number, nonce?: number): Promise<Proposal>;
228
+ createChangeThresholdProposal(newThreshold: number, options?: CreateProposalOptions): Promise<Proposal>;
229
+ createUpdateProcedureThresholdProposal(targetProcedure: ProcedureName, targetThreshold: number, options?: CreateProposalOptions): Promise<Proposal>;
172
230
  /**
173
231
  * Create a "switch GUARDIAN" proposal to change the GUARDIAN provider.
174
232
  *
175
233
  * @param newGuardianEndpoint - The new GUARDIAN server endpoint URL
176
234
  * @param newGuardianPubkey - The new GUARDIAN server's public key commitment (hex)
177
- * @param nonce - Optional proposal nonce (defaults to Date.now())
235
+ * @param options - Optional settings: `nonce`
178
236
  */
179
- createSwitchGuardianProposal(newGuardianEndpoint: string, newGuardianPubkey: string, nonce?: number): Promise<Proposal>;
237
+ createSwitchGuardianProposal(newGuardianEndpoint: string, newGuardianPubkey: string, options?: CreateProposalOptions): Promise<Proposal>;
180
238
  /**
181
239
  * Create a "consume notes" proposal to consume notes sent to the multisig account.
182
240
  *
183
241
  * @param noteIds - IDs of the notes to consume (hex strings)
184
- * @param nonce - Optional proposal nonce (defaults to Date.now())
242
+ * @param options - Optional settings: `nonce`
185
243
  */
186
- createConsumeNotesProposal(noteIds: string[], nonce?: number): Promise<Proposal>;
244
+ createConsumeNotesProposal(noteIds: string[], options?: CreateProposalOptions): Promise<Proposal>;
187
245
  /**
188
246
  * Create a P2ID proposal to send funds to another account.
189
247
  *
190
248
  * @param recipientId - Account ID of the recipient (hex string)
191
249
  * @param faucetId - Faucet/token account ID (hex string)
192
250
  * @param amount - Amount to send
193
- * @param nonce - Optional proposal nonce (defaults to Date.now())
194
- * @param options - Optional settings; `noteType` selects the created note's
195
- * visibility (defaults to `NoteType.Public`, issue #322)
251
+ * @param options - Optional settings: `nonce`; `noteType` selects the created
252
+ * note's visibility (defaults to `NoteType.Public`, issue #322);
253
+ * `reclaimHeight`/`timelockHeight` build a P2IDE note (issue #366)
196
254
  */
197
- createP2idProposal(recipientId: string, faucetId: string, amount: bigint, nonce?: number, options?: {
198
- noteType?: NoteType;
199
- }): Promise<Proposal>;
255
+ createP2idProposal(recipientId: string, faucetId: string, amount: bigint, options?: CreateP2idProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
200
256
  /**
201
257
  * Get notes that can be consumed by this multisig account.
202
258
  *
@@ -206,7 +262,7 @@ export declare class Multisig {
206
262
  getConsumableNotes(): Promise<ConsumableNote[]>;
207
263
  /**
208
264
  * Export a note created by this multisig account as serialized note-file
209
- * bytes for out-of-band delivery (issue #356).
265
+ * bytes for out-of-band delivery.
210
266
  *
211
267
  * A private note publishes only its commitment on chain, so the recipient
212
268
  * can never learn its contents via sync; the sender must hand them the
@@ -224,7 +280,7 @@ export declare class Multisig {
224
280
  exportNoteToBytes(noteId: string): Promise<Uint8Array>;
225
281
  /**
226
282
  * Export a note created by this multisig account as a note file downloaded
227
- * by the browser (issue #356). Browser-only convenience over
283
+ * by the browser. Browser-only convenience over
228
284
  * {@link exportNoteToBytes}; use that method directly in non-DOM
229
285
  * environments.
230
286
  *
@@ -233,7 +289,7 @@ export declare class Multisig {
233
289
  */
234
290
  exportNoteToFile(noteId: string, filename?: string): Promise<void>;
235
291
  /**
236
- * Import a note file received out-of-band (issue #356) so the note can be
292
+ * Import a note file received out-of-band so the note can be
237
293
  * consumed by this multisig account.
238
294
  *
239
295
  * Sync the Miden client with the network afterwards so the note's on-chain
@@ -247,7 +303,7 @@ export declare class Multisig {
247
303
  */
248
304
  importNoteFromBytes(noteBytes: Uint8Array): Promise<string>;
249
305
  /**
250
- * Import a note file received out-of-band (issue #356) from a browser
306
+ * Import a note file received out-of-band from a browser
251
307
  * `File`/`Blob` (e.g. a file-input selection). See
252
308
  * {@link importNoteFromBytes} for the returned identifier semantics.
253
309
  */
@@ -258,10 +314,9 @@ export declare class Multisig {
258
314
  * The P2ID note is rebuilt deterministically from the proposal salt, so the
259
315
  * ID is known ahead of execution. For a private P2ID this is the ID to pass
260
316
  * to {@link exportNoteToBytes} after executing, so the note file can be delivered
261
- * to the recipient out-of-band (issue #356).
317
+ * to the recipient out-of-band.
262
318
  *
263
- * Call this before executing the proposal: the asset is derived from the
264
- * current vault state, which execution itself changes.
319
+ * The note ID remains deterministic from the proposal metadata and salt.
265
320
  */
266
321
  getP2idNoteId(proposal: Proposal): Promise<string>;
267
322
  /**
@@ -298,6 +353,16 @@ export declare class Multisig {
298
353
  * flow produces.
299
354
  */
300
355
  abandonStatus(nonce: number): Promise<AbandonStatus>;
356
+ /**
357
+ * Fetch one page of this account's canonical delta history
358
+ * from GUARDIAN (issue #413), newest-first by nonce, with decoded
359
+ * input/output note summaries. Pass `options.cursor` from a previous
360
+ * page's `nextCursor` to resume; an absent `nextCursor` means the
361
+ * feed is exhausted. Served while the account is paused. Only
362
+ * transactions pushed through GUARDIAN appear — history of
363
+ * transactions executed elsewhere is not visible to it.
364
+ */
365
+ deltaHistory(options?: HistoryOptions): Promise<HistoryPage>;
301
366
  signProposal(proposalId: string): Promise<Proposal>;
302
367
  private getProposalForSigning;
303
368
  createTransactionProposalRequest(proposalId: string): Promise<TransactionRequest>;
@@ -311,20 +376,22 @@ export declare class Multisig {
311
376
  * Submit an integration-built transaction (advice already injected). Mirrors
312
377
  * the Rust `submit_transaction`; used by the custom proposal producer flow
313
378
  * after `prepareCustomExecution` rebuilds its request with the returned advice.
379
+ * The transaction is executed at the proposal's anchored reference block,
380
+ * since the collected signatures only authorize the summary produced there.
314
381
  */
315
- submitTransaction(request: TransactionRequest): Promise<void>;
382
+ submitTransaction(proposalId: string, request: TransactionRequest): Promise<void>;
316
383
  /**
317
- * Create a proposal from a producer-built transaction the SDK does not model
318
- * (issue #266 producer API). `transactionRequestBytes` is a serialized TransactionRequest;
384
+ * Create a proposal from a producer-built transaction the SDK does not model.
385
+ * `transactionRequestBytes` is a serialized TransactionRequest;
319
386
  * `proposalType` is a free-form, non-empty label that must not collide with a
320
387
  * built-in type. The integration keeps its own recipe to execute later via
321
388
  * `prepareCustomExecution`.
322
389
  */
323
- createCustomProposal(transactionRequestBytes: Uint8Array, proposalType: string, nonce?: number): Promise<Proposal>;
390
+ createCustomProposal(transactionRequestBytes: Uint8Array, proposalType: string, options?: CreateProposalOptions): Promise<Proposal>;
324
391
  /**
325
392
  * Assemble the validated execution advice (cosigner signatures + GUARDIAN
326
393
  * acknowledgment) for a ready custom proposal, so an integration can rebuild
327
- * its transaction with its own recipe and submit (issue #266 producer API).
394
+ * its transaction with its own recipe and submit.
328
395
  *
329
396
  * `transactionRequestBytes` is the serialized transaction request; it is used only to verify
330
397
  * (binding check) that it reproduces the signed commitment, before the
@@ -362,6 +429,13 @@ export declare class Multisig {
362
429
  signProposalOffline(proposalId: string): Promise<string>;
363
430
  private ensureProposalCommitmentMatchesSummary;
364
431
  private verifyProposalMetadataBinding;
432
+ /**
433
+ * Decodes a proposal's chain anchor. Throws when absent: a proposal without
434
+ * an anchor was created at an unknown reference block, so its signed summary
435
+ * cannot be reproduced, verified, or executed. The caller owns the returned
436
+ * anchor and must `free()` it once done.
437
+ */
438
+ private requireProposalAnchor;
365
439
  private buildTransactionRequestFromMetadata;
366
440
  }
367
441
  //# sourceMappingURL=multisig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}