@cloakedagent/sdk 0.1.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.
Files changed (72) hide show
  1. package/README.md +90 -0
  2. package/dist/agent.d.ts +321 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +877 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/config.d.ts +33 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +64 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/constants.d.ts +4 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +9 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/idl.json +1347 -0
  15. package/dist/index.d.ts +10 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +66 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mcp/index.d.ts +7 -0
  20. package/dist/mcp/index.d.ts.map +1 -0
  21. package/dist/mcp/index.js +374 -0
  22. package/dist/mcp/index.js.map +1 -0
  23. package/dist/mcp/tools.d.ts +26 -0
  24. package/dist/mcp/tools.d.ts.map +1 -0
  25. package/dist/mcp/tools.js +320 -0
  26. package/dist/mcp/tools.js.map +1 -0
  27. package/dist/mcp/types.d.ts +61 -0
  28. package/dist/mcp/types.d.ts.map +1 -0
  29. package/dist/mcp/types.js +4 -0
  30. package/dist/mcp/types.js.map +1 -0
  31. package/dist/relayer.d.ts +130 -0
  32. package/dist/relayer.d.ts.map +1 -0
  33. package/dist/relayer.js +225 -0
  34. package/dist/relayer.js.map +1 -0
  35. package/dist/signer.d.ts +18 -0
  36. package/dist/signer.d.ts.map +1 -0
  37. package/dist/signer.js +34 -0
  38. package/dist/signer.js.map +1 -0
  39. package/dist/token.d.ts +320 -0
  40. package/dist/token.d.ts.map +1 -0
  41. package/dist/token.js +896 -0
  42. package/dist/token.js.map +1 -0
  43. package/dist/types.d.ts +66 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +3 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/zk/browser-prover.d.ts +85 -0
  48. package/dist/zk/browser-prover.d.ts.map +1 -0
  49. package/dist/zk/browser-prover.js +260 -0
  50. package/dist/zk/browser-prover.js.map +1 -0
  51. package/dist/zk/discovery.d.ts +65 -0
  52. package/dist/zk/discovery.d.ts.map +1 -0
  53. package/dist/zk/discovery.js +143 -0
  54. package/dist/zk/discovery.js.map +1 -0
  55. package/dist/zk/index.d.ts +14 -0
  56. package/dist/zk/index.d.ts.map +1 -0
  57. package/dist/zk/index.js +47 -0
  58. package/dist/zk/index.js.map +1 -0
  59. package/dist/zk/ownership_proof.json +1 -0
  60. package/dist/zk/poseidon.d.ts +31 -0
  61. package/dist/zk/poseidon.d.ts.map +1 -0
  62. package/dist/zk/poseidon.js +103 -0
  63. package/dist/zk/poseidon.js.map +1 -0
  64. package/dist/zk/prover.d.ts +49 -0
  65. package/dist/zk/prover.d.ts.map +1 -0
  66. package/dist/zk/prover.js +120 -0
  67. package/dist/zk/prover.js.map +1 -0
  68. package/dist/zk/secrets.d.ts +62 -0
  69. package/dist/zk/secrets.d.ts.map +1 -0
  70. package/dist/zk/secrets.js +98 -0
  71. package/dist/zk/secrets.js.map +1 -0
  72. package/package.json +74 -0
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ // sdk/src/mcp/tools.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.handleBalance = handleBalance;
5
+ exports.handleStatus = handleStatus;
6
+ exports.handlePay = handlePay;
7
+ exports.handleX402Fetch = handleX402Fetch;
8
+ const web3_js_1 = require("@solana/web3.js");
9
+ const agent_1 = require("../agent");
10
+ /**
11
+ * Sanitize error messages to prevent key leakage
12
+ * Redacts base58-encoded strings that could be keys (32+ chars)
13
+ */
14
+ function sanitizeErrorMessage(error) {
15
+ let message;
16
+ if (error instanceof Error) {
17
+ message = error.message;
18
+ }
19
+ else if (typeof error === "string") {
20
+ message = error;
21
+ }
22
+ else {
23
+ // Don't use JSON.stringify on unknown objects - could leak keys
24
+ return "An error occurred";
25
+ }
26
+ // Redact potential base58 keys (32+ alphanumeric chars in base58 charset)
27
+ return message.replace(/[1-9A-HJ-NP-Za-km-z]{32,}/g, "[REDACTED]");
28
+ }
29
+ /**
30
+ * Tool handler for cloak_balance
31
+ * Returns enhanced balance info with constraints
32
+ */
33
+ async function handleBalance(agentKey) {
34
+ const key = agentKey || process.env.CLOAKED_AGENT_KEY;
35
+ if (!key) {
36
+ throw new Error("No Agent Key provided and CLOAKED_AGENT_KEY not set");
37
+ }
38
+ try {
39
+ const rpcUrl = process.env.SOLANA_RPC_URL || "https://api.devnet.solana.com";
40
+ const agent = new agent_1.CloakedAgent(key, rpcUrl);
41
+ const state = await agent.getState();
42
+ // Calculate expires_in_days
43
+ let expiresInDays = null;
44
+ if (state.constraints.expiresAt) {
45
+ const now = Date.now();
46
+ const expiresAt = state.constraints.expiresAt.getTime();
47
+ expiresInDays = Math.max(0, Math.ceil((expiresAt - now) / (1000 * 60 * 60 * 24)));
48
+ }
49
+ return {
50
+ balance_sol: state.balance / web3_js_1.LAMPORTS_PER_SOL,
51
+ balance_lamports: state.balance,
52
+ daily_spent: state.spending.dailySpent,
53
+ daily_limit: state.constraints.dailyLimit,
54
+ daily_remaining: state.spending.dailyRemaining === Number.MAX_SAFE_INTEGER ? -1 : state.spending.dailyRemaining,
55
+ total_spent: state.spending.totalSpent,
56
+ total_limit: state.constraints.totalLimit,
57
+ total_remaining: state.spending.totalRemaining === Number.MAX_SAFE_INTEGER ? -1 : state.spending.totalRemaining,
58
+ expires_in_days: expiresInDays,
59
+ frozen: state.constraints.frozen,
60
+ status: state.status,
61
+ };
62
+ }
63
+ catch (error) {
64
+ throw new Error(`Failed to get balance: ${sanitizeErrorMessage(error)}`);
65
+ }
66
+ }
67
+ /**
68
+ * Tool handler for cloak_status
69
+ * Returns detailed agent status with health indicator
70
+ */
71
+ async function handleStatus(agentKey) {
72
+ const key = agentKey || process.env.CLOAKED_AGENT_KEY;
73
+ if (!key) {
74
+ throw new Error("No Agent Key provided and CLOAKED_AGENT_KEY not set");
75
+ }
76
+ try {
77
+ const rpcUrl = process.env.SOLANA_RPC_URL || "https://api.devnet.solana.com";
78
+ const agent = new agent_1.CloakedAgent(key, rpcUrl);
79
+ const state = await agent.getState();
80
+ // Determine health status
81
+ let health = "ok";
82
+ if (state.status === "frozen") {
83
+ health = "frozen";
84
+ }
85
+ else if (state.status === "expired") {
86
+ health = "expired";
87
+ }
88
+ else if (state.balance < 0.01 * web3_js_1.LAMPORTS_PER_SOL) {
89
+ health = "low_balance";
90
+ }
91
+ else if (state.constraints.dailyLimit > 0 && state.spending.dailyRemaining < state.constraints.dailyLimit * 0.1) {
92
+ health = "near_daily_limit";
93
+ }
94
+ else if (state.constraints.totalLimit > 0 && state.spending.totalRemaining < state.constraints.totalLimit * 0.1) {
95
+ health = "near_total_limit";
96
+ }
97
+ return {
98
+ constraints: {
99
+ max_per_tx: state.constraints.maxPerTx === 0 ? "unlimited" : state.constraints.maxPerTx,
100
+ daily_limit: state.constraints.dailyLimit === 0 ? "unlimited" : state.constraints.dailyLimit,
101
+ total_limit: state.constraints.totalLimit === 0 ? "unlimited" : state.constraints.totalLimit,
102
+ expires_at: state.constraints.expiresAt ? state.constraints.expiresAt.toISOString() : "never",
103
+ },
104
+ spending: {
105
+ balance_sol: state.balance / web3_js_1.LAMPORTS_PER_SOL,
106
+ daily_spent: state.spending.dailySpent,
107
+ total_spent: state.spending.totalSpent,
108
+ },
109
+ health,
110
+ };
111
+ }
112
+ catch (error) {
113
+ throw new Error(`Failed to get status: ${sanitizeErrorMessage(error)}`);
114
+ }
115
+ }
116
+ /**
117
+ * Tool handler for cloak_pay
118
+ * Pays to a destination address for x402 services
119
+ */
120
+ async function handlePay(destination, amountSol, agentKey) {
121
+ const key = agentKey || process.env.CLOAKED_AGENT_KEY;
122
+ if (!key) {
123
+ throw new Error("No Agent Key provided and CLOAKED_AGENT_KEY not set");
124
+ }
125
+ const rpcUrl = process.env.SOLANA_RPC_URL || "https://api.devnet.solana.com";
126
+ const agent = new agent_1.CloakedAgent(key, rpcUrl);
127
+ const amountLamports = Math.floor(amountSol * web3_js_1.LAMPORTS_PER_SOL);
128
+ try {
129
+ const result = await agent.spend({
130
+ destination: new web3_js_1.PublicKey(destination),
131
+ amount: amountLamports,
132
+ });
133
+ return {
134
+ success: true,
135
+ signature: result.signature,
136
+ remaining_balance: result.remainingBalance / web3_js_1.LAMPORTS_PER_SOL,
137
+ daily_remaining: result.dailyRemaining === Number.MAX_SAFE_INTEGER ? -1 : result.dailyRemaining / web3_js_1.LAMPORTS_PER_SOL,
138
+ };
139
+ }
140
+ catch (error) {
141
+ return {
142
+ success: false,
143
+ signature: "",
144
+ remaining_balance: 0,
145
+ daily_remaining: 0,
146
+ error: sanitizeErrorMessage(error),
147
+ };
148
+ }
149
+ }
150
+ /**
151
+ * Decode X-PAYMENT-REQUIRED header (base64 JSON)
152
+ */
153
+ function decodePaymentRequired(encoded) {
154
+ const decoded = Buffer.from(encoded, 'base64').toString('utf-8');
155
+ return JSON.parse(decoded);
156
+ }
157
+ /**
158
+ * Encode payment payload for X-PAYMENT header
159
+ */
160
+ function encodePaymentPayload(signature) {
161
+ return Buffer.from(JSON.stringify({ signature })).toString('base64');
162
+ }
163
+ /**
164
+ * Parse response content based on content-type
165
+ */
166
+ async function parseResponseContent(response) {
167
+ const contentType = response.headers.get("content-type") || "application/octet-stream";
168
+ if (contentType.includes("application/json")) {
169
+ return { type: "json", content: await response.json(), contentType };
170
+ }
171
+ else if (contentType.includes("text/")) {
172
+ return { type: "text", content: await response.text(), contentType };
173
+ }
174
+ else {
175
+ // Binary - base64 encode
176
+ const buffer = await response.arrayBuffer();
177
+ return {
178
+ type: "binary",
179
+ content: Buffer.from(buffer).toString('base64'),
180
+ contentType
181
+ };
182
+ }
183
+ }
184
+ /**
185
+ * Tool handler for cloak_x402_fetch
186
+ * Fetches x402-protected resources, automatically handling payment
187
+ */
188
+ async function handleX402Fetch(url, options, agentKey) {
189
+ const key = agentKey || process.env.CLOAKED_AGENT_KEY;
190
+ if (!key) {
191
+ return {
192
+ success: false,
193
+ error: "No Agent Key provided and CLOAKED_AGENT_KEY not set",
194
+ statusCode: 0,
195
+ };
196
+ }
197
+ const method = options?.method || "GET";
198
+ const customHeaders = options?.headers || {};
199
+ try {
200
+ // Step 1: Initial fetch
201
+ const initialResponse = await fetch(url, {
202
+ method,
203
+ headers: customHeaders,
204
+ body: options?.body,
205
+ });
206
+ // If not 402, return content directly
207
+ if (initialResponse.status !== 402) {
208
+ if (!initialResponse.ok) {
209
+ return {
210
+ success: false,
211
+ error: `HTTP ${initialResponse.status}: ${initialResponse.statusText}`,
212
+ statusCode: initialResponse.status,
213
+ };
214
+ }
215
+ const parsed = await parseResponseContent(initialResponse);
216
+ return {
217
+ success: true,
218
+ ...parsed,
219
+ statusCode: initialResponse.status,
220
+ };
221
+ }
222
+ // Step 2: Parse payment requirements from X-PAYMENT-REQUIRED header
223
+ const paymentRequiredHeader = initialResponse.headers.get("X-PAYMENT-REQUIRED");
224
+ if (!paymentRequiredHeader) {
225
+ return {
226
+ success: false,
227
+ error: "Received 402 but no X-PAYMENT-REQUIRED header found",
228
+ statusCode: 402,
229
+ };
230
+ }
231
+ let requirements;
232
+ try {
233
+ requirements = decodePaymentRequired(paymentRequiredHeader);
234
+ }
235
+ catch {
236
+ return {
237
+ success: false,
238
+ error: "Failed to decode X-PAYMENT-REQUIRED header",
239
+ statusCode: 402,
240
+ };
241
+ }
242
+ // Validate required fields
243
+ if (!requirements.payTo || typeof requirements.payTo !== 'string') {
244
+ return {
245
+ success: false,
246
+ error: "Invalid payment requirements: missing payTo address",
247
+ statusCode: 402,
248
+ };
249
+ }
250
+ if (!requirements.amount || typeof requirements.amount !== 'string') {
251
+ return {
252
+ success: false,
253
+ error: "Invalid payment requirements: missing amount",
254
+ statusCode: 402,
255
+ };
256
+ }
257
+ // Step 3: Make payment
258
+ const amountLamports = parseInt(requirements.amount, 10);
259
+ if (isNaN(amountLamports) || amountLamports <= 0) {
260
+ return {
261
+ success: false,
262
+ error: "Invalid payment amount in X-PAYMENT-REQUIRED header",
263
+ statusCode: 402,
264
+ };
265
+ }
266
+ const amountSol = amountLamports / web3_js_1.LAMPORTS_PER_SOL;
267
+ const payResult = await handlePay(requirements.payTo, amountSol, key);
268
+ if (!payResult.success) {
269
+ return {
270
+ success: false,
271
+ error: `Payment failed: ${payResult.error}`,
272
+ statusCode: 402,
273
+ };
274
+ }
275
+ // Step 4: Retry with payment proof
276
+ const paymentPayload = encodePaymentPayload(payResult.signature);
277
+ const retryResponse = await fetch(url, {
278
+ method,
279
+ headers: {
280
+ ...customHeaders,
281
+ "X-PAYMENT": paymentPayload,
282
+ },
283
+ body: options?.body,
284
+ });
285
+ if (!retryResponse.ok) {
286
+ return {
287
+ success: false,
288
+ error: `Payment accepted but resource fetch failed: HTTP ${retryResponse.status}`,
289
+ statusCode: retryResponse.status,
290
+ payment: {
291
+ signature: payResult.signature,
292
+ amount_sol: amountSol,
293
+ amount_lamports: amountLamports,
294
+ recipient: requirements.payTo,
295
+ },
296
+ };
297
+ }
298
+ // Step 5: Return content with payment info
299
+ const parsed = await parseResponseContent(retryResponse);
300
+ return {
301
+ success: true,
302
+ ...parsed,
303
+ statusCode: retryResponse.status,
304
+ payment: {
305
+ signature: payResult.signature,
306
+ amount_sol: amountSol,
307
+ amount_lamports: amountLamports,
308
+ recipient: requirements.payTo,
309
+ },
310
+ };
311
+ }
312
+ catch (error) {
313
+ return {
314
+ success: false,
315
+ error: sanitizeErrorMessage(error),
316
+ statusCode: 0,
317
+ };
318
+ }
319
+ }
320
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":";AAAA,uBAAuB;;AAoCvB,sCAmCC;AAMD,oCA0CC;AAMD,8BAoCC;AA8CD,0CAuJC;AApWD,6CAA8D;AAC9D,oCAAwC;AASxC;;;GAGG;AACH,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAe,CAAC;IAEpB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,gEAAgE;QAChE,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,0EAA0E;IAC1E,OAAO,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa,CAAC,QAAiB;IACnD,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,+BAA+B,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QAErC,4BAA4B;QAC5B,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACxD,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,0BAAgB;YAC7C,gBAAgB,EAAE,KAAK,CAAC,OAAO;YAC/B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU;YACzC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc;YAC/G,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU;YACzC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc;YAC/G,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,YAAY,CAAC,QAAiB;IAClD,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,+BAA+B,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QAErC,0BAA0B;QAC1B,IAAI,MAAM,GAAW,IAAI,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,0BAAgB,EAAE,CAAC;YACnD,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAClH,MAAM,GAAG,kBAAkB,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAClH,MAAM,GAAG,kBAAkB,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ;gBACvF,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU;gBAC5F,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU;gBAC5F,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO;aAC9F;YACD,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,0BAAgB;gBAC7C,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;gBACtC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;aACvC;YACD,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,SAAS,CAC7B,WAAmB,EACnB,SAAiB,EACjB,QAAiB;IAEjB,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,+BAA+B,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE5C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,0BAAgB,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;YAC/B,WAAW,EAAE,IAAI,mBAAS,CAAC,WAAW,CAAC;YACvC,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,GAAG,0BAAgB;YAC7D,eAAe,EAAE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,0BAAgB;SACnH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE;YACb,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;SACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAkB;IAKpD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;IAEvF,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;IACvE,CAAC;SAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,WAAW;SACZ,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,GAAW,EACX,OAIC,EACD,QAAiB;IAEjB,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qDAAqD;YAC5D,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAE7C,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACvC,MAAM;YACN,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,eAAe,CAAC,MAAM,KAAK,eAAe,CAAC,UAAU,EAAE;oBACtE,UAAU,EAAE,eAAe,CAAC,MAAM;iBACnC,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAC3D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,MAAM;gBACT,UAAU,EAAE,eAAe,CAAC,MAAM;aACnC,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,MAAM,qBAAqB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChF,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qDAAqD;gBAC5D,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QAED,IAAI,YAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,YAAY,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qDAAqD;gBAC5D,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,8CAA8C;gBACrD,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qDAAqD;gBAC5D,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,GAAG,0BAAgB,CAAC;QAEpD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB,SAAS,CAAC,KAAK,EAAE;gBAC3C,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEjE,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACrC,MAAM;YACN,OAAO,EAAE;gBACP,GAAG,aAAa;gBAChB,WAAW,EAAE,cAAc;aAC5B;YACD,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,oDAAoD,aAAa,CAAC,MAAM,EAAE;gBACjF,UAAU,EAAE,aAAa,CAAC,MAAM;gBAChC,OAAO,EAAE;oBACP,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,UAAU,EAAE,SAAS;oBACrB,eAAe,EAAE,cAAc;oBAC/B,SAAS,EAAE,YAAY,CAAC,KAAK;iBAC9B;aACF,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,GAAG,MAAM;YACT,UAAU,EAAE,aAAa,CAAC,MAAM;YAChC,OAAO,EAAE;gBACP,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,UAAU,EAAE,SAAS;gBACrB,eAAe,EAAE,cAAc;gBAC/B,SAAS,EAAE,YAAY,CAAC,KAAK;aAC9B;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Response types for MCP tools
3
+ */
4
+ export interface BalanceResponse {
5
+ balance_sol: number;
6
+ balance_lamports: number;
7
+ daily_spent: number;
8
+ daily_limit: number;
9
+ daily_remaining: number;
10
+ total_spent: number;
11
+ total_limit: number;
12
+ total_remaining: number;
13
+ expires_in_days: number | null;
14
+ frozen: boolean;
15
+ status: string;
16
+ }
17
+ export interface StatusResponse {
18
+ constraints: {
19
+ max_per_tx: number | string;
20
+ daily_limit: number | string;
21
+ total_limit: number | string;
22
+ expires_at: string;
23
+ };
24
+ spending: {
25
+ balance_sol: number;
26
+ daily_spent: number;
27
+ total_spent: number;
28
+ };
29
+ health: string;
30
+ }
31
+ export interface PayResponse {
32
+ success: boolean;
33
+ signature: string;
34
+ remaining_balance: number;
35
+ daily_remaining: number;
36
+ error?: string;
37
+ }
38
+ export interface ErrorResponse {
39
+ error: string;
40
+ }
41
+ export interface X402FetchResponse {
42
+ success: boolean;
43
+ type?: "json" | "text" | "binary";
44
+ content?: unknown;
45
+ contentType?: string;
46
+ payment?: {
47
+ signature: string;
48
+ amount_sol: number;
49
+ amount_lamports: number;
50
+ recipient: string;
51
+ };
52
+ error?: string;
53
+ statusCode: number;
54
+ }
55
+ export interface X402PaymentRequirements {
56
+ payTo: string;
57
+ amount: string;
58
+ currency: string;
59
+ network: string;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAGH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // sdk/src/mcp/types.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":";AAAA,uBAAuB"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Relayer Client for Truly Private Cloaked Agent Creation
3
+ *
4
+ * Handles communication with the backend relayer service for creating
5
+ * agents without the user's wallet signing any on-chain transaction.
6
+ *
7
+ * Security:
8
+ * - Agent Key encrypted with NaCl box (X25519) - decrypted client-side
9
+ * - User's wallet only signs "Cloak Private Agent" message for secret derivation
10
+ * - User's wallet NEVER appears in any on-chain transaction
11
+ *
12
+ * Economics:
13
+ * - User sends total (0.01 SOL fee + funding) to relayer via Privacy Cash
14
+ * - Relayer keeps 0.01 SOL fee, forwards rest to vault
15
+ */
16
+ import { PublicKey } from "@solana/web3.js";
17
+ /** Options for creating a private agent via relayer */
18
+ export interface CreatePrivateViaRelayerOptions {
19
+ maxPerTx?: number;
20
+ dailyLimit?: number;
21
+ totalLimit?: number;
22
+ expiresAt?: Date | null;
23
+ }
24
+ /** Result from creating a Cloaked Agent via relayer */
25
+ export interface CreatePrivateViaRelayerResult {
26
+ agentKey: string;
27
+ agentStatePda: PublicKey;
28
+ vaultPda: PublicKey;
29
+ delegate: PublicKey;
30
+ signature: string;
31
+ }
32
+ /** Relayer status response */
33
+ export interface RelayerStatus {
34
+ address: string;
35
+ balance: number;
36
+ minBalance: number;
37
+ ready: boolean;
38
+ creationFee: number;
39
+ minDeposit: number;
40
+ }
41
+ /**
42
+ * Get relayer status
43
+ *
44
+ * @param apiUrl - Optional API URL (defaults to CLOAK_API_URL or localhost:3645)
45
+ * @returns Relayer status including balance and readiness
46
+ */
47
+ export declare function getRelayerStatus(apiUrl?: string): Promise<RelayerStatus>;
48
+ /**
49
+ * Create a Cloaked Agent via relayer
50
+ *
51
+ * The relayer signs and pays for the transaction, ensuring the user's wallet
52
+ * never appears on-chain. The Agent Key is encrypted and only the user can decrypt it.
53
+ *
54
+ * Flow:
55
+ * 1. User sends total (fee + funding) to relayer via Privacy Cash
56
+ * 2. Call this function with the deposit tx signature
57
+ * 3. Relayer keeps 0.01 SOL fee, forwards rest to vault
58
+ * 4. Relayer creates agent, encrypts Agent Key for user
59
+ *
60
+ * @param masterSecret - Master secret derived from wallet signature
61
+ * @param nonce - Agent index (0, 1, 2, ...)
62
+ * @param options - Agent creation options
63
+ * @param depositSignature - Privacy Cash tx signature to relayer
64
+ * @param depositAmount - Total lamports sent (fee + vault funding)
65
+ * @param apiUrl - Optional API URL
66
+ * @returns Agent Key and PDA addresses
67
+ */
68
+ export declare function createPrivateAgentViaRelayer(masterSecret: bigint, nonce: number, options: CreatePrivateViaRelayerOptions, depositSignature: string, depositAmount: number, apiUrl?: string): Promise<CreatePrivateViaRelayerResult>;
69
+ /** Private operation parameters for relayer */
70
+ export interface PrivateOperationParams {
71
+ agentStatePda: string;
72
+ proofBytes: number[];
73
+ witnessBytes: number[];
74
+ }
75
+ /** Update constraints private parameters */
76
+ export interface UpdateConstraintsPrivateParams extends PrivateOperationParams {
77
+ maxPerTx: number | null;
78
+ dailyLimit: number | null;
79
+ totalLimit: number | null;
80
+ expiresAt: number | null;
81
+ }
82
+ /** Withdraw private parameters */
83
+ export interface WithdrawPrivateParams extends PrivateOperationParams {
84
+ amount: number;
85
+ destination: string;
86
+ }
87
+ /** Close private parameters */
88
+ export interface ClosePrivateParams extends PrivateOperationParams {
89
+ destination: string;
90
+ }
91
+ /**
92
+ * Freeze a private agent via relayer
93
+ */
94
+ export declare function freezePrivateViaRelayer(params: PrivateOperationParams, apiUrl?: string): Promise<string>;
95
+ /**
96
+ * Unfreeze a private agent via relayer
97
+ */
98
+ export declare function unfreezePrivateViaRelayer(params: PrivateOperationParams, apiUrl?: string): Promise<string>;
99
+ /**
100
+ * Update constraints for a private agent via relayer
101
+ */
102
+ export declare function updateConstraintsPrivateViaRelayer(params: UpdateConstraintsPrivateParams, apiUrl?: string): Promise<string>;
103
+ /**
104
+ * Withdraw from a private agent via relayer
105
+ */
106
+ export declare function withdrawPrivateViaRelayer(params: WithdrawPrivateParams, apiUrl?: string): Promise<string>;
107
+ /**
108
+ * Close a private agent via relayer
109
+ */
110
+ export declare function closePrivateViaRelayer(params: ClosePrivateParams, apiUrl?: string): Promise<string>;
111
+ /**
112
+ * Co-sign and submit a spend transaction via relayer
113
+ *
114
+ * The SDK builds the transaction, delegate signs, then sends to relayer.
115
+ * Relayer adds its signature as fee payer and submits to the network.
116
+ *
117
+ * @param transactionBase64 - Base64 encoded partially-signed transaction
118
+ * @param apiUrl - Optional API URL
119
+ * @returns Transaction signature
120
+ */
121
+ export declare function cosignSpendViaRelayer(transactionBase64: string, apiUrl?: string): Promise<string>;
122
+ /**
123
+ * Get the relayer public key for use as fee payer
124
+ * Uses lightweight /pubkey endpoint that doesn't require RPC calls
125
+ *
126
+ * @param apiUrl - Optional API URL
127
+ * @returns Relayer public key
128
+ */
129
+ export declare function getRelayerPublicKey(apiUrl?: string): Promise<PublicKey>;
130
+ //# sourceMappingURL=relayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../src/relayer.ts"],"names":[],"mappings":"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"}