openzoo 0.50.3 → 0.50.4
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/bin/openzoo.js +2 -2
- package/lib/pay.js +12 -1
- package/lib/x402.js +1 -1
- package/package.json +1 -1
package/bin/openzoo.js
CHANGED
|
@@ -153,8 +153,8 @@ env:
|
|
|
153
153
|
OPENZOO_RAIL (unset — force a rail: solana | base | robinhood)
|
|
154
154
|
OPENZOO_BASE_RPC (https://mainnet.base.org) OPENZOO_RH_RPC (rpc.mainnet.chain.robinhood.com)
|
|
155
155
|
OPENZOO_MAX_USD_PER_CALL (unset — NO per-call ceiling; set to add one) OPENZOO_DEMO_MAX_USD (0.01)
|
|
156
|
-
OPENZOO_ENABLE_RH (
|
|
157
|
-
|
|
156
|
+
OPENZOO_ENABLE_RH (unset — every offered rail is a fallback, Robinhood tried LAST;
|
|
157
|
+
set 0 to drop Robinhood rows from default selection)
|
|
158
158
|
OPENZOO_TUNNEL_MAX_USD (unset — NO public-url session ceiling; set to add one) OPENZOO_TUNNEL_TOKEN (pin the api key)
|
|
159
159
|
OPENZOO_NO_TUNNEL (0 — set 1 for localhost-only, no public url)`;
|
|
160
160
|
|
package/lib/pay.js
CHANGED
|
@@ -138,7 +138,18 @@ export class PayClient {
|
|
|
138
138
|
this.walletPath = w.path;
|
|
139
139
|
this.connection = new Connection(config.rpcUrl, 'confirmed');
|
|
140
140
|
this.receipts = []; // last paid calls, newest last
|
|
141
|
-
|
|
141
|
+
// EVERY OFFERED RAIL IS A FALLBACK, INCLUDING ROBINHOOD.
|
|
142
|
+
//
|
|
143
|
+
// This was opt-IN (`=== '1'`), which silently deleted every Robinhood row
|
|
144
|
+
// from the candidate list. A wallet holding USDG on Robinhood Chain and
|
|
145
|
+
// nothing else therefore failed with "no payable rail" while sitting on the
|
|
146
|
+
// funds to pay — the exact failure the best-first loop below exists to
|
|
147
|
+
// prevent, reintroduced one layer above it.
|
|
148
|
+
//
|
|
149
|
+
// Robinhood is still ORDERED LAST in orderAccepts(), so this changes only
|
|
150
|
+
// what happens when the rails ahead of it cannot pay. Opt out with
|
|
151
|
+
// OPENZOO_ENABLE_RH=0.
|
|
152
|
+
this.allowRH = process.env.OPENZOO_ENABLE_RH !== '0';
|
|
142
153
|
}
|
|
143
154
|
|
|
144
155
|
get address() { return this.keypair.publicKey.toBase58(); }
|
package/lib/x402.js
CHANGED
|
@@ -204,7 +204,7 @@ export function orderAccepts(body, preferredSymbol, { allowRH = false, forceRail
|
|
|
204
204
|
];
|
|
205
205
|
if (!out.length) {
|
|
206
206
|
throw new Error(rows.some((a) => railOf(a) === 'robinhood')
|
|
207
|
-
? 'only Robinhood Chain rails offered
|
|
207
|
+
? 'only Robinhood Chain rails offered, and they are disabled by OPENZOO_ENABLE_RH=0 — unset it to let them through (the rail settles; the wallet must hold USDG on Robinhood Chain)'
|
|
208
208
|
: 'no payable rail in 402 accepts[]');
|
|
209
209
|
}
|
|
210
210
|
return out;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openzoo",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.4",
|
|
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",
|