INNER CODE UNIT · JavaScript
saveCfg
pamgarcia1993/robinhood-lp-bot · legacy/bot.js:32
const saveCfg = () => {
cfg.telegramChatId = chatId;
let disk = {}; try { disk = JSON.parse(fs.readFileSync(CFG, "utf8")); } catch { /* baru */ }
const merged = { ...disk, ...cfg, lp: { ...(disk.lp || {}), ...(cfg.lp || {}) }, contracts: { ...(disk.contracts || {}), ...(cfg.contracts || {}) } };
fs.writeFileSync(CFG, JSON.stringify(merged, null, 2));
};
const pending = new Map(); // chat → { token, pools }
const exp = (n) => cfg.explorer + "/tx/" + n;
async function onCA(addr) {
await send(`🔎 <b>Cari pool</b> di Robinhood Chain\n<code>${addr}</code>`);
let meta, pools;
try { meta = await CH.tokenMeta(addr); pools = await CH.findPools(addr); }
catch (e) { return send(`❌ Gagal baca token/pool: ${String(e.message).slice(0, 80)}`); }
if (!pools.length) return send(`⚠️ Tidak ada pool ${meta.symbol}/WETH yang punya likuiditas. Belum bisa LP.`);
pending.set(chatId, { token: addr, meta, pools });
const rows = pools.map((p, i) => [{ text: `${i + 1}. fee ${(p.fee / 10000).toFixed(2)}% · WETH ${p.wethInPool.toFixed(3)}`, callback_data: `pool:${i}` }]);