From 7c40346355346fb59a86d11cdbef1a7da00e8da8 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 5 Feb 2026 09:34:17 -0800 Subject: microsats --- lib/migrate.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'lib/migrate.ts') diff --git a/lib/migrate.ts b/lib/migrate.ts index fe804107..4b64bee5 100644 --- a/lib/migrate.ts +++ b/lib/migrate.ts @@ -7,6 +7,7 @@ import { tbSetBalance, tbSetPending, tbSetCredit, + tbMultiplyForMicrosats, } from "$lib/tb"; async function migrate(id) { @@ -105,4 +106,34 @@ export const migrateBalancesToTB = async () => { return count; }; +export const migrateToMicrosats = async () => { + const migrated = await db.get("tb:microsats"); + if (migrated) return 0; + + let count = 0; + + // Iterate through all users and multiply their TB balances + for await (const k of db.scanIterator({ MATCH: "user:*" })) { + try { + const raw = await db.get(k); + if (!raw) continue; + + // Skip user alias keys (they just contain another key reference) + if (!raw.startsWith("{")) continue; + + const user = JSON.parse(raw); + if (!user.id) continue; + + const multiplied = await tbMultiplyForMicrosats(user.id); + if (multiplied > 0) count++; + } catch (e) { + warn("microsats migration error", k, e.message); + } + } + + await db.set("tb:microsats", Date.now().toString()); + l(`Migrated ${count} users to microsats`); + return count; +}; + export default migrate; -- cgit v1.2.3