@aztec/node-keystore 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f
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/dest/config.d.ts +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/keystore_manager.d.ts +1 -1
- package/dest/keystore_manager.d.ts.map +1 -1
- package/dest/loader.d.ts +1 -1
- package/dest/loader.d.ts.map +1 -1
- package/dest/schemas.d.ts +397 -397
- package/dest/schemas.d.ts.map +1 -1
- package/dest/schemas.js +8 -8
- package/dest/signer.d.ts +1 -16
- package/dest/signer.d.ts.map +1 -1
- package/dest/types.d.ts +1 -1
- package/package.json +8 -7
- package/src/schemas.ts +53 -38
package/dest/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,eAAO,MAAM,mBAAmB,kDAGK,CAAC;AACtC,eAAO,MAAM,mBAAmB,kDAGK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,eAAO,MAAM,mBAAmB,kDAGK,CAAC;AACtC,eAAO,MAAM,mBAAmB,kDAGK,CAAC;AA8FtC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavB,CAAC"}
|
package/dest/schemas.js
CHANGED
|
@@ -14,7 +14,7 @@ const remoteSignerConfigSchema = z.union([
|
|
|
14
14
|
remoteSignerUrl: urlSchema,
|
|
15
15
|
certPath: optional(z.string()),
|
|
16
16
|
certPass: optional(z.string())
|
|
17
|
-
})
|
|
17
|
+
}).strict()
|
|
18
18
|
]);
|
|
19
19
|
// Remote signer account schema
|
|
20
20
|
const remoteSignerAccountSchema = z.union([
|
|
@@ -24,13 +24,13 @@ const remoteSignerAccountSchema = z.union([
|
|
|
24
24
|
remoteSignerUrl: urlSchema,
|
|
25
25
|
certPath: optional(z.string()),
|
|
26
26
|
certPass: optional(z.string())
|
|
27
|
-
})
|
|
27
|
+
}).strict()
|
|
28
28
|
]);
|
|
29
29
|
// Encrypted keystore file schema (used for both JSON V3 ETH keys and EIP-2335 BLS keys)
|
|
30
30
|
const encryptedKeyFileSchema = z.object({
|
|
31
31
|
path: z.string(),
|
|
32
32
|
password: optional(z.string())
|
|
33
|
-
});
|
|
33
|
+
}).strict();
|
|
34
34
|
// Mnemonic config schema
|
|
35
35
|
const mnemonicConfigSchema = z.object({
|
|
36
36
|
mnemonic: z.string().min(1, 'Mnemonic cannot be empty'),
|
|
@@ -38,7 +38,7 @@ const mnemonicConfigSchema = z.object({
|
|
|
38
38
|
accountIndex: z.number().int().min(0).default(0),
|
|
39
39
|
addressCount: z.number().int().min(1).default(1),
|
|
40
40
|
accountCount: z.number().int().min(1).default(1)
|
|
41
|
-
});
|
|
41
|
+
}).strict();
|
|
42
42
|
// EthAccount schema
|
|
43
43
|
const ethAccountSchema = z.union([
|
|
44
44
|
ethPrivateKeySchema,
|
|
@@ -62,7 +62,7 @@ const attesterAccountSchema = z.union([
|
|
|
62
62
|
z.object({
|
|
63
63
|
eth: ethAccountSchema,
|
|
64
64
|
bls: optional(blsAccountSchema)
|
|
65
|
-
})
|
|
65
|
+
}).strict()
|
|
66
66
|
]);
|
|
67
67
|
// AttesterAccounts schema: AttesterAccount | AttesterAccount[] | MnemonicConfig
|
|
68
68
|
const attesterAccountsSchema = z.union([
|
|
@@ -76,7 +76,7 @@ const proverKeyStoreSchema = z.union([
|
|
|
76
76
|
z.object({
|
|
77
77
|
id: schemas.EthAddress,
|
|
78
78
|
publisher: ethAccountsSchema
|
|
79
|
-
})
|
|
79
|
+
}).strict()
|
|
80
80
|
]);
|
|
81
81
|
// Validator keystore schema
|
|
82
82
|
const validatorKeyStoreSchema = z.object({
|
|
@@ -86,7 +86,7 @@ const validatorKeyStoreSchema = z.object({
|
|
|
86
86
|
feeRecipient: AztecAddress.schema,
|
|
87
87
|
remoteSigner: optional(remoteSignerConfigSchema),
|
|
88
88
|
fundingAccount: optional(ethAccountSchema)
|
|
89
|
-
});
|
|
89
|
+
}).strict();
|
|
90
90
|
// Main keystore schema
|
|
91
91
|
export const keystoreSchema = z.object({
|
|
92
92
|
schemaVersion: z.literal(1),
|
|
@@ -95,7 +95,7 @@ export const keystoreSchema = z.object({
|
|
|
95
95
|
remoteSigner: optional(remoteSignerConfigSchema),
|
|
96
96
|
prover: optional(proverKeyStoreSchema),
|
|
97
97
|
fundingAccount: optional(ethAccountSchema)
|
|
98
|
-
}).refine((data)=>data.validators || data.prover, {
|
|
98
|
+
}).strict().refine((data)=>data.validators || data.prover, {
|
|
99
99
|
message: 'Keystore must have at least validators or prover configuration',
|
|
100
100
|
path: [
|
|
101
101
|
'root'
|
package/dest/signer.d.ts
CHANGED
|
@@ -56,24 +56,9 @@ export declare class RemoteSigner implements EthSigner {
|
|
|
56
56
|
*/
|
|
57
57
|
signTypedData(typedData: TypedDataDefinition): Promise<Signature>;
|
|
58
58
|
signTransaction(transaction: TransactionSerializable): Promise<Signature>;
|
|
59
|
-
/**
|
|
60
|
-
* Make a JSON-RPC sign request using eth_sign
|
|
61
|
-
*/
|
|
62
|
-
/**
|
|
63
|
-
* Make a JSON-RPC eth_sign request.
|
|
64
|
-
*/
|
|
65
59
|
private makeJsonRpcSignRequest;
|
|
66
|
-
/**
|
|
67
|
-
* Make a JSON-RPC eth_signTypedData_v4 request.
|
|
68
|
-
*/
|
|
69
60
|
private makeJsonRpcSignTypedDataRequest;
|
|
70
|
-
/**
|
|
71
|
-
* Make a JSON-RPC eth_signTransaction request.
|
|
72
|
-
*/
|
|
73
61
|
private makeJsonRpcSignTransactionRequest;
|
|
74
|
-
/**
|
|
75
|
-
* Sends a JSON-RPC request and returns its result
|
|
76
|
-
*/
|
|
77
62
|
private makeJsonRpcRequest;
|
|
78
63
|
/**
|
|
79
64
|
* Resolve the effective remote signer URL from config.
|
|
@@ -84,4 +69,4 @@ export declare class RemoteSigner implements EthSigner {
|
|
|
84
69
|
*/
|
|
85
70
|
private generateId;
|
|
86
71
|
}
|
|
87
|
-
//# sourceMappingURL=
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2lnbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUkzRixPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxtQkFBbUIsRUFLekIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV4RDs7R0FFRztBQUNILHFCQUFhLFdBQVksU0FBUSxLQUFLO0lBRzNCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsR0FBRyxFQUFFLE1BQU07SUFDWCxVQUFVLENBQUM7SUFDWCxTQUFTLENBQUM7SUFMbkIsWUFDRSxPQUFPLEVBQUUsTUFBTSxFQUNSLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLE1BQU0sRUFDWCxVQUFVLENBQUMsb0JBQVEsRUFDbkIsU0FBUyxDQUFDLG9CQUFRLEVBSTFCO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHFCQUFhLFdBQVksWUFBVyxTQUFTO0lBRy9CLE9BQU8sQ0FBQyxVQUFVO0lBRjlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFrQjtJQUV6QyxZQUFvQixVQUFVLEVBQUUsUUFBUSxFQUV2QztJQUVELElBQUksT0FBTyxJQUFJLFVBQVUsQ0FFeEI7SUFFRCxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBRWpEO0lBRUQsYUFBYSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2hFO0lBRUQsZUFBZSxDQUFDLFdBQVcsRUFBRSx1QkFBdUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBYXhFO0NBQ0Y7QUFtQkQ7O0dBRUc7QUFDSCxxQkFBYSxZQUFhLFlBQVcsU0FBUzthQUUxQixPQUFPLEVBQUUsVUFBVTtJQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLEtBQUs7SUFIZixZQUNrQixPQUFPLEVBQUUsVUFBVSxFQUNsQixNQUFNLEVBQUUscUJBQXFCLEVBQ3RDLEtBQUssR0FBRSxPQUFPLFVBQVUsQ0FBQyxLQUF3QixFQUN2RDtJQUVKOzs7Ozs7T0FNRztJQUNILE9BQWEsY0FBYyxDQUN6QixlQUFlLEVBQUUscUJBQXFCLEVBQ3RDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsS0FBSyxHQUFFLE9BQU8sVUFBVSxDQUFDLEtBQXdCLEdBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0ErRGY7SUFFRDs7T0FFRztJQUNHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FFdkQ7SUFFRDs7T0FFRztJQUNHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUV0RTtJQUVELGVBQWUsQ0FBQyxXQUFXLEVBQUUsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUV4RTtZQVFhLHNCQUFzQjtZQWlCdEIsK0JBQStCO1lBcUIvQixpQ0FBaUM7WUFrRGpDLGtCQUFrQjtJQXlDaEM7O09BRUc7SUFDSCxPQUFPLENBQUMsWUFBWTtJQU9wQjs7T0FFRztJQUNILE9BQU8sQ0FBQyxVQUFVO0NBR25CIn0=
|
package/dest/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAiC,MAAM,iCAAiC,CAAC;AAI3F,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAKzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,MAAM;IACX,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAiC,MAAM,iCAAiC,CAAC;AAI3F,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAKzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,MAAM;IACX,UAAU,CAAC;IACX,SAAS,CAAC;IALnB,YACE,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,oBAAQ,EACnB,SAAS,CAAC,oBAAQ,EAI1B;CACF;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,SAAS;IAG/B,OAAO,CAAC,UAAU;IAF9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,YAAoB,UAAU,EAAE,QAAQ,EAEvC;IAED,IAAI,OAAO,IAAI,UAAU,CAExB;IAED,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAEjD;IAED,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAGhE;IAED,eAAe,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAaxE;CACF;AAmBD;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;aAE1B,OAAO,EAAE,UAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,KAAK;IAHf,YACkB,OAAO,EAAE,UAAU,EAClB,MAAM,EAAE,qBAAqB,EACtC,KAAK,GAAE,OAAO,UAAU,CAAC,KAAwB,EACvD;IAEJ;;;;;;OAMG;IACH,OAAa,cAAc,CACzB,eAAe,EAAE,qBAAqB,EACtC,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,GAAE,OAAO,UAAU,CAAC,KAAwB,GAChD,OAAO,CAAC,IAAI,CAAC,CA+Df;IAED;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAEvD;IAED;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAEtE;IAED,eAAe,CAAC,WAAW,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAExE;YAQa,sBAAsB;YAiBtB,+BAA+B;YAqB/B,iCAAiC;YAkDjC,kBAAkB;IAyChC;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
|
package/dest/types.d.ts
CHANGED
|
@@ -113,4 +113,4 @@ export type KeyStore = {
|
|
|
113
113
|
/** Used for automatically funding publisher accounts if there is none defined in the corresponding ValidatorKeyStore*/
|
|
114
114
|
fundingAccount?: EthAccount;
|
|
115
115
|
};
|
|
116
|
-
//# sourceMappingURL=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRTs7Ozs7R0FLRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUFFLElBQUksRUFBRSxNQUFNLENBQUM7SUFBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBRXpFLGlEQUFpRDtBQUNqRCxNQUFNLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVwQyxxREFBcUQ7QUFDckQsTUFBTSxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFcEMsa0NBQWtDO0FBQ2xDLE1BQU0sTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUM3QixHQUFHLEdBQ0g7SUFDRSxlQUFlLEVBQUUsR0FBRyxDQUFDO0lBQ3JCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVOOzs7R0FHRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FDOUIsVUFBVSxHQUNWO0lBQ0UsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixlQUFlLEVBQUUsR0FBRyxDQUFDO0lBQ3JCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVOLG9IQUFvSDtBQUNwSCxNQUFNLE1BQU0sVUFBVSxHQUFHLGFBQWEsR0FBRyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztBQUV6Rix5REFBeUQ7QUFDekQsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0QixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEIsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN2QixDQUFDO0FBRUYsOEJBQThCO0FBQzlCLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxHQUFHLFVBQVUsRUFBRSxHQUFHLGNBQWMsQ0FBQztBQUVyRSxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsaUZBQWlGO0lBQ2pGLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDZixzREFBc0Q7SUFDdEQsU0FBUyxFQUFFLFdBQVcsQ0FBQztDQUN4QixDQUFDO0FBRUYsTUFBTSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxVQUFVLENBQUM7QUFFL0Qsb0ZBQW9GO0FBQ3BGLE1BQU0sTUFBTSxVQUFVLEdBQUcsYUFBYSxHQUFHLHNCQUFzQixDQUFDO0FBRWhFLDBFQUEwRTtBQUMxRSxNQUFNLE1BQU0sZUFBZSxHQUFHO0lBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQTtDQUFFLEdBQUcsVUFBVSxDQUFDO0FBRWpGLCtEQUErRDtBQUMvRCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxHQUFHLGVBQWUsRUFBRSxHQUFHLGNBQWMsQ0FBQztBQUVwRixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUI7OztPQUdHO0lBQ0gsUUFBUSxFQUFFLGdCQUFnQixDQUFDO0lBQzNCOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN0Qjs7O09BR0c7SUFDSCxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDeEI7O09BRUc7SUFDSCxZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFDckM7O09BRUc7SUFDSCxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sTUFBTSxRQUFRLEdBQUc7SUFDckIsMERBQTBEO0lBQzFELGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsZ0NBQWdDO0lBQ2hDLFVBQVUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFDakMsOEdBQThHO0lBQzlHLE9BQU8sQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUN0QiwwRUFBMEU7SUFDMUUsWUFBWSxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFDckMsc0VBQXNFO0lBQ3RFLE1BQU0sQ0FBQyxFQUFFLGNBQWMsQ0FBQztJQUN4Qix3SEFBd0g7SUFDeEgsY0FBYyxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQzdCLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/node-keystore",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.fce3e4f",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"tsconfig": "./tsconfig.json"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "yarn clean &&
|
|
20
|
-
"build:dev": "
|
|
19
|
+
"build": "yarn clean && tsgo -b",
|
|
20
|
+
"build:dev": "tsgo -b --watch",
|
|
21
21
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
22
22
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
23
23
|
},
|
|
@@ -62,18 +62,19 @@
|
|
|
62
62
|
]
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
66
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
67
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
65
|
+
"@aztec/ethereum": "0.0.1-commit.fce3e4f",
|
|
66
|
+
"@aztec/foundation": "0.0.1-commit.fce3e4f",
|
|
67
|
+
"@aztec/stdlib": "0.0.1-commit.fce3e4f",
|
|
68
68
|
"@ethersproject/wallet": "^5.7.0",
|
|
69
69
|
"tslib": "^2.4.0",
|
|
70
|
-
"viem": "npm:@
|
|
70
|
+
"viem": "npm:@aztec/viem@2.38.2",
|
|
71
71
|
"zod": "^3.23.8"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@jest/globals": "^30.0.0",
|
|
75
75
|
"@types/jest": "^30.0.0",
|
|
76
76
|
"@types/node": "^22.15.17",
|
|
77
|
+
"@typescript/native-preview": "7.0.0-dev.20251126.1",
|
|
77
78
|
"jest": "^30.0.0",
|
|
78
79
|
"ts-node": "^10.9.1",
|
|
79
80
|
"typescript": "^5.3.3"
|
package/src/schemas.ts
CHANGED
|
@@ -22,38 +22,46 @@ const urlSchema = z.string().url('Invalid URL');
|
|
|
22
22
|
// Remote signer config schema
|
|
23
23
|
const remoteSignerConfigSchema = z.union([
|
|
24
24
|
urlSchema,
|
|
25
|
-
z
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
z
|
|
26
|
+
.object({
|
|
27
|
+
remoteSignerUrl: urlSchema,
|
|
28
|
+
certPath: optional(z.string()),
|
|
29
|
+
certPass: optional(z.string()),
|
|
30
|
+
})
|
|
31
|
+
.strict(),
|
|
30
32
|
]);
|
|
31
33
|
|
|
32
34
|
// Remote signer account schema
|
|
33
35
|
const remoteSignerAccountSchema = z.union([
|
|
34
36
|
schemas.EthAddress,
|
|
35
|
-
z
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
z
|
|
38
|
+
.object({
|
|
39
|
+
address: schemas.EthAddress,
|
|
40
|
+
remoteSignerUrl: urlSchema,
|
|
41
|
+
certPath: optional(z.string()),
|
|
42
|
+
certPass: optional(z.string()),
|
|
43
|
+
})
|
|
44
|
+
.strict(),
|
|
41
45
|
]);
|
|
42
46
|
|
|
43
47
|
// Encrypted keystore file schema (used for both JSON V3 ETH keys and EIP-2335 BLS keys)
|
|
44
|
-
const encryptedKeyFileSchema = z
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
const encryptedKeyFileSchema = z
|
|
49
|
+
.object({
|
|
50
|
+
path: z.string(),
|
|
51
|
+
password: optional(z.string()),
|
|
52
|
+
})
|
|
53
|
+
.strict();
|
|
48
54
|
|
|
49
55
|
// Mnemonic config schema
|
|
50
|
-
const mnemonicConfigSchema = z
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
const mnemonicConfigSchema = z
|
|
57
|
+
.object({
|
|
58
|
+
mnemonic: z.string().min(1, 'Mnemonic cannot be empty'),
|
|
59
|
+
addressIndex: z.number().int().min(0).default(0),
|
|
60
|
+
accountIndex: z.number().int().min(0).default(0),
|
|
61
|
+
addressCount: z.number().int().min(1).default(1),
|
|
62
|
+
accountCount: z.number().int().min(1).default(1),
|
|
63
|
+
})
|
|
64
|
+
.strict();
|
|
57
65
|
|
|
58
66
|
// EthAccount schema
|
|
59
67
|
const ethAccountSchema = z.union([ethPrivateKeySchema, remoteSignerAccountSchema, encryptedKeyFileSchema]);
|
|
@@ -67,10 +75,12 @@ const blsAccountSchema = z.union([blsPrivateKeySchema, encryptedKeyFileSchema]);
|
|
|
67
75
|
// AttesterAccount schema: either EthAccount or { eth: EthAccount, bls?: BLSAccount }
|
|
68
76
|
const attesterAccountSchema = z.union([
|
|
69
77
|
ethAccountSchema,
|
|
70
|
-
z
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
78
|
+
z
|
|
79
|
+
.object({
|
|
80
|
+
eth: ethAccountSchema,
|
|
81
|
+
bls: optional(blsAccountSchema),
|
|
82
|
+
})
|
|
83
|
+
.strict(),
|
|
74
84
|
]);
|
|
75
85
|
|
|
76
86
|
// AttesterAccounts schema: AttesterAccount | AttesterAccount[] | MnemonicConfig
|
|
@@ -79,21 +89,25 @@ const attesterAccountsSchema = z.union([attesterAccountSchema, z.array(attesterA
|
|
|
79
89
|
// Prover keystore schema
|
|
80
90
|
const proverKeyStoreSchema = z.union([
|
|
81
91
|
ethAccountSchema,
|
|
82
|
-
z
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
92
|
+
z
|
|
93
|
+
.object({
|
|
94
|
+
id: schemas.EthAddress,
|
|
95
|
+
publisher: ethAccountsSchema,
|
|
96
|
+
})
|
|
97
|
+
.strict(),
|
|
86
98
|
]);
|
|
87
99
|
|
|
88
100
|
// Validator keystore schema
|
|
89
|
-
const validatorKeyStoreSchema = z
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
const validatorKeyStoreSchema = z
|
|
102
|
+
.object({
|
|
103
|
+
attester: attesterAccountsSchema,
|
|
104
|
+
coinbase: optional(schemas.EthAddress),
|
|
105
|
+
publisher: optional(ethAccountsSchema),
|
|
106
|
+
feeRecipient: AztecAddress.schema,
|
|
107
|
+
remoteSigner: optional(remoteSignerConfigSchema),
|
|
108
|
+
fundingAccount: optional(ethAccountSchema),
|
|
109
|
+
})
|
|
110
|
+
.strict();
|
|
97
111
|
|
|
98
112
|
// Main keystore schema
|
|
99
113
|
export const keystoreSchema = z
|
|
@@ -105,6 +119,7 @@ export const keystoreSchema = z
|
|
|
105
119
|
prover: optional(proverKeyStoreSchema),
|
|
106
120
|
fundingAccount: optional(ethAccountSchema),
|
|
107
121
|
})
|
|
122
|
+
.strict()
|
|
108
123
|
.refine(data => data.validators || data.prover, {
|
|
109
124
|
message: 'Keystore must have at least validators or prover configuration',
|
|
110
125
|
path: ['root'],
|