cryptoiz-mcp 4.15.1 → 4.15.2
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/index.js +17 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprot
|
|
|
9
9
|
import { Connection, Keypair, PublicKey, Transaction, SystemProgram, VersionedTransaction, TransactionMessage } from '@solana/web3.js';
|
|
10
10
|
import bs58 from 'bs58';
|
|
11
11
|
|
|
12
|
-
var VERSION = 'v4.15.
|
|
12
|
+
var VERSION = 'v4.15.2';
|
|
13
13
|
var GATEWAY = 'https://rehqwsypjnjirhuiapqh.supabase.co/functions/v1/mcp-x402-gateway';
|
|
14
14
|
var RECIPIENT = 'DsKmdkYx49Xc1WhqMUAztwhdYPTqieyC98VmnnJdgpXX';
|
|
15
15
|
var USDC_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
|
|
@@ -253,6 +253,22 @@ async function callTool(toolName, args) {
|
|
|
253
253
|
|
|
254
254
|
var resp2 = await fetch(url, { headers: headers2 });
|
|
255
255
|
|
|
256
|
+
// V2 settle failed? Auto-fallback to V1
|
|
257
|
+
if (resp2.status !== 200 && useV2) {
|
|
258
|
+
var v2ErrBody = await resp2.text();
|
|
259
|
+
console.error('[cryptoiz-mcp] V2 settle failed (' + resp2.status + '): ' + v2ErrBody.substring(0, 200));
|
|
260
|
+
console.error('[cryptoiz-mcp] Auto-fallback to V1 (sendUSDC on-chain)...');
|
|
261
|
+
|
|
262
|
+
// V1: send USDC on-chain, retry with x-payment
|
|
263
|
+
var fallbackSig = await sendUSDC(amount);
|
|
264
|
+
console.error('[cryptoiz-mcp] V1 fallback TX confirmed: ' + fallbackSig);
|
|
265
|
+
|
|
266
|
+
var v1FallbackPayload = { signature: fallbackSig };
|
|
267
|
+
var v1FallbackHeader = Buffer.from(JSON.stringify(v1FallbackPayload)).toString('base64');
|
|
268
|
+
|
|
269
|
+
resp2 = await fetch(url, { headers: { 'x-payment': v1FallbackHeader } });
|
|
270
|
+
}
|
|
271
|
+
|
|
256
272
|
if (resp2.status !== 200) {
|
|
257
273
|
var errBody = await resp2.text();
|
|
258
274
|
throw new Error('Payment failed (' + resp2.status + '): ' + errBody);
|
package/package.json
CHANGED