Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,61 @@
|
||||
// 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;
|
||||
}
|
||||
Reference in new issue
Block a user