@x402scan/mcp 0.0.3 → 0.0.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.
@@ -1319,21 +1319,21 @@ var require_errors = __commonJS({
1319
1319
  function extendErrors({ gen: gen2, keyword, schemaValue, data, errsCount, it }) {
1320
1320
  if (errsCount === void 0)
1321
1321
  throw new Error("ajv implementation error");
1322
- const err = gen2.name("err");
1322
+ const err2 = gen2.name("err");
1323
1323
  gen2.forRange("i", errsCount, names_1.default.errors, (i) => {
1324
- gen2.const(err, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`);
1325
- gen2.if((0, codegen_1._)`${err}.instancePath === undefined`, () => gen2.assign((0, codegen_1._)`${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));
1326
- gen2.assign((0, codegen_1._)`${err}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`);
1324
+ gen2.const(err2, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`);
1325
+ gen2.if((0, codegen_1._)`${err2}.instancePath === undefined`, () => gen2.assign((0, codegen_1._)`${err2}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));
1326
+ gen2.assign((0, codegen_1._)`${err2}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`);
1327
1327
  if (it.opts.verbose) {
1328
- gen2.assign((0, codegen_1._)`${err}.schema`, schemaValue);
1329
- gen2.assign((0, codegen_1._)`${err}.data`, data);
1328
+ gen2.assign((0, codegen_1._)`${err2}.schema`, schemaValue);
1329
+ gen2.assign((0, codegen_1._)`${err2}.data`, data);
1330
1330
  }
1331
1331
  });
1332
1332
  }
1333
1333
  exports2.extendErrors = extendErrors;
1334
1334
  function addError(gen2, errObj) {
1335
- const err = gen2.const("err", errObj);
1336
- gen2.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen2.assign(names_1.default.vErrors, (0, codegen_1._)`[${err}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err})`);
1335
+ const err2 = gen2.const("err", errObj);
1336
+ gen2.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen2.assign(names_1.default.vErrors, (0, codegen_1._)`[${err2}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err2})`);
1337
1337
  gen2.code((0, codegen_1._)`${names_1.default.errors}++`);
1338
1338
  }
1339
1339
  function returnErrors(it, errs) {
@@ -6860,12 +6860,12 @@ var require_dist = __commonJS({
6860
6860
  throw new Error(`Unknown format "${name}"`);
6861
6861
  return f;
6862
6862
  };
6863
- function addFormats(ajv, list, fs8, exportName) {
6863
+ function addFormats(ajv, list, fs10, exportName) {
6864
6864
  var _a2;
6865
6865
  var _b;
6866
6866
  (_a2 = (_b = ajv.opts.code).formats) !== null && _a2 !== void 0 ? _a2 : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
6867
6867
  for (const f of list)
6868
- ajv.addFormat(f, fs8[f]);
6868
+ ajv.addFormat(f, fs10[f]);
6869
6869
  }
6870
6870
  module2.exports = exports2 = formatsPlugin;
6871
6871
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -6913,12 +6913,12 @@ var init_version = __esm({
6913
6913
  });
6914
6914
 
6915
6915
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/errors/base.js
6916
- function walk(err, fn) {
6917
- if (fn?.(err))
6918
- return err;
6919
- if (err && typeof err === "object" && "cause" in err && err.cause !== void 0)
6920
- return walk(err.cause, fn);
6921
- return fn ? null : err;
6916
+ function walk(err2, fn) {
6917
+ if (fn?.(err2))
6918
+ return err2;
6919
+ if (err2 && typeof err2 === "object" && "cause" in err2 && err2.cause !== void 0)
6920
+ return walk(err2.cause, fn);
6921
+ return fn ? null : err2;
6922
6922
  }
6923
6923
  var errorConfig, BaseError;
6924
6924
  var init_base = __esm({
@@ -11294,12 +11294,12 @@ var init_version3 = __esm({
11294
11294
  });
11295
11295
 
11296
11296
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.5/node_modules/viem/_esm/errors/base.js
11297
- function walk2(err, fn) {
11298
- if (fn?.(err))
11299
- return err;
11300
- if (err && typeof err === "object" && "cause" in err && err.cause !== void 0)
11301
- return walk2(err.cause, fn);
11302
- return fn ? null : err;
11297
+ function walk2(err2, fn) {
11298
+ if (fn?.(err2))
11299
+ return err2;
11300
+ if (err2 && typeof err2 === "object" && "cause" in err2 && err2.cause !== void 0)
11301
+ return walk2(err2.cause, fn);
11302
+ return fn ? null : err2;
11303
11303
  }
11304
11304
  var errorConfig2, BaseError3;
11305
11305
  var init_base2 = __esm({
@@ -13784,8 +13784,8 @@ ${prettyStateOverride(stateOverride)}`;
13784
13784
  formattedArgs && formattedArgs !== "()" ? ` ${[...Array(errorName?.length ?? 0).keys()].map(() => " ").join("")}${formattedArgs}` : ""
13785
13785
  ];
13786
13786
  }
13787
- } catch (err) {
13788
- cause = err;
13787
+ } catch (err2) {
13788
+ cause = err2;
13789
13789
  }
13790
13790
  } else if (message)
13791
13791
  reason = message;
@@ -14609,51 +14609,51 @@ var init_node = __esm({
14609
14609
  });
14610
14610
 
14611
14611
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.5/node_modules/viem/_esm/utils/errors/getNodeError.js
14612
- function getNodeError(err, args) {
14613
- const message = (err.details || "").toLowerCase();
14614
- const executionRevertedError = err instanceof BaseError3 ? err.walk((e2) => e2?.code === ExecutionRevertedError.code) : err;
14612
+ function getNodeError(err2, args) {
14613
+ const message = (err2.details || "").toLowerCase();
14614
+ const executionRevertedError = err2 instanceof BaseError3 ? err2.walk((e2) => e2?.code === ExecutionRevertedError.code) : err2;
14615
14615
  if (executionRevertedError instanceof BaseError3)
14616
14616
  return new ExecutionRevertedError({
14617
- cause: err,
14617
+ cause: err2,
14618
14618
  message: executionRevertedError.details
14619
14619
  });
14620
14620
  if (ExecutionRevertedError.nodeMessage.test(message))
14621
14621
  return new ExecutionRevertedError({
14622
- cause: err,
14623
- message: err.details
14622
+ cause: err2,
14623
+ message: err2.details
14624
14624
  });
14625
14625
  if (FeeCapTooHighError.nodeMessage.test(message))
14626
14626
  return new FeeCapTooHighError({
14627
- cause: err,
14627
+ cause: err2,
14628
14628
  maxFeePerGas: args?.maxFeePerGas
14629
14629
  });
14630
14630
  if (FeeCapTooLowError.nodeMessage.test(message))
14631
14631
  return new FeeCapTooLowError({
14632
- cause: err,
14632
+ cause: err2,
14633
14633
  maxFeePerGas: args?.maxFeePerGas
14634
14634
  });
14635
14635
  if (NonceTooHighError.nodeMessage.test(message))
14636
- return new NonceTooHighError({ cause: err, nonce: args?.nonce });
14636
+ return new NonceTooHighError({ cause: err2, nonce: args?.nonce });
14637
14637
  if (NonceTooLowError.nodeMessage.test(message))
14638
- return new NonceTooLowError({ cause: err, nonce: args?.nonce });
14638
+ return new NonceTooLowError({ cause: err2, nonce: args?.nonce });
14639
14639
  if (NonceMaxValueError.nodeMessage.test(message))
14640
- return new NonceMaxValueError({ cause: err, nonce: args?.nonce });
14640
+ return new NonceMaxValueError({ cause: err2, nonce: args?.nonce });
14641
14641
  if (InsufficientFundsError.nodeMessage.test(message))
14642
- return new InsufficientFundsError({ cause: err });
14642
+ return new InsufficientFundsError({ cause: err2 });
14643
14643
  if (IntrinsicGasTooHighError.nodeMessage.test(message))
14644
- return new IntrinsicGasTooHighError({ cause: err, gas: args?.gas });
14644
+ return new IntrinsicGasTooHighError({ cause: err2, gas: args?.gas });
14645
14645
  if (IntrinsicGasTooLowError.nodeMessage.test(message))
14646
- return new IntrinsicGasTooLowError({ cause: err, gas: args?.gas });
14646
+ return new IntrinsicGasTooLowError({ cause: err2, gas: args?.gas });
14647
14647
  if (TransactionTypeNotSupportedError.nodeMessage.test(message))
14648
- return new TransactionTypeNotSupportedError({ cause: err });
14648
+ return new TransactionTypeNotSupportedError({ cause: err2 });
14649
14649
  if (TipAboveFeeCapError.nodeMessage.test(message))
14650
14650
  return new TipAboveFeeCapError({
14651
- cause: err,
14651
+ cause: err2,
14652
14652
  maxFeePerGas: args?.maxFeePerGas,
14653
14653
  maxPriorityFeePerGas: args?.maxPriorityFeePerGas
14654
14654
  });
14655
14655
  return new UnknownNodeError({
14656
- cause: err
14656
+ cause: err2
14657
14657
  });
14658
14658
  }
14659
14659
  var init_getNodeError = __esm({
@@ -15053,12 +15053,12 @@ var init_errors2 = __esm({
15053
15053
  });
15054
15054
 
15055
15055
  // ../../../node_modules/.pnpm/ox@0.11.3_typescript@5.9.3_zod@4.3.5/node_modules/ox/_esm/core/Errors.js
15056
- function walk3(err, fn) {
15057
- if (fn?.(err))
15058
- return err;
15059
- if (err && typeof err === "object" && "cause" in err && err.cause)
15060
- return walk3(err.cause, fn);
15061
- return fn ? null : err;
15056
+ function walk3(err2, fn) {
15057
+ if (fn?.(err2))
15058
+ return err2;
15059
+ if (err2 && typeof err2 === "object" && "cause" in err2 && err2.cause)
15060
+ return walk3(err2.cause, fn);
15061
+ return fn ? null : err2;
15062
15062
  }
15063
15063
  var BaseError4;
15064
15064
  var init_Errors = __esm({
@@ -16454,11 +16454,11 @@ var init_getChainContractAddress = __esm({
16454
16454
  });
16455
16455
 
16456
16456
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.5/node_modules/viem/_esm/utils/errors/getCallError.js
16457
- function getCallError(err, { docsPath: docsPath8, ...args }) {
16457
+ function getCallError(err2, { docsPath: docsPath8, ...args }) {
16458
16458
  const cause = (() => {
16459
- const cause2 = getNodeError(err, args);
16459
+ const cause2 = getNodeError(err2, args);
16460
16460
  if (cause2 instanceof UnknownNodeError)
16461
- return err;
16461
+ return err2;
16462
16462
  return cause2;
16463
16463
  })();
16464
16464
  return new CallExecutionError(cause, {
@@ -16508,10 +16508,10 @@ function createBatchScheduler({ fn, id, shouldSplitBatch, wait: wait3 = 0, sort
16508
16508
  const { resolve } = scheduler[i];
16509
16509
  resolve?.([data[i], data]);
16510
16510
  }
16511
- }).catch((err) => {
16511
+ }).catch((err2) => {
16512
16512
  for (let i = 0; i < scheduler.length; i++) {
16513
16513
  const { reject } = scheduler[i];
16514
- reject?.(err);
16514
+ reject?.(err2);
16515
16515
  }
16516
16516
  });
16517
16517
  };
@@ -16712,9 +16712,9 @@ async function localBatchGatewayRequest(parameters) {
16712
16712
  try {
16713
16713
  responses[i] = query.urls.includes(localBatchGatewayUrl) ? await localBatchGatewayRequest({ data: query.data, ccipRequest: ccipRequest2 }) : await ccipRequest2(query);
16714
16714
  failures[i] = false;
16715
- } catch (err) {
16715
+ } catch (err2) {
16716
16716
  failures[i] = true;
16717
- responses[i] = encodeError(err);
16717
+ responses[i] = encodeError(err2);
16718
16718
  }
16719
16719
  }));
16720
16720
  return encodeFunctionResult({
@@ -16783,10 +16783,10 @@ async function offchainLookup(client, { blockNumber, blockTag, data, to }) {
16783
16783
  to
16784
16784
  });
16785
16785
  return data_;
16786
- } catch (err) {
16786
+ } catch (err2) {
16787
16787
  throw new OffchainLookupError({
16788
16788
  callbackSelector,
16789
- cause: err,
16789
+ cause: err2,
16790
16790
  data,
16791
16791
  extraData,
16792
16792
  sender,
@@ -16831,10 +16831,10 @@ async function ccipRequest({ data, sender, urls }) {
16831
16831
  continue;
16832
16832
  }
16833
16833
  return result;
16834
- } catch (err) {
16834
+ } catch (err2) {
16835
16835
  error48 = new HttpRequestError({
16836
16836
  body,
16837
- details: err.message,
16837
+ details: err2.message,
16838
16838
  url: url2
16839
16839
  });
16840
16840
  }
@@ -16944,9 +16944,9 @@ async function call(client, args) {
16944
16944
  blockNumber,
16945
16945
  blockTag
16946
16946
  });
16947
- } catch (err) {
16948
- if (!(err instanceof ClientChainNotConfiguredError) && !(err instanceof ChainDoesNotSupportContract))
16949
- throw err;
16947
+ } catch (err2) {
16948
+ if (!(err2 instanceof ClientChainNotConfiguredError) && !(err2 instanceof ChainDoesNotSupportContract))
16949
+ throw err2;
16950
16950
  }
16951
16951
  }
16952
16952
  const params = (() => {
@@ -16969,14 +16969,14 @@ async function call(client, args) {
16969
16969
  if (response === "0x")
16970
16970
  return { data: void 0 };
16971
16971
  return { data: response };
16972
- } catch (err) {
16973
- const data2 = getRevertErrorData(err);
16972
+ } catch (err2) {
16973
+ const data2 = getRevertErrorData(err2);
16974
16974
  const { offchainLookup: offchainLookup2, offchainLookupSignature: offchainLookupSignature2 } = await Promise.resolve().then(() => (init_ccip2(), ccip_exports));
16975
16975
  if (client.ccipRead !== false && data2?.slice(0, 10) === offchainLookupSignature2 && to)
16976
16976
  return { data: await offchainLookup2(client, { data: data2, to }) };
16977
16977
  if (deploylessCall && data2?.slice(0, 10) === "0x101bb98d")
16978
16978
  throw new CounterfactualDeploymentFailedError({ factory });
16979
- throw getCallError(err, {
16979
+ throw getCallError(err2, {
16980
16980
  ...args,
16981
16981
  account,
16982
16982
  chain: client.chain
@@ -17077,10 +17077,10 @@ function toDeploylessCallViaFactoryData(parameters) {
17077
17077
  args: [to, data, factory, factoryData]
17078
17078
  });
17079
17079
  }
17080
- function getRevertErrorData(err) {
17081
- if (!(err instanceof BaseError3))
17080
+ function getRevertErrorData(err2) {
17081
+ if (!(err2 instanceof BaseError3))
17082
17082
  return void 0;
17083
- const error48 = err.walk();
17083
+ const error48 = err2.walk();
17084
17084
  return typeof error48?.data === "object" ? error48.data?.data : error48.data;
17085
17085
  }
17086
17086
  var init_call = __esm({
@@ -26531,11 +26531,11 @@ var tslib_es6_exports = {};
26531
26531
  __export(tslib_es6_exports, {
26532
26532
  __addDisposableResource: () => __addDisposableResource,
26533
26533
  __assign: () => __assign,
26534
- __asyncDelegator: () => __asyncDelegator,
26535
- __asyncGenerator: () => __asyncGenerator,
26536
- __asyncValues: () => __asyncValues,
26537
- __await: () => __await,
26538
- __awaiter: () => __awaiter,
26534
+ __asyncDelegator: () => __asyncDelegator2,
26535
+ __asyncGenerator: () => __asyncGenerator2,
26536
+ __asyncValues: () => __asyncValues2,
26537
+ __await: () => __await2,
26538
+ __awaiter: () => __awaiter2,
26539
26539
  __classPrivateFieldGet: () => __classPrivateFieldGet,
26540
26540
  __classPrivateFieldIn: () => __classPrivateFieldIn,
26541
26541
  __classPrivateFieldSet: () => __classPrivateFieldSet,
@@ -26559,7 +26559,7 @@ __export(tslib_es6_exports, {
26559
26559
  __spread: () => __spread,
26560
26560
  __spreadArray: () => __spreadArray,
26561
26561
  __spreadArrays: () => __spreadArrays,
26562
- __values: () => __values,
26562
+ __values: () => __values2,
26563
26563
  default: () => tslib_es6_default
26564
26564
  });
26565
26565
  function __extends(d2, b2) {
@@ -26642,7 +26642,7 @@ function __setFunctionName(f, name, prefix) {
26642
26642
  function __metadata(metadataKey, metadataValue) {
26643
26643
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
26644
26644
  }
26645
- function __awaiter(thisArg, _arguments, P2, generator) {
26645
+ function __awaiter2(thisArg, _arguments, P2, generator) {
26646
26646
  function adopt(value) {
26647
26647
  return value instanceof P2 ? value : new P2(function(resolve) {
26648
26648
  resolve(value);
@@ -26741,7 +26741,7 @@ function __generator(thisArg, body) {
26741
26741
  function __exportStar(m, o2) {
26742
26742
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o2, p)) __createBinding(o2, m, p);
26743
26743
  }
26744
- function __values(o2) {
26744
+ function __values2(o2) {
26745
26745
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o2[s], i = 0;
26746
26746
  if (m) return m.call(o2);
26747
26747
  if (o2 && typeof o2.length === "number") return {
@@ -26790,10 +26790,10 @@ function __spreadArray(to, from14, pack) {
26790
26790
  }
26791
26791
  return to.concat(ar || Array.prototype.slice.call(from14));
26792
26792
  }
26793
- function __await(v) {
26794
- return this instanceof __await ? (this.v = v, this) : new __await(v);
26793
+ function __await2(v) {
26794
+ return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
26795
26795
  }
26796
- function __asyncGenerator(thisArg, _arguments, generator) {
26796
+ function __asyncGenerator2(thisArg, _arguments, generator) {
26797
26797
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
26798
26798
  var g2 = generator.apply(thisArg, _arguments || []), i, q2 = [];
26799
26799
  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
@@ -26822,7 +26822,7 @@ function __asyncGenerator(thisArg, _arguments, generator) {
26822
26822
  }
26823
26823
  }
26824
26824
  function step(r2) {
26825
- r2.value instanceof __await ? Promise.resolve(r2.value.v).then(fulfill, reject) : settle(q2[0][2], r2);
26825
+ r2.value instanceof __await2 ? Promise.resolve(r2.value.v).then(fulfill, reject) : settle(q2[0][2], r2);
26826
26826
  }
26827
26827
  function fulfill(value) {
26828
26828
  resume("next", value);
@@ -26834,7 +26834,7 @@ function __asyncGenerator(thisArg, _arguments, generator) {
26834
26834
  if (f(v), q2.shift(), q2.length) resume(q2[0][0], q2[0][1]);
26835
26835
  }
26836
26836
  }
26837
- function __asyncDelegator(o2) {
26837
+ function __asyncDelegator2(o2) {
26838
26838
  var i, p;
26839
26839
  return i = {}, verb("next"), verb("throw", function(e2) {
26840
26840
  throw e2;
@@ -26843,14 +26843,14 @@ function __asyncDelegator(o2) {
26843
26843
  }, i;
26844
26844
  function verb(n, f) {
26845
26845
  i[n] = o2[n] ? function(v) {
26846
- return (p = !p) ? { value: __await(o2[n](v)), done: false } : f ? f(v) : v;
26846
+ return (p = !p) ? { value: __await2(o2[n](v)), done: false } : f ? f(v) : v;
26847
26847
  } : f;
26848
26848
  }
26849
26849
  }
26850
- function __asyncValues(o2) {
26850
+ function __asyncValues2(o2) {
26851
26851
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
26852
26852
  var m = o2[Symbol.asyncIterator], i;
26853
- return m ? m.call(o2) : (o2 = typeof __values === "function" ? __values(o2) : o2[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
26853
+ return m ? m.call(o2) : (o2 = typeof __values2 === "function" ? __values2(o2) : o2[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
26854
26854
  return this;
26855
26855
  }, i);
26856
26856
  function verb(n) {
@@ -27006,19 +27006,19 @@ var init_tslib_es6 = __esm({
27006
27006
  __decorate,
27007
27007
  __param,
27008
27008
  __metadata,
27009
- __awaiter,
27009
+ __awaiter: __awaiter2,
27010
27010
  __generator,
27011
27011
  __createBinding,
27012
27012
  __exportStar,
27013
- __values,
27013
+ __values: __values2,
27014
27014
  __read,
27015
27015
  __spread,
27016
27016
  __spreadArrays,
27017
27017
  __spreadArray,
27018
- __await,
27019
- __asyncGenerator,
27020
- __asyncDelegator,
27021
- __asyncValues,
27018
+ __await: __await2,
27019
+ __asyncGenerator: __asyncGenerator2,
27020
+ __asyncDelegator: __asyncDelegator2,
27021
+ __asyncValues: __asyncValues2,
27022
27022
  __makeTemplateObject,
27023
27023
  __importStar,
27024
27024
  __importDefault,
@@ -29701,7 +29701,7 @@ var require_abstract_coder = __commonJS({
29701
29701
  function toObject(names, items, deep) {
29702
29702
  if (names.indexOf(null) >= 0) {
29703
29703
  return items.map((item, index2) => {
29704
- if (item instanceof Result) {
29704
+ if (item instanceof Result2) {
29705
29705
  return toObject(getNames(item), item, deep);
29706
29706
  }
29707
29707
  return item;
@@ -29710,7 +29710,7 @@ var require_abstract_coder = __commonJS({
29710
29710
  return names.reduce((accum, name, index2) => {
29711
29711
  let item = items.getValue(name);
29712
29712
  if (!(name in accum)) {
29713
- if (deep && item instanceof Result) {
29713
+ if (deep && item instanceof Result2) {
29714
29714
  item = toObject(getNames(item), item, deep);
29715
29715
  }
29716
29716
  accum[name] = item;
@@ -29718,7 +29718,7 @@ var require_abstract_coder = __commonJS({
29718
29718
  return accum;
29719
29719
  }, {});
29720
29720
  }
29721
- var Result = class _Result extends Array {
29721
+ var Result2 = class _Result extends Array {
29722
29722
  // No longer used; but cannot be removed as it will remove the
29723
29723
  // #private field from the .d.ts which may break backwards
29724
29724
  // compatibility
@@ -29922,7 +29922,7 @@ var require_abstract_coder = __commonJS({
29922
29922
  return new _Result(_guard, items, keys);
29923
29923
  }
29924
29924
  };
29925
- exports2.Result = Result;
29925
+ exports2.Result = Result2;
29926
29926
  function checkResultErrors(result) {
29927
29927
  const errors = [];
29928
29928
  const checkErrors = function(path2, object3) {
@@ -37735,8 +37735,8 @@ var require_dist2 = __commonJS({
37735
37735
  }
37736
37736
  }
37737
37737
  info.type = type;
37738
- } catch (err) {
37739
- info.error = err;
37738
+ } catch (err2) {
37739
+ info.error = err2;
37740
37740
  }
37741
37741
  return info;
37742
37742
  });
@@ -48883,7 +48883,7 @@ var require_node_gyp_build = __commonJS({
48883
48883
  "../../../node_modules/.pnpm/node-gyp-build@4.8.4/node_modules/node-gyp-build/node-gyp-build.js"(exports2, module2) {
48884
48884
  "use strict";
48885
48885
  init_cjs_shims();
48886
- var fs8 = require("fs");
48886
+ var fs10 = require("fs");
48887
48887
  var path2 = require("path");
48888
48888
  var os2 = require("os");
48889
48889
  var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require;
@@ -48905,7 +48905,7 @@ var require_node_gyp_build = __commonJS({
48905
48905
  try {
48906
48906
  var name = runtimeRequire(path2.join(dir, "package.json")).name.toUpperCase().replace(/-/g, "_");
48907
48907
  if (process.env[name + "_PREBUILD"]) dir = process.env[name + "_PREBUILD"];
48908
- } catch (err) {
48908
+ } catch (err2) {
48909
48909
  }
48910
48910
  if (!prebuildsOnly) {
48911
48911
  var release = getFirst(path2.join(dir, "build/Release"), matchBuild);
@@ -48944,8 +48944,8 @@ var require_node_gyp_build = __commonJS({
48944
48944
  };
48945
48945
  function readdirSync(dir) {
48946
48946
  try {
48947
- return fs8.readdirSync(dir);
48948
- } catch (err) {
48947
+ return fs10.readdirSync(dir);
48948
+ } catch (err2) {
48949
48949
  return [];
48950
48950
  }
48951
48951
  }
@@ -49038,7 +49038,7 @@ var require_node_gyp_build = __commonJS({
49038
49038
  return typeof window !== "undefined" && window.process && window.process.type === "renderer";
49039
49039
  }
49040
49040
  function isAlpine(platform3) {
49041
- return platform3 === "linux" && fs8.existsSync("/etc/alpine-release");
49041
+ return platform3 === "linux" && fs10.existsSync("/etc/alpine-release");
49042
49042
  }
49043
49043
  load.parseTags = parseTags;
49044
49044
  load.matchTags = matchTags;
@@ -49461,9 +49461,9 @@ var require_permessage_deflate = __commonJS({
49461
49461
  */
49462
49462
  decompress(data, fin, callback) {
49463
49463
  zlibLimiter.add((done) => {
49464
- this._decompress(data, fin, (err, result) => {
49464
+ this._decompress(data, fin, (err2, result) => {
49465
49465
  done();
49466
- callback(err, result);
49466
+ callback(err2, result);
49467
49467
  });
49468
49468
  });
49469
49469
  }
@@ -49477,9 +49477,9 @@ var require_permessage_deflate = __commonJS({
49477
49477
  */
49478
49478
  compress(data, fin, callback) {
49479
49479
  zlibLimiter.add((done) => {
49480
- this._compress(data, fin, (err, result) => {
49480
+ this._compress(data, fin, (err2, result) => {
49481
49481
  done();
49482
- callback(err, result);
49482
+ callback(err2, result);
49483
49483
  });
49484
49484
  });
49485
49485
  }
@@ -49510,11 +49510,11 @@ var require_permessage_deflate = __commonJS({
49510
49510
  this._inflate.write(data);
49511
49511
  if (fin) this._inflate.write(TRAILER);
49512
49512
  this._inflate.flush(() => {
49513
- const err = this._inflate[kError];
49514
- if (err) {
49513
+ const err2 = this._inflate[kError];
49514
+ if (err2) {
49515
49515
  this._inflate.close();
49516
49516
  this._inflate = null;
49517
- callback(err);
49517
+ callback(err2);
49518
49518
  return;
49519
49519
  }
49520
49520
  const data2 = bufferUtil.concat(
@@ -49595,10 +49595,10 @@ var require_permessage_deflate = __commonJS({
49595
49595
  this.removeListener("data", inflateOnData);
49596
49596
  this.reset();
49597
49597
  }
49598
- function inflateOnError(err) {
49598
+ function inflateOnError(err2) {
49599
49599
  this[kPerMessageDeflate]._inflate = null;
49600
- err[kStatusCode] = 1007;
49601
- this[kCallback](err);
49600
+ err2[kStatusCode] = 1007;
49601
+ this[kCallback](err2);
49602
49602
  }
49603
49603
  }
49604
49604
  });
@@ -50269,8 +50269,8 @@ var require_receiver = __commonJS({
50269
50269
  */
50270
50270
  decompress(data, cb) {
50271
50271
  const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
50272
- perMessageDeflate.decompress(data, this._fin, (err, buf) => {
50273
- if (err) return cb(err);
50272
+ perMessageDeflate.decompress(data, this._fin, (err2, buf) => {
50273
+ if (err2) return cb(err2);
50274
50274
  if (buf.length) {
50275
50275
  this._messageLength += buf.length;
50276
50276
  if (this._messageLength > this._maxPayload && this._maxPayload > 0) {
@@ -50429,13 +50429,13 @@ var require_receiver = __commonJS({
50429
50429
  createError(ErrorCtor, message, prefix, statusCode, errorCode) {
50430
50430
  this._loop = false;
50431
50431
  this._errored = true;
50432
- const err = new ErrorCtor(
50432
+ const err2 = new ErrorCtor(
50433
50433
  prefix ? `Invalid WebSocket frame: ${message}` : message
50434
50434
  );
50435
- Error.captureStackTrace(err, this.createError);
50436
- err.code = errorCode;
50437
- err[kStatusCode] = statusCode;
50438
- return err;
50435
+ Error.captureStackTrace(err2, this.createError);
50436
+ err2.code = errorCode;
50437
+ err2[kStatusCode] = statusCode;
50438
+ return err2;
50439
50439
  }
50440
50440
  };
50441
50441
  module2.exports = Receiver;
@@ -50799,14 +50799,14 @@ var require_sender = __commonJS({
50799
50799
  this._deflating = true;
50800
50800
  perMessageDeflate.compress(data, options.fin, (_3, buf) => {
50801
50801
  if (this._socket.destroyed) {
50802
- const err = new Error(
50802
+ const err2 = new Error(
50803
50803
  "The socket was closed while data was being compressed"
50804
50804
  );
50805
- if (typeof cb === "function") cb(err);
50805
+ if (typeof cb === "function") cb(err2);
50806
50806
  for (let i = 0; i < this._queue.length; i++) {
50807
50807
  const params = this._queue[i];
50808
50808
  const callback = params[params.length - 1];
50809
- if (typeof callback === "function") callback(err);
50809
+ if (typeof callback === "function") callback(err2);
50810
50810
  }
50811
50811
  return;
50812
50812
  }
@@ -51502,8 +51502,8 @@ var require_websocket = __commonJS({
51502
51502
  return;
51503
51503
  }
51504
51504
  this._readyState = _WebSocket.CLOSING;
51505
- this._sender.close(code, data, !this._isServer, (err) => {
51506
- if (err) return;
51505
+ this._sender.close(code, data, !this._isServer, (err2) => {
51506
+ if (err2) return;
51507
51507
  this._closeFrameSent = true;
51508
51508
  if (this._closeFrameReceived || this._receiver._writableState.errorEmitted) {
51509
51509
  this._socket.end();
@@ -51772,11 +51772,11 @@ var require_websocket = __commonJS({
51772
51772
  invalidUrlMessage = "The URL contains a fragment identifier";
51773
51773
  }
51774
51774
  if (invalidUrlMessage) {
51775
- const err = new SyntaxError(invalidUrlMessage);
51775
+ const err2 = new SyntaxError(invalidUrlMessage);
51776
51776
  if (websocket._redirects === 0) {
51777
- throw err;
51777
+ throw err2;
51778
51778
  } else {
51779
- emitErrorAndClose(websocket, err);
51779
+ emitErrorAndClose(websocket, err2);
51780
51780
  return;
51781
51781
  }
51782
51782
  }
@@ -51871,10 +51871,10 @@ var require_websocket = __commonJS({
51871
51871
  abortHandshake(websocket, req, "Opening handshake has timed out");
51872
51872
  });
51873
51873
  }
51874
- req.on("error", (err) => {
51874
+ req.on("error", (err2) => {
51875
51875
  if (req === null || req[kAborted]) return;
51876
51876
  req = websocket._req = null;
51877
- emitErrorAndClose(websocket, err);
51877
+ emitErrorAndClose(websocket, err2);
51878
51878
  });
51879
51879
  req.on("response", (res) => {
51880
51880
  const location = res.headers.location;
@@ -51889,8 +51889,8 @@ var require_websocket = __commonJS({
51889
51889
  try {
51890
51890
  addr = new URL2(location, address);
51891
51891
  } catch (e2) {
51892
- const err = new SyntaxError(`Invalid URL: ${location}`);
51893
- emitErrorAndClose(websocket, err);
51892
+ const err2 = new SyntaxError(`Invalid URL: ${location}`);
51893
+ emitErrorAndClose(websocket, err2);
51894
51894
  return;
51895
51895
  }
51896
51896
  initAsClient(websocket, addr, protocols, options);
@@ -51942,7 +51942,7 @@ var require_websocket = __commonJS({
51942
51942
  let extensions;
51943
51943
  try {
51944
51944
  extensions = parse3(secWebSocketExtensions);
51945
- } catch (err) {
51945
+ } catch (err2) {
51946
51946
  const message = "Invalid Sec-WebSocket-Extensions header";
51947
51947
  abortHandshake(websocket, socket, message);
51948
51948
  return;
@@ -51955,7 +51955,7 @@ var require_websocket = __commonJS({
51955
51955
  }
51956
51956
  try {
51957
51957
  perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
51958
- } catch (err) {
51958
+ } catch (err2) {
51959
51959
  const message = "Invalid Sec-WebSocket-Extensions header";
51960
51960
  abortHandshake(websocket, socket, message);
51961
51961
  return;
@@ -51975,9 +51975,9 @@ var require_websocket = __commonJS({
51975
51975
  req.end();
51976
51976
  }
51977
51977
  }
51978
- function emitErrorAndClose(websocket, err) {
51978
+ function emitErrorAndClose(websocket, err2) {
51979
51979
  websocket._readyState = WebSocket.CLOSING;
51980
- websocket.emit("error", err);
51980
+ websocket.emit("error", err2);
51981
51981
  websocket.emitClose();
51982
51982
  }
51983
51983
  function netConnect(options) {
@@ -51993,17 +51993,17 @@ var require_websocket = __commonJS({
51993
51993
  }
51994
51994
  function abortHandshake(websocket, stream, message) {
51995
51995
  websocket._readyState = WebSocket.CLOSING;
51996
- const err = new Error(message);
51997
- Error.captureStackTrace(err, abortHandshake);
51996
+ const err2 = new Error(message);
51997
+ Error.captureStackTrace(err2, abortHandshake);
51998
51998
  if (stream.setHeader) {
51999
51999
  stream[kAborted] = true;
52000
52000
  stream.abort();
52001
52001
  if (stream.socket && !stream.socket.destroyed) {
52002
52002
  stream.socket.destroy();
52003
52003
  }
52004
- process.nextTick(emitErrorAndClose, websocket, err);
52004
+ process.nextTick(emitErrorAndClose, websocket, err2);
52005
52005
  } else {
52006
- stream.destroy(err);
52006
+ stream.destroy(err2);
52007
52007
  stream.once("error", websocket.emit.bind(websocket, "error"));
52008
52008
  stream.once("close", websocket.emitClose.bind(websocket));
52009
52009
  }
@@ -52015,10 +52015,10 @@ var require_websocket = __commonJS({
52015
52015
  else websocket._bufferedAmount += length;
52016
52016
  }
52017
52017
  if (cb) {
52018
- const err = new Error(
52018
+ const err2 = new Error(
52019
52019
  `WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`
52020
52020
  );
52021
- process.nextTick(cb, err);
52021
+ process.nextTick(cb, err2);
52022
52022
  }
52023
52023
  }
52024
52024
  function receiverOnConclude(code, reason) {
@@ -52036,14 +52036,14 @@ var require_websocket = __commonJS({
52036
52036
  const websocket = this[kWebSocket];
52037
52037
  if (!websocket.isPaused) websocket._socket.resume();
52038
52038
  }
52039
- function receiverOnError(err) {
52039
+ function receiverOnError(err2) {
52040
52040
  const websocket = this[kWebSocket];
52041
52041
  if (websocket._socket[kWebSocket] !== void 0) {
52042
52042
  websocket._socket.removeListener("data", socketOnData);
52043
52043
  process.nextTick(resume, websocket._socket);
52044
- websocket.close(err[kStatusCode]);
52044
+ websocket.close(err2[kStatusCode]);
52045
52045
  }
52046
- websocket.emit("error", err);
52046
+ websocket.emit("error", err2);
52047
52047
  }
52048
52048
  function receiverOnFinish() {
52049
52049
  this[kWebSocket].emitClose();
@@ -52119,11 +52119,11 @@ var require_stream = __commonJS({
52119
52119
  this.destroy();
52120
52120
  }
52121
52121
  }
52122
- function duplexOnError(err) {
52122
+ function duplexOnError(err2) {
52123
52123
  this.removeListener("error", duplexOnError);
52124
52124
  this.destroy();
52125
52125
  if (this.listenerCount("error") === 0) {
52126
- this.emit("error", err);
52126
+ this.emit("error", err2);
52127
52127
  }
52128
52128
  }
52129
52129
  function createWebSocketStream(ws, options) {
@@ -52139,28 +52139,28 @@ var require_stream = __commonJS({
52139
52139
  const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
52140
52140
  if (!duplex.push(data)) ws.pause();
52141
52141
  });
52142
- ws.once("error", function error48(err) {
52142
+ ws.once("error", function error48(err2) {
52143
52143
  if (duplex.destroyed) return;
52144
52144
  terminateOnDestroy = false;
52145
- duplex.destroy(err);
52145
+ duplex.destroy(err2);
52146
52146
  });
52147
52147
  ws.once("close", function close() {
52148
52148
  if (duplex.destroyed) return;
52149
52149
  duplex.push(null);
52150
52150
  });
52151
- duplex._destroy = function(err, callback) {
52151
+ duplex._destroy = function(err2, callback) {
52152
52152
  if (ws.readyState === ws.CLOSED) {
52153
- callback(err);
52153
+ callback(err2);
52154
52154
  process.nextTick(emitClose, duplex);
52155
52155
  return;
52156
52156
  }
52157
52157
  let called = false;
52158
- ws.once("error", function error48(err2) {
52158
+ ws.once("error", function error48(err3) {
52159
52159
  called = true;
52160
- callback(err2);
52160
+ callback(err3);
52161
52161
  });
52162
52162
  ws.once("close", function close() {
52163
- if (!called) callback(err);
52163
+ if (!called) callback(err2);
52164
52164
  process.nextTick(emitClose, duplex);
52165
52165
  });
52166
52166
  if (terminateOnDestroy) ws.terminate();
@@ -52478,7 +52478,7 @@ var require_websocket_server = __commonJS({
52478
52478
  if (secWebSocketProtocol !== void 0) {
52479
52479
  try {
52480
52480
  protocols = subprotocol.parse(secWebSocketProtocol);
52481
- } catch (err) {
52481
+ } catch (err2) {
52482
52482
  const message = "Invalid Sec-WebSocket-Protocol header";
52483
52483
  abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
52484
52484
  return;
@@ -52498,7 +52498,7 @@ var require_websocket_server = __commonJS({
52498
52498
  perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
52499
52499
  extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
52500
52500
  }
52501
- } catch (err) {
52501
+ } catch (err2) {
52502
52502
  const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
52503
52503
  abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
52504
52504
  return;
@@ -52627,9 +52627,9 @@ var require_websocket_server = __commonJS({
52627
52627
  }
52628
52628
  function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
52629
52629
  if (server.listenerCount("wsClientError")) {
52630
- const err = new Error(message);
52631
- Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
52632
- server.emit("wsClientError", err, socket, req);
52630
+ const err2 = new Error(message);
52631
+ Error.captureStackTrace(err2, abortHandshakeOrEmitwsClientError);
52632
+ server.emit("wsClientError", err2, socket, req);
52633
52633
  } else {
52634
52634
  abortHandshake(socket, code, message);
52635
52635
  }
@@ -59102,6 +59102,57 @@ var require_siwe = __commonJS({
59102
59102
  // src/run-server.ts
59103
59103
  init_cjs_shims();
59104
59104
 
59105
+ // src/lib/log.ts
59106
+ init_cjs_shims();
59107
+ var import_fs = require("fs");
59108
+
59109
+ // src/lib/fs.ts
59110
+ init_cjs_shims();
59111
+ var import_path = require("path");
59112
+ var import_os = require("os");
59113
+ var fs = __toESM(require("fs"), 1);
59114
+ var BASE_DIRECTORY = (0, import_path.join)((0, import_os.homedir)(), ".x402scan-mcp");
59115
+ if (!fs.existsSync(BASE_DIRECTORY)) {
59116
+ fs.mkdirSync(BASE_DIRECTORY, { recursive: true });
59117
+ }
59118
+ var configFile = (name) => {
59119
+ if (!fs.existsSync(BASE_DIRECTORY)) {
59120
+ fs.mkdirSync(BASE_DIRECTORY, { recursive: true });
59121
+ }
59122
+ const filePath = (0, import_path.join)(BASE_DIRECTORY, name);
59123
+ if (!fs.existsSync(filePath)) {
59124
+ fs.writeFileSync(filePath, "{}");
59125
+ }
59126
+ return filePath;
59127
+ };
59128
+
59129
+ // src/lib/log.ts
59130
+ var LOG_FILE = configFile("mcp.log");
59131
+ var DEBUG = process.env.X402_DEBUG === "true";
59132
+ function format(args) {
59133
+ return args.map(
59134
+ (a) => typeof a === "object" && a !== null ? JSON.stringify(a) : String(a)
59135
+ ).join(" ");
59136
+ }
59137
+ function write(level, msg, args) {
59138
+ const formatted = args.length ? `${msg} ${format(args)}` : msg;
59139
+ const line = `[${(/* @__PURE__ */ new Date()).toISOString()}] [${level}] ${formatted}
59140
+ `;
59141
+ try {
59142
+ (0, import_fs.appendFileSync)(LOG_FILE, line);
59143
+ } catch {
59144
+ }
59145
+ if (process.env.X402_DEBUG === "true") {
59146
+ console.error(`[x402scan] ${formatted}`);
59147
+ }
59148
+ }
59149
+ var log = {
59150
+ info: (msg, ...args) => write("INFO", msg, args),
59151
+ error: (msg, ...args) => write("ERROR", msg, args),
59152
+ debug: (msg, ...args) => DEBUG && write("DEBUG", msg, args),
59153
+ path: LOG_FILE
59154
+ };
59155
+
59105
59156
  // src/server/index.ts
59106
59157
  init_cjs_shims();
59107
59158
 
@@ -59759,8 +59810,8 @@ var ZodType = class {
59759
59810
  } : {
59760
59811
  issues: ctx.common.issues
59761
59812
  };
59762
- } catch (err) {
59763
- if (err?.message?.toLowerCase()?.includes("encountered")) {
59813
+ } catch (err2) {
59814
+ if (err2?.message?.toLowerCase()?.includes("encountered")) {
59764
59815
  this["~standard"].async = true;
59765
59816
  }
59766
59817
  ctx.common = {
@@ -83220,11 +83271,11 @@ init_contract();
83220
83271
  init_request();
83221
83272
  init_rpc();
83222
83273
  var EXECUTION_REVERTED_ERROR_CODE = 3;
83223
- function getContractError(err, { abi: abi2, address, args, docsPath: docsPath8, functionName, sender }) {
83224
- const error48 = err instanceof RawContractError ? err : err instanceof BaseError3 ? err.walk((err2) => "data" in err2) || err.walk() : {};
83274
+ function getContractError(err2, { abi: abi2, address, args, docsPath: docsPath8, functionName, sender }) {
83275
+ const error48 = err2 instanceof RawContractError ? err2 : err2 instanceof BaseError3 ? err2.walk((err3) => "data" in err3) || err2.walk() : {};
83225
83276
  const { code, data, details, message, shortMessage } = error48;
83226
83277
  const cause = (() => {
83227
- if (err instanceof AbiDecodingZeroDataError)
83278
+ if (err2 instanceof AbiDecodingZeroDataError)
83228
83279
  return new ContractFunctionZeroDataError({ functionName });
83229
83280
  if ([EXECUTION_REVERTED_ERROR_CODE, InternalRpcError.code].includes(code) && (data || details || message || shortMessage) || code === InvalidInputRpcError.code && details === "execution reverted" && data) {
83230
83281
  return new ContractFunctionRevertedError({
@@ -83234,7 +83285,7 @@ function getContractError(err, { abi: abi2, address, args, docsPath: docsPath8,
83234
83285
  message: error48 instanceof RpcRequestError ? details : shortMessage ?? message
83235
83286
  });
83236
83287
  }
83237
- return err;
83288
+ return err2;
83238
83289
  })();
83239
83290
  return new ContractFunctionExecutionError(cause, {
83240
83291
  abi: abi2,
@@ -83482,11 +83533,11 @@ var EstimateGasExecutionError = class extends BaseError3 {
83482
83533
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.5/node_modules/viem/_esm/utils/errors/getEstimateGasError.js
83483
83534
  init_node();
83484
83535
  init_getNodeError();
83485
- function getEstimateGasError(err, { docsPath: docsPath8, ...args }) {
83536
+ function getEstimateGasError(err2, { docsPath: docsPath8, ...args }) {
83486
83537
  const cause = (() => {
83487
- const cause2 = getNodeError(err, args);
83538
+ const cause2 = getNodeError(err2, args);
83488
83539
  if (cause2 instanceof UnknownNodeError)
83489
- return err;
83540
+ return err2;
83490
83541
  return cause2;
83491
83542
  })();
83492
83543
  return new EstimateGasExecutionError(cause, {
@@ -84023,11 +84074,11 @@ init_cjs_shims();
84023
84074
  init_node();
84024
84075
  init_transaction();
84025
84076
  init_getNodeError();
84026
- function getTransactionError(err, { docsPath: docsPath8, ...args }) {
84077
+ function getTransactionError(err2, { docsPath: docsPath8, ...args }) {
84027
84078
  const cause = (() => {
84028
- const cause2 = getNodeError(err, args);
84079
+ const cause2 = getNodeError(err2, args);
84029
84080
  if (cause2 instanceof UnknownNodeError)
84030
- return err;
84081
+ return err2;
84031
84082
  return cause2;
84032
84083
  })();
84033
84084
  return new TransactionExecutionError(cause, {
@@ -84145,8 +84196,8 @@ async function fillTransaction(client, parameters) {
84145
84196
  ...transaction
84146
84197
  }
84147
84198
  };
84148
- } catch (err) {
84149
- throw getTransactionError(err, {
84199
+ } catch (err2) {
84200
+ throw getTransactionError(err2, {
84150
84201
  ...parameters,
84151
84202
  chain: client.chain
84152
84203
  });
@@ -84422,8 +84473,8 @@ async function estimateGas(client, args) {
84422
84473
  rpcStateOverride
84423
84474
  ] : block ? [request, block] : [request]
84424
84475
  }));
84425
- } catch (err) {
84426
- throw getEstimateGasError(err, {
84476
+ } catch (err2) {
84477
+ throw getEstimateGasError(err2, {
84427
84478
  ...args,
84428
84479
  account,
84429
84480
  chain: client.chain
@@ -84521,16 +84572,16 @@ function decodeEventLog(parameters) {
84521
84572
  for (let i = 0; i < nonIndexedInputs.length; i++)
84522
84573
  args[nonIndexedInputs[i].name] = decodedData[i];
84523
84574
  }
84524
- } catch (err) {
84575
+ } catch (err2) {
84525
84576
  if (strict) {
84526
- if (err instanceof AbiDecodingDataSizeTooSmallError || err instanceof PositionOutOfBoundsError)
84577
+ if (err2 instanceof AbiDecodingDataSizeTooSmallError || err2 instanceof PositionOutOfBoundsError)
84527
84578
  throw new DecodeLogDataMismatch({
84528
84579
  abiItem,
84529
84580
  data,
84530
84581
  params: nonIndexedInputs,
84531
84582
  size: size2(data)
84532
84583
  });
84533
- throw err;
84584
+ throw err2;
84534
84585
  }
84535
84586
  }
84536
84587
  } else if (strict) {
@@ -85066,10 +85117,10 @@ function watchContractEvent(client, parameters) {
85066
85117
  else
85067
85118
  for (const log2 of logs)
85068
85119
  emit.onLogs([log2]);
85069
- } catch (err) {
85070
- if (filter && err instanceof InvalidInputRpcError)
85120
+ } catch (err2) {
85121
+ if (filter && err2 instanceof InvalidInputRpcError)
85071
85122
  initialized = false;
85072
- emit.onError?.(err);
85123
+ emit.onError?.(err2);
85073
85124
  }
85074
85125
  }, {
85075
85126
  emitOnBegin: true,
@@ -85132,14 +85183,14 @@ function watchContractEvent(client, parameters) {
85132
85183
  eventName: eventName2
85133
85184
  });
85134
85185
  emit.onLogs([formatted]);
85135
- } catch (err) {
85186
+ } catch (err2) {
85136
85187
  let eventName2;
85137
85188
  let isUnnamed;
85138
- if (err instanceof DecodeLogDataMismatch || err instanceof DecodeLogTopicsMismatch) {
85189
+ if (err2 instanceof DecodeLogDataMismatch || err2 instanceof DecodeLogTopicsMismatch) {
85139
85190
  if (strict_)
85140
85191
  return;
85141
- eventName2 = err.abiItem.name;
85142
- isUnnamed = err.abiItem.inputs?.some((x) => !("name" in x && x.name));
85192
+ eventName2 = err2.abiItem.name;
85193
+ isUnnamed = err2.abiItem.inputs?.some((x) => !("name" in x && x.name));
85143
85194
  }
85144
85195
  const formatted = formatLog(log2, {
85145
85196
  args: isUnnamed ? [] : {},
@@ -85155,8 +85206,8 @@ function watchContractEvent(client, parameters) {
85155
85206
  unsubscribe = unsubscribe_;
85156
85207
  if (!active)
85157
85208
  unsubscribe();
85158
- } catch (err) {
85159
- onError?.(err);
85209
+ } catch (err2) {
85210
+ onError?.(err2);
85160
85211
  }
85161
85212
  })();
85162
85213
  return () => unsubscribe();
@@ -85188,10 +85239,10 @@ function withRetry(fn, { delay: delay_ = 100, retryCount = 2, shouldRetry: shoul
85188
85239
  try {
85189
85240
  const data = await fn();
85190
85241
  resolve(data);
85191
- } catch (err) {
85192
- if (count < retryCount && await shouldRetry2({ count, error: err }))
85193
- return retry({ error: err });
85194
- reject(err);
85242
+ } catch (err2) {
85243
+ if (count < retryCount && await shouldRetry2({ count, error: err2 }))
85244
+ return retry({ error: err2 });
85245
+ reject(err2);
85195
85246
  }
85196
85247
  };
85197
85248
  attemptRetry();
@@ -85309,10 +85360,10 @@ init_toHex2();
85309
85360
  init_cjs_shims();
85310
85361
  init_base2();
85311
85362
  init_contract();
85312
- function isNullUniversalResolverError(err) {
85313
- if (!(err instanceof BaseError3))
85363
+ function isNullUniversalResolverError(err2) {
85364
+ if (!(err2 instanceof BaseError3))
85314
85365
  return false;
85315
- const cause = err.walk((e2) => e2 instanceof ContractFunctionRevertedError);
85366
+ const cause = err2.walk((e2) => e2 instanceof ContractFunctionRevertedError);
85316
85367
  if (!(cause instanceof ContractFunctionRevertedError))
85317
85368
  return false;
85318
85369
  if (cause.data?.errorName === "HttpError")
@@ -85469,12 +85520,12 @@ async function getEnsAddress(client, parameters) {
85469
85520
  if (trim(address) === "0x00")
85470
85521
  return null;
85471
85522
  return address;
85472
- } catch (err) {
85523
+ } catch (err2) {
85473
85524
  if (strict)
85474
- throw err;
85475
- if (isNullUniversalResolverError(err))
85525
+ throw err2;
85526
+ if (isNullUniversalResolverError(err2))
85476
85527
  return null;
85477
- throw err;
85528
+ throw err2;
85478
85529
  }
85479
85530
  }
85480
85531
 
@@ -85773,12 +85824,12 @@ async function getEnsText(client, parameters) {
85773
85824
  data: res[0]
85774
85825
  });
85775
85826
  return record2 === "" ? null : record2;
85776
- } catch (err) {
85827
+ } catch (err2) {
85777
85828
  if (strict)
85778
- throw err;
85779
- if (isNullUniversalResolverError(err))
85829
+ throw err2;
85830
+ if (isNullUniversalResolverError(err2))
85780
85831
  return null;
85781
- throw err;
85832
+ throw err2;
85782
85833
  }
85783
85834
  }
85784
85835
 
@@ -85836,12 +85887,12 @@ async function getEnsName(client, parameters) {
85836
85887
  const readContractAction = getAction(client, readContract, "readContract");
85837
85888
  const [name] = await readContractAction(readContractParameters);
85838
85889
  return name || null;
85839
- } catch (err) {
85890
+ } catch (err2) {
85840
85891
  if (strict)
85841
- throw err;
85842
- if (isNullUniversalResolverError(err))
85892
+ throw err2;
85893
+ if (isNullUniversalResolverError(err2))
85843
85894
  return null;
85844
- throw err;
85895
+ throw err2;
85845
85896
  }
85846
85897
  }
85847
85898
 
@@ -85931,8 +85982,8 @@ async function createAccessList(client, args) {
85931
85982
  accessList: response.accessList,
85932
85983
  gasUsed: BigInt(response.gasUsed)
85933
85984
  };
85934
- } catch (err) {
85935
- throw getCallError(err, {
85985
+ } catch (err2) {
85986
+ throw getCallError(err2, {
85936
85987
  ...args,
85937
85988
  account,
85938
85989
  chain: client.chain
@@ -86573,93 +86624,93 @@ function buildRequest(request, options = {}) {
86573
86624
  try {
86574
86625
  return await request(args);
86575
86626
  } catch (err_) {
86576
- const err = err_;
86577
- switch (err.code) {
86627
+ const err2 = err_;
86628
+ switch (err2.code) {
86578
86629
  // -32700
86579
86630
  case ParseRpcError.code:
86580
- throw new ParseRpcError(err);
86631
+ throw new ParseRpcError(err2);
86581
86632
  // -32600
86582
86633
  case InvalidRequestRpcError.code:
86583
- throw new InvalidRequestRpcError(err);
86634
+ throw new InvalidRequestRpcError(err2);
86584
86635
  // -32601
86585
86636
  case MethodNotFoundRpcError.code:
86586
- throw new MethodNotFoundRpcError(err, { method: args.method });
86637
+ throw new MethodNotFoundRpcError(err2, { method: args.method });
86587
86638
  // -32602
86588
86639
  case InvalidParamsRpcError.code:
86589
- throw new InvalidParamsRpcError(err);
86640
+ throw new InvalidParamsRpcError(err2);
86590
86641
  // -32603
86591
86642
  case InternalRpcError.code:
86592
- throw new InternalRpcError(err);
86643
+ throw new InternalRpcError(err2);
86593
86644
  // -32000
86594
86645
  case InvalidInputRpcError.code:
86595
- throw new InvalidInputRpcError(err);
86646
+ throw new InvalidInputRpcError(err2);
86596
86647
  // -32001
86597
86648
  case ResourceNotFoundRpcError.code:
86598
- throw new ResourceNotFoundRpcError(err);
86649
+ throw new ResourceNotFoundRpcError(err2);
86599
86650
  // -32002
86600
86651
  case ResourceUnavailableRpcError.code:
86601
- throw new ResourceUnavailableRpcError(err);
86652
+ throw new ResourceUnavailableRpcError(err2);
86602
86653
  // -32003
86603
86654
  case TransactionRejectedRpcError.code:
86604
- throw new TransactionRejectedRpcError(err);
86655
+ throw new TransactionRejectedRpcError(err2);
86605
86656
  // -32004
86606
86657
  case MethodNotSupportedRpcError.code:
86607
- throw new MethodNotSupportedRpcError(err, {
86658
+ throw new MethodNotSupportedRpcError(err2, {
86608
86659
  method: args.method
86609
86660
  });
86610
86661
  // -32005
86611
86662
  case LimitExceededRpcError.code:
86612
- throw new LimitExceededRpcError(err);
86663
+ throw new LimitExceededRpcError(err2);
86613
86664
  // -32006
86614
86665
  case JsonRpcVersionUnsupportedError.code:
86615
- throw new JsonRpcVersionUnsupportedError(err);
86666
+ throw new JsonRpcVersionUnsupportedError(err2);
86616
86667
  // 4001
86617
86668
  case UserRejectedRequestError.code:
86618
- throw new UserRejectedRequestError(err);
86669
+ throw new UserRejectedRequestError(err2);
86619
86670
  // 4100
86620
86671
  case UnauthorizedProviderError.code:
86621
- throw new UnauthorizedProviderError(err);
86672
+ throw new UnauthorizedProviderError(err2);
86622
86673
  // 4200
86623
86674
  case UnsupportedProviderMethodError.code:
86624
- throw new UnsupportedProviderMethodError(err);
86675
+ throw new UnsupportedProviderMethodError(err2);
86625
86676
  // 4900
86626
86677
  case ProviderDisconnectedError.code:
86627
- throw new ProviderDisconnectedError(err);
86678
+ throw new ProviderDisconnectedError(err2);
86628
86679
  // 4901
86629
86680
  case ChainDisconnectedError.code:
86630
- throw new ChainDisconnectedError(err);
86681
+ throw new ChainDisconnectedError(err2);
86631
86682
  // 4902
86632
86683
  case SwitchChainError.code:
86633
- throw new SwitchChainError(err);
86684
+ throw new SwitchChainError(err2);
86634
86685
  // 5700
86635
86686
  case UnsupportedNonOptionalCapabilityError.code:
86636
- throw new UnsupportedNonOptionalCapabilityError(err);
86687
+ throw new UnsupportedNonOptionalCapabilityError(err2);
86637
86688
  // 5710
86638
86689
  case UnsupportedChainIdError.code:
86639
- throw new UnsupportedChainIdError(err);
86690
+ throw new UnsupportedChainIdError(err2);
86640
86691
  // 5720
86641
86692
  case DuplicateIdError.code:
86642
- throw new DuplicateIdError(err);
86693
+ throw new DuplicateIdError(err2);
86643
86694
  // 5730
86644
86695
  case UnknownBundleIdError.code:
86645
- throw new UnknownBundleIdError(err);
86696
+ throw new UnknownBundleIdError(err2);
86646
86697
  // 5740
86647
86698
  case BundleTooLargeError.code:
86648
- throw new BundleTooLargeError(err);
86699
+ throw new BundleTooLargeError(err2);
86649
86700
  // 5750
86650
86701
  case AtomicReadyWalletRejectedUpgradeError.code:
86651
- throw new AtomicReadyWalletRejectedUpgradeError(err);
86702
+ throw new AtomicReadyWalletRejectedUpgradeError(err2);
86652
86703
  // 5760
86653
86704
  case AtomicityNotSupportedError.code:
86654
- throw new AtomicityNotSupportedError(err);
86705
+ throw new AtomicityNotSupportedError(err2);
86655
86706
  // CAIP-25: User Rejected Error
86656
86707
  // https://docs.walletconnect.com/2.0/specs/clients/sign/error-codes#rejected-caip-25
86657
86708
  case 5e3:
86658
- throw new UserRejectedRequestError(err);
86709
+ throw new UserRejectedRequestError(err2);
86659
86710
  default:
86660
86711
  if (err_ instanceof BaseError3)
86661
86712
  throw err_;
86662
- throw new UnknownRpcError(err);
86713
+ throw new UnknownRpcError(err2);
86663
86714
  }
86664
86715
  }
86665
86716
  }, {
@@ -86756,10 +86807,10 @@ function withTimeout(fn, { errorInstance = new Error("timed out"), timeout, sign
86756
86807
  }, timeout);
86757
86808
  }
86758
86809
  resolve(await fn({ signal: controller?.signal || null }));
86759
- } catch (err) {
86760
- if (err?.name === "AbortError")
86810
+ } catch (err2) {
86811
+ if (err2?.name === "AbortError")
86761
86812
  reject(errorInstance);
86762
- reject(err);
86813
+ reject(err2);
86763
86814
  } finally {
86764
86815
  clearTimeout(timeoutId);
86765
86816
  }
@@ -86833,9 +86884,9 @@ function getHttpRpcClient(url2, options = {}) {
86833
86884
  data = await response.text();
86834
86885
  try {
86835
86886
  data = JSON.parse(data || "{}");
86836
- } catch (err) {
86887
+ } catch (err2) {
86837
86888
  if (response.ok)
86838
- throw err;
86889
+ throw err2;
86839
86890
  data = { error: data };
86840
86891
  }
86841
86892
  }
@@ -86849,14 +86900,14 @@ function getHttpRpcClient(url2, options = {}) {
86849
86900
  });
86850
86901
  }
86851
86902
  return data;
86852
- } catch (err) {
86853
- if (err instanceof HttpRequestError)
86854
- throw err;
86855
- if (err instanceof TimeoutError)
86856
- throw err;
86903
+ } catch (err2) {
86904
+ if (err2 instanceof HttpRequestError)
86905
+ throw err2;
86906
+ if (err2 instanceof TimeoutError)
86907
+ throw err2;
86857
86908
  throw new HttpRequestError({
86858
86909
  body,
86859
- cause: err,
86910
+ cause: err2,
86860
86911
  url: url2
86861
86912
  });
86862
86913
  }
@@ -88934,8 +88985,8 @@ async function multicall(client, parameters) {
88934
88985
  target: address
88935
88986
  }
88936
88987
  ];
88937
- } catch (err) {
88938
- const error48 = getContractError(err, {
88988
+ } catch (err2) {
88989
+ const error48 = getContractError(err2, {
88939
88990
  abi: abi2,
88940
88991
  address,
88941
88992
  args,
@@ -88999,8 +89050,8 @@ async function multicall(client, parameters) {
88999
89050
  functionName
89000
89051
  });
89001
89052
  results.push(allowFailure ? { result: result2, status: "success" } : result2);
89002
- } catch (err) {
89003
- const error48 = getContractError(err, {
89053
+ } catch (err2) {
89054
+ const error48 = getContractError(err2, {
89004
89055
  abi: abi2,
89005
89056
  address,
89006
89057
  args,
@@ -90040,8 +90091,8 @@ function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onB
90040
90091
  emit.onBlockNumber(blockNumber, prevBlockNumber);
90041
90092
  prevBlockNumber = blockNumber;
90042
90093
  }
90043
- } catch (err) {
90044
- emit.onError?.(err);
90094
+ } catch (err2) {
90095
+ emit.onError?.(err2);
90045
90096
  }
90046
90097
  }, {
90047
90098
  emitOnBegin,
@@ -90085,8 +90136,8 @@ function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onB
90085
90136
  unsubscribe = unsubscribe_;
90086
90137
  if (!active)
90087
90138
  unsubscribe();
90088
- } catch (err) {
90089
- onError?.(err);
90139
+ } catch (err2) {
90140
+ onError?.(err2);
90090
90141
  }
90091
90142
  })();
90092
90143
  return () => unsubscribe();
@@ -90173,8 +90224,8 @@ async function waitForTransactionReceipt(client, parameters) {
90173
90224
  if (confirmations > 1 && (!receipt.blockNumber || blockNumber - receipt.blockNumber + 1n < confirmations))
90174
90225
  return;
90175
90226
  done(() => emit.resolve(receipt));
90176
- } catch (err) {
90177
- if (err instanceof TransactionNotFoundError || err instanceof TransactionReceiptNotFoundError) {
90227
+ } catch (err2) {
90228
+ if (err2 instanceof TransactionNotFoundError || err2 instanceof TransactionReceiptNotFoundError) {
90178
90229
  if (!transaction) {
90179
90230
  retrying = false;
90180
90231
  return;
@@ -90218,7 +90269,7 @@ async function waitForTransactionReceipt(client, parameters) {
90218
90269
  done(() => emit.reject(err_));
90219
90270
  }
90220
90271
  } else {
90221
- done(() => emit.reject(err));
90272
+ done(() => emit.reject(err2));
90222
90273
  }
90223
90274
  }
90224
90275
  }
@@ -90282,8 +90333,8 @@ function watchBlocks(client, { blockTag = client.experimental_blockTag ?? "lates
90282
90333
  emit.onBlock(block, prevBlock);
90283
90334
  prevBlock = block;
90284
90335
  }
90285
- } catch (err) {
90286
- emit.onError?.(err);
90336
+ } catch (err2) {
90337
+ emit.onError?.(err2);
90287
90338
  }
90288
90339
  }, {
90289
90340
  emitOnBegin,
@@ -90341,8 +90392,8 @@ function watchBlocks(client, { blockTag = client.experimental_blockTag ?? "lates
90341
90392
  unsubscribe = unsubscribe_;
90342
90393
  if (!active)
90343
90394
  unsubscribe();
90344
- } catch (err) {
90345
- onError?.(err);
90395
+ } catch (err2) {
90396
+ onError?.(err2);
90346
90397
  }
90347
90398
  })();
90348
90399
  return () => unsubscribe();
@@ -90428,10 +90479,10 @@ function watchEvent(client, { address, args, batch = true, event, events, fromBl
90428
90479
  else
90429
90480
  for (const log2 of logs)
90430
90481
  emit.onLogs([log2]);
90431
- } catch (err) {
90432
- if (filter && err instanceof InvalidInputRpcError)
90482
+ } catch (err2) {
90483
+ if (filter && err2 instanceof InvalidInputRpcError)
90433
90484
  initialized = false;
90434
- emit.onError?.(err);
90485
+ emit.onError?.(err2);
90435
90486
  }
90436
90487
  }, {
90437
90488
  emitOnBegin: true,
@@ -90485,14 +90536,14 @@ function watchEvent(client, { address, args, batch = true, event, events, fromBl
90485
90536
  });
90486
90537
  const formatted = formatLog(log2, { args: args2, eventName });
90487
90538
  onLogs([formatted]);
90488
- } catch (err) {
90539
+ } catch (err2) {
90489
90540
  let eventName;
90490
90541
  let isUnnamed;
90491
- if (err instanceof DecodeLogDataMismatch || err instanceof DecodeLogTopicsMismatch) {
90542
+ if (err2 instanceof DecodeLogDataMismatch || err2 instanceof DecodeLogTopicsMismatch) {
90492
90543
  if (strict_)
90493
90544
  return;
90494
- eventName = err.abiItem.name;
90495
- isUnnamed = err.abiItem.inputs?.some((x) => !("name" in x && x.name));
90545
+ eventName = err2.abiItem.name;
90546
+ isUnnamed = err2.abiItem.inputs?.some((x) => !("name" in x && x.name));
90496
90547
  }
90497
90548
  const formatted = formatLog(log2, {
90498
90549
  args: isUnnamed ? [] : {},
@@ -90508,8 +90559,8 @@ function watchEvent(client, { address, args, batch = true, event, events, fromBl
90508
90559
  unsubscribe = unsubscribe_;
90509
90560
  if (!active)
90510
90561
  unsubscribe();
90511
- } catch (err) {
90512
- onError?.(err);
90562
+ } catch (err2) {
90563
+ onError?.(err2);
90513
90564
  }
90514
90565
  })();
90515
90566
  return () => unsubscribe();
@@ -90537,9 +90588,9 @@ function watchPendingTransactions(client, { batch = true, onError, onTransaction
90537
90588
  try {
90538
90589
  filter = await getAction(client, createPendingTransactionFilter, "createPendingTransactionFilter")({});
90539
90590
  return;
90540
- } catch (err) {
90591
+ } catch (err2) {
90541
90592
  unwatch();
90542
- throw err;
90593
+ throw err2;
90543
90594
  }
90544
90595
  }
90545
90596
  const hashes = await getAction(client, getFilterChanges, "getFilterChanges")({ filter });
@@ -90550,8 +90601,8 @@ function watchPendingTransactions(client, { batch = true, onError, onTransaction
90550
90601
  else
90551
90602
  for (const hash4 of hashes)
90552
90603
  emit.onTransactions([hash4]);
90553
- } catch (err) {
90554
- emit.onError?.(err);
90604
+ } catch (err2) {
90605
+ emit.onError?.(err2);
90555
90606
  }
90556
90607
  }, {
90557
90608
  emitOnBegin: true,
@@ -90584,8 +90635,8 @@ function watchPendingTransactions(client, { batch = true, onError, onTransaction
90584
90635
  unsubscribe = unsubscribe_;
90585
90636
  if (!active)
90586
90637
  unsubscribe();
90587
- } catch (err) {
90588
- onError?.(err);
90638
+ } catch (err2) {
90639
+ onError?.(err2);
90589
90640
  }
90590
90641
  })();
90591
90642
  return () => unsubscribe();
@@ -90880,42 +90931,6 @@ var requestWithHeadersSchema = requestSchema.extend({
90880
90931
  // src/server/types.ts
90881
90932
  init_cjs_shims();
90882
90933
 
90883
- // src/lib/log.ts
90884
- init_cjs_shims();
90885
- var import_fs = require("fs");
90886
- var import_path = require("path");
90887
- var import_os = require("os");
90888
- var LOG_DIR = (0, import_path.join)((0, import_os.homedir)(), ".x402scan-mcp");
90889
- var LOG_FILE = (0, import_path.join)(LOG_DIR, "mcp.log");
90890
- var DEBUG = process.env.X402_DEBUG === "true";
90891
- try {
90892
- (0, import_fs.mkdirSync)(LOG_DIR, { recursive: true });
90893
- } catch {
90894
- }
90895
- function format(args) {
90896
- return args.map(
90897
- (a) => typeof a === "object" && a !== null ? JSON.stringify(a) : String(a)
90898
- ).join(" ");
90899
- }
90900
- function write(level, msg, args) {
90901
- const formatted = args.length ? `${msg} ${format(args)}` : msg;
90902
- const line = `[${(/* @__PURE__ */ new Date()).toISOString()}] [${level}] ${formatted}
90903
- `;
90904
- try {
90905
- (0, import_fs.appendFileSync)(LOG_FILE, line);
90906
- } catch {
90907
- }
90908
- if (process.env.X402_DEBUG === "true") {
90909
- console.error(`[x402scan] ${formatted}`);
90910
- }
90911
- }
90912
- var log = {
90913
- info: (msg, ...args) => write("INFO", msg, args),
90914
- error: (msg, ...args) => write("ERROR", msg, args),
90915
- debug: (msg, ...args) => DEBUG && write("DEBUG", msg, args),
90916
- path: LOG_FILE
90917
- };
90918
-
90919
90934
  // src/lib/networks.ts
90920
90935
  init_cjs_shims();
90921
90936
 
@@ -92203,10 +92218,597 @@ var open_default = open;
92203
92218
  // src/lib/wait.ts
92204
92219
  init_cjs_shims();
92205
92220
 
92221
+ // src/lib/redeem-invite.ts
92222
+ init_cjs_shims();
92223
+
92224
+ // ../../../node_modules/.pnpm/neverthrow@8.2.0/node_modules/neverthrow/dist/index.es.js
92225
+ init_cjs_shims();
92226
+ var defaultErrorConfig = {
92227
+ withStackTrace: false
92228
+ };
92229
+ var createNeverThrowError = (message, result, config2 = defaultErrorConfig) => {
92230
+ const data = result.isOk() ? { type: "Ok", value: result.value } : { type: "Err", value: result.error };
92231
+ const maybeStack = config2.withStackTrace ? new Error().stack : void 0;
92232
+ return {
92233
+ data,
92234
+ message,
92235
+ stack: maybeStack
92236
+ };
92237
+ };
92238
+ function __awaiter(thisArg, _arguments, P2, generator) {
92239
+ function adopt(value) {
92240
+ return value instanceof P2 ? value : new P2(function(resolve) {
92241
+ resolve(value);
92242
+ });
92243
+ }
92244
+ return new (P2 || (P2 = Promise))(function(resolve, reject) {
92245
+ function fulfilled(value) {
92246
+ try {
92247
+ step(generator.next(value));
92248
+ } catch (e2) {
92249
+ reject(e2);
92250
+ }
92251
+ }
92252
+ function rejected(value) {
92253
+ try {
92254
+ step(generator["throw"](value));
92255
+ } catch (e2) {
92256
+ reject(e2);
92257
+ }
92258
+ }
92259
+ function step(result) {
92260
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
92261
+ }
92262
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
92263
+ });
92264
+ }
92265
+ function __values(o2) {
92266
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o2[s], i = 0;
92267
+ if (m) return m.call(o2);
92268
+ if (o2 && typeof o2.length === "number") return {
92269
+ next: function() {
92270
+ if (o2 && i >= o2.length) o2 = void 0;
92271
+ return { value: o2 && o2[i++], done: !o2 };
92272
+ }
92273
+ };
92274
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
92275
+ }
92276
+ function __await(v) {
92277
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
92278
+ }
92279
+ function __asyncGenerator(thisArg, _arguments, generator) {
92280
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
92281
+ var g2 = generator.apply(thisArg, _arguments || []), i, q2 = [];
92282
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
92283
+ return this;
92284
+ }, i;
92285
+ function awaitReturn(f) {
92286
+ return function(v) {
92287
+ return Promise.resolve(v).then(f, reject);
92288
+ };
92289
+ }
92290
+ function verb(n, f) {
92291
+ if (g2[n]) {
92292
+ i[n] = function(v) {
92293
+ return new Promise(function(a, b2) {
92294
+ q2.push([n, v, a, b2]) > 1 || resume(n, v);
92295
+ });
92296
+ };
92297
+ if (f) i[n] = f(i[n]);
92298
+ }
92299
+ }
92300
+ function resume(n, v) {
92301
+ try {
92302
+ step(g2[n](v));
92303
+ } catch (e2) {
92304
+ settle(q2[0][3], e2);
92305
+ }
92306
+ }
92307
+ function step(r2) {
92308
+ r2.value instanceof __await ? Promise.resolve(r2.value.v).then(fulfill, reject) : settle(q2[0][2], r2);
92309
+ }
92310
+ function fulfill(value) {
92311
+ resume("next", value);
92312
+ }
92313
+ function reject(value) {
92314
+ resume("throw", value);
92315
+ }
92316
+ function settle(f, v) {
92317
+ if (f(v), q2.shift(), q2.length) resume(q2[0][0], q2[0][1]);
92318
+ }
92319
+ }
92320
+ function __asyncDelegator(o2) {
92321
+ var i, p;
92322
+ return i = {}, verb("next"), verb("throw", function(e2) {
92323
+ throw e2;
92324
+ }), verb("return"), i[Symbol.iterator] = function() {
92325
+ return this;
92326
+ }, i;
92327
+ function verb(n, f) {
92328
+ i[n] = o2[n] ? function(v) {
92329
+ return (p = !p) ? { value: __await(o2[n](v)), done: false } : f ? f(v) : v;
92330
+ } : f;
92331
+ }
92332
+ }
92333
+ function __asyncValues(o2) {
92334
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
92335
+ var m = o2[Symbol.asyncIterator], i;
92336
+ return m ? m.call(o2) : (o2 = typeof __values === "function" ? __values(o2) : o2[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
92337
+ return this;
92338
+ }, i);
92339
+ function verb(n) {
92340
+ i[n] = o2[n] && function(v) {
92341
+ return new Promise(function(resolve, reject) {
92342
+ v = o2[n](v), settle(resolve, reject, v.done, v.value);
92343
+ });
92344
+ };
92345
+ }
92346
+ function settle(resolve, reject, d2, v) {
92347
+ Promise.resolve(v).then(function(v2) {
92348
+ resolve({ value: v2, done: d2 });
92349
+ }, reject);
92350
+ }
92351
+ }
92352
+ var ResultAsync = class _ResultAsync {
92353
+ constructor(res) {
92354
+ this._promise = res;
92355
+ }
92356
+ static fromSafePromise(promise2) {
92357
+ const newPromise = promise2.then((value) => new Ok(value));
92358
+ return new _ResultAsync(newPromise);
92359
+ }
92360
+ static fromPromise(promise2, errorFn) {
92361
+ const newPromise = promise2.then((value) => new Ok(value)).catch((e2) => new Err(errorFn(e2)));
92362
+ return new _ResultAsync(newPromise);
92363
+ }
92364
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
92365
+ static fromThrowable(fn, errorFn) {
92366
+ return (...args) => {
92367
+ return new _ResultAsync((() => __awaiter(this, void 0, void 0, function* () {
92368
+ try {
92369
+ return new Ok(yield fn(...args));
92370
+ } catch (error48) {
92371
+ return new Err(errorFn ? errorFn(error48) : error48);
92372
+ }
92373
+ }))());
92374
+ };
92375
+ }
92376
+ static combine(asyncResultList) {
92377
+ return combineResultAsyncList(asyncResultList);
92378
+ }
92379
+ static combineWithAllErrors(asyncResultList) {
92380
+ return combineResultAsyncListWithAllErrors(asyncResultList);
92381
+ }
92382
+ map(f) {
92383
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92384
+ if (res.isErr()) {
92385
+ return new Err(res.error);
92386
+ }
92387
+ return new Ok(yield f(res.value));
92388
+ })));
92389
+ }
92390
+ andThrough(f) {
92391
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92392
+ if (res.isErr()) {
92393
+ return new Err(res.error);
92394
+ }
92395
+ const newRes = yield f(res.value);
92396
+ if (newRes.isErr()) {
92397
+ return new Err(newRes.error);
92398
+ }
92399
+ return new Ok(res.value);
92400
+ })));
92401
+ }
92402
+ andTee(f) {
92403
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92404
+ if (res.isErr()) {
92405
+ return new Err(res.error);
92406
+ }
92407
+ try {
92408
+ yield f(res.value);
92409
+ } catch (e2) {
92410
+ }
92411
+ return new Ok(res.value);
92412
+ })));
92413
+ }
92414
+ orTee(f) {
92415
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92416
+ if (res.isOk()) {
92417
+ return new Ok(res.value);
92418
+ }
92419
+ try {
92420
+ yield f(res.error);
92421
+ } catch (e2) {
92422
+ }
92423
+ return new Err(res.error);
92424
+ })));
92425
+ }
92426
+ mapErr(f) {
92427
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92428
+ if (res.isOk()) {
92429
+ return new Ok(res.value);
92430
+ }
92431
+ return new Err(yield f(res.error));
92432
+ })));
92433
+ }
92434
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92435
+ andThen(f) {
92436
+ return new _ResultAsync(this._promise.then((res) => {
92437
+ if (res.isErr()) {
92438
+ return new Err(res.error);
92439
+ }
92440
+ const newValue = f(res.value);
92441
+ return newValue instanceof _ResultAsync ? newValue._promise : newValue;
92442
+ }));
92443
+ }
92444
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92445
+ orElse(f) {
92446
+ return new _ResultAsync(this._promise.then((res) => __awaiter(this, void 0, void 0, function* () {
92447
+ if (res.isErr()) {
92448
+ return f(res.error);
92449
+ }
92450
+ return new Ok(res.value);
92451
+ })));
92452
+ }
92453
+ match(ok2, _err) {
92454
+ return this._promise.then((res) => res.match(ok2, _err));
92455
+ }
92456
+ unwrapOr(t) {
92457
+ return this._promise.then((res) => res.unwrapOr(t));
92458
+ }
92459
+ /**
92460
+ * @deprecated will be removed in 9.0.0.
92461
+ *
92462
+ * You can use `safeTry` without this method.
92463
+ * @example
92464
+ * ```typescript
92465
+ * safeTry(async function* () {
92466
+ * const okValue = yield* yourResult
92467
+ * })
92468
+ * ```
92469
+ * Emulates Rust's `?` operator in `safeTry`'s body. See also `safeTry`.
92470
+ */
92471
+ safeUnwrap() {
92472
+ return __asyncGenerator(this, arguments, function* safeUnwrap_1() {
92473
+ return yield __await(yield __await(yield* __asyncDelegator(__asyncValues(yield __await(this._promise.then((res) => res.safeUnwrap()))))));
92474
+ });
92475
+ }
92476
+ // Makes ResultAsync implement PromiseLike<Result>
92477
+ then(successCallback, failureCallback) {
92478
+ return this._promise.then(successCallback, failureCallback);
92479
+ }
92480
+ [Symbol.asyncIterator]() {
92481
+ return __asyncGenerator(this, arguments, function* _a2() {
92482
+ const result = yield __await(this._promise);
92483
+ if (result.isErr()) {
92484
+ yield yield __await(errAsync(result.error));
92485
+ }
92486
+ return yield __await(result.value);
92487
+ });
92488
+ }
92489
+ };
92490
+ function errAsync(err2) {
92491
+ return new ResultAsync(Promise.resolve(new Err(err2)));
92492
+ }
92493
+ var fromPromise = ResultAsync.fromPromise;
92494
+ var fromSafePromise = ResultAsync.fromSafePromise;
92495
+ var fromAsyncThrowable = ResultAsync.fromThrowable;
92496
+ var combineResultList = (resultList) => {
92497
+ let acc = ok([]);
92498
+ for (const result of resultList) {
92499
+ if (result.isErr()) {
92500
+ acc = err(result.error);
92501
+ break;
92502
+ } else {
92503
+ acc.map((list) => list.push(result.value));
92504
+ }
92505
+ }
92506
+ return acc;
92507
+ };
92508
+ var combineResultAsyncList = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultList);
92509
+ var combineResultListWithAllErrors = (resultList) => {
92510
+ let acc = ok([]);
92511
+ for (const result of resultList) {
92512
+ if (result.isErr() && acc.isErr()) {
92513
+ acc.error.push(result.error);
92514
+ } else if (result.isErr() && acc.isOk()) {
92515
+ acc = err([result.error]);
92516
+ } else if (result.isOk() && acc.isOk()) {
92517
+ acc.value.push(result.value);
92518
+ }
92519
+ }
92520
+ return acc;
92521
+ };
92522
+ var combineResultAsyncListWithAllErrors = (asyncResultList) => ResultAsync.fromSafePromise(Promise.all(asyncResultList)).andThen(combineResultListWithAllErrors);
92523
+ var Result;
92524
+ (function(Result2) {
92525
+ function fromThrowable2(fn, errorFn) {
92526
+ return (...args) => {
92527
+ try {
92528
+ const result = fn(...args);
92529
+ return ok(result);
92530
+ } catch (e2) {
92531
+ return err(errorFn ? errorFn(e2) : e2);
92532
+ }
92533
+ };
92534
+ }
92535
+ Result2.fromThrowable = fromThrowable2;
92536
+ function combine(resultList) {
92537
+ return combineResultList(resultList);
92538
+ }
92539
+ Result2.combine = combine;
92540
+ function combineWithAllErrors(resultList) {
92541
+ return combineResultListWithAllErrors(resultList);
92542
+ }
92543
+ Result2.combineWithAllErrors = combineWithAllErrors;
92544
+ })(Result || (Result = {}));
92545
+ function ok(value) {
92546
+ return new Ok(value);
92547
+ }
92548
+ function err(err2) {
92549
+ return new Err(err2);
92550
+ }
92551
+ var Ok = class {
92552
+ constructor(value) {
92553
+ this.value = value;
92554
+ }
92555
+ isOk() {
92556
+ return true;
92557
+ }
92558
+ isErr() {
92559
+ return !this.isOk();
92560
+ }
92561
+ map(f) {
92562
+ return ok(f(this.value));
92563
+ }
92564
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92565
+ mapErr(_f) {
92566
+ return ok(this.value);
92567
+ }
92568
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92569
+ andThen(f) {
92570
+ return f(this.value);
92571
+ }
92572
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92573
+ andThrough(f) {
92574
+ return f(this.value).map((_value) => this.value);
92575
+ }
92576
+ andTee(f) {
92577
+ try {
92578
+ f(this.value);
92579
+ } catch (e2) {
92580
+ }
92581
+ return ok(this.value);
92582
+ }
92583
+ orTee(_f) {
92584
+ return ok(this.value);
92585
+ }
92586
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92587
+ orElse(_f) {
92588
+ return ok(this.value);
92589
+ }
92590
+ asyncAndThen(f) {
92591
+ return f(this.value);
92592
+ }
92593
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92594
+ asyncAndThrough(f) {
92595
+ return f(this.value).map(() => this.value);
92596
+ }
92597
+ asyncMap(f) {
92598
+ return ResultAsync.fromSafePromise(f(this.value));
92599
+ }
92600
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92601
+ unwrapOr(_v) {
92602
+ return this.value;
92603
+ }
92604
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92605
+ match(ok2, _err) {
92606
+ return ok2(this.value);
92607
+ }
92608
+ safeUnwrap() {
92609
+ const value = this.value;
92610
+ return (function* () {
92611
+ return value;
92612
+ })();
92613
+ }
92614
+ _unsafeUnwrap(_3) {
92615
+ return this.value;
92616
+ }
92617
+ _unsafeUnwrapErr(config2) {
92618
+ throw createNeverThrowError("Called `_unsafeUnwrapErr` on an Ok", this, config2);
92619
+ }
92620
+ // eslint-disable-next-line @typescript-eslint/no-this-alias, require-yield
92621
+ *[Symbol.iterator]() {
92622
+ return this.value;
92623
+ }
92624
+ };
92625
+ var Err = class {
92626
+ constructor(error48) {
92627
+ this.error = error48;
92628
+ }
92629
+ isOk() {
92630
+ return false;
92631
+ }
92632
+ isErr() {
92633
+ return !this.isOk();
92634
+ }
92635
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92636
+ map(_f) {
92637
+ return err(this.error);
92638
+ }
92639
+ mapErr(f) {
92640
+ return err(f(this.error));
92641
+ }
92642
+ andThrough(_f) {
92643
+ return err(this.error);
92644
+ }
92645
+ andTee(_f) {
92646
+ return err(this.error);
92647
+ }
92648
+ orTee(f) {
92649
+ try {
92650
+ f(this.error);
92651
+ } catch (e2) {
92652
+ }
92653
+ return err(this.error);
92654
+ }
92655
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92656
+ andThen(_f) {
92657
+ return err(this.error);
92658
+ }
92659
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
92660
+ orElse(f) {
92661
+ return f(this.error);
92662
+ }
92663
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92664
+ asyncAndThen(_f) {
92665
+ return errAsync(this.error);
92666
+ }
92667
+ asyncAndThrough(_f) {
92668
+ return errAsync(this.error);
92669
+ }
92670
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
92671
+ asyncMap(_f) {
92672
+ return errAsync(this.error);
92673
+ }
92674
+ unwrapOr(v) {
92675
+ return v;
92676
+ }
92677
+ match(_ok, err2) {
92678
+ return err2(this.error);
92679
+ }
92680
+ safeUnwrap() {
92681
+ const error48 = this.error;
92682
+ return (function* () {
92683
+ yield err(error48);
92684
+ throw new Error("Do not use this generator out of `safeTry`");
92685
+ })();
92686
+ }
92687
+ _unsafeUnwrap(config2) {
92688
+ throw createNeverThrowError("Called `_unsafeUnwrap` on an Err", this, config2);
92689
+ }
92690
+ _unsafeUnwrapErr(_3) {
92691
+ return this.error;
92692
+ }
92693
+ *[Symbol.iterator]() {
92694
+ const self2 = this;
92695
+ yield self2;
92696
+ return self2;
92697
+ }
92698
+ };
92699
+ var fromThrowable = Result.fromThrowable;
92700
+
92701
+ // src/lib/safe-fetch.ts
92702
+ init_cjs_shims();
92703
+ function safeFetch(input, init) {
92704
+ return ResultAsync.fromPromise(
92705
+ fetch(input, init),
92706
+ (error48) => ({
92707
+ type: "network",
92708
+ message: "Network error",
92709
+ error: error48 instanceof Error ? error48 : new Error(String(error48))
92710
+ })
92711
+ );
92712
+ }
92713
+ var safeFetchJson = (input, init, errorMessage) => {
92714
+ return safeFetch(input, init).andThen((response) => {
92715
+ if (!response.ok) {
92716
+ return ResultAsync.fromSafePromise(
92717
+ response.json().catch(() => void 0)
92718
+ ).andThen(
92719
+ (json2) => err({
92720
+ type: "http",
92721
+ message: json2 !== void 0 && errorMessage ? errorMessage(json2) : response.statusText,
92722
+ status: response.status,
92723
+ headers: response.headers,
92724
+ json: json2
92725
+ })
92726
+ );
92727
+ }
92728
+ return ResultAsync.fromPromise(
92729
+ response.json(),
92730
+ (error48) => ({
92731
+ type: "parse",
92732
+ message: "Could not parse JSON from response",
92733
+ error: error48 instanceof Error ? error48 : new Error(String(error48))
92734
+ })
92735
+ );
92736
+ });
92737
+ };
92738
+
92739
+ // src/lib/utils.ts
92740
+ init_cjs_shims();
92741
+ var getBaseUrl = (dev) => {
92742
+ return dev ? "http://localhost:3000" : "https://x402scan.com";
92743
+ };
92744
+
92745
+ // src/lib/state.ts
92746
+ init_cjs_shims();
92747
+ var import_fs3 = __toESM(require("fs"), 1);
92748
+ var STATE_FILE = configFile("state.json");
92749
+ var stateSchema = zod_default.looseObject({
92750
+ redeemedCodes: zod_default.array(zod_default.string())
92751
+ }).partial();
92752
+ var getState = () => {
92753
+ if (!import_fs3.default.existsSync(STATE_FILE)) {
92754
+ import_fs3.default.writeFileSync(STATE_FILE, JSON.stringify({}));
92755
+ return {};
92756
+ }
92757
+ const result = stateSchema.safeParse(
92758
+ JSON.parse(import_fs3.default.readFileSync(STATE_FILE, "utf-8"))
92759
+ );
92760
+ if (!result.success) {
92761
+ log.error("Failed to parse state", { error: result.error });
92762
+ return {};
92763
+ }
92764
+ return result.data;
92765
+ };
92766
+ var setState = (state) => {
92767
+ const existing = getState();
92768
+ const newState = stateSchema.parse({ ...existing, ...state });
92769
+ import_fs3.default.writeFileSync(STATE_FILE, JSON.stringify(newState, null, 2));
92770
+ };
92771
+
92772
+ // src/lib/redeem-invite.ts
92773
+ var redeemInviteCode = async ({
92774
+ code,
92775
+ dev,
92776
+ address
92777
+ }) => {
92778
+ const state = getState();
92779
+ if (state.redeemedCodes?.includes(code)) {
92780
+ return Promise.resolve(
92781
+ errAsync({
92782
+ success: false,
92783
+ message: "This invite code has already been redeemed"
92784
+ })
92785
+ );
92786
+ }
92787
+ return await safeFetchJson(
92788
+ `${getBaseUrl(dev)}/api/invite/redeem`,
92789
+ {
92790
+ method: "POST",
92791
+ headers: {
92792
+ "Content-Type": "application/json"
92793
+ },
92794
+ body: JSON.stringify({
92795
+ code,
92796
+ recipientAddr: address
92797
+ })
92798
+ },
92799
+ ({ message }) => message
92800
+ ).andTee((result) => {
92801
+ if (result.success) {
92802
+ setState({
92803
+ redeemedCodes: [...state.redeemedCodes ?? [], code]
92804
+ });
92805
+ }
92806
+ });
92807
+ };
92808
+
92206
92809
  // src/lib/deposit.ts
92207
92810
  var getDepositLink = (address, flags) => {
92208
- const baseUrl = flags.dev ? "http://localhost:3000" : "https://x402scan.com";
92209
- return `${baseUrl}/deposit/${address}`;
92811
+ return `${getBaseUrl(flags.dev)}/deposit/${address}`;
92210
92812
  };
92211
92813
  var openDepositLink = async (address, flags) => {
92212
92814
  const depositLink = getDepositLink(address, flags);
@@ -92248,6 +92850,23 @@ You can deposit USDC at ${getDepositLink(address, flags)}`
92248
92850
  return balance;
92249
92851
  };
92250
92852
 
92853
+ // src/server/lib/parse-response.ts
92854
+ init_cjs_shims();
92855
+ var parseResponse = async (response) => {
92856
+ try {
92857
+ const contentType = response.headers.get("content-type") ?? "";
92858
+ if (contentType.includes("application/json")) {
92859
+ return await response.json();
92860
+ } else if (contentType.includes("image/")) {
92861
+ return await response.arrayBuffer();
92862
+ } else {
92863
+ return await response.text();
92864
+ }
92865
+ } catch {
92866
+ return void 0;
92867
+ }
92868
+ };
92869
+
92251
92870
  // src/server/tools/fetch-x402-resource.ts
92252
92871
  var registerFetchX402ResourceTool = ({
92253
92872
  server,
@@ -92300,9 +92919,8 @@ var registerFetchX402ResourceTool = ({
92300
92919
  }
92301
92920
  });
92302
92921
  if (!response.ok) {
92303
- const errorData = await response.text();
92304
92922
  const errorResponse = {
92305
- data: errorData,
92923
+ data: await parseResponse(response),
92306
92924
  statusCode: response.status,
92307
92925
  state
92308
92926
  };
@@ -92325,11 +92943,11 @@ var registerFetchX402ResourceTool = ({
92325
92943
  };
92326
92944
  const settlement = getSettlement();
92327
92945
  return mcpSuccess({
92328
- data: await response.text().catch(() => void 0),
92946
+ data: await parseResponse(response),
92329
92947
  payment: settlement
92330
92948
  });
92331
- } catch (err) {
92332
- return mcpError(err, { state });
92949
+ } catch (err2) {
92950
+ return mcpError(err2, { state });
92333
92951
  }
92334
92952
  }
92335
92953
  );
@@ -92862,8 +93480,8 @@ var registerAuthTools = ({ server, account }) => {
92862
93480
  chainId: serverInfo.chainId
92863
93481
  }
92864
93482
  });
92865
- } catch (err) {
92866
- return mcpError(err, { tool: "authed_call", url: url2 });
93483
+ } catch (err2) {
93484
+ return mcpError(err2, { tool: "authed_call", url: url2 });
92867
93485
  }
92868
93486
  }
92869
93487
  );
@@ -92967,8 +93585,131 @@ var registerCheckX402EndpointTool = ({ server }) => {
92967
93585
  statusCode: response.status,
92968
93586
  routeDetails
92969
93587
  });
92970
- } catch (err) {
92971
- return mcpError(err, { tool: "query_endpoint", url: url2 });
93588
+ } catch (err2) {
93589
+ return mcpError(err2, { tool: "query_endpoint", url: url2 });
93590
+ }
93591
+ }
93592
+ );
93593
+ };
93594
+
93595
+ // src/server/tools/redeem-invite.ts
93596
+ init_cjs_shims();
93597
+ var registerRedeemInviteTool = ({
93598
+ server,
93599
+ account: { address },
93600
+ flags
93601
+ }) => {
93602
+ const baseUrl = flags.dev ? "http://localhost:3000" : "https://x402scan.com";
93603
+ server.registerTool(
93604
+ "redeem_invite",
93605
+ {
93606
+ description: "Redeem an invite code to receive USDC.",
93607
+ inputSchema: zod_default.object({
93608
+ code: zod_default.string().min(1).describe("The invite code")
93609
+ })
93610
+ },
93611
+ async ({ code }) => {
93612
+ const res = await fetch(`${baseUrl}/api/invite/redeem`, {
93613
+ method: "POST",
93614
+ headers: { "Content-Type": "application/json" },
93615
+ body: JSON.stringify({ code, recipientAddr: address })
93616
+ });
93617
+ const data = await res.json();
93618
+ if (!data.success) {
93619
+ return mcpError(data.error ?? "Failed to redeem invite code");
93620
+ }
93621
+ return mcpSuccess({
93622
+ amount: `${data.amount} USDC`,
93623
+ txHash: data.txHash
93624
+ });
93625
+ }
93626
+ );
93627
+ };
93628
+
93629
+ // src/server/tools/telemetry.ts
93630
+ init_cjs_shims();
93631
+
93632
+ // src/server/lib/version.ts
93633
+ init_cjs_shims();
93634
+ var import_fs5 = require("fs");
93635
+ var import_path2 = require("path");
93636
+ var import_url = require("url");
93637
+ function getVersion2() {
93638
+ if (true) {
93639
+ return "0.0.4";
93640
+ }
93641
+ const __dirname3 = (0, import_path2.dirname)((0, import_url.fileURLToPath)(importMetaUrl));
93642
+ const pkg = JSON.parse(
93643
+ (0, import_fs5.readFileSync)((0, import_path2.join)(__dirname3, "../../../package.json"), "utf-8")
93644
+ );
93645
+ return pkg.version;
93646
+ }
93647
+ var MCP_VERSION = getVersion2();
93648
+
93649
+ // src/server/tools/telemetry.ts
93650
+ var errorReportSchema = external_exports3.object({
93651
+ tool: external_exports3.string().describe("MCP tool name"),
93652
+ resource: external_exports3.string().optional().describe("x402 resource URL"),
93653
+ summary: external_exports3.string().describe("1-2 sentence summary"),
93654
+ errorMessage: external_exports3.string().describe("Error message"),
93655
+ stack: external_exports3.string().optional().describe("Stack trace"),
93656
+ fullReport: external_exports3.string().optional().describe("Detailed report with context, logs, repro steps")
93657
+ });
93658
+ var registerTelemetryTools = ({
93659
+ server,
93660
+ account: { address },
93661
+ flags
93662
+ }) => {
93663
+ const baseUrl = flags.dev ? "http://localhost:3000" : "https://x402scan.com";
93664
+ server.registerTool(
93665
+ "report_error",
93666
+ {
93667
+ description: "EMERGENCY ONLY. Report critical MCP tool bugs. Do NOT use for normal errors (balance, network, 4xx) - those are recoverable.",
93668
+ inputSchema: errorReportSchema
93669
+ },
93670
+ async (input) => {
93671
+ try {
93672
+ log.info("Submitting error report", {
93673
+ tool: input.tool,
93674
+ resource: input.resource,
93675
+ summary: input.summary
93676
+ });
93677
+ const report = {
93678
+ ...input,
93679
+ walletAddress: address,
93680
+ mcpVersion: MCP_VERSION,
93681
+ reportedAt: (/* @__PURE__ */ new Date()).toISOString()
93682
+ };
93683
+ const response = await fetch(`${baseUrl}/api/telemetry`, {
93684
+ method: "POST",
93685
+ headers: {
93686
+ "Content-Type": "application/json"
93687
+ },
93688
+ body: JSON.stringify(report)
93689
+ });
93690
+ if (!response.ok) {
93691
+ const errorText = await response.text().catch(() => "Unknown error");
93692
+ log.error("Failed to submit error report", {
93693
+ status: response.status,
93694
+ error: errorText
93695
+ });
93696
+ return mcpError(
93697
+ `Failed to submit error report: ${response.status} ${errorText}`,
93698
+ { tool: "report_error" }
93699
+ );
93700
+ }
93701
+ const result = await response.json();
93702
+ log.info("Error report submitted successfully", {
93703
+ reportId: result.reportId
93704
+ });
93705
+ return mcpSuccess({
93706
+ submitted: true,
93707
+ reportId: result.reportId,
93708
+ message: "Error report submitted successfully. The x402scan team will investigate."
93709
+ });
93710
+ } catch (err2) {
93711
+ log.error("Failed to submit error report", { error: err2 });
93712
+ return mcpError(err2, { tool: "report_error" });
92972
93713
  }
92973
93714
  }
92974
93715
  );
@@ -93100,9 +93841,7 @@ var getResourceResponse = async (resource, response) => {
93100
93841
  // src/lib/wallet.ts
93101
93842
  init_cjs_shims();
93102
93843
  var import_crypto2 = require("crypto");
93103
- var fs7 = __toESM(require("fs/promises"), 1);
93104
- var import_path2 = require("path");
93105
- var import_os2 = require("os");
93844
+ var fs9 = __toESM(require("fs/promises"), 1);
93106
93845
 
93107
93846
  // ../../../node_modules/.pnpm/viem@2.44.1_bufferutil@4.0.9_typescript@5.9.3_utf-8-validate@5.0.10_zod@4.3.5/node_modules/viem/_esm/accounts/index.js
93108
93847
  init_cjs_shims();
@@ -93254,8 +93993,7 @@ function privateKeyToAccount(privateKey, options = {}) {
93254
93993
  }
93255
93994
 
93256
93995
  // src/lib/wallet.ts
93257
- var KEYSTORE_DIR = (0, import_path2.join)((0, import_os2.homedir)(), ".x402scan-mcp");
93258
- var KEYSTORE_FILE = (0, import_path2.join)(KEYSTORE_DIR, "wallet.json");
93996
+ var WALLET_FILE = configFile("wallet.json");
93259
93997
  var storedWalletSchema = zod_default.object({
93260
93998
  privateKey: ethereumPrivateKeySchema,
93261
93999
  address: ethereumAddressSchema,
@@ -93268,7 +94006,7 @@ async function getWallet() {
93268
94006
  return { account: account2, isNew: false };
93269
94007
  }
93270
94008
  try {
93271
- const data = await fs7.readFile(KEYSTORE_FILE, "utf-8");
94009
+ const data = await fs9.readFile(WALLET_FILE, "utf-8");
93272
94010
  const stored2 = storedWalletSchema.parse(JSON.parse(data));
93273
94011
  const account2 = privateKeyToAccount(stored2.privateKey);
93274
94012
  log.info(`Loaded wallet: ${account2.address}`);
@@ -93282,14 +94020,13 @@ async function getWallet() {
93282
94020
  address: account.address,
93283
94021
  createdAt: (/* @__PURE__ */ new Date()).toISOString()
93284
94022
  };
93285
- await fs7.mkdir(KEYSTORE_DIR, { recursive: true });
93286
- await fs7.writeFile(KEYSTORE_FILE, JSON.stringify(stored, null, 2));
94023
+ await fs9.writeFile(WALLET_FILE, JSON.stringify(stored, null, 2));
93287
94024
  try {
93288
- await fs7.chmod(KEYSTORE_FILE, 384);
94025
+ await fs9.chmod(WALLET_FILE, 384);
93289
94026
  } catch {
93290
94027
  }
93291
94028
  log.info(`Created wallet: ${account.address}`);
93292
- log.info(`Saved to: ${KEYSTORE_FILE}`);
94029
+ log.info(`Saved to: ${WALLET_FILE}`);
93293
94030
  return { account, isNew: true };
93294
94031
  }
93295
94032
 
@@ -93331,9 +94068,9 @@ async function lookupDnsTxtRecord(hostname3) {
93331
94068
  log.debug(`DNS TXT value is not a valid URL: ${txtValue}`);
93332
94069
  return null;
93333
94070
  }
93334
- } catch (err) {
94071
+ } catch (err2) {
93335
94072
  log.debug(
93336
- `DNS lookup error: ${err instanceof Error ? err.message : String(err)}`
94073
+ `DNS lookup error: ${err2 instanceof Error ? err2.message : String(err2)}`
93337
94074
  );
93338
94075
  return null;
93339
94076
  }
@@ -93356,10 +94093,10 @@ async function fetchLlmsTxt(origin) {
93356
94093
  return { found: false, error: "llms.txt is empty" };
93357
94094
  }
93358
94095
  return { found: true, content };
93359
- } catch (err) {
94096
+ } catch (err2) {
93360
94097
  return {
93361
94098
  found: false,
93362
- error: `Network error: ${err instanceof Error ? err.message : String(err)}`
94099
+ error: `Network error: ${err2 instanceof Error ? err2.message : String(err2)}`
93363
94100
  };
93364
94101
  }
93365
94102
  }
@@ -93396,10 +94133,10 @@ async function fetchDiscoveryFromUrl(url2) {
93396
94133
  };
93397
94134
  }
