import { RocksdbGossipStore as NodeLNRocksdbGossipStore } from '@node-lightning/gossip-rocksdb'; import { NodeAnnouncementMessage } from '@node-lightning/wire'; enum Prefix { NodeId = 70, } export class RocksdbGossipStore extends NodeLNRocksdbGossipStore { public async findNodeIdByNick(nick: string): Promise { const key = Buffer.concat([ Buffer.from([Prefix.NodeId]), Buffer.from(nick), ]); const raw = await this._safeGet(key); if (!raw) return; return raw; } public async saveNodeIdByNick( msg: NodeAnnouncementMessage, nick: string, ): Promise { await this.saveNodeAnnouncement(msg); const value = msg.nodeId; const key = Buffer.concat([ Buffer.from([Prefix.NodeId]), Buffer.from(nick), ]); await this._db.put(key, value); } public async deleteNodeIdByNick(nick: string): Promise { const key = Buffer.concat([ Buffer.from([Prefix.NodeId]), Buffer.from(nick), ]); await this._db.del(key); } }