@xgamesfun/solana 0.0.0-stage → 0.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.
Files changed (138) hide show
  1. package/DISCLAIMER.md +41 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +13 -0
  4. package/README.md +172 -2
  5. package/bin/xsolana.mjs +189 -0
  6. package/examples/artwork-auction.json +51 -0
  7. package/examples/blind-forge.json +128 -0
  8. package/examples/coin-flip-arena.json +103 -0
  9. package/examples/duel-arena.json +137 -0
  10. package/examples/elements-set.json +274 -0
  11. package/examples/event-badges.json +67 -0
  12. package/examples/expedition-guild.json +154 -0
  13. package/examples/fair-presale.json +48 -0
  14. package/examples/falling-drop.json +90 -0
  15. package/examples/guild-missions.json +137 -0
  16. package/examples/halving-seasons.json +107 -0
  17. package/examples/hero-trials.json +93 -0
  18. package/examples/ideas.json +789 -0
  19. package/examples/level-ladder.json +65 -0
  20. package/examples/merge-2048.json +128 -0
  21. package/examples/nft-raffle.json +33 -0
  22. package/examples/paper-hands-farm.json +44 -0
  23. package/examples/partner-vault.json +112 -0
  24. package/examples/sacrifice-raffle.json +118 -0
  25. package/examples/scorched-treasury.json +84 -0
  26. package/examples/shelter-fair.json +164 -0
  27. package/examples/spark-pity.json +153 -0
  28. package/examples/stakers-draw.json +118 -0
  29. package/examples/star-fleet.json +150 -0
  30. package/examples/starforce.json +116 -0
  31. package/examples/stud-farm.json +134 -0
  32. package/examples/team-vesting.json +70 -0
  33. package/examples/trade-in-shop.json +168 -0
  34. package/js/approve/details.mjs +263 -0
  35. package/js/approve/ed25519.mjs +36 -0
  36. package/js/approve/live-check.mjs +144 -0
  37. package/js/approve/page.html +86 -0
  38. package/js/approve/page.js +203 -0
  39. package/js/approve/server.mjs +726 -0
  40. package/js/chain/base58.js +73 -0
  41. package/js/chain/borsh.js +270 -0
  42. package/js/chain/bytes.js +141 -0
  43. package/js/chain/core.js +181 -0
  44. package/js/chain/curve.js +52 -0
  45. package/js/chain/lookup.js +279 -0
  46. package/js/chain/mint.js +96 -0
  47. package/js/chain/pda.js +66 -0
  48. package/js/chain/programs.js +102 -0
  49. package/js/chain/rpc.js +219 -0
  50. package/js/chain/sha256.js +68 -0
  51. package/js/chain/token.js +85 -0
  52. package/js/chain/token2022.js +247 -0
  53. package/js/chain/tx.js +224 -0
  54. package/js/client/accounts.js +679 -0
  55. package/js/client/compressed.js +46 -0
  56. package/js/client/grant.js +299 -0
  57. package/js/client/idl/loot.js +2 -0
  58. package/js/client/idl/loot.json +17206 -0
  59. package/js/client/index.js +10 -0
  60. package/js/client/ix.js +2887 -0
  61. package/js/client/pda.js +114 -0
  62. package/js/client/policy.js +69 -0
  63. package/js/client/random.js +70 -0
  64. package/js/client/sizes.js +297 -0
  65. package/js/client/traits.js +44 -0
  66. package/js/connect/connect.mjs +182 -0
  67. package/js/economy/check.mjs +2236 -0
  68. package/js/economy/cost.mjs +185 -0
  69. package/js/economy/examples.mjs +114 -0
  70. package/js/economy/explain.mjs +239 -0
  71. package/js/economy/guide.mjs +232 -0
  72. package/js/economy/legal.mjs +15 -0
  73. package/js/economy/live.mjs +130 -0
  74. package/js/economy/model.mjs +698 -0
  75. package/js/economy/plan.mjs +1155 -0
  76. package/js/economy/schema.json +3071 -0
  77. package/js/economy/secrets.mjs +60 -0
  78. package/js/economy/simulate.mjs +1019 -0
  79. package/js/economy/txsize.mjs +45 -0
  80. package/js/economy/validate.mjs +85 -0
  81. package/js/index.js +10 -0
  82. package/js/mcp/server.mjs +113 -0
  83. package/js/mcp/tools.mjs +485 -0
  84. package/js/play/index.js +2855 -0
  85. package/js/play/keys.js +167 -0
  86. package/js/results/index.js +184 -0
  87. package/js/results/wire.js +90 -0
  88. package/package.json +100 -4
  89. package/release.json +8 -0
  90. package/skills/xsolana-economy/SKILL.md +109 -0
  91. package/skills/xsolana-economy/references/after-launch.md +124 -0
  92. package/skills/xsolana-economy/references/apps.md +193 -0
  93. package/skills/xsolana-economy/references/sentence-to-spec.md +180 -0
  94. package/skills/xsolana-economy/references/telling-the-person.md +134 -0
  95. package/types/chain/base58.d.ts +10 -0
  96. package/types/chain/borsh.d.ts +23 -0
  97. package/types/chain/bytes.d.ts +45 -0
  98. package/types/chain/core.d.ts +52 -0
  99. package/types/chain/curve.d.ts +1 -0
  100. package/types/chain/lookup.d.ts +194 -0
  101. package/types/chain/mint.d.ts +25 -0
  102. package/types/chain/pda.d.ts +25 -0
  103. package/types/chain/programs.d.ts +65 -0
  104. package/types/chain/rpc.d.ts +68 -0
  105. package/types/chain/sha256.d.ts +1 -0
  106. package/types/chain/token.d.ts +141 -0
  107. package/types/chain/token2022.d.ts +53 -0
  108. package/types/chain/tx.d.ts +60 -0
  109. package/types/client/accounts.d.ts +318 -0
  110. package/types/client/compressed.d.ts +29 -0
  111. package/types/client/grant.d.ts +170 -0
  112. package/types/client/idl/loot.d.ts +4498 -0
  113. package/types/client/index.d.ts +9 -0
  114. package/types/client/ix.d.ts +5315 -0
  115. package/types/client/pda.d.ts +95 -0
  116. package/types/client/policy.d.ts +48 -0
  117. package/types/client/random.d.ts +26 -0
  118. package/types/client/sizes.d.ts +101 -0
  119. package/types/client/traits.d.ts +12 -0
  120. package/types/economy/check.d.mts +100 -0
  121. package/types/economy/cost.d.mts +69 -0
  122. package/types/economy/examples.d.mts +27 -0
  123. package/types/economy/explain.d.mts +19 -0
  124. package/types/economy/guide.d.mts +140 -0
  125. package/types/economy/legal.d.mts +12 -0
  126. package/types/economy/live.d.mts +124 -0
  127. package/types/economy/model.d.mts +431 -0
  128. package/types/economy/plan.d.mts +1014 -0
  129. package/types/economy/secrets.d.mts +4 -0
  130. package/types/economy/simulate.d.mts +164 -0
  131. package/types/economy/txsize.d.mts +17 -0
  132. package/types/economy/validate.d.mts +3 -0
  133. package/types/index.d.ts +9 -0
  134. package/types/mcp/tools.d.mts +635 -0
  135. package/types/play/index.d.ts +880 -0
  136. package/types/play/keys.d.ts +51 -0
  137. package/types/results/index.d.ts +155 -0
  138. package/types/results/wire.d.ts +122 -0
