@openzeppelin/miden-multisig-client 0.13.4 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -13
- package/dist/account/builder.d.ts +3 -3
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +10 -10
- package/dist/account/builder.js.map +1 -1
- package/dist/account/builder.test.js +16 -14
- package/dist/account/builder.test.js.map +1 -1
- package/dist/account/masm/account-components/auth.d.ts +4 -4
- package/dist/account/masm/account-components/auth.d.ts.map +1 -1
- package/dist/account/masm/account-components/auth.js +8 -12
- package/dist/account/masm/account-components/auth.js.map +1 -1
- package/dist/account/masm/auth.d.ts +4 -4
- package/dist/account/masm/auth.d.ts.map +1 -1
- package/dist/account/masm/auth.js +226 -124
- package/dist/account/masm/auth.js.map +1 -1
- package/dist/account/storage.d.ts.map +1 -1
- package/dist/account/storage.js +24 -6
- package/dist/account/storage.js.map +1 -1
- package/dist/account/storage.test.d.ts +2 -0
- package/dist/account/storage.test.d.ts.map +1 -0
- package/dist/account/storage.test.js +73 -0
- package/dist/account/storage.test.js.map +1 -0
- package/dist/client.d.ts +9 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +24 -14
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +45 -8
- package/dist/client.test.js.map +1 -1
- package/dist/index.d.ts +6 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -12
- package/dist/index.js.map +1 -1
- package/dist/multisig/proposal/execution.d.ts +3 -2
- package/dist/multisig/proposal/execution.d.ts.map +1 -1
- package/dist/multisig/proposal/execution.js +8 -12
- package/dist/multisig/proposal/execution.js.map +1 -1
- package/dist/multisig.d.ts +7 -4
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +53 -35
- package/dist/multisig.js.map +1 -1
- package/dist/multisig.test.js +17 -29
- package/dist/multisig.test.js.map +1 -1
- package/dist/procedures.d.ts +8 -8
- package/dist/procedures.js +8 -8
- package/dist/raw-client.d.ts +13 -0
- package/dist/raw-client.d.ts.map +1 -0
- package/dist/raw-client.js +42 -0
- package/dist/raw-client.js.map +1 -0
- package/dist/raw-client.test.d.ts +2 -0
- package/dist/raw-client.test.d.ts.map +1 -0
- package/dist/raw-client.test.js +89 -0
- package/dist/raw-client.test.js.map +1 -0
- package/dist/signers/ecdsa.d.ts +3 -1
- package/dist/signers/ecdsa.d.ts.map +1 -1
- package/dist/signers/ecdsa.js +15 -1
- package/dist/signers/ecdsa.js.map +1 -1
- package/dist/signers/ecdsa.test.js +27 -4
- package/dist/signers/ecdsa.test.js.map +1 -1
- package/dist/signers/falcon.d.ts +3 -1
- package/dist/signers/falcon.d.ts.map +1 -1
- package/dist/signers/falcon.js +15 -1
- package/dist/signers/falcon.js.map +1 -1
- package/dist/signers/falcon.test.js +39 -3
- package/dist/signers/falcon.test.js.map +1 -1
- package/dist/transaction/consumeNotes.d.ts +2 -2
- package/dist/transaction/consumeNotes.d.ts.map +1 -1
- package/dist/transaction/consumeNotes.js +5 -4
- package/dist/transaction/consumeNotes.js.map +1 -1
- package/dist/transaction/options.d.ts +1 -0
- package/dist/transaction/options.d.ts.map +1 -1
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js +7 -10
- package/dist/transaction/p2id.js.map +1 -1
- package/dist/transaction/p2id.test.js +19 -9
- package/dist/transaction/p2id.test.js.map +1 -1
- package/dist/transaction/summary.d.ts +2 -2
- package/dist/transaction/summary.d.ts.map +1 -1
- package/dist/transaction/summary.js +4 -2
- package/dist/transaction/summary.js.map +1 -1
- package/dist/transaction/updateGuardian.d.ts +2 -2
- package/dist/transaction/updateGuardian.d.ts.map +1 -1
- package/dist/transaction/updateGuardian.js +8 -11
- package/dist/transaction/updateGuardian.js.map +1 -1
- package/dist/transaction/updateProcedureThreshold.d.ts +2 -2
- package/dist/transaction/updateProcedureThreshold.d.ts.map +1 -1
- package/dist/transaction/updateProcedureThreshold.js +8 -10
- package/dist/transaction/updateProcedureThreshold.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts +2 -2
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js +8 -10
- package/dist/transaction/updateSigners.js.map +1 -1
- package/dist/transaction.test.js +6 -6
- package/dist/transaction.test.js.map +1 -1
- package/dist/utils/key.d.ts.map +1 -1
- package/dist/utils/key.js +3 -3
- package/dist/utils/key.js.map +1 -1
- package/dist/utils/key.test.js +4 -2
- package/dist/utils/key.test.js.map +1 -1
- package/dist/utils/signature.d.ts +2 -0
- package/dist/utils/signature.d.ts.map +1 -1
- package/dist/utils/signature.js +10 -5
- package/dist/utils/signature.js.map +1 -1
- package/dist/utils/signature.test.js +9 -9
- package/dist/utils/signature.test.js.map +1 -1
- package/masm/account_components/auth/multisig.masm +2 -3
- package/masm/account_components/auth/multisig_ecdsa.masm +2 -3
- package/masm/account_components/auth/multisig_guardian.masm +2 -3
- package/masm/account_components/auth/multisig_guardian_ecdsa.masm +2 -3
- package/masm/auth/guardian.masm +30 -8
- package/masm/auth/guardian_ecdsa.masm +24 -7
- package/masm/auth/multisig.masm +86 -55
- package/masm/auth/multisig_ecdsa.masm +86 -54
- package/package.json +3 -3
- package/src/account/builder.test.ts +16 -14
- package/src/account/builder.ts +13 -12
- package/src/account/masm/account-components/auth.ts +8 -12
- package/src/account/masm/auth.ts +226 -124
- package/src/account/storage.test.ts +90 -0
- package/src/account/storage.ts +27 -6
- package/src/client.test.ts +52 -8
- package/src/client.ts +39 -16
- package/src/index.ts +6 -12
- package/src/multisig/proposal/execution.ts +18 -14
- package/src/multisig.test.ts +17 -29
- package/src/multisig.ts +61 -36
- package/src/procedures.ts +8 -8
- package/src/raw-client.test.ts +133 -0
- package/src/raw-client.ts +75 -0
- package/src/signers/ecdsa.test.ts +35 -4
- package/src/signers/ecdsa.ts +18 -2
- package/src/signers/falcon.test.ts +50 -3
- package/src/signers/falcon.ts +18 -2
- package/src/transaction/consumeNotes.ts +16 -5
- package/src/transaction/options.ts +1 -0
- package/src/transaction/p2id.test.ts +19 -9
- package/src/transaction/p2id.ts +8 -13
- package/src/transaction/summary.ts +11 -4
- package/src/transaction/updateGuardian.ts +22 -14
- package/src/transaction/updateProcedureThreshold.ts +20 -15
- package/src/transaction/updateSigners.ts +22 -14
- package/src/transaction.test.ts +6 -6
- package/src/utils/key.test.ts +4 -2
- package/src/utils/key.ts +7 -3
- package/src/utils/signature.test.ts +10 -10
- package/src/utils/signature.ts +12 -5
package/dist/multisig.test.js
CHANGED
|
@@ -41,7 +41,7 @@ vi.mock('@miden-sdk/miden-sdk', () => ({
|
|
|
41
41
|
insert: vi.fn(),
|
|
42
42
|
})),
|
|
43
43
|
FeltArray: vi.fn().mockImplementation((arr) => arr),
|
|
44
|
-
|
|
44
|
+
Poseidon2: {
|
|
45
45
|
hashElements: vi.fn().mockReturnValue({
|
|
46
46
|
toHex: () => '0x' + 'e'.repeat(64),
|
|
47
47
|
}),
|
|
@@ -108,6 +108,9 @@ function mockedAccount(commitmentHex, nonce = 0) {
|
|
|
108
108
|
commitment: () => ({
|
|
109
109
|
toHex: () => commitmentHex,
|
|
110
110
|
}),
|
|
111
|
+
to_commitment: () => ({
|
|
112
|
+
toHex: () => commitmentHex,
|
|
113
|
+
}),
|
|
111
114
|
nonce: () => ({
|
|
112
115
|
asInt: () => BigInt(nonce),
|
|
113
116
|
}),
|
|
@@ -167,6 +170,11 @@ describe('Multisig', () => {
|
|
|
167
170
|
proveTransaction: vi.fn(),
|
|
168
171
|
submitProvenTransaction: vi.fn(),
|
|
169
172
|
applyTransaction: vi.fn(),
|
|
173
|
+
submitNewTransaction: vi.fn(),
|
|
174
|
+
submitNewTransactionWithProver: vi.fn(),
|
|
175
|
+
transactions: {
|
|
176
|
+
submit: vi.fn(),
|
|
177
|
+
},
|
|
170
178
|
getConsumableNotes: vi.fn().mockResolvedValue([]),
|
|
171
179
|
syncState: vi.fn(),
|
|
172
180
|
getAccount: vi.fn().mockResolvedValue(null),
|
|
@@ -310,11 +318,7 @@ describe('Multisig', () => {
|
|
|
310
318
|
guardianCommitment: '0x' + 'c'.repeat(64),
|
|
311
319
|
};
|
|
312
320
|
const multisig = new Multisig(mockAccount, config, guardian, mockSigner, mockWebClient, undefined, 'https://rpc.devnet.miden.io');
|
|
313
|
-
mockWebClient.getAccount.mockResolvedValueOnce(
|
|
314
|
-
commitment: () => ({
|
|
315
|
-
toHex: () => '0x' + 'b'.repeat(64),
|
|
316
|
-
}),
|
|
317
|
-
});
|
|
321
|
+
mockWebClient.getAccount.mockResolvedValueOnce(mockedAccount('0x' + 'b'.repeat(64), 0));
|
|
318
322
|
mockFetch.mockResolvedValueOnce({
|
|
319
323
|
ok: true,
|
|
320
324
|
json: async () => ({
|
|
@@ -444,11 +448,7 @@ describe('Multisig', () => {
|
|
|
444
448
|
signerCommitments: ['0x' + 'a'.repeat(64)],
|
|
445
449
|
guardianCommitment: '0x' + 'c'.repeat(64),
|
|
446
450
|
};
|
|
447
|
-
mockWebClient.getAccount.mockResolvedValueOnce(
|
|
448
|
-
commitment: () => ({
|
|
449
|
-
toHex: () => '0x' + 'b'.repeat(64),
|
|
450
|
-
}),
|
|
451
|
-
});
|
|
451
|
+
mockWebClient.getAccount.mockResolvedValueOnce(mockedAccount('0x' + 'b'.repeat(64), 0));
|
|
452
452
|
const multisigWithRpc = new Multisig(mockAccount, config, guardian, mockSigner, mockWebClient, undefined, 'https://rpc.devnet.miden.io');
|
|
453
453
|
await expect(multisigWithRpc.verifyStateCommitment()).resolves.toMatchObject({
|
|
454
454
|
accountId: multisigWithRpc.accountId,
|
|
@@ -470,11 +470,7 @@ describe('Multisig', () => {
|
|
|
470
470
|
signerCommitments: ['0x' + 'a'.repeat(64)],
|
|
471
471
|
guardianCommitment: '0x' + 'c'.repeat(64),
|
|
472
472
|
};
|
|
473
|
-
mockWebClient.getAccount.mockResolvedValueOnce(
|
|
474
|
-
commitment: () => ({
|
|
475
|
-
toHex: () => '0x' + 'f'.repeat(64),
|
|
476
|
-
}),
|
|
477
|
-
});
|
|
473
|
+
mockWebClient.getAccount.mockResolvedValueOnce(mockedAccount('0x' + 'f'.repeat(64), 0));
|
|
478
474
|
mockRpcGetAccountDetails.mockResolvedValueOnce({
|
|
479
475
|
commitment: () => ({
|
|
480
476
|
toHex: () => '0x' + 'b'.repeat(64),
|
|
@@ -2288,11 +2284,9 @@ describe('Multisig', () => {
|
|
|
2288
2284
|
ack_scheme: 'ecdsa',
|
|
2289
2285
|
}),
|
|
2290
2286
|
});
|
|
2291
|
-
mockWebClient.
|
|
2292
|
-
mockWebClient.proveTransaction.mockResolvedValueOnce({});
|
|
2293
|
-
mockWebClient.submitProvenTransaction.mockResolvedValueOnce(1n);
|
|
2294
|
-
mockWebClient.applyTransaction.mockResolvedValueOnce(undefined);
|
|
2287
|
+
mockWebClient.transactions.submit.mockResolvedValueOnce({});
|
|
2295
2288
|
await expect(multisig.executeProposal(proposalId)).resolves.toBeUndefined();
|
|
2289
|
+
expect(mockWebClient.transactions.submit).toHaveBeenCalledTimes(1);
|
|
2296
2290
|
expect(vi.mocked(signatureHexToBytes)).toHaveBeenNthCalledWith(1, cosignerSignature, 'ecdsa');
|
|
2297
2291
|
expect(vi.mocked(signatureHexToBytes)).toHaveBeenNthCalledWith(2, ackSignature, 'ecdsa');
|
|
2298
2292
|
expect(vi.mocked(buildSignatureAdviceEntry)).toHaveBeenNthCalledWith(1, expect.anything(), expect.anything(), expect.anything(), cosignerPubkey, cosignerSignature);
|
|
@@ -2373,10 +2367,7 @@ describe('Multisig', () => {
|
|
|
2373
2367
|
ack_scheme: 'ecdsa',
|
|
2374
2368
|
}),
|
|
2375
2369
|
});
|
|
2376
|
-
mockWebClient.
|
|
2377
|
-
mockWebClient.proveTransaction.mockResolvedValueOnce({});
|
|
2378
|
-
mockWebClient.submitProvenTransaction.mockResolvedValueOnce(1n);
|
|
2379
|
-
mockWebClient.applyTransaction.mockResolvedValueOnce(undefined);
|
|
2370
|
+
mockWebClient.transactions.submit.mockResolvedValueOnce({});
|
|
2380
2371
|
await expect(multisig.executeProposal(proposalId)).resolves.toBeUndefined();
|
|
2381
2372
|
expect(vi.mocked(signatureHexToBytes)).toHaveBeenNthCalledWith(1, cosignerSignature, 'ecdsa');
|
|
2382
2373
|
expect(vi.mocked(signatureHexToBytes)).toHaveBeenNthCalledWith(2, ackSignature, 'ecdsa');
|
|
@@ -2423,12 +2414,9 @@ describe('Multisig', () => {
|
|
|
2423
2414
|
ok: true,
|
|
2424
2415
|
json: async () => ({ success: true, message: 'ok', ack_pubkey: '0x' + 'f'.repeat(64) }),
|
|
2425
2416
|
});
|
|
2426
|
-
mockWebClient.
|
|
2427
|
-
mockWebClient.proveTransaction.mockResolvedValueOnce({});
|
|
2428
|
-
mockWebClient.submitProvenTransaction.mockResolvedValueOnce(1n);
|
|
2429
|
-
mockWebClient.applyTransaction.mockResolvedValueOnce(undefined);
|
|
2417
|
+
mockWebClient.transactions.submit.mockResolvedValueOnce({});
|
|
2430
2418
|
await expect(multisig.executeProposal(proposalId)).resolves.toBeUndefined();
|
|
2431
|
-
expect(mockWebClient.
|
|
2419
|
+
expect(mockWebClient.transactions.submit).toHaveBeenCalledTimes(1);
|
|
2432
2420
|
});
|
|
2433
2421
|
it('should reject switch_guardian execution when endpoint commitment mismatches', async () => {
|
|
2434
2422
|
const config = {
|