@openzeppelin/miden-multisig-client 0.15.0 → 0.16.0
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 +25 -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 +9 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -5
- 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 +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/multisig.d.ts +68 -7
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +90 -18
- package/dist/multisig.js.map +1 -1
- package/dist/multisig.test.js +214 -79
- package/dist/multisig.test.js.map +1 -1
- 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/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/signers/miden-wallet.d.ts +44 -1
- package/dist/signers/miden-wallet.d.ts.map +1 -1
- package/dist/signers/miden-wallet.ecdsa-recovery.test.d.ts +2 -0
- package/dist/signers/miden-wallet.ecdsa-recovery.test.d.ts.map +1 -0
- package/dist/signers/miden-wallet.ecdsa-recovery.test.js +148 -0
- package/dist/signers/miden-wallet.ecdsa-recovery.test.js.map +1 -0
- package/dist/signers/miden-wallet.js +97 -6
- package/dist/signers/miden-wallet.js.map +1 -1
- package/dist/signers/miden-wallet.test.js +8 -13
- package/dist/signers/miden-wallet.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 +20 -2
- package/dist/transaction/p2id.d.ts.map +1 -1
- package/dist/transaction/p2id.js +46 -3
- 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/dist/utils/ecdsa.d.ts +17 -0
- package/dist/utils/ecdsa.d.ts.map +1 -1
- package/dist/utils/ecdsa.js +44 -1
- package/dist/utils/ecdsa.js.map +1 -1
- package/dist/utils/ecdsa.test.js +46 -0
- package/dist/utils/ecdsa.test.js.map +1 -1
- package/package.json +12 -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 +18 -10
- package/src/connectivity.test.ts +67 -0
- package/src/connectivity.ts +111 -0
- package/src/index.ts +20 -1
- package/src/multisig.test.ts +267 -80
- package/src/multisig.ts +109 -20
- package/src/proposal/metadata.test.ts +60 -0
- package/src/proposal/metadata.ts +14 -0
- package/src/raw-client.test.ts +41 -3
- package/src/raw-client.ts +15 -5
- package/src/signers/miden-wallet.ecdsa-recovery.test.ts +201 -0
- package/src/signers/miden-wallet.test.ts +11 -19
- package/src/signers/miden-wallet.ts +134 -7
- 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 +64 -4
- 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 +3 -0
- package/src/types/proposal.ts +9 -0
- package/src/utils/ecdsa.test.ts +60 -0
- package/src/utils/ecdsa.ts +51 -1
- package/dist/account/masm/authLibraries.d.ts +0 -6
- package/dist/account/masm/authLibraries.d.ts.map +0 -1
- package/dist/account/masm/authLibraries.js +0 -17
- package/dist/account/masm/authLibraries.js.map +0 -1
- package/dist/multisig/proposal/execution.d.ts +0 -20
- package/dist/multisig/proposal/execution.d.ts.map +0 -1
- package/dist/multisig/proposal/execution.js +0 -166
- package/dist/multisig/proposal/execution.js.map +0 -1
- package/dist/multisig/proposal/parser.d.ts +0 -17
- package/dist/multisig/proposal/parser.d.ts.map +0 -1
- package/dist/multisig/proposal/parser.js +0 -147
- package/dist/multisig/proposal/parser.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateGuardian.js","sourceRoot":"","sources":["../../src/transaction/updateGuardian.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EAGT,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,KAAK,UAAU,yBAAyB,CACtC,MAAmC,EACnC,eAAgC,EAChC,gBAAyB;IAEzB,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;IACpD,MAAM,YAAY,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvF,MAAM,YAAY,GAAG;;;;;;;;GAQpB,CAAC;IAEF,OAAO,eAAe,CACpB,MAAM,EACN,YAAY,EACZ,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EACxD,gBAAgB,CACjB,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"updateGuardian.js","sourceRoot":"","sources":["../../src/transaction/updateGuardian.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EAGT,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,KAAK,UAAU,yBAAyB,CACtC,MAAmC,EACnC,eAAgC,EAChC,gBAAyB;IAEzB,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;IACpD,MAAM,YAAY,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvF,MAAM,YAAY,GAAG;;;;;;;;GAQpB,CAAC;IAEF,OAAO,eAAe,CACpB,MAAM,EACN,YAAY,EACZ,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EACxD,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,MAAmC,EACnC,iBAAyB,EACzB,UAA4B,EAAE;IAE9B,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC5C,MAAM,EACN,eAAe,EACf,OAAO,CAAC,gBAAgB,CACzB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;IAE/E,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACjF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEhF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3E,IAAI,SAAS,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAChD,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACzD,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEtD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAE1E,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE;QAC1B,IAAI,EAAE,iBAAiB;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { type MidenClient, TransactionRequest, type WasmWebClient, Word } from '@miden-sdk/miden-sdk';
|
|
2
2
|
import { type ProcedureName } from '../procedures.js';
|
|
3
|
-
import type { SignatureOptions } from './options.js';
|
|
4
|
-
export declare function buildUpdateProcedureThresholdTransactionRequest(client: MidenClient
|
|
3
|
+
import type { MidenClientSignatureOptions, SignatureOptions } from './options.js';
|
|
4
|
+
export declare function buildUpdateProcedureThresholdTransactionRequest(client: MidenClient, procedure: ProcedureName, threshold: number, options: MidenClientSignatureOptions): Promise<{
|
|
5
|
+
request: TransactionRequest;
|
|
6
|
+
salt: Word;
|
|
7
|
+
configHash: Word;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function buildUpdateProcedureThresholdTransactionRequest(client: WasmWebClient, procedure: ProcedureName, threshold: number, options?: SignatureOptions): Promise<{
|
|
5
10
|
request: TransactionRequest;
|
|
6
11
|
salt: Word;
|
|
7
12
|
configHash: Word;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateProcedureThreshold.d.ts","sourceRoot":"","sources":["../../src/transaction/updateProcedureThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEhB,kBAAkB,EAGlB,KAAK,aAAa,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"updateProcedureThreshold.d.ts","sourceRoot":"","sources":["../../src/transaction/updateProcedureThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEhB,kBAAkB,EAGlB,KAAK,aAAa,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0DlF,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAC1E,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateProcedureThreshold.js","sourceRoot":"","sources":["../../src/transaction/updateProcedureThreshold.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,SAAS,EAET,SAAS,EAET,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,SAAS,4BAA4B,CAAC,SAAwB,EAAE,SAAiB;IAC/E,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO;QACL,GAAG,aAAa,CAAC,OAAO,EAAE;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,SAAwB,EACxB,SAAiB;IAEjB,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CACvC,IAAI,SAAS,CAAC,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAClE,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,MAAmC,EACnC,SAAwB,EACxB,SAAiB,EACjB,eAAgC,EAChC,gBAAyB;IAEzB,MAAM,YAAY,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IACvF,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,MAAM,YAAY,GAAG;;;;WAIZ,aAAa;WACb,SAAS;;;;;GAKjB,CAAC;IAEF,OAAO,eAAe,CACpB,MAAM,EACN,YAAY,EACZ,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAC5D,gBAAgB,CACjB,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"updateProcedureThreshold.js","sourceRoot":"","sources":["../../src/transaction/updateProcedureThreshold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type MidenClient, TransactionRequest, type WasmWebClient, Word } from '@miden-sdk/miden-sdk';
|
|
2
|
-
import type { SignatureOptions } from './options.js';
|
|
3
|
-
export declare function buildUpdateSignersTransactionRequest(client: MidenClient
|
|
2
|
+
import type { MidenClientSignatureOptions, SignatureOptions } from './options.js';
|
|
3
|
+
export declare function buildUpdateSignersTransactionRequest(client: MidenClient, threshold: number, signerCommitments: string[], options: MidenClientSignatureOptions): Promise<{
|
|
4
|
+
request: TransactionRequest;
|
|
5
|
+
salt: Word;
|
|
6
|
+
configHash: Word;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function buildUpdateSignersTransactionRequest(client: WasmWebClient, threshold: number, signerCommitments: string[], options?: SignatureOptions): Promise<{
|
|
4
9
|
request: TransactionRequest;
|
|
5
10
|
salt: Word;
|
|
6
11
|
configHash: Word;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSigners.d.ts","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAEhB,kBAAkB,EAGlB,KAAK,aAAa,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"updateSigners.d.ts","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAEhB,kBAAkB,EAGlB,KAAK,aAAa,EAClB,IAAI,EAEL,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuDlF,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAC1E,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSigners.js","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,SAAS,EAET,SAAS,EAET,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,SAAS,wBAAwB,CAAC,SAAiB,EAAE,iBAA2B;IAC9E,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAW;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC;KACb,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,SAAiB,EACjB,iBAA2B;IAE3B,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CACvC,IAAI,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CACtE,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtF,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAmC,EACnC,eAAgC,EAChC,gBAAyB;IAEzB,MAAM,YAAY,GAAG,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvF,MAAM,YAAY,GAAG;;;;;;GAMpB,CAAC;IAEF,OAAO,eAAe,CACpB,MAAM,EACN,YAAY,EACZ,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAC5D,gBAAgB,CACjB,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"updateSigners.js","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"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"}
|
package/dist/transaction.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { buildConsumeNotesTransactionRequest, } from './transaction/consumeNotes.js';
|
|
2
2
|
export { executeForSummary } from './transaction/summary.js';
|
|
3
|
-
export { buildP2idTransactionRequest, } from './transaction/p2id.js';
|
|
3
|
+
export { buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, type P2idTransactionOptions, } from './transaction/p2id.js';
|
|
4
4
|
export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
|
|
5
5
|
export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
|
|
6
6
|
export { buildUpdateSignersTransactionRequest, } from './transaction/updateSigners.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
package/dist/transaction.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { buildConsumeNotesTransactionRequest, } from './transaction/consumeNotes.js';
|
|
2
2
|
export { executeForSummary } from './transaction/summary.js';
|
|
3
|
-
export { buildP2idTransactionRequest, } from './transaction/p2id.js';
|
|
3
|
+
export { buildP2idTransactionRequest, parseP2idNoteType, p2idNoteTypeToMetadata, } from './transaction/p2id.js';
|
|
4
4
|
export { buildUpdateGuardianTransactionRequest, } from './transaction/updateGuardian.js';
|
|
5
5
|
export { buildUpdateProcedureThresholdTransactionRequest, } from './transaction/updateProcedureThreshold.js';
|
|
6
6
|
export { buildUpdateSignersTransactionRequest, } from './transaction/updateSigners.js';
|
package/dist/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,2BAA2B,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qCAAqC,GACtC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+CAA+C,GAChD,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
package/dist/types/proposal.d.ts
CHANGED
|
@@ -61,11 +61,16 @@ export interface ConsumeNotesProposalMetadata extends BaseProposalMetadata {
|
|
|
61
61
|
}
|
|
62
62
|
export declare function isConsumeNotesV2(md: ConsumeNotesProposalMetadata): boolean;
|
|
63
63
|
export declare function isConsumeNotesV1(md: ConsumeNotesProposalMetadata): boolean;
|
|
64
|
+
/** Wire values for a P2ID note's visibility (issue #322). */
|
|
65
|
+
export type P2idNoteVisibility = 'public' | 'private';
|
|
66
|
+
export declare function isP2idNoteVisibility(value: string): value is P2idNoteVisibility;
|
|
64
67
|
export interface P2IdProposalMetadata extends BaseProposalMetadata {
|
|
65
68
|
proposalType: 'p2id';
|
|
66
69
|
recipientId: string;
|
|
67
70
|
faucetId: string;
|
|
68
71
|
amount: string;
|
|
72
|
+
/** Visibility of the created note. Absent on the wire => 'public' (pre-#322 proposals). */
|
|
73
|
+
noteType?: P2idNoteVisibility;
|
|
69
74
|
}
|
|
70
75
|
export interface CustomProposalMetadata extends BaseProposalMetadata {
|
|
71
76
|
proposalType: 'custom';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,4BAA4B,GAC5B,iBAAiB,GACjB,eAAe,GACf,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAE/D,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/F;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAElE,UAAU,oBAAoB;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACzE,YAAY,EAAE,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;IAClE,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,YAAY,EAAE,iBAAiB,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,wCAAyC,SAAQ,oBAAoB;IACpF,YAAY,EAAE,4BAA4B,CAAC;IAC3C,eAAe,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,gFAAgF;AAChF,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AAE5D,iEAAiE;AACjE,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAE3D,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,4BAA4B,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,4BAA4B,GAAG,OAAO,CAE1E;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"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"}
|
package/dist/types/proposal.js
CHANGED
|
@@ -8,4 +8,7 @@ export function isConsumeNotesV2(md) {
|
|
|
8
8
|
export function isConsumeNotesV1(md) {
|
|
9
9
|
return md.metadataVersion === undefined || md.metadataVersion === 1;
|
|
10
10
|
}
|
|
11
|
+
export function isP2idNoteVisibility(value) {
|
|
12
|
+
return value === 'public' || value === 'private';
|
|
13
|
+
}
|
|
11
14
|
//# sourceMappingURL=proposal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AA6DA,gFAAgF;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC;AAE5D,iEAAiE;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,GAAG,IAAI,CAAC;AAW3D,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,iCAAiC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,CAAC,eAAe,KAAK,CAAC,CAAC;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AA6DA,gFAAgF;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC;AAE5D,iEAAiE;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,GAAG,IAAI,CAAC;AAW3D,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,iCAAiC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAgC;IAC/D,OAAO,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,CAAC,eAAe,KAAK,CAAC,CAAC;AACtE,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC;AACnD,CAAC"}
|
package/dist/utils/ecdsa.d.ts
CHANGED
|
@@ -2,7 +2,24 @@ export declare class EcdsaFormat {
|
|
|
2
2
|
static normalizeSignatureHex(signatureHex: string): string;
|
|
3
3
|
static normalizeRecoveryByte(signatureHex: string): string;
|
|
4
4
|
static validatePublicKeyHex(publicKeyHex: string): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Whether `publicKeyHex` decodes to a valid secp256k1 curve point (compressed
|
|
7
|
+
* 33-byte or uncompressed 65-byte). Unlike {@link EcdsaFormat.validatePublicKeyHex}
|
|
8
|
+
* this rejects well-formed-length but off-curve or bad-prefix keys, and does so
|
|
9
|
+
* without the Miden WASM SDK.
|
|
10
|
+
*/
|
|
11
|
+
static isValidPublicKeyPoint(publicKeyHex: string): boolean;
|
|
5
12
|
static compressPublicKey(uncompressedHex: string): string;
|
|
6
13
|
static keccakDigestHex(data: Uint8Array): string;
|
|
14
|
+
/**
|
|
15
|
+
* Recover the compressed (33-byte) secp256k1 public key that produced an
|
|
16
|
+
* `ecdsa_k256_keccak` signature over `messageBytes`.
|
|
17
|
+
*
|
|
18
|
+
* `messageBytes` is the raw word/message bytes (the digest is `keccak256` of
|
|
19
|
+
* these, matching the transaction kernel and {@link EcdsaFormat.keccakDigestHex}).
|
|
20
|
+
* `signature` must be the 65-byte `r||s||v` form; the recovery byte may be the
|
|
21
|
+
* canonical `0/1` or the Ethereum-style `27/28`.
|
|
22
|
+
*/
|
|
23
|
+
static recoverCompressedPublicKeyHex(messageBytes: Uint8Array, signature: Uint8Array): string;
|
|
7
24
|
}
|
|
8
25
|
//# sourceMappingURL=ecdsa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/utils/ecdsa.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../src/utils/ecdsa.ts"],"names":[],"mappings":"AAOA,qBAAa,WAAW;IACtB,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAiB1D,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAsB1D,MAAM,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAM1D;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAS3D,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAgBzD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAShD;;;;;;;;OAQG;IACH,MAAM,CAAC,6BAA6B,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,MAAM;CAwB9F"}
|
package/dist/utils/ecdsa.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
1
2
|
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
2
|
-
import { ensureHexPrefix } from './encoding.js';
|
|
3
|
+
import { bytesToHex, ensureHexPrefix } from './encoding.js';
|
|
3
4
|
const ECDSA_SIGNATURE_BYTE_LENGTH = 64;
|
|
4
5
|
const ECDSA_SIGNATURE_WITH_RECOVERY_BYTE_LENGTH = 65;
|
|
5
6
|
export class EcdsaFormat {
|
|
@@ -35,6 +36,21 @@ export class EcdsaFormat {
|
|
|
35
36
|
const byteLength = clean.length / 2;
|
|
36
37
|
return byteLength === 33 || byteLength === 65;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether `publicKeyHex` decodes to a valid secp256k1 curve point (compressed
|
|
41
|
+
* 33-byte or uncompressed 65-byte). Unlike {@link EcdsaFormat.validatePublicKeyHex}
|
|
42
|
+
* this rejects well-formed-length but off-curve or bad-prefix keys, and does so
|
|
43
|
+
* without the Miden WASM SDK.
|
|
44
|
+
*/
|
|
45
|
+
static isValidPublicKeyPoint(publicKeyHex) {
|
|
46
|
+
try {
|
|
47
|
+
secp256k1.ProjectivePoint.fromHex(ensureHexPrefix(publicKeyHex).slice(2));
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
38
54
|
static compressPublicKey(uncompressedHex) {
|
|
39
55
|
const clean = ensureHexPrefix(uncompressedHex).slice(2);
|
|
40
56
|
const byteLength = clean.length / 2;
|
|
@@ -56,5 +72,32 @@ export class EcdsaFormat {
|
|
|
56
72
|
}
|
|
57
73
|
return hex;
|
|
58
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Recover the compressed (33-byte) secp256k1 public key that produced an
|
|
77
|
+
* `ecdsa_k256_keccak` signature over `messageBytes`.
|
|
78
|
+
*
|
|
79
|
+
* `messageBytes` is the raw word/message bytes (the digest is `keccak256` of
|
|
80
|
+
* these, matching the transaction kernel and {@link EcdsaFormat.keccakDigestHex}).
|
|
81
|
+
* `signature` must be the 65-byte `r||s||v` form; the recovery byte may be the
|
|
82
|
+
* canonical `0/1` or the Ethereum-style `27/28`.
|
|
83
|
+
*/
|
|
84
|
+
static recoverCompressedPublicKeyHex(messageBytes, signature) {
|
|
85
|
+
if (signature.length !== ECDSA_SIGNATURE_WITH_RECOVERY_BYTE_LENGTH) {
|
|
86
|
+
throw new Error(`ECDSA public-key recovery requires a ${ECDSA_SIGNATURE_WITH_RECOVERY_BYTE_LENGTH}-byte signature (r||s||v), got ${signature.length}`);
|
|
87
|
+
}
|
|
88
|
+
let recoveryBit = signature[ECDSA_SIGNATURE_BYTE_LENGTH];
|
|
89
|
+
if (recoveryBit === 27 || recoveryBit === 28) {
|
|
90
|
+
recoveryBit -= 27;
|
|
91
|
+
}
|
|
92
|
+
if (recoveryBit !== 0 && recoveryBit !== 1) {
|
|
93
|
+
throw new Error(`ECDSA recovery byte must be 0/1 (or 27/28), got ${signature[ECDSA_SIGNATURE_BYTE_LENGTH]}`);
|
|
94
|
+
}
|
|
95
|
+
const compact = signature.slice(0, ECDSA_SIGNATURE_BYTE_LENGTH);
|
|
96
|
+
const msgHash = keccak_256(messageBytes);
|
|
97
|
+
const recovered = secp256k1.Signature.fromCompact(compact)
|
|
98
|
+
.addRecoveryBit(recoveryBit)
|
|
99
|
+
.recoverPublicKey(msgHash);
|
|
100
|
+
return bytesToHex(recovered.toRawBytes(true));
|
|
101
|
+
}
|
|
59
102
|
}
|
|
60
103
|
//# sourceMappingURL=ecdsa.js.map
|
package/dist/utils/ecdsa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../src/utils/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ecdsa.js","sourceRoot":"","sources":["../../src/utils/ecdsa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,yCAAyC,GAAG,EAAE,CAAC;AAErD,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,qBAAqB,CAAC,YAAoB;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,IAAI,UAAU,KAAK,yCAAyC,EAAE,CAAC;YAC7D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,GAAG,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,UAAU,KAAK,2BAA2B,EAAE,CAAC;YAC/C,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,4CAA4C,2BAA2B,OAAO,yCAAyC,eAAe,UAAU,EAAE,CACnJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,YAAoB;QAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,IAAI,UAAU,KAAK,yCAAyC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnF,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,UAAU,KAAK,2BAA2B,EAAE,CAAC;YAC/C,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,4CAA4C,2BAA2B,OAAO,yCAAyC,eAAe,UAAU,EAAE,CACnJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,YAAoB;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,OAAO,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,EAAE,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAoB;QAC/C,IAAI,CAAC;YACH,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,eAAuB;QAC9C,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,IAAI,UAAU,KAAK,EAAE;YAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAE3C,IAAI,UAAU,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,QAAQ,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,OAAO,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAgB;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,6BAA6B,CAAC,YAAwB,EAAE,SAAqB;QAClF,IAAI,SAAS,CAAC,MAAM,KAAK,yCAAyC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,wCAAwC,yCAAyC,kCAAkC,SAAS,CAAC,MAAM,EAAE,CACtI,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACzD,IAAI,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;YAC7C,WAAW,IAAI,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,mDAAmD,SAAS,CAAC,2BAA2B,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;aACvD,cAAc,CAAC,WAAW,CAAC;aAC3B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;CACF"}
|
package/dist/utils/ecdsa.test.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
3
|
+
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
2
4
|
import { EcdsaFormat } from './ecdsa.js';
|
|
5
|
+
import { bytesToHex } from './encoding.js';
|
|
3
6
|
describe('EcdsaFormat', () => {
|
|
4
7
|
describe('normalizeRecoveryByte', () => {
|
|
5
8
|
it('should normalize v=27 to recovery_id=0', () => {
|
|
@@ -66,6 +69,19 @@ describe('EcdsaFormat', () => {
|
|
|
66
69
|
expect(() => EcdsaFormat.compressPublicKey('0x05' + 'ab'.repeat(64))).toThrow('Expected 65-byte uncompressed public key');
|
|
67
70
|
});
|
|
68
71
|
});
|
|
72
|
+
describe('isValidPublicKeyPoint', () => {
|
|
73
|
+
// The secp256k1 generator point G, compressed — a known-valid point.
|
|
74
|
+
const G = '0x0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798';
|
|
75
|
+
it('accepts a valid compressed secp256k1 point', () => {
|
|
76
|
+
expect(EcdsaFormat.isValidPublicKeyPoint(G)).toBe(true);
|
|
77
|
+
});
|
|
78
|
+
it('rejects a valid-length key whose x is off-curve', () => {
|
|
79
|
+
expect(EcdsaFormat.isValidPublicKeyPoint('0x02' + 'ff'.repeat(32))).toBe(false);
|
|
80
|
+
});
|
|
81
|
+
it('rejects a valid-length key with a bad prefix byte', () => {
|
|
82
|
+
expect(EcdsaFormat.isValidPublicKeyPoint('0xff' + 'ab'.repeat(32))).toBe(false);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
69
85
|
describe('keccakDigestHex', () => {
|
|
70
86
|
it('should return 0x-prefixed hex of keccak-256 hash', () => {
|
|
71
87
|
const result = EcdsaFormat.keccakDigestHex(new Uint8Array(0));
|
|
@@ -81,5 +97,35 @@ describe('EcdsaFormat', () => {
|
|
|
81
97
|
expect(a).not.toBe(b);
|
|
82
98
|
});
|
|
83
99
|
});
|
|
100
|
+
describe('recoverCompressedPublicKeyHex', () => {
|
|
101
|
+
const privateKey = new Uint8Array(32).fill(0x11);
|
|
102
|
+
const message = new Uint8Array([9, 8, 7, 6, 5]);
|
|
103
|
+
function sign(priv, msg) {
|
|
104
|
+
const sig = secp256k1.sign(keccak_256(msg), priv);
|
|
105
|
+
const out = new Uint8Array(65);
|
|
106
|
+
out.set(sig.toCompactRawBytes(), 0); // r || s
|
|
107
|
+
out[64] = sig.recovery; // v
|
|
108
|
+
return out;
|
|
109
|
+
}
|
|
110
|
+
it('recovers the compressed public key that produced the signature', () => {
|
|
111
|
+
const expected = bytesToHex(secp256k1.getPublicKey(privateKey, true));
|
|
112
|
+
const recovered = EcdsaFormat.recoverCompressedPublicKeyHex(message, sign(privateKey, message));
|
|
113
|
+
expect(recovered).toBe(expected);
|
|
114
|
+
});
|
|
115
|
+
it('accepts an Ethereum-style recovery byte (27/28)', () => {
|
|
116
|
+
const sig = sign(privateKey, message);
|
|
117
|
+
sig[64] += 27; // 0/1 -> 27/28
|
|
118
|
+
const expected = bytesToHex(secp256k1.getPublicKey(privateKey, true));
|
|
119
|
+
expect(EcdsaFormat.recoverCompressedPublicKeyHex(message, sig)).toBe(expected);
|
|
120
|
+
});
|
|
121
|
+
it('throws when the signature is not 65 bytes', () => {
|
|
122
|
+
expect(() => EcdsaFormat.recoverCompressedPublicKeyHex(message, new Uint8Array(64))).toThrow(/65-byte signature/);
|
|
123
|
+
});
|
|
124
|
+
it('throws on an invalid recovery byte', () => {
|
|
125
|
+
const sig = sign(privateKey, message);
|
|
126
|
+
sig[64] = 5;
|
|
127
|
+
expect(() => EcdsaFormat.recoverCompressedPublicKeyHex(message, sig)).toThrow(/recovery byte must be/);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
84
130
|
});
|
|
85
131
|
//# sourceMappingURL=ecdsa.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.test.js","sourceRoot":"","sources":["../../src/utils/ecdsa.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ecdsa.test.js","sourceRoot":"","sources":["../../src/utils/ecdsa.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openzeppelin/miden-multisig-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "TypeScript SDK for Miden multisig accounts with GUARDIAN integration",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/OpenZeppelin/guardian.git",
|
|
8
|
+
"directory": "packages/miden-multisig-client"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/OpenZeppelin/guardian/tree/main/packages/miden-multisig-client#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/OpenZeppelin/guardian/issues"
|
|
13
|
+
},
|
|
5
14
|
"type": "module",
|
|
6
15
|
"main": "./dist/index.js",
|
|
7
16
|
"module": "./dist/index.js",
|
|
@@ -27,10 +36,10 @@
|
|
|
27
36
|
"test:watch": "npm run generate:masm && vitest"
|
|
28
37
|
},
|
|
29
38
|
"dependencies": {
|
|
39
|
+
"@miden-sdk/miden-sdk": "^0.15.8",
|
|
30
40
|
"@noble/curves": "^1.9.7",
|
|
31
|
-
"@miden-sdk/miden-sdk": "^0.15.0",
|
|
32
41
|
"@noble/hashes": "^2.0.1",
|
|
33
|
-
"@openzeppelin/guardian-client": "^0.
|
|
42
|
+
"@openzeppelin/guardian-client": "^0.16.0"
|
|
34
43
|
},
|
|
35
44
|
"devDependencies": {
|
|
36
45
|
"typescript": "^5.7.2",
|
|
@@ -105,11 +105,15 @@ describe('createMultisigAccount', () => {
|
|
|
105
105
|
},
|
|
106
106
|
};
|
|
107
107
|
|
|
108
|
-
await createMultisigAccount(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
await createMultisigAccount(
|
|
109
|
+
webClient as never,
|
|
110
|
+
{
|
|
111
|
+
threshold: 1,
|
|
112
|
+
signerCommitments: ['0x' + '1'.repeat(64)],
|
|
113
|
+
guardianCommitment: '0x' + '2'.repeat(64),
|
|
114
|
+
},
|
|
115
|
+
'http://localhost:57291',
|
|
116
|
+
);
|
|
113
117
|
|
|
114
118
|
expect(authBuilder.linkModule).toHaveBeenNthCalledWith(
|
|
115
119
|
1,
|
|
@@ -139,12 +143,16 @@ describe('createMultisigAccount', () => {
|
|
|
139
143
|
},
|
|
140
144
|
};
|
|
141
145
|
|
|
142
|
-
await createMultisigAccount(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
await createMultisigAccount(
|
|
147
|
+
webClient as never,
|
|
148
|
+
{
|
|
149
|
+
threshold: 1,
|
|
150
|
+
signerCommitments: ['0x' + '1'.repeat(64)],
|
|
151
|
+
guardianCommitment: '0x' + '2'.repeat(64),
|
|
152
|
+
signatureScheme: 'ecdsa',
|
|
153
|
+
},
|
|
154
|
+
'http://localhost:57291',
|
|
155
|
+
);
|
|
148
156
|
|
|
149
157
|
expect(authBuilder.linkModule).toHaveBeenNthCalledWith(
|
|
150
158
|
1,
|
package/src/account/builder.ts
CHANGED
|
@@ -30,12 +30,13 @@ import { normalizeSignerCommitment } from '../utils/signature.js';
|
|
|
30
30
|
*
|
|
31
31
|
* @param midenClient - Initialized MidenClient
|
|
32
32
|
* @param config - Multisig configuration
|
|
33
|
+
* @param midenRpcEndpoint - RPC endpoint for the MidenClient's network
|
|
33
34
|
* @returns The created account and seed
|
|
34
35
|
*/
|
|
35
36
|
export async function createMultisigAccount(
|
|
36
37
|
midenClient: MidenClient,
|
|
37
38
|
config: MultisigConfig,
|
|
38
|
-
midenRpcEndpoint
|
|
39
|
+
midenRpcEndpoint: string,
|
|
39
40
|
): Promise<CreateAccountResult> {
|
|
40
41
|
validateMultisigConfig(config);
|
|
41
42
|
const signatureScheme = config.signatureScheme ?? 'falcon';
|