@@ -0,0 +1,635 @@
1
+ export declare const VERSION: string;
2
+ /** This package's exact version: every command the tools hand a person names it, so npx runs this very release. */
3
+ export declare const PACKAGE_VERSION: any;
4
+ /**
5
+ * A file name relative to the project folder as the approve command carries it: its folders split by / on every
6
+ * system (Windows' economy\xsolana.json too), or null when it is not plain by xsolana_save's rule. A name is never quoted
7
+ * (a quoted word is a POSIX shell's rule; PowerShell, cmd.exe and fish read the same quotes another way and would run
8
+ * the code planted in the name), so a plain one is one word, the same in every shell, and never an option.
9
+ */
10
+ export declare function plainName(rel: any, paths?: any): string | null;
11
+ /**
12
+ * The command an owner runs to approve going live in their own wallet, pinned to this package's exact version, with
13
+ * the spec's file (relative to the project folder, by `paths`' rules: the system's own unless given) as one plain
14
+ * word. A name that is not plain throws.
15
+ */
16
+ export declare function approveCommand(file?: string, paths?: any): string;
17
+ export declare const CLUSTER = "devnet";
18
+ export declare const DEVNET_RPC = "https://api.devnet.solana.com";
19
+ /** What every answer carries, so an agent never has to remember the program's address. */
20
+ export declare const PROGRAM_INFO: Readonly<{
21
+ program: string;
22
+ cluster: "devnet";
23
+ version: string;
24
+ idl: "@xgamesfun/solana/idl.json";
25
+ package: `@xgamesfun/solana@${any}`;
26
+ }>;
27
+ export declare const DEFAULT_FILE = "xsolana.json";
28
+ /**
29
+ * The spec file `rel` names, inside the project folder: a `.json` file there or in a folder below it. Anything else (an
30
+ * absolute path elsewhere, `..`, a link out of the folder, another kind of file) is refused.
31
+ */
32
+ export declare function projectFile(rel: any, ctx: any): any;
33
+ /**
34
+ * Whether a file's JSON is an economy spec, so xsolana_save may write over it: version 2 with its tokens (every spec that
35
+ * checks has them), a currency if it names one (a spec of one token checks without: that token is its currency)
36
+ * and nothing but the spec's keys, as it is or as the only key of a file, `economy` (a file with other keys beside it
37
+ * would lose them). Every spec xsolana_save writes passes.
38
+ */
39
+ export declare function isSpec(value: any): boolean;
40
+ /**
41
+ * Carries the program numbers of a live spec's parts (by key) into a new version of it, and its `live` section. Only
42
+ * the file on disk can have a `live` section (`xsolana approve` writes it as the setup lands): one the new version brings
43
+ * is dropped when the file had none, and replaced by the file's when it had one.
44
+ */
45
+ export declare function carryIds(previous: any, next: any): any;
46
+ /** In words: the spec changes the project's own settings, which publishing never writes. */
47
+ export declare const settingsNote: (settings: any, live: any) => string;
48
+ export declare const tools: ({
49
+ name: string;
50
+ annotations: {
51
+ readOnlyHint: boolean;
52
+ destructiveHint: boolean;
53
+ idempotentHint: boolean;
54
+ openWorldHint: boolean;
55
+ };
56
+ description: string;
57
+ inputSchema: {
58
+ type: string;
59
+ properties: {
60
+ file?: undefined;
61
+ part: {
62
+ type: string;
63
+ enum: string[];
64
+ description: string;
65
+ };
66
+ query?: undefined;
67
+ name?: undefined;
68
+ fit?: undefined;
69
+ limit?: undefined;
70
+ spec?: undefined;
71
+ };
72
+ additionalProperties: boolean;
73
+ required?: undefined;
74
+ };
75
+ handler({ part }?: Readonly<Record<string, any>>): Promise<{
76
+ program: string;
77
+ cluster: "devnet";
78
+ version: string;
79
+ idl: "@xgamesfun/solana/idl.json";
80
+ package: `@xgamesfun/solana@${any}`;
81
+ text: string;
82
+ parts: {
83
+ part: string;
84
+ type: any;
85
+ says: string;
86
+ atPlayTime?: any;
87
+ fields: {
88
+ name: string;
89
+ type: any;
90
+ required?: boolean | undefined;
91
+ default?: any;
92
+ says?: any;
93
+ }[];
94
+ nested?: any;
95
+ }[];
96
+ cannot?: {
97
+ what: string;
98
+ words: string;
99
+ why: string;
100
+ nearest: string[];
101
+ }[] | undefined;
102
+ }>;
103
+ } | {
104
+ name: string;
105
+ annotations: {
106
+ readOnlyHint: boolean;
107
+ destructiveHint: boolean;
108
+ idempotentHint: boolean;
109
+ openWorldHint: boolean;
110
+ };
111
+ description: string;
112
+ inputSchema: {
113
+ type: string;
114
+ properties: {
115
+ file?: undefined;
116
+ part?: undefined;
117
+ query: {
118
+ type: string;
119
+ description: string;
120
+ };
121
+ name: {
122
+ type: string;
123
+ description: string;
124
+ };
125
+ fit: {
126
+ type: string;
127
+ enum: string[];
128
+ description: string;
129
+ };
130
+ limit: {
131
+ type: string;
132
+ minimum: number;
133
+ maximum: number;
134
+ description: string;
135
+ };
136
+ spec?: undefined;
137
+ };
138
+ additionalProperties: boolean;
139
+ required?: undefined;
140
+ };
141
+ handler({ query, name, fit, limit }: Readonly<Record<string, any>> | undefined, ctx: any): Promise<{
142
+ name: any;
143
+ spec: any;
144
+ checks: string | any[];
145
+ text: string;
146
+ examples?: undefined;
147
+ ideas?: undefined;
148
+ hows?: undefined;
149
+ limits?: undefined;
150
+ } | {
151
+ name?: undefined;
152
+ checks?: undefined;
153
+ examples: any;
154
+ ideas: {
155
+ count: any;
156
+ };
157
+ text: string;
158
+ hows?: undefined;
159
+ limits?: undefined;
160
+ spec?: undefined;
161
+ } | {
162
+ name?: undefined;
163
+ checks?: undefined;
164
+ examples: any;
165
+ ideas: any;
166
+ hows: any;
167
+ limits: any;
168
+ text: string;
169
+ spec?: undefined;
170
+ }>;
171
+ } | {
172
+ name: string;
173
+ annotations: {
174
+ readOnlyHint: boolean;
175
+ destructiveHint: boolean;
176
+ idempotentHint: boolean;
177
+ openWorldHint: boolean;
178
+ };
179
+ description: string;
180
+ inputSchema: {
181
+ type: string;
182
+ properties: {
183
+ spec: {
184
+ type: string;
185
+ description: string;
186
+ };
187
+ file: {
188
+ type: string;
189
+ description: string;
190
+ };
191
+ example: {
192
+ type: string;
193
+ description: string;
194
+ };
195
+ part?: undefined;
196
+ query?: undefined;
197
+ name?: undefined;
198
+ fit?: undefined;
199
+ limit?: undefined;
200
+ scenario: {
201
+ type: string;
202
+ description: string;
203
+ };
204
+ json: {
205
+ type: string;
206
+ description: string;
207
+ };
208
+ };
209
+ additionalProperties: boolean;
210
+ required?: undefined;
211
+ };
212
+ handler(input: any, ctx: any): Promise<{
213
+ ok: boolean;
214
+ from: any;
215
+ refusals: any;
216
+ warnings: any;
217
+ text: string;
218
+ } | {
219
+ ok: boolean;
220
+ from: any;
221
+ summary: {
222
+ boxes: {
223
+ key: any;
224
+ returnPercent: any;
225
+ houseEdgePercent: any;
226
+ }[];
227
+ pools: {
228
+ key: any;
229
+ lasts: any;
230
+ lastsDays: any;
231
+ settlesAt: any;
232
+ }[];
233
+ farms: any;
234
+ platformSolPerDay: any;
235
+ };
236
+ simulation?: {
237
+ scenario: {
238
+ days: any;
239
+ perDay: any;
240
+ defaultPerDay: number;
241
+ defaultBidsPerDay: number;
242
+ defaultClaimsPerDay: number;
243
+ };
244
+ boxes: {
245
+ key: any;
246
+ name: any;
247
+ price: number;
248
+ averagePrice?: any;
249
+ token: any;
250
+ opensPerDay: number;
251
+ outcomes: any;
252
+ expectedBack: any;
253
+ returnPercent: any;
254
+ houseEdgePercent: any;
255
+ alsoPays: {};
256
+ unpriced: any[];
257
+ playerFee: number;
258
+ oracleFee: number;
259
+ realCost: {
260
+ price: any;
261
+ token: any;
262
+ atLeast?: boolean | undefined;
263
+ priceBack?: boolean | undefined;
264
+ playerFeeSol: number;
265
+ oracleSol: number;
266
+ networkSol: any;
267
+ rentSol: any;
268
+ rentIs?: string | undefined;
269
+ heldSol?: any;
270
+ heldIs?: string | undefined;
271
+ extrasSol: any;
272
+ totalSol?: any;
273
+ holdSol: any;
274
+ };
275
+ limitedStock?: boolean | undefined;
276
+ whenOut?: string | undefined;
277
+ stock?: {
278
+ whenOut: string;
279
+ stopsSellingInDays: any;
280
+ by: any;
281
+ } | {
282
+ by?: undefined;
283
+ whenOut: string;
284
+ runsOut: {
285
+ inDays: any;
286
+ outcomes: any;
287
+ chancesAfter: any;
288
+ }[];
289
+ stopsSellingInDays?: any;
290
+ } | undefined;
291
+ returnOfRealCostPercent?: any;
292
+ }[];
293
+ items: any;
294
+ payments: any;
295
+ recipes: any;
296
+ schedules: any;
297
+ lotteries: any;
298
+ farms: any;
299
+ grants: any;
300
+ contests: any;
301
+ auctions: any;
302
+ stashes: any;
303
+ pools: {
304
+ key: any;
305
+ pot?: any;
306
+ farm?: any;
307
+ token: any;
308
+ seed: any;
309
+ inPerDay: any;
310
+ outPerDay: any;
311
+ ins: any;
312
+ outs: any[];
313
+ }[];
314
+ perDay: {
315
+ players: {
316
+ pay: {
317
+ [k: string]: any;
318
+ };
319
+ getBack: {
320
+ [k: string]: any;
321
+ };
322
+ playerFeesSol: any;
323
+ oracleFeesSol: any;
324
+ networkFeesSol: any;
325
+ rentSol: any;
326
+ };
327
+ creator: {
328
+ treasury: {
329
+ [k: string]: any;
330
+ };
331
+ projectFeesSol: any;
332
+ oracleFeesSol: any;
333
+ networkFeesSol: any;
334
+ grantRentSol: any;
335
+ };
336
+ oracle: {
337
+ totalSol: any;
338
+ };
339
+ platform: {
340
+ playerFeesSol: any;
341
+ projectFeesSol: any;
342
+ totalSol: any;
343
+ };
344
+ burned: {
345
+ [k: string]: any;
346
+ };
347
+ accounts: {
348
+ [k: string]: any;
349
+ };
350
+ };
351
+ fees: {
352
+ playerSol: number;
353
+ projectSol: number;
354
+ oracleSol: number;
355
+ networkPerSignatureSol: number;
356
+ settleRentUnitSol: number;
357
+ ticketLineRentSol: any;
358
+ collectibleRentSol: number;
359
+ burnRefundSol: number;
360
+ };
361
+ notes: string[];
362
+ } | undefined;
363
+ text: string;
364
+ }>;
365
+ } | {
366
+ name: string;
367
+ annotations: {
368
+ readOnlyHint: boolean;
369
+ destructiveHint: boolean;
370
+ idempotentHint: boolean;
371
+ openWorldHint: boolean;
372
+ };
373
+ description: string;
374
+ inputSchema: {
375
+ type: string;
376
+ properties: {
377
+ spec: {
378
+ type: string;
379
+ description: string;
380
+ };
381
+ file: {
382
+ type: string;
383
+ description: string;
384
+ };
385
+ example: {
386
+ type: string;
387
+ description: string;
388
+ };
389
+ };
390
+ additionalProperties: boolean;
391
+ required?: undefined;
392
+ };
393
+ handler(input: any, ctx: any): Promise<{
394
+ ok: boolean;
395
+ from: any;
396
+ refusals: any;
397
+ warnings: any;
398
+ text: string;
399
+ } | {
400
+ ok: boolean;
401
+ from: any;
402
+ setup: any;
403
+ actions: any;
404
+ fees: any;
405
+ text: string;
406
+ }>;
407
+ } | {
408
+ name: string;
409
+ annotations: {
410
+ readOnlyHint: boolean;
411
+ destructiveHint: boolean;
412
+ idempotentHint: boolean;
413
+ openWorldHint: boolean;
414
+ };
415
+ description: string;
416
+ inputSchema: {
417
+ type: string;
418
+ properties: {
419
+ spec: {
420
+ type: string;
421
+ description: string;
422
+ };
423
+ file: {
424
+ type: string;
425
+ description: string;
426
+ };
427
+ example: {
428
+ type: string;
429
+ description: string;
430
+ };
431
+ };
432
+ additionalProperties: boolean;
433
+ required?: undefined;
434
+ };
435
+ handler(input: any, ctx: any): Promise<{
436
+ ok: boolean;
437
+ refusals: any[];
438
+ warnings: any[];
439
+ needsAuthority?: undefined;
440
+ chance?: undefined;
441
+ from: any;
442
+ text: string;
443
+ setupSol?: undefined;
444
+ } | {
445
+ refusals?: undefined;
446
+ ok: boolean;
447
+ warnings: any[];
448
+ needsAuthority: boolean;
449
+ chance: boolean;
450
+ setupSol: any;
451
+ from: any;
452
+ text: string;
453
+ }>;
454
+ } | {
455
+ name: string;
456
+ annotations: {
457
+ readOnlyHint: boolean;
458
+ destructiveHint: boolean;
459
+ idempotentHint: boolean;
460
+ openWorldHint: boolean;
461
+ };
462
+ description: string;
463
+ inputSchema: {
464
+ type: string;
465
+ properties: {
466
+ part?: undefined;
467
+ query?: undefined;
468
+ name?: undefined;
469
+ fit?: undefined;
470
+ limit?: undefined;
471
+ spec: {
472
+ type: string;
473
+ description: string;
474
+ };
475
+ file: {
476
+ type: string;
477
+ description: string;
478
+ };
479
+ };
480
+ required: string[];
481
+ additionalProperties: boolean;
482
+ };
483
+ handler(input: any, ctx: any): Promise<{
484
+ file?: undefined;
485
+ ok: boolean;
486
+ isError: boolean;
487
+ text: string;
488
+ warnings?: undefined;
489
+ } | {
490
+ file?: undefined;
491
+ ok: boolean;
492
+ from: any;
493
+ refusals: any;
494
+ warnings: any;
495
+ isError: boolean;
496
+ text: string;
497
+ } | {
498
+ isError?: undefined;
499
+ ok: boolean;
500
+ file: any;
501
+ warnings: any[];
502
+ text: string;
503
+ }>;
504
+ } | {
505
+ name: string;
506
+ annotations: {
507
+ destructiveHint: boolean;
508
+ idempotentHint: boolean;
509
+ openWorldHint: boolean;
510
+ readOnlyHint: boolean;
511
+ };
512
+ description: string;
513
+ inputSchema: {
514
+ required?: undefined;
515
+ type: string;
516
+ properties: {
517
+ spec: {
518
+ type: string;
519
+ description: string;
520
+ };
521
+ file: {
522
+ type: string;
523
+ description: string;
524
+ };
525
+ example: {
526
+ type: string;
527
+ description: string;
528
+ };
529
+ };
530
+ additionalProperties: boolean;
531
+ };
532
+ handler(input: any, ctx: any): Promise<{
533
+ ok: boolean;
534
+ from: any;
535
+ refusals: any;
536
+ warnings: any;
537
+ text: string;
538
+ } | {
539
+ ok: boolean;
540
+ transactions: number;
541
+ approvals: number;
542
+ steps: never[];
543
+ text: string;
544
+ command?: undefined;
545
+ setupSol?: undefined;
546
+ } | {
547
+ ok: boolean;
548
+ command: string;
549
+ transactions: number;
550
+ approvals: number | undefined;
551
+ setupSol: any;
552
+ steps: any[];
553
+ text: string;
554
+ }>;
555
+ } | {
556
+ name: string;
557
+ annotations: {
558
+ readOnlyHint: boolean;
559
+ destructiveHint: boolean;
560
+ idempotentHint: boolean;
561
+ openWorldHint: boolean;
562
+ };
563
+ description: string;
564
+ inputSchema: {
565
+ required?: undefined;
566
+ type: string;
567
+ properties: {
568
+ part?: undefined;
569
+ query?: undefined;
570
+ name?: undefined;
571
+ fit?: undefined;
572
+ limit?: undefined;
573
+ spec?: undefined;
574
+ file: {
575
+ type: string;
576
+ description: string;
577
+ };
578
+ };
579
+ additionalProperties: boolean;
580
+ };
581
+ handler(input: any, ctx: any): Promise<{
582
+ ok: boolean;
583
+ text: string;
584
+ rows?: undefined;
585
+ } | {
586
+ ok: boolean;
587
+ rows: ({
588
+ part: any;
589
+ address: any;
590
+ found: boolean;
591
+ kind: string;
592
+ sol: number;
593
+ } | {
594
+ sol?: undefined;
595
+ part: any;
596
+ address: any;
597
+ found: boolean;
598
+ amount?: number | undefined;
599
+ nfts?: any;
600
+ kind?: string | undefined;
601
+ })[];
602
+ text: string;
603
+ }>;
604
+ } | {
605
+ name: string;
606
+ annotations: {
607
+ readOnlyHint: boolean;
608
+ destructiveHint: boolean;
609
+ idempotentHint: boolean;
610
+ openWorldHint: boolean;
611
+ };
612
+ description: string;
613
+ inputSchema: {
614
+ required?: undefined;
615
+ type: string;
616
+ properties: {
617
+ file?: undefined;
618
+ part?: undefined;
619
+ query?: undefined;
620
+ name?: undefined;
621
+ fit?: undefined;
622
+ limit?: undefined;
623
+ spec?: undefined;
624
+ };
625
+ additionalProperties: boolean;
626
+ };
627
+ handler(): Promise<{
628
+ program: string;
629
+ cluster: "devnet";
630
+ version: string;
631
+ idl: "@xgamesfun/solana/idl.json";
632
+ package: `@xgamesfun/solana@${any}`;
633
+ text: string;
634
+ }>;
635
+ })[];