@aztec/key-store 0.76.4 → 0.77.0-testnet-ignition.17
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/index.js +0 -1
- package/dest/key_store.d.ts +6 -3
- package/dest/key_store.d.ts.map +1 -1
- package/dest/key_store.js +105 -110
- package/package.json +7 -7
- package/src/key_store.ts +11 -14
package/dest/index.js
CHANGED
package/dest/key_store.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AztecAddress, CompleteAddress, Fr, GrumpkinScalar, type KeyPrefix, KeyValidationRequest, type PartialAddress } from '@aztec/circuits.js';
|
|
1
|
+
import { Fr, GrumpkinScalar } from '@aztec/foundation/fields';
|
|
3
2
|
import { type Bufferable } from '@aztec/foundation/serialize';
|
|
4
|
-
import {
|
|
3
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
4
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { CompleteAddress, type PartialAddress } from '@aztec/stdlib/contract';
|
|
6
|
+
import { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
7
|
+
import { type KeyPrefix, type PublicKey } from '@aztec/stdlib/keys';
|
|
5
8
|
/**
|
|
6
9
|
* Used for managing keys. Can hold keys of multiple accounts.
|
|
7
10
|
*/
|
package/dest/key_store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_store.d.ts","sourceRoot":"","sources":["../src/key_store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key_store.d.ts","sourceRoot":"","sources":["../src/key_store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,cAAc,EAAS,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EAIf,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,qBAAa,QAAQ;;gBAGP,QAAQ,EAAE,iBAAiB;IAIvC;;;OAGG;IACI,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC;IAMhD;;;;;OAKG;IACU,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCzF;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAOnD;;;;;;OAMG;IACU,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuC/G;;;;;OAKG;IACU,2BAA2B,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAUnF;;;;;OAKG;IACU,iCAAiC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzF;;;;;OAKG;IACU,iCAAiC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAUzF;;;;;OAKG;IACU,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAUjF;;;;;OAKG;IACU,iCAAiC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAU9F;;;;;;OAMG;IACU,8BAA8B,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC;IAelG;;;;;;OAMG;IACU,kBAAkB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAmBxE;;;;;OAKG;IACU,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;CAe3F"}
|
package/dest/key_store.js
CHANGED
|
@@ -1,79 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { AztecAddress, CompleteAddress, Fr, GeneratorIndex, GrumpkinScalar, KEY_PREFIXES, KeyValidationRequest, Point, computeAppSecretKey, deriveKeys, derivePublicKeyFromSecretKey, } from '@aztec/circuits.js';
|
|
1
|
+
import { GeneratorIndex } from '@aztec/constants';
|
|
4
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
5
4
|
import { toArray } from '@aztec/foundation/iterable';
|
|
6
5
|
import { serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
+
import { CompleteAddress } from '@aztec/stdlib/contract';
|
|
8
|
+
import { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
9
|
+
import { KEY_PREFIXES, computeAppSecretKey, deriveKeys, derivePublicKeyFromSecretKey } from '@aztec/stdlib/keys';
|
|
7
10
|
/**
|
|
8
11
|
* Used for managing keys. Can hold keys of multiple accounts.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
constructor(database)
|
|
12
|
-
|
|
13
|
-
__classPrivateFieldSet(this, _KeyStore_keys, database.openMap('key_store'), "f");
|
|
12
|
+
*/ export class KeyStore {
|
|
13
|
+
#keys;
|
|
14
|
+
constructor(database){
|
|
15
|
+
this.#keys = database.openMap('key_store');
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
createAccount() {
|
|
18
|
+
* Creates a new account from a randomly generated secret key.
|
|
19
|
+
* @returns A promise that resolves to the newly created account's CompleteAddress.
|
|
20
|
+
*/ createAccount() {
|
|
20
21
|
const sk = Fr.random();
|
|
21
22
|
const partialAddress = Fr.random();
|
|
22
23
|
return this.addAccount(sk, partialAddress);
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const { masterNullifierSecretKey, masterIncomingViewingSecretKey, masterOutgoingViewingSecretKey, masterTaggingSecretKey, publicKeys, } = await deriveKeys(sk);
|
|
26
|
+
* Adds an account to the key store from the provided secret key.
|
|
27
|
+
* @param sk - The secret key of the account.
|
|
28
|
+
* @param partialAddress - The partial address of the account.
|
|
29
|
+
* @returns The account's complete address.
|
|
30
|
+
*/ async addAccount(sk, partialAddress) {
|
|
31
|
+
const { masterNullifierSecretKey, masterIncomingViewingSecretKey, masterOutgoingViewingSecretKey, masterTaggingSecretKey, publicKeys } = await deriveKeys(sk);
|
|
32
32
|
const completeAddress = await CompleteAddress.fromSecretKeyAndPartialAddress(sk, partialAddress);
|
|
33
33
|
const { address: account } = completeAddress;
|
|
34
34
|
// Naming of keys is as follows ${account}-${n/iv/ov/t}${sk/pk}_m
|
|
35
|
-
await
|
|
36
|
-
await
|
|
37
|
-
await
|
|
38
|
-
await
|
|
39
|
-
await
|
|
40
|
-
await
|
|
41
|
-
await
|
|
42
|
-
await
|
|
35
|
+
await this.#keys.set(`${account.toString()}-ivsk_m`, masterIncomingViewingSecretKey.toBuffer());
|
|
36
|
+
await this.#keys.set(`${account.toString()}-ovsk_m`, masterOutgoingViewingSecretKey.toBuffer());
|
|
37
|
+
await this.#keys.set(`${account.toString()}-tsk_m`, masterTaggingSecretKey.toBuffer());
|
|
38
|
+
await this.#keys.set(`${account.toString()}-nsk_m`, masterNullifierSecretKey.toBuffer());
|
|
39
|
+
await this.#keys.set(`${account.toString()}-npk_m`, publicKeys.masterNullifierPublicKey.toBuffer());
|
|
40
|
+
await this.#keys.set(`${account.toString()}-ivpk_m`, publicKeys.masterIncomingViewingPublicKey.toBuffer());
|
|
41
|
+
await this.#keys.set(`${account.toString()}-ovpk_m`, publicKeys.masterOutgoingViewingPublicKey.toBuffer());
|
|
42
|
+
await this.#keys.set(`${account.toString()}-tpk_m`, publicKeys.masterTaggingPublicKey.toBuffer());
|
|
43
43
|
// We store pk_m_hash under `account-{n/iv/ov/t}pk_m_hash` key to be able to obtain address and key prefix
|
|
44
44
|
// using the #getKeyPrefixAndAccount function later on
|
|
45
45
|
const masterNullifierPublicKeyHash = await publicKeys.masterNullifierPublicKey.hash();
|
|
46
|
-
await
|
|
46
|
+
await this.#keys.set(`${account.toString()}-npk_m_hash`, masterNullifierPublicKeyHash.toBuffer());
|
|
47
47
|
const masterIncomingViewingPublicKeyHash = await publicKeys.masterIncomingViewingPublicKey.hash();
|
|
48
|
-
await
|
|
48
|
+
await this.#keys.set(`${account.toString()}-ivpk_m_hash`, masterIncomingViewingPublicKeyHash.toBuffer());
|
|
49
49
|
const masterOutgoingViewingPublicKeyHash = await publicKeys.masterOutgoingViewingPublicKey.hash();
|
|
50
|
-
await
|
|
50
|
+
await this.#keys.set(`${account.toString()}-ovpk_m_hash`, masterOutgoingViewingPublicKeyHash.toBuffer());
|
|
51
51
|
const masterTaggingPublicKeyHash = await publicKeys.masterTaggingPublicKey.hash();
|
|
52
|
-
await
|
|
52
|
+
await this.#keys.set(`${account.toString()}-tpk_m_hash`, masterTaggingPublicKeyHash.toBuffer());
|
|
53
53
|
// At last, we return the newly derived account address
|
|
54
54
|
return completeAddress;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const allMapKeys = await toArray(__classPrivateFieldGet(this, _KeyStore_keys, "f").keysAsync());
|
|
57
|
+
* Retrieves addresses of accounts stored in the key store.
|
|
58
|
+
* @returns A Promise that resolves to an array of account addresses.
|
|
59
|
+
*/ async getAccounts() {
|
|
60
|
+
const allMapKeys = await toArray(this.#keys.keysAsync());
|
|
62
61
|
// We return account addresses based on the map keys that end with '-ivsk_m'
|
|
63
|
-
const accounts = allMapKeys.filter(key
|
|
64
|
-
return accounts.map(account
|
|
62
|
+
const accounts = allMapKeys.filter((key)=>key.endsWith('-ivsk_m')).map((key)=>key.split('-')[0]);
|
|
63
|
+
return accounts.map((account)=>AztecAddress.fromString(account));
|
|
65
64
|
}
|
|
66
65
|
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
async getKeyValidationRequest(pkMHash, contractAddress) {
|
|
66
|
+
* Gets the key validation request for a given master public key hash and contract address.
|
|
67
|
+
* @throws If the account corresponding to the master public key hash does not exist in the key store.
|
|
68
|
+
* @param pkMHash - The master public key hash.
|
|
69
|
+
* @param contractAddress - The contract address to silo the secret key in the key validation request with.
|
|
70
|
+
* @returns The key validation request.
|
|
71
|
+
*/ async getKeyValidationRequest(pkMHash, contractAddress) {
|
|
74
72
|
const [keyPrefix, account] = await this.getKeyPrefixAndAccount(pkMHash);
|
|
75
73
|
// Now we find the master public key for the account
|
|
76
|
-
const pkMBuffer = await
|
|
74
|
+
const pkMBuffer = await this.#keys.getAsync(`${account.toString()}-${keyPrefix}pk_m`);
|
|
77
75
|
if (!pkMBuffer) {
|
|
78
76
|
throw new Error(`Could not find ${keyPrefix}pk_m for account ${account.toString()} whose address was successfully obtained with ${keyPrefix}pk_m_hash ${pkMHash.toString()}.`);
|
|
79
77
|
}
|
|
@@ -83,7 +81,7 @@ export class KeyStore {
|
|
|
83
81
|
throw new Error(`Could not find ${keyPrefix}pkM for ${keyPrefix}pk_m_hash ${pkMHash.toString()}.`);
|
|
84
82
|
}
|
|
85
83
|
// Now we find the secret key for the public key
|
|
86
|
-
const skMBuffer = await
|
|
84
|
+
const skMBuffer = await this.#keys.getAsync(`${account.toString()}-${keyPrefix}sk_m`);
|
|
87
85
|
if (!skMBuffer) {
|
|
88
86
|
throw new Error(`Could not find ${keyPrefix}sk_m for account ${account.toString()} whose address was successfully obtained with ${keyPrefix}pk_m_hash ${pkMHash.toString()}.`);
|
|
89
87
|
}
|
|
@@ -98,95 +96,92 @@ export class KeyStore {
|
|
|
98
96
|
return new KeyValidationRequest(pkM, skApp);
|
|
99
97
|
}
|
|
100
98
|
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const masterNullifierPublicKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-npk_m`);
|
|
99
|
+
* Gets the master nullifier public key for a given account.
|
|
100
|
+
* @throws If the account does not exist in the key store.
|
|
101
|
+
* @param account - The account address for which to retrieve the master nullifier public key.
|
|
102
|
+
* @returns The master nullifier public key for the account.
|
|
103
|
+
*/ async getMasterNullifierPublicKey(account) {
|
|
104
|
+
const masterNullifierPublicKeyBuffer = await this.#keys.getAsync(`${account.toString()}-npk_m`);
|
|
108
105
|
if (!masterNullifierPublicKeyBuffer) {
|
|
109
106
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
110
107
|
}
|
|
111
108
|
return Point.fromBuffer(masterNullifierPublicKeyBuffer);
|
|
112
109
|
}
|
|
113
110
|
/**
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const masterIncomingViewingPublicKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-ivpk_m`);
|
|
111
|
+
* Gets the master incoming viewing public key for a given account.
|
|
112
|
+
* @throws If the account does not exist in the key store.
|
|
113
|
+
* @param account - The account address for which to retrieve the master incoming viewing public key.
|
|
114
|
+
* @returns The master incoming viewing public key for the account.
|
|
115
|
+
*/ async getMasterIncomingViewingPublicKey(account) {
|
|
116
|
+
const masterIncomingViewingPublicKeyBuffer = await this.#keys.getAsync(`${account.toString()}-ivpk_m`);
|
|
121
117
|
if (!masterIncomingViewingPublicKeyBuffer) {
|
|
122
118
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
123
119
|
}
|
|
124
120
|
return Point.fromBuffer(masterIncomingViewingPublicKeyBuffer);
|
|
125
121
|
}
|
|
126
122
|
/**
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const masterOutgoingViewingPublicKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-ovpk_m`);
|
|
123
|
+
* Retrieves the master outgoing viewing public key.
|
|
124
|
+
* @throws If the account does not exist in the key store.
|
|
125
|
+
* @param account - The account to retrieve the master outgoing viewing key for.
|
|
126
|
+
* @returns A Promise that resolves to the master outgoing viewing key.
|
|
127
|
+
*/ async getMasterOutgoingViewingPublicKey(account) {
|
|
128
|
+
const masterOutgoingViewingPublicKeyBuffer = await this.#keys.getAsync(`${account.toString()}-ovpk_m`);
|
|
134
129
|
if (!masterOutgoingViewingPublicKeyBuffer) {
|
|
135
130
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
136
131
|
}
|
|
137
132
|
return Point.fromBuffer(masterOutgoingViewingPublicKeyBuffer);
|
|
138
133
|
}
|
|
139
134
|
/**
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const masterTaggingPublicKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-tpk_m`);
|
|
135
|
+
* Retrieves the master tagging public key.
|
|
136
|
+
* @throws If the account does not exist in the key store.
|
|
137
|
+
* @param account - The account to retrieve the master tagging key for.
|
|
138
|
+
* @returns A Promise that resolves to the master tagging key.
|
|
139
|
+
*/ async getMasterTaggingPublicKey(account) {
|
|
140
|
+
const masterTaggingPublicKeyBuffer = await this.#keys.getAsync(`${account.toString()}-tpk_m`);
|
|
147
141
|
if (!masterTaggingPublicKeyBuffer) {
|
|
148
142
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
149
143
|
}
|
|
150
144
|
return Point.fromBuffer(masterTaggingPublicKeyBuffer);
|
|
151
145
|
}
|
|
152
146
|
/**
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const masterIncomingViewingSecretKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-ivsk_m`);
|
|
147
|
+
* Retrieves master incoming viewing secret key.
|
|
148
|
+
* @throws If the account does not exist in the key store.
|
|
149
|
+
* @param account - The account to retrieve the master incoming viewing secret key for.
|
|
150
|
+
* @returns A Promise that resolves to the master incoming viewing secret key.
|
|
151
|
+
*/ async getMasterIncomingViewingSecretKey(account) {
|
|
152
|
+
const masterIncomingViewingSecretKeyBuffer = await this.#keys.getAsync(`${account.toString()}-ivsk_m`);
|
|
160
153
|
if (!masterIncomingViewingSecretKeyBuffer) {
|
|
161
154
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
162
155
|
}
|
|
163
156
|
return GrumpkinScalar.fromBuffer(masterIncomingViewingSecretKeyBuffer);
|
|
164
157
|
}
|
|
165
158
|
/**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const masterOutgoingViewingSecretKeyBuffer = await __classPrivateFieldGet(this, _KeyStore_keys, "f").getAsync(`${account.toString()}-ovsk_m`);
|
|
159
|
+
* Retrieves application outgoing viewing secret key.
|
|
160
|
+
* @throws If the account does not exist in the key store.
|
|
161
|
+
* @param account - The account to retrieve the application outgoing viewing secret key for.
|
|
162
|
+
* @param app - The application address to retrieve the outgoing viewing secret key for.
|
|
163
|
+
* @returns A Promise that resolves to the application outgoing viewing secret key.
|
|
164
|
+
*/ async getAppOutgoingViewingSecretKey(account, app) {
|
|
165
|
+
const masterOutgoingViewingSecretKeyBuffer = await this.#keys.getAsync(`${account.toString()}-ovsk_m`);
|
|
174
166
|
if (!masterOutgoingViewingSecretKeyBuffer) {
|
|
175
167
|
throw new Error(`Account ${account.toString()} does not exist. Registered accounts: ${await this.getAccounts()}.`);
|
|
176
168
|
}
|
|
177
169
|
const masterOutgoingViewingSecretKey = GrumpkinScalar.fromBuffer(masterOutgoingViewingSecretKeyBuffer);
|
|
178
|
-
return poseidon2HashWithSeparator([
|
|
170
|
+
return poseidon2HashWithSeparator([
|
|
171
|
+
masterOutgoingViewingSecretKey.hi,
|
|
172
|
+
masterOutgoingViewingSecretKey.lo,
|
|
173
|
+
app
|
|
174
|
+
], GeneratorIndex.OVSK_M);
|
|
179
175
|
}
|
|
180
176
|
/**
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
async getMasterSecretKey(pkM) {
|
|
177
|
+
* Retrieves the sk_m corresponding to the pk_m.
|
|
178
|
+
* @throws If the provided public key is not associated with any of the registered accounts.
|
|
179
|
+
* @param pkM - The master public key to get secret key for.
|
|
180
|
+
* @returns A Promise that resolves to sk_m.
|
|
181
|
+
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
182
|
+
*/ async getMasterSecretKey(pkM) {
|
|
188
183
|
const [keyPrefix, account] = await this.getKeyPrefixAndAccount(pkM);
|
|
189
|
-
const secretKeyBuffer = await
|
|
184
|
+
const secretKeyBuffer = await this.#keys.getAsync(`${account.toString()}-${keyPrefix}sk_m`);
|
|
190
185
|
if (!secretKeyBuffer) {
|
|
191
186
|
throw new Error(`Could not find ${keyPrefix}sk_m for ${keyPrefix}pk_m ${pkM.toString()}. This should not happen.`);
|
|
192
187
|
}
|
|
@@ -198,20 +193,22 @@ export class KeyStore {
|
|
|
198
193
|
return Promise.resolve(skM);
|
|
199
194
|
}
|
|
200
195
|
/**
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
async getKeyPrefixAndAccount(value) {
|
|
196
|
+
* Gets the key prefix and account address for a given value.
|
|
197
|
+
* @returns A tuple containing the key prefix and account address.
|
|
198
|
+
* @dev Note that this is quite inefficient but it should not matter because there should never be too many keys
|
|
199
|
+
* in the key store.
|
|
200
|
+
*/ async getKeyPrefixAndAccount(value) {
|
|
207
201
|
const valueBuffer = serializeToBuffer(value);
|
|
208
|
-
for await (const [key, val] of
|
|
202
|
+
for await (const [key, val] of this.#keys.entriesAsync()){
|
|
209
203
|
// Browser returns Uint8Array, Node.js returns Buffer
|
|
210
204
|
if (Buffer.from(val).equals(valueBuffer)) {
|
|
211
|
-
for (const prefix of KEY_PREFIXES)
|
|
205
|
+
for (const prefix of KEY_PREFIXES){
|
|
212
206
|
if (key.includes(`-${prefix}`)) {
|
|
213
207
|
const account = AztecAddress.fromString(key.split('-')[0]);
|
|
214
|
-
return [
|
|
208
|
+
return [
|
|
209
|
+
prefix,
|
|
210
|
+
account
|
|
211
|
+
];
|
|
215
212
|
}
|
|
216
213
|
}
|
|
217
214
|
}
|
|
@@ -219,5 +216,3 @@ export class KeyStore {
|
|
|
219
216
|
throw new Error(`Could not find key prefix.`);
|
|
220
217
|
}
|
|
221
218
|
}
|
|
222
|
-
_KeyStore_keys = new WeakMap();
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2tleV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLEVBQUUsRUFDRixjQUFjLEVBQ2QsY0FBYyxFQUNkLFlBQVksRUFFWixvQkFBb0IsRUFFcEIsS0FBSyxFQUNMLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdqRjs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0lBR25CLFlBQVksUUFBMkI7UUFGdkMsaUNBQXFDO1FBR25DLHVCQUFBLElBQUksa0JBQVMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBQSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxhQUFhO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQU0sRUFBRSxjQUE4QjtRQUM1RCxNQUFNLEVBQ0osd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLFVBQVUsR0FDWCxHQUFHLE1BQU0sVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXpCLE1BQU0sZUFBZSxHQUFH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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/key-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.77.0-testnet-ignition.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
17
17
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
18
18
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
19
|
-
"test": "
|
|
19
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
20
20
|
},
|
|
21
21
|
"inherits": [
|
|
22
22
|
"../package.common.json"
|
|
@@ -49,16 +49,16 @@
|
|
|
49
49
|
"reporters": [
|
|
50
50
|
"default"
|
|
51
51
|
],
|
|
52
|
-
"testTimeout":
|
|
52
|
+
"testTimeout": 120000,
|
|
53
53
|
"setupFiles": [
|
|
54
54
|
"../../foundation/src/jest/setup.mjs"
|
|
55
55
|
]
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@aztec/
|
|
59
|
-
"@aztec/
|
|
60
|
-
"@aztec/
|
|
61
|
-
"@aztec/
|
|
58
|
+
"@aztec/constants": "0.77.0-testnet-ignition.17",
|
|
59
|
+
"@aztec/foundation": "0.77.0-testnet-ignition.17",
|
|
60
|
+
"@aztec/kv-store": "0.77.0-testnet-ignition.17",
|
|
61
|
+
"@aztec/stdlib": "0.77.0-testnet-ignition.17",
|
|
62
62
|
"tslib": "^2.4.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
package/src/key_store.ts
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
4
|
+
import { toArray } from '@aztec/foundation/iterable';
|
|
5
|
+
import { type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import type { AztecAsyncKVStore, AztecAsyncMap } from '@aztec/kv-store';
|
|
7
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
+
import { CompleteAddress, type PartialAddress } from '@aztec/stdlib/contract';
|
|
9
|
+
import { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
2
10
|
import {
|
|
3
|
-
AztecAddress,
|
|
4
|
-
CompleteAddress,
|
|
5
|
-
Fr,
|
|
6
|
-
GeneratorIndex,
|
|
7
|
-
GrumpkinScalar,
|
|
8
11
|
KEY_PREFIXES,
|
|
9
12
|
type KeyPrefix,
|
|
10
|
-
|
|
11
|
-
type PartialAddress,
|
|
12
|
-
Point,
|
|
13
|
+
type PublicKey,
|
|
13
14
|
computeAppSecretKey,
|
|
14
15
|
deriveKeys,
|
|
15
16
|
derivePublicKeyFromSecretKey,
|
|
16
|
-
} from '@aztec/
|
|
17
|
-
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
18
|
-
import { toArray } from '@aztec/foundation/iterable';
|
|
19
|
-
import { type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
20
|
-
import { type AztecAsyncKVStore, type AztecAsyncMap } from '@aztec/kv-store';
|
|
17
|
+
} from '@aztec/stdlib/keys';
|
|
21
18
|
|
|
22
19
|
/**
|
|
23
20
|
* Used for managing keys. Can hold keys of multiple accounts.
|