// Generated, do not edit. sha256:3babd66c28c9f09e458e639e8c0ca81825c815be279b32e296b0e13ec48e11ca import { services } from '../../server/registers.mjs'; function pubkeyUit(uri) { const m = /^nostr\+?walletconnect:\/\/([^?/]+)/i.exec(String(uri || '').trim()); if (!m) throw new Error('Ongeldige NWC-URI (verwacht nostr+walletconnect://…?relay=…&secret=…).'); return m[1].toLowerCase(); } export function createNwcApiFake() { const opslag = new Map(); const calls = { setUri: [], purgeUri: [], validateUri: [], call: [] }; const fout = { setUri: null, purgeUri: null }; const exports = { async validateNwcUri(uri) { calls.validateUri.push(uri); return { walletPubkey: pubkeyUit(uri), relays: ['wss://relay.test'] }; }, async setNwcUri(sourceId, uri) { calls.setUri.push([Number(sourceId), uri]); if (fout.setUri) throw new Error(fout.setUri); const walletPubkey = pubkeyUit(uri); opslag.set(Number(sourceId), String(uri)); return { source: Number(sourceId), uri_set: true, walletPubkey }; }, async deleteNwcUri(sourceId) { calls.purgeUri.push(Number(sourceId)); if (fout.purgeUri) throw new Error(fout.purgeUri); opslag.delete(Number(sourceId)); return { source: Number(sourceId), deleted: true }; }, async nwcStatus(sourceId) { const uri = opslag.get(Number(sourceId)); return { source: Number(sourceId), uri_set: !!uri, walletPubkey: uri ? pubkeyUit(uri) : '' }; }, async nwcCall() { throw new Error('nwc-api-fake: een relay-call hoort niet in een datalaag-test.'); }, async getInfo() { return exports.nwcCall(); }, async getBalance() { return exports.nwcCall(); }, async listTransactions() { return exports.nwcCall(); }, async testNwc() { return exports.nwcCall(); }, }; const api = { exports, calls, registreer() { services.register({ id: 'nwc', feature: 'lightning', setNwcUri: exports.setNwcUri, deleteNwcUri: exports.deleteNwcUri }); return api; }, fout, geheim: sourceId => opslag.get(Number(sourceId)) ?? null, get ids() { return [...opslag.keys()]; }, leeg() { opslag.clear(); calls.setUri.length = 0; calls.purgeUri.length = 0; calls.validateUri.length = 0; fout.setUri = null; fout.purgeUri = null; }, }; return api; }