openzoo 0.50.72 → 0.50.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/botlog.js +14 -4
- package/lib/grokcli.js +4 -2
- package/package.json +1 -1
package/lib/botlog.js
CHANGED
|
@@ -59,15 +59,25 @@ export function makeBotLogger({ verbose = false, write = (m) => console.error(m)
|
|
|
59
59
|
* The block a new user needs before anything else. `balances` is optional
|
|
60
60
|
* ({ USDC, TOKEN } in USD) — printed as `?` when unknown so nothing is invented.
|
|
61
61
|
*/
|
|
62
|
-
export
|
|
62
|
+
export const MINTS = {
|
|
63
|
+
USDC: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
64
|
+
TOKEN: 'EVULoNF4DeMBN4dGiZiDfpiiTfNZgoCvXWWgaV3epump',
|
|
65
|
+
LEOS: '5xgsnby6P9zqGK71J7H4yJLxzqPvNbC7rDZxNzjHmj7e',
|
|
66
|
+
BASE_USDC: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
67
|
+
};
|
|
68
|
+
export function payBannerLines({ solana, evm, balances = null, whop = 'https://whop.com/staccoverflow/openzoo', chromeMode = 'own-profile', mints = MINTS } = {}) {
|
|
63
69
|
const usd = (v) => (typeof v === 'number' && Number.isFinite(v) ? `$${v >= 0.01 || v === 0 ? v.toFixed(2) : v.toFixed(4)}` : '?');
|
|
70
|
+
const units = (v) => (typeof v === 'number' && Number.isFinite(v) ? `${v} units` : '?');
|
|
64
71
|
const lines = [
|
|
65
72
|
'openzoo: HOW TO PAY — no account, no API key, every call is paid from this wallet:',
|
|
66
73
|
` Solana ${solana}`,
|
|
67
|
-
' send
|
|
74
|
+
' send any of these here:',
|
|
75
|
+
` USDC ${mints.USDC}`,
|
|
76
|
+
` TOKEN ${mints.TOKEN} (half price)`,
|
|
77
|
+
` LEOS ${mints.LEOS} (half price)`,
|
|
68
78
|
` Base ${evm}`,
|
|
69
|
-
|
|
70
|
-
balances ? ` balance Solana USDC ${usd(balances.USDC)} · TOKEN ${balances.TOKEN_UNITS
|
|
79
|
+
` USDC ${mints.BASE_USDC}`,
|
|
80
|
+
balances ? ` balance Solana USDC ${usd(balances.USDC)} · TOKEN ${units(balances.TOKEN_UNITS)} · LEOS ${units(balances.LEOS_UNITS)} · Base USDC ${usd(balances.BASE_USDC)} (recheck: openzoo balance)` : ' balance unknown right now — run: openzoo balance',
|
|
71
81
|
` card ${whop} — paste the Solana address above when it asks`,
|
|
72
82
|
];
|
|
73
83
|
if (chromeMode === 'own-profile') {
|
package/lib/grokcli.js
CHANGED
|
@@ -346,9 +346,11 @@ export async function runBot(argv = []) {
|
|
|
346
346
|
const within = (p, ms) => Promise.race([p, new Promise((_, rej) => setTimeout(() => rej(new Error('timeout')), ms))]);
|
|
347
347
|
const usdc = FUNDING_ASSETS.find((a) => a.symbol === 'USDC');
|
|
348
348
|
const tok = FUNDING_ASSETS.find((a) => a.symbol === 'TOKEN');
|
|
349
|
-
const
|
|
349
|
+
const leos = FUNDING_ASSETS.find((a) => a.symbol === 'LEOS');
|
|
350
|
+
const [u, t, l] = await within(Promise.all([
|
|
350
351
|
usdc ? tokenBalance(conn, w.keypair.publicKey, usdc.mint) : { ui: 0 },
|
|
351
352
|
tok ? tokenBalance(conn, w.keypair.publicKey, tok.mint) : { ui: 0 },
|
|
353
|
+
leos ? tokenBalance(conn, w.keypair.publicKey, leos.mint) : { ui: 0 },
|
|
352
354
|
]), 6000);
|
|
353
355
|
let baseUsdc = null;
|
|
354
356
|
try {
|
|
@@ -361,7 +363,7 @@ export async function runBot(argv = []) {
|
|
|
361
363
|
}
|
|
362
364
|
} catch { /* base unreachable: print ? */ }
|
|
363
365
|
// TOKEN is priced at the 402, not here: show units, never an invented $.
|
|
364
|
-
balances = { USDC: Number(u?.ui ?? 0), TOKEN_UNITS: t?.ui != null ? Number(t.ui) : null, BASE_USDC: baseUsdc };
|
|
366
|
+
balances = { USDC: Number(u?.ui ?? 0), TOKEN_UNITS: t?.ui != null ? Number(t.ui) : null, LEOS_UNITS: l?.ui != null ? Number(l.ui) : null, BASE_USDC: baseUsdc };
|
|
365
367
|
} catch { balances = null; }
|
|
366
368
|
let chromeMode = 'own-profile';
|
|
367
369
|
try { const { chromeStatus } = await import('./mcpbridge.js'); chromeMode = chromeStatus().mode; } catch { /* */ }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openzoo",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.73",
|
|
4
4
|
"description": "Local x402-paying proxy + MCP server for openzoo.fun — point any OpenAI-compatible harness (Cursor, Claude Code, aider, SDKs) at localhost and it pays per call from a local burner wallet. Solana and Base rails live; Robinhood experimental.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|