diff --git a/treasury/src/kv/vault.service.ts b/treasury/src/kv/vault.service.ts index ac60c813..814486ae 100644 --- a/treasury/src/kv/vault.service.ts +++ b/treasury/src/kv/vault.service.ts @@ -18,7 +18,7 @@ export class PrivateKeyService { this.initLogin(); } - public async getAsync(address: string, pkKey: string = 'private_key'): Promise { + public async getAsync(address: string, pkKey: string = this.pkKey): Promise { try { await this.getTokenAsync(); const { data } = await this.vault.read(`${this.privateKeyConfig.mountPath}/data/${address}`); @@ -29,9 +29,11 @@ export class PrivateKeyService { } } - public async setAsync(address: string, privateKey: string, pkKey: string = 'private_key'): Promise { + public async setAsync(address: string, privateKey: string, pkKey: string = this.pkKey): Promise { try { + await this.getTokenAsync(); + await this.vault.write(`${this.privateKeyConfig.mountPath}/data/${address}`, { data: { [pkKey]: privateKey } }); @@ -41,6 +43,20 @@ export class PrivateKeyService { } } + public async setDictAsync(address: string, keyVaulePair: Record): Promise { + try { + + await this.getTokenAsync(); + + await this.vault.write(`${this.privateKeyConfig.mountPath}/data/${address}`, { + data: { keyVaulePair } + }); + } + catch (error) { + this.handleVaultError(error); + } + } + private initLogin(): void { this.getTokenAsync = this.privateKeyConfig.isK8sAuthEnabled diff --git a/treasury/src/treasury/aztec/aztec.service.ts b/treasury/src/treasury/aztec/aztec.service.ts index 79aab944..aedf22d1 100644 --- a/treasury/src/treasury/aztec/aztec.service.ts +++ b/treasury/src/treasury/aztec/aztec.service.ts @@ -177,15 +177,17 @@ export class AztecTreasuryService extends TreasuryService { } async generate(): Promise { - + const prKey = Fr.random(); const salt = Fr.random(); - const addressResponse = await getSchnorrAccountContractAddress(prKey, salt); + const address = (await getSchnorrAccountContractAddress(prKey, salt)).toString(); - await this.privateKeyService.setAsync(addressResponse.toString(), prKey.toString()); - await this.privateKeyService.setAsync(addressResponse.toString(), salt.toString(), "private_salt"); + const dict: Record = { + "private_key": prKey.toString(), + "private_salt": salt.toString(), + }; - const address = addressResponse.toString() + await this.privateKeyService.setDictAsync(address.toString(), dict); await createStore(address, { dataDirectory: this.configService.storePath,