@openzeppelin/miden-multisig-client 0.16.1 → 0.17.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 +192 -11
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +32 -25
- package/dist/account/builder.js.map +1 -1
- package/dist/account/builder.test.js +73 -21
- package/dist/account/builder.test.js.map +1 -1
- package/dist/account/layout.d.ts +31 -0
- package/dist/account/layout.d.ts.map +1 -0
- package/dist/account/layout.js +31 -0
- package/dist/account/layout.js.map +1 -0
- package/dist/account/masm/account-components/auth.d.ts +1 -4
- package/dist/account/masm/account-components/auth.d.ts.map +1 -1
- package/dist/account/masm/account-components/auth.js +36 -53
- package/dist/account/masm/account-components/auth.js.map +1 -1
- package/dist/account/masm/index.d.ts +0 -1
- package/dist/account/masm/index.d.ts.map +1 -1
- package/dist/account/masm/index.js +0 -1
- package/dist/account/masm/index.js.map +1 -1
- package/dist/account/storage.d.ts +4 -0
- package/dist/account/storage.d.ts.map +1 -1
- package/dist/account/storage.js +9 -20
- package/dist/account/storage.js.map +1 -1
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -5
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +74 -16
- package/dist/client.test.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/inspector.d.ts +59 -1
- package/dist/inspector.d.ts.map +1 -1
- package/dist/inspector.js +157 -29
- package/dist/inspector.js.map +1 -1
- package/dist/inspector.test.js +246 -37
- package/dist/inspector.test.js.map +1 -1
- package/dist/multisig.d.ts +109 -33
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +307 -104
- package/dist/multisig.js.map +1 -1
- package/dist/multisig.test.js +582 -58
- package/dist/multisig.test.js.map +1 -1
- package/dist/procedures.d.ts +6 -7
- package/dist/procedures.d.ts.map +1 -1
- package/dist/procedures.js +6 -7
- package/dist/procedures.js.map +1 -1
- package/dist/proposal/metadata.d.ts.map +1 -1
- package/dist/proposal/metadata.js +13 -2
- package/dist/proposal/metadata.js.map +1 -1
- package/dist/proposal/metadata.test.js +57 -0
- package/dist/proposal/metadata.test.js.map +1 -1
- package/dist/prover/errors.d.ts +5 -0
- package/dist/prover/errors.d.ts.map +1 -1
- package/dist/prover/errors.js +7 -155
- package/dist/prover/errors.js.map +1 -1
- package/dist/prover/errors.test.js +5 -0
- package/dist/prover/errors.test.js.map +1 -1
- package/dist/prover/retry.d.ts +1 -6
- package/dist/prover/retry.d.ts.map +1 -1
- package/dist/prover/retry.js +5 -28
- package/dist/prover/retry.js.map +1 -1
- package/dist/prover/retry.test.js +1 -1
- package/dist/prover/retry.test.js.map +1 -1
- package/dist/prover/workflow.d.ts +4 -3
- package/dist/prover/workflow.d.ts.map +1 -1
- package/dist/prover/workflow.js +5 -2
- package/dist/prover/workflow.js.map +1 -1
- package/dist/prover/workflow.test.js +28 -3
- package/dist/prover/workflow.test.js.map +1 -1
- package/dist/retry/classify.d.ts +16 -0
- package/dist/retry/classify.d.ts.map +1 -0
- package/dist/retry/classify.js +187 -0
- package/dist/retry/classify.js.map +1 -0
- package/dist/retry/runtime.d.ts +13 -0
- package/dist/retry/runtime.d.ts.map +1 -0
- package/dist/retry/runtime.js +33 -0
- package/dist/retry/runtime.js.map +1 -0
- package/dist/rpc/config.d.ts +11 -0
- package/dist/rpc/config.d.ts.map +1 -0
- package/dist/rpc/config.js +17 -0
- package/dist/rpc/config.js.map +1 -0
- package/dist/rpc/config.test.d.ts +2 -0
- package/dist/rpc/config.test.d.ts.map +1 -0
- package/dist/rpc/config.test.js +24 -0
- package/dist/rpc/config.test.js.map +1 -0
- package/dist/rpc/errors.d.ts +2 -0
- package/dist/rpc/errors.d.ts.map +1 -0
- package/dist/rpc/errors.js +11 -0
- package/dist/rpc/errors.js.map +1 -0
- package/dist/rpc/errors.test.d.ts +2 -0
- package/dist/rpc/errors.test.d.ts.map +1 -0
- package/dist/rpc/errors.test.js +34 -0
- package/dist/rpc/errors.test.js.map +1 -0
- package/dist/rpc/retry.d.ts +4 -0
- package/dist/rpc/retry.d.ts.map +1 -0
- package/dist/rpc/retry.js +6 -0
- package/dist/rpc/retry.js.map +1 -0
- package/dist/rpc/retry.test.d.ts +2 -0
- package/dist/rpc/retry.test.d.ts.map +1 -0
- package/dist/rpc/retry.test.js +98 -0
- package/dist/rpc/retry.test.js.map +1 -0
- package/dist/transaction/index.d.ts +1 -1
- package/dist/transaction/index.d.ts.map +1 -1
- package/dist/transaction/index.js +1 -1
- package/dist/transaction/index.js.map +1 -1
- package/dist/transaction/p2id.d.ts +17 -6
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js +22 -31
- package/dist/transaction/p2id.js.map +1 -1
- package/dist/transaction/p2id.test.js +62 -24
- package/dist/transaction/p2id.test.js.map +1 -1
- package/dist/transaction/summary.d.ts +45 -2
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js +42 -2
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction/summary.test.d.ts +2 -0
- package/dist/transaction/summary.test.d.ts.map +1 -0
- package/dist/transaction/summary.test.js +26 -0
- package/dist/transaction/summary.test.js.map +1 -0
- package/dist/transaction/updateGuardian.d.ts.map +1 -1
- package/dist/transaction/updateGuardian.js +16 -18
- package/dist/transaction/updateGuardian.js.map +1 -1
- package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
- package/dist/transaction/updateProcedureThreshold.js +15 -17
- package/dist/transaction/updateProcedureThreshold.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts +6 -1
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js +20 -17
- package/dist/transaction/updateSigners.js.map +1 -1
- package/dist/transaction.d.ts +2 -2
- 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 +28 -4
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types/proposal.js +18 -0
- package/dist/types/proposal.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/signature.d.ts +11 -7
- package/dist/utils/signature.d.ts.map +1 -1
- package/dist/utils/signature.js +24 -58
- package/dist/utils/signature.js.map +1 -1
- package/dist/utils/word.d.ts +7 -0
- package/dist/utils/word.d.ts.map +1 -1
- package/dist/utils/word.js +15 -0
- package/dist/utils/word.js.map +1 -1
- package/masm/account_components/auth/guarded_multisig.masm +42 -0
- package/package.json +7 -4
- package/src/account/builder.test.ts +111 -45
- package/src/account/builder.ts +45 -33
- package/src/account/layout.ts +33 -0
- package/src/account/masm/account-components/auth.ts +36 -56
- package/src/account/masm/index.ts +0 -1
- package/src/account/storage.ts +9 -22
- package/src/client.test.ts +87 -16
- package/src/client.ts +16 -3
- package/src/index.ts +27 -1
- package/src/inspector.test.ts +330 -38
- package/src/inspector.ts +196 -33
- package/src/multisig.test.ts +680 -63
- package/src/multisig.ts +400 -115
- package/src/procedures.ts +6 -7
- package/src/proposal/metadata.test.ts +76 -0
- package/src/proposal/metadata.ts +13 -2
- package/src/prover/errors.test.ts +8 -0
- package/src/prover/errors.ts +7 -175
- package/src/prover/retry.test.ts +1 -1
- package/src/prover/retry.ts +10 -35
- package/src/prover/workflow.test.ts +40 -4
- package/src/prover/workflow.ts +16 -4
- package/src/retry/classify.ts +220 -0
- package/src/retry/runtime.ts +45 -0
- package/src/rpc/config.test.ts +45 -0
- package/src/rpc/config.ts +30 -0
- package/src/rpc/errors.test.ts +69 -0
- package/src/rpc/errors.ts +12 -0
- package/src/rpc/retry.test.ts +144 -0
- package/src/rpc/retry.ts +12 -0
- package/src/transaction/index.ts +7 -1
- package/src/transaction/p2id.test.ts +112 -31
- package/src/transaction/p2id.ts +39 -38
- package/src/transaction/summary.test.ts +32 -0
- package/src/transaction/summary.ts +83 -4
- package/src/transaction/updateGuardian.ts +15 -25
- package/src/transaction/updateProcedureThreshold.ts +13 -29
- package/src/transaction/updateSigners.ts +38 -30
- package/src/transaction.ts +8 -1
- package/src/types/proposal.ts +43 -4
- package/src/types.ts +0 -1
- package/src/utils/signature.ts +32 -65
- package/src/utils/word.ts +17 -0
- package/dist/account/masm/auth.d.ts +0 -5
- package/dist/account/masm/auth.d.ts.map +0 -1
- package/dist/account/masm/auth.js +0 -1509
- package/dist/account/masm/auth.js.map +0 -1
- package/masm/account_components/auth/multisig.masm +0 -12
- package/masm/account_components/auth/multisig_ecdsa.masm +0 -12
- package/masm/account_components/auth/multisig_guardian.masm +0 -16
- package/masm/account_components/auth/multisig_guardian_ecdsa.masm +0 -16
- package/masm/auth/guardian.masm +0 -199
- package/masm/auth/guardian_ecdsa.masm +0 -195
- package/masm/auth/multisig.masm +0 -554
- package/masm/auth/multisig_ecdsa.masm +0 -554
- package/src/account/masm/auth.ts +0 -1512
package/dist/multisig.d.ts
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
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';
|
|
14
|
+
import { type ResolvedRpcConfig } from './rpc/config.js';
|
|
13
15
|
/**
|
|
14
16
|
* Result of fetching account state from GUARDIAN.
|
|
15
17
|
*/
|
|
@@ -28,6 +30,26 @@ export interface AccountStateVerificationResult {
|
|
|
28
30
|
localCommitment: string;
|
|
29
31
|
onChainCommitment: string;
|
|
30
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
|
+
}
|
|
31
53
|
export declare class Multisig {
|
|
32
54
|
account: Account;
|
|
33
55
|
threshold: number;
|
|
@@ -40,10 +62,11 @@ export declare class Multisig {
|
|
|
40
62
|
private readonly midenClient;
|
|
41
63
|
private readonly rawClientPromise;
|
|
42
64
|
private readonly proverWorkflow;
|
|
65
|
+
private readonly rpcConfig;
|
|
43
66
|
private readonly _accountId;
|
|
44
67
|
private readonly midenRpcEndpoint;
|
|
45
68
|
private proposals;
|
|
46
|
-
constructor(account: Account, config: MultisigConfig, guardian: GuardianHttpClient, signer: Signer, midenClient: MidenClient, accountId: string | undefined, midenRpcEndpoint: string, proverConfig?: ResolvedProverConfig);
|
|
69
|
+
constructor(account: Account, config: MultisigConfig, guardian: GuardianHttpClient, signer: Signer, midenClient: MidenClient, accountId: string | undefined, midenRpcEndpoint: string, proverConfig?: ResolvedProverConfig, rpcConfig?: ResolvedRpcConfig);
|
|
47
70
|
private getMidenRpcEndpoint;
|
|
48
71
|
private getRawClient;
|
|
49
72
|
private proposalFactory;
|
|
@@ -61,6 +84,24 @@ export declare class Multisig {
|
|
|
61
84
|
* source from the store to see the same state execution will.
|
|
62
85
|
*/
|
|
63
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>;
|
|
64
105
|
/**
|
|
65
106
|
* Maps a proposal type to the procedure that determines its threshold.
|
|
66
107
|
*/
|
|
@@ -73,6 +114,25 @@ export declare class Multisig {
|
|
|
73
114
|
* @returns The threshold that applies to this proposal type
|
|
74
115
|
*/
|
|
75
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;
|
|
76
136
|
/**
|
|
77
137
|
* Update the GUARDIAN client used by this Multisig instance.
|
|
78
138
|
*
|
|
@@ -147,54 +207,52 @@ export declare class Multisig {
|
|
|
147
207
|
* Create an "add signer" proposal.
|
|
148
208
|
*
|
|
149
209
|
* @param newCommitment - Commitment of the new signer (hex)
|
|
150
|
-
* @param
|
|
151
|
-
*
|
|
210
|
+
* @param options - Optional settings: `nonce`, `newThreshold` (defaults to
|
|
211
|
+
* current threshold)
|
|
152
212
|
*/
|
|
153
|
-
createAddSignerProposal(newCommitment: string,
|
|
213
|
+
createAddSignerProposal(newCommitment: string, options?: CreateSignerProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
|
|
154
214
|
/**
|
|
155
215
|
* Create a "remove signer" proposal by executing the update_signers script to summary.
|
|
156
216
|
*
|
|
157
217
|
* @param signerToRemove - Commitment of the signer to remove (hex)
|
|
158
|
-
* @param
|
|
159
|
-
*
|
|
218
|
+
* @param options - Optional settings: `nonce`, `newThreshold` (defaults to
|
|
219
|
+
* min of current threshold and new signer count)
|
|
160
220
|
*/
|
|
161
|
-
createRemoveSignerProposal(signerToRemove: string,
|
|
221
|
+
createRemoveSignerProposal(signerToRemove: string, options?: CreateSignerProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
|
|
162
222
|
/**
|
|
163
223
|
* Create a "change threshold" proposal.
|
|
164
224
|
*
|
|
165
225
|
* @param newThreshold - The new threshold value
|
|
166
|
-
* @param
|
|
226
|
+
* @param options - Optional settings: `nonce`
|
|
167
227
|
*/
|
|
168
|
-
createChangeThresholdProposal(newThreshold: number,
|
|
169
|
-
createUpdateProcedureThresholdProposal(targetProcedure: ProcedureName, targetThreshold: number,
|
|
228
|
+
createChangeThresholdProposal(newThreshold: number, options?: CreateProposalOptions): Promise<Proposal>;
|
|
229
|
+
createUpdateProcedureThresholdProposal(targetProcedure: ProcedureName, targetThreshold: number, options?: CreateProposalOptions): Promise<Proposal>;
|
|
170
230
|
/**
|
|
171
231
|
* Create a "switch GUARDIAN" proposal to change the GUARDIAN provider.
|
|
172
232
|
*
|
|
173
233
|
* @param newGuardianEndpoint - The new GUARDIAN server endpoint URL
|
|
174
234
|
* @param newGuardianPubkey - The new GUARDIAN server's public key commitment (hex)
|
|
175
|
-
* @param
|
|
235
|
+
* @param options - Optional settings: `nonce`
|
|
176
236
|
*/
|
|
177
|
-
createSwitchGuardianProposal(newGuardianEndpoint: string, newGuardianPubkey: string,
|
|
237
|
+
createSwitchGuardianProposal(newGuardianEndpoint: string, newGuardianPubkey: string, options?: CreateProposalOptions): Promise<Proposal>;
|
|
178
238
|
/**
|
|
179
239
|
* Create a "consume notes" proposal to consume notes sent to the multisig account.
|
|
180
240
|
*
|
|
181
241
|
* @param noteIds - IDs of the notes to consume (hex strings)
|
|
182
|
-
* @param
|
|
242
|
+
* @param options - Optional settings: `nonce`
|
|
183
243
|
*/
|
|
184
|
-
createConsumeNotesProposal(noteIds: string[],
|
|
244
|
+
createConsumeNotesProposal(noteIds: string[], options?: CreateProposalOptions): Promise<Proposal>;
|
|
185
245
|
/**
|
|
186
246
|
* Create a P2ID proposal to send funds to another account.
|
|
187
247
|
*
|
|
188
248
|
* @param recipientId - Account ID of the recipient (hex string)
|
|
189
249
|
* @param faucetId - Faucet/token account ID (hex string)
|
|
190
250
|
* @param amount - Amount to send
|
|
191
|
-
* @param
|
|
192
|
-
*
|
|
193
|
-
*
|
|
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)
|
|
194
254
|
*/
|
|
195
|
-
createP2idProposal(recipientId: string, faucetId: string, amount: bigint,
|
|
196
|
-
noteType?: NoteType;
|
|
197
|
-
}): Promise<Proposal>;
|
|
255
|
+
createP2idProposal(recipientId: string, faucetId: string, amount: bigint, options?: CreateP2idProposalOptions, ...legacyArgs: never[]): Promise<Proposal>;
|
|
198
256
|
/**
|
|
199
257
|
* Get notes that can be consumed by this multisig account.
|
|
200
258
|
*
|
|
@@ -204,7 +262,7 @@ export declare class Multisig {
|
|
|
204
262
|
getConsumableNotes(): Promise<ConsumableNote[]>;
|
|
205
263
|
/**
|
|
206
264
|
* Export a note created by this multisig account as serialized note-file
|
|
207
|
-
* bytes for out-of-band delivery
|
|
265
|
+
* bytes for out-of-band delivery.
|
|
208
266
|
*
|
|
209
267
|
* A private note publishes only its commitment on chain, so the recipient
|
|
210
268
|
* can never learn its contents via sync; the sender must hand them the
|
|
@@ -222,7 +280,7 @@ export declare class Multisig {
|
|
|
222
280
|
exportNoteToBytes(noteId: string): Promise<Uint8Array>;
|
|
223
281
|
/**
|
|
224
282
|
* Export a note created by this multisig account as a note file downloaded
|
|
225
|
-
* by the browser
|
|
283
|
+
* by the browser. Browser-only convenience over
|
|
226
284
|
* {@link exportNoteToBytes}; use that method directly in non-DOM
|
|
227
285
|
* environments.
|
|
228
286
|
*
|
|
@@ -231,7 +289,7 @@ export declare class Multisig {
|
|
|
231
289
|
*/
|
|
232
290
|
exportNoteToFile(noteId: string, filename?: string): Promise<void>;
|
|
233
291
|
/**
|
|
234
|
-
* Import a note file received out-of-band
|
|
292
|
+
* Import a note file received out-of-band so the note can be
|
|
235
293
|
* consumed by this multisig account.
|
|
236
294
|
*
|
|
237
295
|
* Sync the Miden client with the network afterwards so the note's on-chain
|
|
@@ -245,7 +303,7 @@ export declare class Multisig {
|
|
|
245
303
|
*/
|
|
246
304
|
importNoteFromBytes(noteBytes: Uint8Array): Promise<string>;
|
|
247
305
|
/**
|
|
248
|
-
* Import a note file received out-of-band
|
|
306
|
+
* Import a note file received out-of-band from a browser
|
|
249
307
|
* `File`/`Blob` (e.g. a file-input selection). See
|
|
250
308
|
* {@link importNoteFromBytes} for the returned identifier semantics.
|
|
251
309
|
*/
|
|
@@ -256,10 +314,9 @@ export declare class Multisig {
|
|
|
256
314
|
* The P2ID note is rebuilt deterministically from the proposal salt, so the
|
|
257
315
|
* ID is known ahead of execution. For a private P2ID this is the ID to pass
|
|
258
316
|
* to {@link exportNoteToBytes} after executing, so the note file can be delivered
|
|
259
|
-
* to the recipient out-of-band
|
|
317
|
+
* to the recipient out-of-band.
|
|
260
318
|
*
|
|
261
|
-
*
|
|
262
|
-
* current vault state, which execution itself changes.
|
|
319
|
+
* The note ID remains deterministic from the proposal metadata and salt.
|
|
263
320
|
*/
|
|
264
321
|
getP2idNoteId(proposal: Proposal): Promise<string>;
|
|
265
322
|
/**
|
|
@@ -296,6 +353,16 @@ export declare class Multisig {
|
|
|
296
353
|
* flow produces.
|
|
297
354
|
*/
|
|
298
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>;
|
|
299
366
|
signProposal(proposalId: string): Promise<Proposal>;
|
|
300
367
|
private getProposalForSigning;
|
|
301
368
|
createTransactionProposalRequest(proposalId: string): Promise<TransactionRequest>;
|
|
@@ -309,20 +376,22 @@ export declare class Multisig {
|
|
|
309
376
|
* Submit an integration-built transaction (advice already injected). Mirrors
|
|
310
377
|
* the Rust `submit_transaction`; used by the custom proposal producer flow
|
|
311
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.
|
|
312
381
|
*/
|
|
313
|
-
submitTransaction(request: TransactionRequest): Promise<void>;
|
|
382
|
+
submitTransaction(proposalId: string, request: TransactionRequest): Promise<void>;
|
|
314
383
|
/**
|
|
315
|
-
* Create a proposal from a producer-built transaction the SDK does not model
|
|
316
|
-
*
|
|
384
|
+
* Create a proposal from a producer-built transaction the SDK does not model.
|
|
385
|
+
* `transactionRequestBytes` is a serialized TransactionRequest;
|
|
317
386
|
* `proposalType` is a free-form, non-empty label that must not collide with a
|
|
318
387
|
* built-in type. The integration keeps its own recipe to execute later via
|
|
319
388
|
* `prepareCustomExecution`.
|
|
320
389
|
*/
|
|
321
|
-
createCustomProposal(transactionRequestBytes: Uint8Array, proposalType: string,
|
|
390
|
+
createCustomProposal(transactionRequestBytes: Uint8Array, proposalType: string, options?: CreateProposalOptions): Promise<Proposal>;
|
|
322
391
|
/**
|
|
323
392
|
* Assemble the validated execution advice (cosigner signatures + GUARDIAN
|
|
324
393
|
* acknowledgment) for a ready custom proposal, so an integration can rebuild
|
|
325
|
-
* its transaction with its own recipe and submit
|
|
394
|
+
* its transaction with its own recipe and submit.
|
|
326
395
|
*
|
|
327
396
|
* `transactionRequestBytes` is the serialized transaction request; it is used only to verify
|
|
328
397
|
* (binding check) that it reproduces the signed commitment, before the
|
|
@@ -360,6 +429,13 @@ export declare class Multisig {
|
|
|
360
429
|
signProposalOffline(proposalId: string): Promise<string>;
|
|
361
430
|
private ensureProposalCommitmentMatchesSummary;
|
|
362
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;
|
|
363
439
|
private buildTransactionRequestFromMetadata;
|
|
364
440
|
}
|
|
365
441
|
//# 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,
|
|
1
|
+
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../src/multisig.ts"],"names":[],"mappings":"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"}
|