@openzeppelin/miden-multisig-client 0.12.6 → 0.12.7
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 +70 -75
- package/dist/account/builder.d.ts +0 -18
- package/dist/account/builder.d.ts.map +1 -1
- package/dist/account/builder.js +16 -24
- package/dist/account/builder.js.map +1 -1
- package/dist/account/masm.d.ts +2 -0
- package/dist/account/masm.d.ts.map +1 -1
- package/dist/account/masm.js +428 -1
- package/dist/account/masm.js.map +1 -1
- package/dist/account/storage.d.ts.map +1 -1
- package/dist/account/storage.js +5 -6
- package/dist/account/storage.js.map +1 -1
- package/dist/client.d.ts +5 -57
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -53
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +28 -0
- package/dist/client.test.js.map +1 -1
- package/dist/index.d.ts +3 -46
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -45
- package/dist/index.js.map +1 -1
- package/dist/inspector.d.ts +4 -30
- package/dist/inspector.d.ts.map +1 -1
- package/dist/inspector.js +13 -43
- package/dist/inspector.js.map +1 -1
- package/dist/multisig/helpers.d.ts.map +1 -1
- package/dist/multisig/helpers.js.map +1 -1
- package/dist/multisig.d.ts +39 -161
- package/dist/multisig.d.ts.map +1 -1
- package/dist/multisig.js +190 -241
- package/dist/multisig.js.map +1 -1
- package/dist/multisig.test.js +41 -31
- package/dist/multisig.test.js.map +1 -1
- package/dist/procedures.d.ts +20 -47
- package/dist/procedures.d.ts.map +1 -1
- package/dist/procedures.js +17 -50
- package/dist/procedures.js.map +1 -1
- package/dist/signer.d.ts +11 -26
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +41 -26
- package/dist/signer.js.map +1 -1
- package/dist/transaction/options.d.ts +2 -0
- package/dist/transaction/options.d.ts.map +1 -1
- package/dist/transaction/updatePsm.d.ts.map +1 -1
- package/dist/transaction/updatePsm.js +21 -3
- package/dist/transaction/updatePsm.js.map +1 -1
- package/dist/transaction/updateSigners.d.ts.map +1 -1
- package/dist/transaction/updateSigners.js +21 -3
- package/dist/transaction/updateSigners.js.map +1 -1
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +0 -2
- package/dist/transaction.js.map +1 -1
- package/dist/transaction.test.js +5 -0
- package/dist/transaction.test.js.map +1 -1
- package/dist/types/proposal.d.ts +16 -8
- package/dist/types/proposal.d.ts.map +1 -1
- package/dist/types.d.ts +18 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/signature.d.ts +10 -2
- package/dist/utils/signature.d.ts.map +1 -1
- package/dist/utils/signature.js +77 -5
- package/dist/utils/signature.js.map +1 -1
- package/dist/utils/signature.test.js +16 -1
- package/dist/utils/signature.test.js.map +1 -1
- package/masm/multisig_ecdsa.masm +424 -0
- package/masm/psm_ecdsa.masm +179 -0
- package/package.json +2 -2
- package/src/account/builder.ts +18 -25
- package/src/account/masm.ts +433 -2
- package/src/account/storage.ts +5 -6
- package/src/client.test.ts +36 -0
- package/src/client.ts +10 -59
- package/src/index.ts +13 -62
- package/src/inspector.ts +15 -44
- package/src/multisig/helpers.ts +1 -2
- package/src/multisig.test.ts +45 -34
- package/src/multisig.ts +246 -273
- package/src/procedures.ts +21 -56
- package/src/signer.ts +48 -28
- package/src/transaction/options.ts +2 -0
- package/src/transaction/updatePsm.ts +24 -3
- package/src/transaction/updateSigners.ts +25 -3
- package/src/transaction.test.ts +6 -0
- package/src/transaction.ts +0 -2
- package/src/types/proposal.ts +15 -8
- package/src/types.ts +26 -16
- package/src/utils/signature.test.ts +24 -1
- package/src/utils/signature.ts +86 -4
package/dist/procedures.d.ts
CHANGED
|
@@ -1,57 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import type { SignatureScheme } from '@openzeppelin/psm-client';
|
|
2
|
+
export declare const PROCEDURE_ROOTS_FALCON: {
|
|
3
|
+
readonly update_signers: "0x53d0ad381a193de0cf6af3730141e498274103dfc3b8c8e7367bd49d4a66c72b";
|
|
4
|
+
readonly auth_tx: "0x474c613b38001cc36d68557e9d881495d6a461a9027033445c7672c586509026";
|
|
5
|
+
readonly update_psm: "0xb103236807e5bf09c27efc2c5287ca8b03ab9efc1d852b62ebd31f5f1927ec26";
|
|
6
|
+
readonly verify_psm: "0x30727fc23c6105a678fea8b4c1920f35fa85c03f16a0cf98372c8f56701f8a87";
|
|
7
|
+
readonly send_asset: "0x0e406b067ed2bcd7de745ca6517f519fd1a9be245f913347ac673ca1db30c1d6";
|
|
8
|
+
readonly receive_asset: "0x6f4bdbdc4b13d7ed933d590d88ac9dfb98020c9e917697845b5e169395b76a01";
|
|
9
|
+
};
|
|
10
|
+
export declare const PROCEDURE_ROOTS_ECDSA: {
|
|
11
|
+
readonly update_signers: "0x930f9ea86d33c7b3b2d23c4e9ac2492add461359344ed25b1acd38f3713dd79c";
|
|
12
|
+
readonly auth_tx: "0x2bc7664a9dd47b36e7c8b8c3df03412798e4410173f36acfe03d191a38add053";
|
|
13
|
+
readonly update_psm: "0x26ec27195f1fd3eb622b851dfc9eab038bca87522cfc7ec209bfe507682303b1";
|
|
14
|
+
readonly verify_psm: "0xbeb9e08a83eca030968f2f137b5673136f21bc16c82fd408c2ce2495ccbdcd15";
|
|
15
|
+
readonly send_asset: "0xd6c130dba13c67ac4733915f24bea9d19f517f51a65c74ded7bcd27e066b400e";
|
|
16
|
+
readonly receive_asset: "0x016ab79593165e5b849776919e0c0298fb9dac880d593d93edd7134bdcdb4b6f";
|
|
17
|
+
};
|
|
13
18
|
export declare const PROCEDURE_ROOTS: {
|
|
14
|
-
/** Update signer list and threshold configuration */
|
|
15
19
|
readonly update_signers: "0x53d0ad381a193de0cf6af3730141e498274103dfc3b8c8e7367bd49d4a66c72b";
|
|
16
|
-
/** Authenticate transaction with multisig (Falcon512) */
|
|
17
20
|
readonly auth_tx: "0x474c613b38001cc36d68557e9d881495d6a461a9027033445c7672c586509026";
|
|
18
|
-
/** Update PSM public key */
|
|
19
21
|
readonly update_psm: "0xb103236807e5bf09c27efc2c5287ca8b03ab9efc1d852b62ebd31f5f1927ec26";
|
|
20
|
-
/** Verify PSM signature */
|
|
21
22
|
readonly verify_psm: "0x30727fc23c6105a678fea8b4c1920f35fa85c03f16a0cf98372c8f56701f8a87";
|
|
22
|
-
/** Send assets from account (move_asset_to_note) */
|
|
23
23
|
readonly send_asset: "0x0e406b067ed2bcd7de745ca6517f519fd1a9be245f913347ac673ca1db30c1d6";
|
|
24
|
-
/** Receive assets into account */
|
|
25
24
|
readonly receive_asset: "0x6f4bdbdc4b13d7ed933d590d88ac9dfb98020c9e917697845b5e169395b76a01";
|
|
26
25
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
export type ProcedureName = keyof typeof PROCEDURE_ROOTS;
|
|
31
|
-
/**
|
|
32
|
-
* Get the procedure root for a given procedure name.
|
|
33
|
-
*
|
|
34
|
-
* @param name - The procedure name
|
|
35
|
-
* @returns The procedure root as a hex string
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const root = getProcedureRoot('receive_asset');
|
|
40
|
-
* // '0x6f4bdbdc4b13d7ed933d590d88ac9dfb98020c9e917697845b5e169395b76a01'
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export declare function getProcedureRoot(name: ProcedureName): string;
|
|
44
|
-
/**
|
|
45
|
-
* Check if a string is a valid procedure name.
|
|
46
|
-
*
|
|
47
|
-
* @param name - The string to check
|
|
48
|
-
* @returns true if the string is a valid procedure name
|
|
49
|
-
*/
|
|
26
|
+
export type ProcedureName = keyof typeof PROCEDURE_ROOTS_FALCON;
|
|
27
|
+
export declare function getProcedureRoot(name: ProcedureName, scheme?: SignatureScheme): string;
|
|
50
28
|
export declare function isProcedureName(name: string): name is ProcedureName;
|
|
51
|
-
|
|
52
|
-
* Get all available procedure names.
|
|
53
|
-
*
|
|
54
|
-
* @returns Array of all valid procedure names
|
|
55
|
-
*/
|
|
56
|
-
export declare function getProcedureNames(): ProcedureName[];
|
|
29
|
+
export declare function getProcedureNames(scheme?: SignatureScheme): ProcedureName[];
|
|
57
30
|
//# sourceMappingURL=procedures.d.ts.map
|
package/dist/procedures.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../src/procedures.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../src/procedures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;CAAyB,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,eAA0B,GAAG,MAAM,CAGhG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,aAAa,CAEnE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,eAA0B,GAAG,aAAa,EAAE,CAGrF"}
|
package/dist/procedures.js
CHANGED
|
@@ -1,62 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
* known procedure roots for multisig accounts.
|
|
3
|
-
*
|
|
4
|
-
* IMPORTANT: These values are extracted from the TypeScript SDK's compiled MASM output,
|
|
5
|
-
* NOT from the Rust crate. The SDK may compile MASM differently, resulting in different
|
|
6
|
-
* procedure roots. Use the debug output from builder.ts to update these values.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Static mapping of procedure names to their deterministic roots.
|
|
10
|
-
*
|
|
11
|
-
* Component ordering: Multisig (auth) -> PSM -> BasicWallet
|
|
12
|
-
*/
|
|
13
|
-
export const PROCEDURE_ROOTS = {
|
|
14
|
-
// Multisig component procedures
|
|
15
|
-
/** Update signer list and threshold configuration */
|
|
1
|
+
export const PROCEDURE_ROOTS_FALCON = {
|
|
16
2
|
update_signers: '0x53d0ad381a193de0cf6af3730141e498274103dfc3b8c8e7367bd49d4a66c72b',
|
|
17
|
-
/** Authenticate transaction with multisig (Falcon512) */
|
|
18
3
|
auth_tx: '0x474c613b38001cc36d68557e9d881495d6a461a9027033445c7672c586509026',
|
|
19
|
-
// PSM component procedures
|
|
20
|
-
/** Update PSM public key */
|
|
21
4
|
update_psm: '0xb103236807e5bf09c27efc2c5287ca8b03ab9efc1d852b62ebd31f5f1927ec26',
|
|
22
|
-
/** Verify PSM signature */
|
|
23
5
|
verify_psm: '0x30727fc23c6105a678fea8b4c1920f35fa85c03f16a0cf98372c8f56701f8a87',
|
|
24
|
-
// BasicWallet procedures
|
|
25
|
-
/** Send assets from account (move_asset_to_note) */
|
|
26
6
|
send_asset: '0x0e406b067ed2bcd7de745ca6517f519fd1a9be245f913347ac673ca1db30c1d6',
|
|
27
|
-
/** Receive assets into account */
|
|
28
7
|
receive_asset: '0x6f4bdbdc4b13d7ed933d590d88ac9dfb98020c9e917697845b5e169395b76a01',
|
|
29
8
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
export function getProcedureRoot(name) {
|
|
43
|
-
return PROCEDURE_ROOTS[name];
|
|
9
|
+
export const PROCEDURE_ROOTS_ECDSA = {
|
|
10
|
+
update_signers: '0x930f9ea86d33c7b3b2d23c4e9ac2492add461359344ed25b1acd38f3713dd79c',
|
|
11
|
+
auth_tx: '0x2bc7664a9dd47b36e7c8b8c3df03412798e4410173f36acfe03d191a38add053',
|
|
12
|
+
update_psm: '0x26ec27195f1fd3eb622b851dfc9eab038bca87522cfc7ec209bfe507682303b1',
|
|
13
|
+
verify_psm: '0xbeb9e08a83eca030968f2f137b5673136f21bc16c82fd408c2ce2495ccbdcd15',
|
|
14
|
+
send_asset: '0xd6c130dba13c67ac4733915f24bea9d19f517f51a65c74ded7bcd27e066b400e',
|
|
15
|
+
receive_asset: '0x016ab79593165e5b849776919e0c0298fb9dac880d593d93edd7134bdcdb4b6f',
|
|
16
|
+
};
|
|
17
|
+
export const PROCEDURE_ROOTS = PROCEDURE_ROOTS_FALCON;
|
|
18
|
+
export function getProcedureRoot(name, scheme = 'falcon') {
|
|
19
|
+
const roots = scheme === 'ecdsa' ? PROCEDURE_ROOTS_ECDSA : PROCEDURE_ROOTS_FALCON;
|
|
20
|
+
return roots[name];
|
|
44
21
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Check if a string is a valid procedure name.
|
|
47
|
-
*
|
|
48
|
-
* @param name - The string to check
|
|
49
|
-
* @returns true if the string is a valid procedure name
|
|
50
|
-
*/
|
|
51
22
|
export function isProcedureName(name) {
|
|
52
|
-
return name in
|
|
23
|
+
return name in PROCEDURE_ROOTS_FALCON;
|
|
53
24
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
* @returns Array of all valid procedure names
|
|
58
|
-
*/
|
|
59
|
-
export function getProcedureNames() {
|
|
60
|
-
return Object.keys(PROCEDURE_ROOTS);
|
|
25
|
+
export function getProcedureNames(scheme = 'falcon') {
|
|
26
|
+
const roots = scheme === 'ecdsa' ? PROCEDURE_ROOTS_ECDSA : PROCEDURE_ROOTS_FALCON;
|
|
27
|
+
return Object.keys(roots);
|
|
61
28
|
}
|
|
62
29
|
//# sourceMappingURL=procedures.js.map
|
package/dist/procedures.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../src/procedures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../src/procedures.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,cAAc,EAAE,oEAAoE;IACpF,OAAO,EAAE,oEAAoE;IAC7E,UAAU,EAAE,oEAAoE;IAChF,UAAU,EAAE,oEAAoE;IAChF,UAAU,EAAE,oEAAoE;IAChF,aAAa,EAAE,oEAAoE;CAC3E,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,cAAc,EAAE,oEAAoE;IACpF,OAAO,EAAE,oEAAoE;IAC7E,UAAU,EAAE,oEAAoE;IAChF,UAAU,EAAE,oEAAoE;IAChF,UAAU,EAAE,oEAAoE;IAChF,aAAa,EAAE,oEAAoE;CAC3E,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAItD,MAAM,UAAU,gBAAgB,CAAC,IAAmB,EAAE,SAA0B,QAAQ;IACtF,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,IAAI,sBAAsB,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAA0B,QAAQ;IAClE,MAAM,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAClF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAoB,CAAC;AAC/C,CAAC"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -1,36 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Falcon Signer implementation for PSM client authentication.
|
|
3
|
-
*
|
|
4
|
-
* This implements the Signer interface using the Miden SDK's SecretKey
|
|
5
|
-
* for Falcon signatures.
|
|
6
|
-
*/
|
|
7
1
|
import { SecretKey } from '@demox-labs/miden-sdk';
|
|
8
|
-
import type { Signer } from './types.js';
|
|
9
|
-
/**
|
|
10
|
-
* A Falcon signer that implements the Signer interface.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const secretKey = SecretKey.rpoFalconWithRNG(seed);
|
|
15
|
-
* const signer = new FalconSigner(secretKey);
|
|
16
|
-
* console.log(signer.commitment);
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
2
|
+
import type { Signer, SignatureScheme } from './types.js';
|
|
19
3
|
export declare class FalconSigner implements Signer {
|
|
20
4
|
readonly commitment: string;
|
|
21
5
|
readonly publicKey: string;
|
|
6
|
+
readonly scheme: SignatureScheme;
|
|
7
|
+
private readonly secretKey;
|
|
8
|
+
constructor(secretKey: SecretKey);
|
|
9
|
+
signAccountIdWithTimestamp(accountId: string, timestamp: number): string;
|
|
10
|
+
signCommitment(commitmentHex: string): string;
|
|
11
|
+
}
|
|
12
|
+
export declare class EcdsaSigner implements Signer {
|
|
13
|
+
readonly commitment: string;
|
|
14
|
+
readonly publicKey: string;
|
|
15
|
+
readonly scheme: SignatureScheme;
|
|
22
16
|
private readonly secretKey;
|
|
23
17
|
constructor(secretKey: SecretKey);
|
|
24
|
-
/**
|
|
25
|
-
* Signs an account ID with a timestamp.
|
|
26
|
-
* @param accountId - The account ID to sign
|
|
27
|
-
* @param timestamp - Unix timestamp in milliseconds (use Date.now())
|
|
28
|
-
* @returns Hex-encoded Falcon signature
|
|
29
|
-
*/
|
|
30
18
|
signAccountIdWithTimestamp(accountId: string, timestamp: number): string;
|
|
31
|
-
/**
|
|
32
|
-
* Signs a commitment/word for proposal signing.
|
|
33
|
-
*/
|
|
34
19
|
signCommitment(commitmentHex: string): string;
|
|
35
20
|
}
|
|
36
21
|
//# sourceMappingURL=signer.d.ts.map
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4C,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,YAAa,YAAW,MAAM;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,SAAS;IAShC,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAoBxE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAS9C;AAED,qBAAa,WAAY,YAAW,MAAM;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,SAAS;IAShC,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAoBxE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;CAS9C"}
|
package/dist/signer.js
CHANGED
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Falcon Signer implementation for PSM client authentication.
|
|
3
|
-
*
|
|
4
|
-
* This implements the Signer interface using the Miden SDK's SecretKey
|
|
5
|
-
* for Falcon signatures.
|
|
6
|
-
*/
|
|
7
1
|
import { Word, AccountId, Felt, FeltArray, Rpo256 } from '@demox-labs/miden-sdk';
|
|
8
2
|
import { bytesToHex } from './utils/encoding.js';
|
|
9
|
-
/**
|
|
10
|
-
* A Falcon signer that implements the Signer interface.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const secretKey = SecretKey.rpoFalconWithRNG(seed);
|
|
15
|
-
* const signer = new FalconSigner(secretKey);
|
|
16
|
-
* console.log(signer.commitment);
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
3
|
export class FalconSigner {
|
|
20
4
|
commitment;
|
|
21
5
|
publicKey;
|
|
6
|
+
scheme = 'falcon';
|
|
22
7
|
secretKey;
|
|
23
8
|
constructor(secretKey) {
|
|
24
9
|
this.secretKey = secretKey;
|
|
@@ -28,14 +13,7 @@ export class FalconSigner {
|
|
|
28
13
|
const falconPubKey = serialized.slice(1);
|
|
29
14
|
this.publicKey = bytesToHex(falconPubKey);
|
|
30
15
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Signs an account ID with a timestamp.
|
|
33
|
-
* @param accountId - The account ID to sign
|
|
34
|
-
* @param timestamp - Unix timestamp in milliseconds (use Date.now())
|
|
35
|
-
* @returns Hex-encoded Falcon signature
|
|
36
|
-
*/
|
|
37
16
|
signAccountIdWithTimestamp(accountId, timestamp) {
|
|
38
|
-
// Parse the account ID from hex
|
|
39
17
|
const paddedHex = accountId.startsWith('0x') ? accountId : `0x${accountId}`;
|
|
40
18
|
const parsedAccountId = AccountId.fromHex(paddedHex);
|
|
41
19
|
const prefix = parsedAccountId.prefix();
|
|
@@ -52,9 +30,6 @@ export class FalconSigner {
|
|
|
52
30
|
const falconSignature = signatureBytes.slice(1);
|
|
53
31
|
return bytesToHex(falconSignature);
|
|
54
32
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Signs a commitment/word for proposal signing.
|
|
57
|
-
*/
|
|
58
33
|
signCommitment(commitmentHex) {
|
|
59
34
|
const paddedHex = commitmentHex.startsWith('0x') ? commitmentHex : `0x${commitmentHex}`;
|
|
60
35
|
const cleanHex = paddedHex.slice(2).padStart(64, '0');
|
|
@@ -65,4 +40,44 @@ export class FalconSigner {
|
|
|
65
40
|
return bytesToHex(falconSignature);
|
|
66
41
|
}
|
|
67
42
|
}
|
|
43
|
+
export class EcdsaSigner {
|
|
44
|
+
commitment;
|
|
45
|
+
publicKey;
|
|
46
|
+
scheme = 'ecdsa';
|
|
47
|
+
secretKey;
|
|
48
|
+
constructor(secretKey) {
|
|
49
|
+
this.secretKey = secretKey;
|
|
50
|
+
const pubKey = secretKey.publicKey();
|
|
51
|
+
this.commitment = pubKey.toCommitment().toHex();
|
|
52
|
+
const serialized = pubKey.serialize();
|
|
53
|
+
const ecdsaPubKey = serialized.slice(1);
|
|
54
|
+
this.publicKey = bytesToHex(ecdsaPubKey);
|
|
55
|
+
}
|
|
56
|
+
signAccountIdWithTimestamp(accountId, timestamp) {
|
|
57
|
+
const paddedHex = accountId.startsWith('0x') ? accountId : `0x${accountId}`;
|
|
58
|
+
const parsedAccountId = AccountId.fromHex(paddedHex);
|
|
59
|
+
const prefix = parsedAccountId.prefix();
|
|
60
|
+
const suffix = parsedAccountId.suffix();
|
|
61
|
+
const feltArray = new FeltArray([
|
|
62
|
+
prefix,
|
|
63
|
+
suffix,
|
|
64
|
+
new Felt(BigInt(timestamp)),
|
|
65
|
+
new Felt(BigInt(0)),
|
|
66
|
+
]);
|
|
67
|
+
const digest = Rpo256.hashElements(feltArray);
|
|
68
|
+
const signature = this.secretKey.sign(digest);
|
|
69
|
+
const signatureBytes = signature.serialize();
|
|
70
|
+
const ecdsaSignature = signatureBytes.slice(1);
|
|
71
|
+
return bytesToHex(ecdsaSignature);
|
|
72
|
+
}
|
|
73
|
+
signCommitment(commitmentHex) {
|
|
74
|
+
const paddedHex = commitmentHex.startsWith('0x') ? commitmentHex : `0x${commitmentHex}`;
|
|
75
|
+
const cleanHex = paddedHex.slice(2).padStart(64, '0');
|
|
76
|
+
const word = Word.fromHex(`0x${cleanHex}`);
|
|
77
|
+
const signature = this.secretKey.sign(word);
|
|
78
|
+
const signatureBytes = signature.serialize();
|
|
79
|
+
const ecdsaSignature = signatureBytes.slice(1);
|
|
80
|
+
return bytesToHex(ecdsaSignature);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
68
83
|
//# sourceMappingURL=signer.js.map
|
package/dist/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,YAAY;IACd,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,MAAM,GAAoB,QAAQ,CAAC;IAC3B,SAAS,CAAY;IAEtC,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B,CAAC,SAAiB,EAAE,SAAiB;QAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,MAAM;YACN,MAAM;YACN,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,aAAqB;QAClC,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACb,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,MAAM,GAAoB,OAAO,CAAC;IAC1B,SAAS,CAAY;IAEtC,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,0BAA0B,CAAC,SAAiB,EAAE,SAAiB;QAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5E,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,MAAM;YACN,MAAM;YACN,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,aAAqB;QAClC,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { AdviceMap, Word } from '@demox-labs/miden-sdk';
|
|
2
|
+
import type { SignatureScheme } from '../types.js';
|
|
2
3
|
export interface SignatureOptions {
|
|
3
4
|
salt?: Word;
|
|
4
5
|
signatureAdviceMap?: AdviceMap;
|
|
6
|
+
signatureScheme?: SignatureScheme;
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/transaction/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/transaction/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updatePsm.d.ts","sourceRoot":"","sources":["../../src/transaction/updatePsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAGlB,SAAS,EACT,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"updatePsm.d.ts","sourceRoot":"","sources":["../../src/transaction/updatePsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAGlB,SAAS,EACT,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsCrD,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAiCtD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AdviceMap, FeltArray, TransactionRequestBuilder, Word as WordType, } from '@demox-labs/miden-sdk';
|
|
2
|
-
import { PSM_MASM } from '../account/masm.js';
|
|
2
|
+
import { PSM_ECDSA_MASM, PSM_MASM } from '../account/masm.js';
|
|
3
3
|
import { normalizeHexWord } from '../utils/encoding.js';
|
|
4
4
|
import { randomWord } from '../utils/random.js';
|
|
5
|
-
function
|
|
5
|
+
function buildUpdatePsmFalconScript(webClient) {
|
|
6
6
|
const libBuilder = webClient.createScriptBuilder();
|
|
7
7
|
const psmLib = libBuilder.buildLibrary('openzeppelin::psm', PSM_MASM);
|
|
8
8
|
libBuilder.linkDynamicLibrary(psmLib);
|
|
@@ -17,8 +17,26 @@ end
|
|
|
17
17
|
`;
|
|
18
18
|
return libBuilder.compileTxScript(scriptSource);
|
|
19
19
|
}
|
|
20
|
+
function buildUpdatePsmEcdsaScript(webClient) {
|
|
21
|
+
const libBuilder = webClient.createScriptBuilder();
|
|
22
|
+
const psmLib = libBuilder.buildLibrary('openzeppelin::psm_ecdsa', PSM_ECDSA_MASM);
|
|
23
|
+
libBuilder.linkDynamicLibrary(psmLib);
|
|
24
|
+
const scriptSource = `
|
|
25
|
+
use.openzeppelin::psm_ecdsa
|
|
26
|
+
|
|
27
|
+
begin
|
|
28
|
+
adv.push_mapval
|
|
29
|
+
dropw
|
|
30
|
+
call.psm_ecdsa::update_psm_public_key
|
|
31
|
+
end
|
|
32
|
+
`;
|
|
33
|
+
return libBuilder.compileTxScript(scriptSource);
|
|
34
|
+
}
|
|
20
35
|
export async function buildUpdatePsmTransactionRequest(webClient, newPsmPubkey, options = {}) {
|
|
21
|
-
const
|
|
36
|
+
const signatureScheme = options.signatureScheme ?? 'falcon';
|
|
37
|
+
const script = signatureScheme === 'ecdsa'
|
|
38
|
+
? buildUpdatePsmEcdsaScript(webClient)
|
|
39
|
+
: buildUpdatePsmFalconScript(webClient);
|
|
22
40
|
const authSaltHex = options.salt ? options.salt.toHex() : randomWord().toHex();
|
|
23
41
|
const pubkeyWordForAdvice = WordType.fromHex(normalizeHexWord(newPsmPubkey));
|
|
24
42
|
const pubkeyWordForFelts = WordType.fromHex(normalizeHexWord(newPsmPubkey));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updatePsm.js","sourceRoot":"","sources":["../../src/transaction/updatePsm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EAET,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"updatePsm.js","sourceRoot":"","sources":["../../src/transaction/updatePsm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSigners.d.ts","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,kBAAkB,EAGlB,SAAS,EACT,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAI/B,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,EAKL,kBAAkB,EAGlB,SAAS,EACT,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA4DrD,wBAAsB,oCAAoC,CACxD,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAoCxE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AdviceMap, Felt, FeltArray, Rpo256, TransactionRequestBuilder, Word as WordType, } from '@demox-labs/miden-sdk';
|
|
2
|
-
import { MULTISIG_MASM, PSM_MASM } from '../account/masm.js';
|
|
2
|
+
import { MULTISIG_ECDSA_MASM, MULTISIG_MASM, PSM_ECDSA_MASM, PSM_MASM } from '../account/masm.js';
|
|
3
3
|
import { normalizeHexWord } from '../utils/encoding.js';
|
|
4
4
|
import { randomWord } from '../utils/random.js';
|
|
5
5
|
function buildMultisigConfigAdvice(threshold, signerCommitments) {
|
|
@@ -18,7 +18,7 @@ function buildMultisigConfigAdvice(threshold, signerCommitments) {
|
|
|
18
18
|
const configHash = Rpo256.hashElements(payload);
|
|
19
19
|
return { configHash, payload };
|
|
20
20
|
}
|
|
21
|
-
function
|
|
21
|
+
function buildUpdateSignersFalconScript(webClient) {
|
|
22
22
|
const libBuilder = webClient.createScriptBuilder();
|
|
23
23
|
const psmLib = libBuilder.buildLibrary('openzeppelin::psm', PSM_MASM);
|
|
24
24
|
libBuilder.linkStaticLibrary(psmLib);
|
|
@@ -27,6 +27,21 @@ function buildUpdateSignersScript(webClient) {
|
|
|
27
27
|
const scriptSource = `
|
|
28
28
|
use.auth::multisig
|
|
29
29
|
|
|
30
|
+
begin
|
|
31
|
+
call.multisig::update_signers_and_threshold
|
|
32
|
+
end
|
|
33
|
+
`;
|
|
34
|
+
return libBuilder.compileTxScript(scriptSource);
|
|
35
|
+
}
|
|
36
|
+
function buildUpdateSignersEcdsaScript(webClient) {
|
|
37
|
+
const libBuilder = webClient.createScriptBuilder();
|
|
38
|
+
const psmLib = libBuilder.buildLibrary('openzeppelin::psm_ecdsa', PSM_ECDSA_MASM);
|
|
39
|
+
libBuilder.linkStaticLibrary(psmLib);
|
|
40
|
+
const multisigLib = libBuilder.buildLibrary('auth::multisig', MULTISIG_ECDSA_MASM);
|
|
41
|
+
libBuilder.linkDynamicLibrary(multisigLib);
|
|
42
|
+
const scriptSource = `
|
|
43
|
+
use.auth::multisig
|
|
44
|
+
|
|
30
45
|
begin
|
|
31
46
|
call.multisig::update_signers_and_threshold
|
|
32
47
|
end
|
|
@@ -34,12 +49,15 @@ end
|
|
|
34
49
|
return libBuilder.compileTxScript(scriptSource);
|
|
35
50
|
}
|
|
36
51
|
export async function buildUpdateSignersTransactionRequest(webClient, threshold, signerCommitments, options = {}) {
|
|
52
|
+
const signatureScheme = options.signatureScheme ?? 'falcon';
|
|
37
53
|
const { configHash: configHashForAdvice, payload } = buildMultisigConfigAdvice(threshold, signerCommitments);
|
|
38
54
|
const { configHash: configHashForScript } = buildMultisigConfigAdvice(threshold, signerCommitments);
|
|
39
55
|
const { configHash: configHashForReturn } = buildMultisigConfigAdvice(threshold, signerCommitments);
|
|
40
56
|
const advice = new AdviceMap();
|
|
41
57
|
advice.insert(configHashForAdvice, payload);
|
|
42
|
-
const script =
|
|
58
|
+
const script = signatureScheme === 'ecdsa'
|
|
59
|
+
? buildUpdateSignersEcdsaScript(webClient)
|
|
60
|
+
: buildUpdateSignersFalconScript(webClient);
|
|
43
61
|
const authSaltHex = options.salt ? options.salt.toHex() : randomWord().toHex();
|
|
44
62
|
const authSaltForBuilder = WordType.fromHex(normalizeHexWord(authSaltHex));
|
|
45
63
|
let txBuilder = new TransactionRequestBuilder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateSigners.js","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,SAAS,EACT,MAAM,EAEN,yBAAyB,EAIzB,IAAI,IAAI,QAAQ,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"updateSigners.js","sourceRoot":"","sources":["../../src/transaction/updateSigners.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"
|
|
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,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
package/dist/transaction.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// Backward-compatible entry point for transaction helpers.
|
|
2
|
-
// The implementations now live in ./transaction/.
|
|
3
1
|
export { buildConsumeNotesTransactionRequest, } from './transaction/consumeNotes.js';
|
|
4
2
|
export { executeForSummary } from './transaction/summary.js';
|
|
5
3
|
export { buildP2idTransactionRequest, } from './transaction/p2id.js';
|
package/dist/transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAAA,
|
|
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,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oCAAoC,GACrC,MAAM,gCAAgC,CAAC"}
|
package/dist/transaction.test.js
CHANGED
|
@@ -98,6 +98,11 @@ describe('transaction utilities', () => {
|
|
|
98
98
|
expect(result[0]).toBe(0); // RpoFalcon512 scheme byte
|
|
99
99
|
expect(result.slice(1)).toEqual(new Uint8Array([0xde, 0xad, 0xbe, 0xef]));
|
|
100
100
|
});
|
|
101
|
+
it('should prepend auth scheme byte (1 = ECDSA)', () => {
|
|
102
|
+
const result = signatureHexToBytes('deadbeef', 'ecdsa');
|
|
103
|
+
expect(result[0]).toBe(1); // ECDSA scheme byte
|
|
104
|
+
expect(result.slice(1)).toEqual(new Uint8Array([0xde, 0xad, 0xbe, 0xef]));
|
|
105
|
+
});
|
|
101
106
|
it('should handle 0x prefix', () => {
|
|
102
107
|
const result = signatureHexToBytes('0xaabbccdd');
|
|
103
108
|
expect(result[0]).toBe(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["../src/transaction.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["../src/transaction.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types/proposal.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ProposalType as PsmProposalType } from '@openzeppelin/psm-client';
|
|
1
|
+
import type { ProposalType as PsmProposalType, SignatureScheme } from '@openzeppelin/psm-client';
|
|
2
2
|
export type ProposalType = Exclude<PsmProposalType, 'custom'>;
|
|
3
|
-
export type
|
|
3
|
+
export type TransactionProposalStatus = {
|
|
4
4
|
type: 'pending';
|
|
5
5
|
signaturesCollected: number;
|
|
6
6
|
signaturesRequired: number;
|
|
@@ -10,11 +10,12 @@ export type ProposalStatus = {
|
|
|
10
10
|
} | {
|
|
11
11
|
type: 'finalized';
|
|
12
12
|
};
|
|
13
|
-
export interface
|
|
13
|
+
export interface TransactionProposalSignature {
|
|
14
14
|
signerId: string;
|
|
15
15
|
signature: {
|
|
16
|
-
scheme: 'falcon';
|
|
16
|
+
scheme: 'falcon' | 'ecdsa';
|
|
17
17
|
signature: string;
|
|
18
|
+
publicKey?: string;
|
|
18
19
|
};
|
|
19
20
|
timestamp: string;
|
|
20
21
|
}
|
|
@@ -49,16 +50,17 @@ export interface UnknownProposalMetadata extends BaseProposalMetadata {
|
|
|
49
50
|
proposalType: 'unknown';
|
|
50
51
|
}
|
|
51
52
|
export type ProposalMetadata = UpdateSignersProposalMetadata | SwitchPsmProposalMetadata | ConsumeNotesProposalMetadata | P2IdProposalMetadata | UnknownProposalMetadata;
|
|
52
|
-
export interface
|
|
53
|
+
export interface TransactionProposal {
|
|
53
54
|
id: string;
|
|
55
|
+
commitment: string;
|
|
54
56
|
accountId: string;
|
|
55
57
|
nonce: number;
|
|
56
|
-
status:
|
|
58
|
+
status: TransactionProposalStatus;
|
|
57
59
|
txSummary: string;
|
|
58
|
-
signatures:
|
|
60
|
+
signatures: TransactionProposalSignature[];
|
|
59
61
|
metadata: ProposalMetadata;
|
|
60
62
|
}
|
|
61
|
-
export interface
|
|
63
|
+
export interface ExportedTransactionProposal {
|
|
62
64
|
accountId: string;
|
|
63
65
|
nonce: number;
|
|
64
66
|
commitment: string;
|
|
@@ -70,5 +72,11 @@ export interface ExportedProposal {
|
|
|
70
72
|
}>;
|
|
71
73
|
metadata?: ProposalMetadata;
|
|
72
74
|
}
|
|
75
|
+
export interface SignTransactionProposalParams {
|
|
76
|
+
commitment: string;
|
|
77
|
+
signature: string;
|
|
78
|
+
publicKey?: string;
|
|
79
|
+
scheme?: SignatureScheme;
|
|
80
|
+
}
|
|
73
81
|
export {};
|
|
74
82
|
//# sourceMappingURL=proposal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"proposal.d.ts","sourceRoot":"","sources":["../../src/types/proposal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,eAAe,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACjG,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE9D,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,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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,yBAA0B,SAAQ,oBAAoB;IACrE,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;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;CAChB;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GACxB,6BAA6B,GAC7B,yBAAyB,GACzB,4BAA4B,GAC5B,oBAAoB,GACpB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,4BAA4B,EAAE,CAAC;IAC3C,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B"}
|