diff --git a/src/service.ts b/src/service.ts index b8d5a0a..10ec3aa 100644 --- a/src/service.ts +++ b/src/service.ts @@ -800,6 +800,25 @@ export class Service { } } + public async getAllSecretsFromDB(): Promise { + try { + const db = await Database.getInstance(); + const sharedSecrets: Record = await db.dumpStore('shared_secrets'); + const unconfirmedSecrets = await db.dumpStore('unconfirmed_secrets'); + const secretsStore = { + shared_secrets: sharedSecrets, + unconfirmed_secrets: Object.values(unconfirmedSecrets), + }; + return secretsStore; + } catch (e) { + throw e; + } + } + + public loadSecretsInWasm(secretsStore: SecretsStore) { + wasm.set_shared_secrets(JSON.stringify(secretsStore)); + } + // Utility method: Create a test process async createTestProcess(processId: string): Promise { console.log(`🔧 Creating test process: ${processId}`); diff --git a/src/simple-server.ts b/src/simple-server.ts index c9dfc79..65f696d 100644 --- a/src/simple-server.ts +++ b/src/simple-server.ts @@ -426,6 +426,9 @@ export class Server { // Get all processes from database await service.getAllProcessesFromDb(); + const secretsStore = await service.getAllSecretsFromDB(); + + service.loadSecretsInWasm(secretsStore); // Connect to relays await service.connectToRelaysAndWaitForHandshake();