@aibtc/mcp-server 1.23.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/sbtc-deposit.service.d.ts.map +1 -1
- package/dist/services/sbtc-deposit.service.js +5 -2
- package/dist/services/sbtc-deposit.service.js.map +1 -1
- package/dist/services/scaffold.service.d.ts +2 -2
- package/dist/services/scaffold.service.d.ts.map +1 -1
- package/dist/services/scaffold.service.js +85 -84
- package/dist/services/scaffold.service.js.map +1 -1
- package/dist/services/x402.service.d.ts.map +1 -1
- package/dist/services/x402.service.js +95 -31
- package/dist/services/x402.service.js.map +1 -1
- package/dist/tools/inbox.tools.d.ts.map +1 -1
- package/dist/tools/inbox.tools.js +6 -30
- package/dist/tools/inbox.tools.js.map +1 -1
- package/dist/tools/scaffold.tools.d.ts.map +1 -1
- package/dist/tools/scaffold.tools.js +57 -75
- package/dist/tools/scaffold.tools.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/validation.d.ts +2 -2
- package/dist/utils/x402-protocol.d.ts +117 -0
- package/dist/utils/x402-protocol.d.ts.map +1 -0
- package/dist/utils/x402-protocol.js +55 -0
- package/dist/utils/x402-protocol.js.map +1 -0
- package/package.json +1 -2
- package/dist/api.d.ts +0 -21
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -88
- package/dist/api.js.map +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 Protocol Helpers
|
|
3
|
+
* Native implementations of x402 protocol types and helpers.
|
|
4
|
+
* No external x402 SDK dependency — all logic is self-contained.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* CAIP-2 Network identifier for Stacks
|
|
8
|
+
*/
|
|
9
|
+
export type NetworkV2 = `stacks:${string}`;
|
|
10
|
+
/**
|
|
11
|
+
* Information about the protected resource
|
|
12
|
+
*/
|
|
13
|
+
export interface ResourceInfo {
|
|
14
|
+
/** URL of the protected resource */
|
|
15
|
+
url: string;
|
|
16
|
+
/** Human-readable description of the resource */
|
|
17
|
+
description?: string;
|
|
18
|
+
/** MIME type of the expected response */
|
|
19
|
+
mimeType?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Payment requirements for x402 v2 protocol
|
|
23
|
+
*/
|
|
24
|
+
export interface PaymentRequirementsV2 {
|
|
25
|
+
/** Payment scheme identifier (e.g., "exact") */
|
|
26
|
+
scheme: string;
|
|
27
|
+
/** Network identifier in CAIP-2 format (e.g., "stacks:1") */
|
|
28
|
+
network: NetworkV2;
|
|
29
|
+
/** Required payment amount in atomic units (microSTX, satoshis, etc.) */
|
|
30
|
+
amount: string;
|
|
31
|
+
/** Asset identifier ("STX" or contract identifier like "SP...address.contract-name") */
|
|
32
|
+
asset: string;
|
|
33
|
+
/** Recipient address */
|
|
34
|
+
payTo: string;
|
|
35
|
+
/** Maximum time allowed for payment completion */
|
|
36
|
+
maxTimeoutSeconds: number;
|
|
37
|
+
/** Scheme-specific additional information */
|
|
38
|
+
extra?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Payment required response for x402 v2 protocol
|
|
42
|
+
*/
|
|
43
|
+
export interface PaymentRequiredV2 {
|
|
44
|
+
/** Protocol version (must be 2) */
|
|
45
|
+
x402Version: 2;
|
|
46
|
+
/** Human-readable error message */
|
|
47
|
+
error?: string;
|
|
48
|
+
/** Information about the protected resource */
|
|
49
|
+
resource: ResourceInfo;
|
|
50
|
+
/** Array of acceptable payment methods */
|
|
51
|
+
accepts: PaymentRequirementsV2[];
|
|
52
|
+
/** Protocol extensions data */
|
|
53
|
+
extensions?: Record<string, unknown>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Stacks-specific payment payload (transaction data)
|
|
57
|
+
*/
|
|
58
|
+
export interface StacksPayloadV2 {
|
|
59
|
+
/** Signed transaction hex */
|
|
60
|
+
transaction: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Payment payload for x402 v2 protocol
|
|
64
|
+
*/
|
|
65
|
+
export interface PaymentPayloadV2 {
|
|
66
|
+
/** Protocol version (must be 2) */
|
|
67
|
+
x402Version: 2;
|
|
68
|
+
/** Information about the resource being accessed */
|
|
69
|
+
resource?: ResourceInfo;
|
|
70
|
+
/** The payment method chosen by the client */
|
|
71
|
+
accepted: PaymentRequirementsV2;
|
|
72
|
+
/** Scheme-specific payment data (signed transaction for Stacks) */
|
|
73
|
+
payload: StacksPayloadV2;
|
|
74
|
+
/** Protocol extensions data */
|
|
75
|
+
extensions?: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Settlement response for x402 v2 protocol
|
|
79
|
+
*/
|
|
80
|
+
export interface SettlementResponseV2 {
|
|
81
|
+
/** Whether the payment settlement was successful */
|
|
82
|
+
success: boolean;
|
|
83
|
+
/** Error reason if settlement failed */
|
|
84
|
+
errorReason?: string;
|
|
85
|
+
/** Address of the payer's wallet */
|
|
86
|
+
payer?: string;
|
|
87
|
+
/** Blockchain transaction hash */
|
|
88
|
+
transaction: string;
|
|
89
|
+
/** Network identifier in CAIP-2 format */
|
|
90
|
+
network: NetworkV2;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* x402 HTTP header names (V2 protocol)
|
|
94
|
+
*/
|
|
95
|
+
export declare const X402_HEADERS: {
|
|
96
|
+
/** Header containing payment required info (base64 encoded) */
|
|
97
|
+
readonly PAYMENT_REQUIRED: "payment-required";
|
|
98
|
+
/** Header containing payment signature/payload (base64 encoded) */
|
|
99
|
+
readonly PAYMENT_SIGNATURE: "payment-signature";
|
|
100
|
+
/** Header containing settlement response (base64 encoded) */
|
|
101
|
+
readonly PAYMENT_RESPONSE: "payment-response";
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Decode the payment-required header from base64 JSON.
|
|
105
|
+
* Returns null if the header is missing or cannot be decoded.
|
|
106
|
+
*/
|
|
107
|
+
export declare function decodePaymentRequired(header: string | null | undefined): PaymentRequiredV2 | null;
|
|
108
|
+
/**
|
|
109
|
+
* Encode a payment payload to base64 JSON.
|
|
110
|
+
*/
|
|
111
|
+
export declare function encodePaymentPayload(payload: PaymentPayloadV2): string;
|
|
112
|
+
/**
|
|
113
|
+
* Decode the payment-response header from base64 JSON.
|
|
114
|
+
* Returns null if the header is missing or cannot be decoded.
|
|
115
|
+
*/
|
|
116
|
+
export declare function decodePaymentResponse(header: string | null | undefined): SettlementResponseV2 | null;
|
|
117
|
+
//# sourceMappingURL=x402-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x402-protocol.d.ts","sourceRoot":"","sources":["../../src/utils/x402-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,MAAM,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,EAAE,SAAS,CAAC;IACnB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,WAAW,EAAE,CAAC,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,QAAQ,EAAE,YAAY,CAAC;IACvB,0CAA0C;IAC1C,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,WAAW,EAAE,CAAC,CAAC;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,mEAAmE;IACnE,OAAO,EAAE,eAAe,CAAC;IACzB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,SAAS,CAAC;CACpB;AAID;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,+DAA+D;;IAE/D,mEAAmE;;IAEnE,6DAA6D;;CAErD,CAAC;AAIX;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,iBAAiB,GAAG,IAAI,CAQ1B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAEtE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,oBAAoB,GAAG,IAAI,CAQ7B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* x402 Protocol Helpers
|
|
3
|
+
* Native implementations of x402 protocol types and helpers.
|
|
4
|
+
* No external x402 SDK dependency — all logic is self-contained.
|
|
5
|
+
*/
|
|
6
|
+
// ===== Constants =====
|
|
7
|
+
/**
|
|
8
|
+
* x402 HTTP header names (V2 protocol)
|
|
9
|
+
*/
|
|
10
|
+
export const X402_HEADERS = {
|
|
11
|
+
/** Header containing payment required info (base64 encoded) */
|
|
12
|
+
PAYMENT_REQUIRED: "payment-required",
|
|
13
|
+
/** Header containing payment signature/payload (base64 encoded) */
|
|
14
|
+
PAYMENT_SIGNATURE: "payment-signature",
|
|
15
|
+
/** Header containing settlement response (base64 encoded) */
|
|
16
|
+
PAYMENT_RESPONSE: "payment-response",
|
|
17
|
+
};
|
|
18
|
+
// ===== Functions =====
|
|
19
|
+
/**
|
|
20
|
+
* Decode the payment-required header from base64 JSON.
|
|
21
|
+
* Returns null if the header is missing or cannot be decoded.
|
|
22
|
+
*/
|
|
23
|
+
export function decodePaymentRequired(header) {
|
|
24
|
+
if (!header)
|
|
25
|
+
return null;
|
|
26
|
+
try {
|
|
27
|
+
const decoded = Buffer.from(header, "base64").toString("utf-8");
|
|
28
|
+
return JSON.parse(decoded);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Encode a payment payload to base64 JSON.
|
|
36
|
+
*/
|
|
37
|
+
export function encodePaymentPayload(payload) {
|
|
38
|
+
return Buffer.from(JSON.stringify(payload)).toString("base64");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Decode the payment-response header from base64 JSON.
|
|
42
|
+
* Returns null if the header is missing or cannot be decoded.
|
|
43
|
+
*/
|
|
44
|
+
export function decodePaymentResponse(header) {
|
|
45
|
+
if (!header)
|
|
46
|
+
return null;
|
|
47
|
+
try {
|
|
48
|
+
const decoded = Buffer.from(header, "base64").toString("utf-8");
|
|
49
|
+
return JSON.parse(decoded);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=x402-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x402-protocol.js","sourceRoot":"","sources":["../../src/utils/x402-protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiGH,wBAAwB;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,+DAA+D;IAC/D,gBAAgB,EAAE,kBAAkB;IACpC,mEAAmE;IACnE,iBAAiB,EAAE,mBAAmB;IACtC,6DAA6D;IAC7D,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAEX,wBAAwB;AAExB;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAiC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAiC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aibtc/mcp-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"description": "Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.",
|
|
5
5
|
"mcpName": "io.github.aibtcdev/mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"micro-ordinals": "^0.3.0",
|
|
61
61
|
"sbtc": "^0.3.2",
|
|
62
62
|
"tslib": "^2.8.1",
|
|
63
|
-
"x402-stacks": "^2.0.1",
|
|
64
63
|
"zod": "^4.3.5"
|
|
65
64
|
},
|
|
66
65
|
"devDependencies": {
|
package/dist/api.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import "dotenv/config";
|
|
2
|
-
import { type AxiosInstance } from "axios";
|
|
3
|
-
import { type Network } from "./wallet.js";
|
|
4
|
-
/**
|
|
5
|
-
* @deprecated This module is superseded by src/services/x402.service.ts.
|
|
6
|
-
* - createApiClient → src/services/x402.service.ts createX402Client()
|
|
7
|
-
* - getWalletAddress, getAccount → src/services/x402.service.ts
|
|
8
|
-
* - NETWORK, API_URL → src/config/networks.ts
|
|
9
|
-
* This file will be removed in a future version.
|
|
10
|
-
*/
|
|
11
|
-
/** @deprecated Use NETWORK from src/config/networks.ts */
|
|
12
|
-
export declare const NETWORK: Network;
|
|
13
|
-
/** @deprecated Use API_URL from src/config/networks.ts */
|
|
14
|
-
export declare const API_URL: string;
|
|
15
|
-
/** @deprecated Use createX402Client from src/services/x402.service.ts */
|
|
16
|
-
export declare function createApiClient(baseUrl?: string): Promise<AxiosInstance>;
|
|
17
|
-
/** @deprecated Use getWalletAddress from src/services/x402.service.ts */
|
|
18
|
-
export declare function getWalletAddress(): Promise<string>;
|
|
19
|
-
/** @deprecated Use getAccount from src/services/x402.service.ts */
|
|
20
|
-
export declare function getAccount(): Promise<import("./wallet.js").Account>;
|
|
21
|
-
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;GAMG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,OAAO,EAAE,OACqC,CAAC;AAC5D,0DAA0D;AAC1D,eAAO,MAAM,OAAO,QAAkD,CAAC;AAKvE,yEAAyE;AACzE,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA0D9E;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAMlD;AAED,mEAAmE;AACnE,wBAAsB,UAAU,2CAM/B"}
|
package/dist/api.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import "dotenv/config";
|
|
2
|
-
import axios from "axios";
|
|
3
|
-
import { wrapAxiosWithPayment } from "x402-stacks";
|
|
4
|
-
import { mnemonicToAccount } from "./wallet.js";
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated This module is superseded by src/services/x402.service.ts.
|
|
7
|
-
* - createApiClient → src/services/x402.service.ts createX402Client()
|
|
8
|
-
* - getWalletAddress, getAccount → src/services/x402.service.ts
|
|
9
|
-
* - NETWORK, API_URL → src/config/networks.ts
|
|
10
|
-
* This file will be removed in a future version.
|
|
11
|
-
*/
|
|
12
|
-
/** @deprecated Use NETWORK from src/config/networks.ts */
|
|
13
|
-
export const NETWORK = process.env.NETWORK === "mainnet" ? "mainnet" : "testnet";
|
|
14
|
-
/** @deprecated Use API_URL from src/config/networks.ts */
|
|
15
|
-
export const API_URL = process.env.API_URL || "https://x402.biwas.xyz";
|
|
16
|
-
// Cache clients by base URL
|
|
17
|
-
const clientCache = new Map();
|
|
18
|
-
/** @deprecated Use createX402Client from src/services/x402.service.ts */
|
|
19
|
-
export async function createApiClient(baseUrl) {
|
|
20
|
-
const url = baseUrl || API_URL;
|
|
21
|
-
// Check cache
|
|
22
|
-
const cached = clientCache.get(url);
|
|
23
|
-
if (cached) {
|
|
24
|
-
return cached;
|
|
25
|
-
}
|
|
26
|
-
const mnemonic = process.env.CLIENT_MNEMONIC || "";
|
|
27
|
-
if (!mnemonic) {
|
|
28
|
-
throw new Error("CLIENT_MNEMONIC is required in environment variables");
|
|
29
|
-
}
|
|
30
|
-
const account = await mnemonicToAccount(mnemonic, NETWORK);
|
|
31
|
-
const axiosInstance = axios.create({
|
|
32
|
-
baseURL: url,
|
|
33
|
-
timeout: 120000,
|
|
34
|
-
transformResponse: [
|
|
35
|
-
(data) => {
|
|
36
|
-
if (typeof data !== "string") {
|
|
37
|
-
return data;
|
|
38
|
-
}
|
|
39
|
-
const trimmed = data.trim();
|
|
40
|
-
if (!trimmed) {
|
|
41
|
-
return data;
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
return JSON.parse(trimmed);
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return data;
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
});
|
|
52
|
-
// Ensure 402 payloads are parsed before x402-stacks validates them
|
|
53
|
-
axiosInstance.interceptors.response.use((response) => response, (error) => {
|
|
54
|
-
const data = error?.response?.data;
|
|
55
|
-
if (typeof data === "string") {
|
|
56
|
-
const trimmed = data.trim();
|
|
57
|
-
if (trimmed) {
|
|
58
|
-
try {
|
|
59
|
-
error.response.data = JSON.parse(trimmed);
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// Leave as-is if it's not JSON
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return Promise.reject(error);
|
|
67
|
-
});
|
|
68
|
-
const client = wrapAxiosWithPayment(axiosInstance, account);
|
|
69
|
-
clientCache.set(url, client);
|
|
70
|
-
return client;
|
|
71
|
-
}
|
|
72
|
-
/** @deprecated Use getWalletAddress from src/services/x402.service.ts */
|
|
73
|
-
export function getWalletAddress() {
|
|
74
|
-
const mnemonic = process.env.CLIENT_MNEMONIC || "";
|
|
75
|
-
if (!mnemonic) {
|
|
76
|
-
throw new Error("CLIENT_MNEMONIC is required in environment variables");
|
|
77
|
-
}
|
|
78
|
-
return mnemonicToAccount(mnemonic, NETWORK).then((account) => account.address);
|
|
79
|
-
}
|
|
80
|
-
/** @deprecated Use getAccount from src/services/x402.service.ts */
|
|
81
|
-
export async function getAccount() {
|
|
82
|
-
const mnemonic = process.env.CLIENT_MNEMONIC || "";
|
|
83
|
-
if (!mnemonic) {
|
|
84
|
-
throw new Error("CLIENT_MNEMONIC is required in environment variables");
|
|
85
|
-
}
|
|
86
|
-
return mnemonicToAccount(mnemonic, NETWORK);
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|