93398
94135
  return { found: true, document: parsed.data };
93399
- } catch (err) {
94136
+ } catch (err2) {
93400
94137
  return {
93401
94138
  found: false,
93402
- error: `Network error: ${err instanceof Error ? err.message : String(err)}`
94139
+ error: `Network error: ${err2 instanceof Error ? err2.message : String(err2)}`
93403
94140
  };
93404
94141
  }
93405
94142
  }
@@ -93491,11 +94228,11 @@ async function queryResource(url2) {
93491
94228
  resource.signInWithX = { required: true, info: siwx.info };
93492
94229
  }
93493
94230
  return resource;
93494
- } catch (err) {
94231
+ } catch (err2) {
93495
94232
  return {
93496
94233
  url: url2,
93497
94234
  isX402Endpoint: false,
93498
- error: err instanceof Error ? err.message : String(err)
94235
+ error: err2 instanceof Error ? err2.message : String(err2)
93499
94236
  };
93500
94237
  }
93501
94238
  }
@@ -93529,7 +94266,7 @@ function registerDiscoveryTools(server) {
93529
94266
  )
93530
94267
  }
93531
94268
  },
93532
- async ({ url: url2, testResources, concurrency }) => {
94269
+ async ({ url: url2, fanOut, concurrency }) => {
93533
94270
  try {
93534
94271
  const origin = getOrigin(url2);
93535
94272
  log.info(`Discovering resources for origin: ${origin}`);
@@ -93563,7 +94300,7 @@ function registerDiscoveryTools(server) {
93563
94300
  usage: "Use query_endpoint to get full pricing/requirements for a resource. Use execute_call (for payment) or authed_call (for SIWX auth) to call it.",
93564
94301
  resources: []
93565
94302
  };
93566
- if (!testResources) {
94303
+ if (!fanOut) {
93567
94304
  result.resources = doc.resources.map((resourceUrl) => ({
93568
94305
  url: resourceUrl
93569
94306
  }));
@@ -93580,8 +94317,8 @@ function registerDiscoveryTools(server) {
93580
94317
  }
93581
94318
  result.resources = allResources;
93582
94319
  return mcpSuccess(result);
93583
- } catch (err) {
93584
- return mcpError(err, { tool: "discover_resources", url: url2 });
94320
+ } catch (err2) {
94321
+ return mcpError(err2, { tool: "discover_resources", url: url2 });
93585
94322
  }
93586
94323
  }
93587
94324
  );
@@ -93604,11 +94341,20 @@ function getHostname(origin) {
93604
94341
  // src/server/index.ts
93605
94342
  var startServer = async (flags) => {
93606
94343
  log.info("Starting x402scan-mcp...");
94344
+ const { dev, invite } = flags;
93607
94345
  const { account } = await getWallet();
94346
+ const code = invite ?? process.env.INVITE_CODE;
94347
+ if (code) {
94348
+ await redeemInviteCode({
94349
+ code,
94350
+ dev,
94351
+ address: account.address
94352
+ });
94353
+ }
93608
94354
  const server = new McpServer(
93609
94355
  {
93610
94356
  name: "@x402scan/mcp",
93611
- version: "0.0.1",
94357
+ version: MCP_VERSION,
93612
94358
  websiteUrl: "https://x402scan.com/mcp",
93613
94359
  icons: [{ src: "https://x402scan.com/logo.svg" }]
93614
94360
  },
@@ -93630,7 +94376,9 @@ var startServer = async (flags) => {
93630
94376
  registerAuthTools(props);
93631
94377
  registerWalletTools(props);
93632
94378
  registerCheckX402EndpointTool(props);
94379
+ registerRedeemInviteTool(props);
93633
94380
  registerDiscoveryTools(server);
94381
+ registerTelemetryTools(props);
93634
94382
  await registerOrigins({ server, flags });
93635
94383
  const transport = new StdioServerTransport();
93636
94384
  await server.connect(transport);
@@ -93644,8 +94392,8 @@ var startServer = async (flags) => {
93644
94392
  };
93645
94393
 
93646
94394
  // src/run-server.ts
93647
- startServer({ dev: false }).catch((err) => {
93648
- console.error(err);
94395
+ startServer({ dev: false }).catch((err2) => {
94396
+ log.error(String(err2));
93649
94397
  process.exit(1);
93650
94398
  });
93651
94399
  /*! Bundled license information: