diff --git a/lib/audit.js b/lib/audit.js index 12b0559..0ea2853 100644 --- a/lib/audit.js +++ b/lib/audit.js @@ -1,14 +1,19 @@ +const auditCore = require('hypercore-audit') + module.exports = async function * audit (store, { dryRun = false } = {}) { for await (const { discoveryKey } of store.storage.createCoreStream()) { - const core = store.get({ discoveryKey, active: false }) - await core.ready() + const storage = await store.storage.resume(discoveryKey) + + const rx = storage.read() + const authPromise = rx.getAuth() + rx.tryFlush() - yield { discoveryKey, key: core.key, audit: await core.core.audit({ dryRun }) } + const auth = await authPromise - try { - await core.close() - } catch { - // ignore if failed, we are auditing... + yield { + discoveryKey, + key: auth ? auth.key : null, + audit: await auditCore(storage, { dryRun }) } } } diff --git a/package.json b/package.json index 94622f6..2f14363 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dependencies": { "b4a": "^1.6.7", "hypercore": "^11.0.0", + "hypercore-audit": "^1.0.0", "hypercore-crypto": "^3.4.2", "hypercore-errors": "^1.4.0", "hypercore-id-encoding": "^1.3.0",