@mobula_labs/types 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cjs/index.cjs +3689 -3391
  2. package/dist/cjs/index.cjs.map +27 -20
  3. package/dist/esm/index.js +3689 -3391
  4. package/dist/esm/index.js.map +27 -20
  5. package/dist/index.d.ts +7 -0
  6. package/dist/misc/ApiKeysQueries.d.ts +4 -0
  7. package/dist/utils/schemas/BaseMessage.d.ts +6 -6
  8. package/dist/utils/schemas/CurrencySchema.d.ts +21 -0
  9. package/dist/utils/schemas/EnrichedHoldersData.d.ts +3 -3
  10. package/dist/utils/schemas/EnrichedMarketData.d.ts +453 -1567
  11. package/dist/utils/schemas/LLMSecuritySchemas.d.ts +260 -0
  12. package/dist/utils/schemas/MarketDetailsOutput.d.ts +22 -31
  13. package/dist/utils/schemas/SecuritySchemas.d.ts +3 -11
  14. package/dist/utils/schemas/TokenDetailsOutput.d.ts +9 -15
  15. package/dist/utils/schemas/WalletDeployerSchema.d.ts +30 -36
  16. package/dist/v1/all/BlockchainSchema.d.ts +6 -6
  17. package/dist/v1/market/MarketBlockchainPairsSchema.d.ts +10 -10
  18. package/dist/v1/market/MarketHistoryPairSchema.d.ts +8 -8
  19. package/dist/v1/market/MarketMultiDataSchema.d.ts +4 -4
  20. package/dist/v1/market/MarketMultiPricesSchema.d.ts +4 -4
  21. package/dist/v1/market/MarketPairSchema.d.ts +76 -106
  22. package/dist/v1/market/MarketPairsSchema.d.ts +12 -25
  23. package/dist/v1/market/MarketTradesPairSchema.d.ts +22 -2
  24. package/dist/v1/metadata/MetadataTrendingsSchema.d.ts +2 -2
  25. package/dist/v1/pulse/PulseSchema.d.ts +138 -294
  26. package/dist/v1/search/SearchSchema.d.ts +20 -24
  27. package/dist/v1/wallet/DeployerSchema.d.ts +17 -19
  28. package/dist/v1/wallet/WalletPortfolioSchema.d.ts +8 -24
  29. package/dist/v1/wallet/WalletTradesSchema.d.ts +13 -15
  30. package/dist/v1/wallet/WalletTransactionSchema.d.ts +8 -8
  31. package/dist/v2/asset/AssetDetailsSchema.d.ts +46 -60
  32. package/dist/v2/explorer/BlockQuerySchema.d.ts +23 -0
  33. package/dist/v2/market/MarketDetailsSchema.d.ts +61 -62
  34. package/dist/v2/perp/PerpBlocksSchema.d.ts +183 -0
  35. package/dist/v2/perp/PerpModels.d.ts +10 -10
  36. package/dist/v2/swap/SwapQuotingBatchOutput.d.ts +18 -18
  37. package/dist/v2/swap/SwapQuotingBatchSchema.d.ts +158 -0
  38. package/dist/v2/swap/SwapQuotingInstructionsOutput.d.ts +2044 -0
  39. package/dist/v2/swap/SwapQuotingOutput.d.ts +18 -18
  40. package/dist/v2/swap/SwapQuotingSchema.d.ts +90 -0
  41. package/dist/v2/token/TokenDetailsSchema.d.ts +33 -30
  42. package/dist/v2/token/TokenKlineBsPointSchema.d.ts +2 -6
  43. package/dist/v2/token/TokenMarketsSchema.d.ts +44 -62
  44. package/dist/v2/token/TokenPositionsSchema.d.ts +3 -0
  45. package/dist/v2/token/TokenSecurityOutput.d.ts +122 -0
  46. package/dist/v2/token/TokenSecurityQuery.d.ts +3 -0
  47. package/dist/v2/token/TokenTradesSchema.d.ts +242 -154
  48. package/dist/v2/wallet/WalletActivityV2Schema.d.ts +11 -15
  49. package/dist/v2/wallet/WalletDefiPositionsSchema.d.ts +12 -0
  50. package/dist/v2/wallet/WalletDeployerSchema.d.ts +17 -19
  51. package/dist/v2/wallet/WalletPerpsPositionsSchema.d.ts +6 -6
  52. package/dist/v2/wallet/WalletPositionsSchema.d.ts +3795 -38
  53. package/dist/v2/wallet/WalletTokenBalancesSchema.d.ts +6 -22
  54. package/dist/wss/BalancePayloadSchema.d.ts +6 -6
  55. package/dist/wss/FastTradePayloadSchema.d.ts +5 -0
  56. package/dist/wss/OhlcvPayloadSchema.d.ts +2 -2
  57. package/dist/wss/PairsPayloadSchema.d.ts +2 -2
  58. package/dist/wss/PositionPayloadSchema.d.ts +2 -2
  59. package/package.json +3 -3
@@ -0,0 +1,2044 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Solana instruction schema - represents a single instruction that can be
4
+ * added to a transaction. This allows clients to add their own instructions
5
+ * (e.g., fee transfers, Jito tips) before building the transaction.
6
+ */
7
+ export declare const SolanaInstructionSchema: z.ZodObject<{
8
+ /** Program ID that will process this instruction */
9
+ programId: z.ZodString;
10
+ /** Account keys involved in the instruction */
11
+ accounts: z.ZodArray<z.ZodObject<{
12
+ pubkey: z.ZodString;
13
+ isSigner: z.ZodBoolean;
14
+ isWritable: z.ZodBoolean;
15
+ }, "strip", z.ZodTypeAny, {
16
+ pubkey: string;
17
+ isSigner: boolean;
18
+ isWritable: boolean;
19
+ }, {
20
+ pubkey: string;
21
+ isSigner: boolean;
22
+ isWritable: boolean;
23
+ }>, "many">;
24
+ /** Instruction data as base64 encoded string */
25
+ data: z.ZodString;
26
+ }, "strip", z.ZodTypeAny, {
27
+ data: string;
28
+ programId: string;
29
+ accounts: {
30
+ pubkey: string;
31
+ isSigner: boolean;
32
+ isWritable: boolean;
33
+ }[];
34
+ }, {
35
+ data: string;
36
+ programId: string;
37
+ accounts: {
38
+ pubkey: string;
39
+ isSigner: boolean;
40
+ isWritable: boolean;
41
+ }[];
42
+ }>;
43
+ /**
44
+ * Solana instructions response schema
45
+ * Contains all the instructions needed to execute a swap, which the client
46
+ * can combine with their own instructions before building and signing.
47
+ */
48
+ export declare const SolanaInstructionsSchema: z.ZodObject<{
49
+ /** Instructions to set compute budget (priority fees, compute limits) */
50
+ computeBudgetInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
+ /** Program ID that will process this instruction */
52
+ programId: z.ZodString;
53
+ /** Account keys involved in the instruction */
54
+ accounts: z.ZodArray<z.ZodObject<{
55
+ pubkey: z.ZodString;
56
+ isSigner: z.ZodBoolean;
57
+ isWritable: z.ZodBoolean;
58
+ }, "strip", z.ZodTypeAny, {
59
+ pubkey: string;
60
+ isSigner: boolean;
61
+ isWritable: boolean;
62
+ }, {
63
+ pubkey: string;
64
+ isSigner: boolean;
65
+ isWritable: boolean;
66
+ }>, "many">;
67
+ /** Instruction data as base64 encoded string */
68
+ data: z.ZodString;
69
+ }, "strip", z.ZodTypeAny, {
70
+ data: string;
71
+ programId: string;
72
+ accounts: {
73
+ pubkey: string;
74
+ isSigner: boolean;
75
+ isWritable: boolean;
76
+ }[];
77
+ }, {
78
+ data: string;
79
+ programId: string;
80
+ accounts: {
81
+ pubkey: string;
82
+ isSigner: boolean;
83
+ isWritable: boolean;
84
+ }[];
85
+ }>, "many">>;
86
+ /** Setup instructions (e.g., create token accounts) */
87
+ setupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ /** Program ID that will process this instruction */
89
+ programId: z.ZodString;
90
+ /** Account keys involved in the instruction */
91
+ accounts: z.ZodArray<z.ZodObject<{
92
+ pubkey: z.ZodString;
93
+ isSigner: z.ZodBoolean;
94
+ isWritable: z.ZodBoolean;
95
+ }, "strip", z.ZodTypeAny, {
96
+ pubkey: string;
97
+ isSigner: boolean;
98
+ isWritable: boolean;
99
+ }, {
100
+ pubkey: string;
101
+ isSigner: boolean;
102
+ isWritable: boolean;
103
+ }>, "many">;
104
+ /** Instruction data as base64 encoded string */
105
+ data: z.ZodString;
106
+ }, "strip", z.ZodTypeAny, {
107
+ data: string;
108
+ programId: string;
109
+ accounts: {
110
+ pubkey: string;
111
+ isSigner: boolean;
112
+ isWritable: boolean;
113
+ }[];
114
+ }, {
115
+ data: string;
116
+ programId: string;
117
+ accounts: {
118
+ pubkey: string;
119
+ isSigner: boolean;
120
+ isWritable: boolean;
121
+ }[];
122
+ }>, "many">>;
123
+ /** Swap instructions (can be multiple for multi-hop routes) */
124
+ swapInstructions: z.ZodArray<z.ZodObject<{
125
+ /** Program ID that will process this instruction */
126
+ programId: z.ZodString;
127
+ /** Account keys involved in the instruction */
128
+ accounts: z.ZodArray<z.ZodObject<{
129
+ pubkey: z.ZodString;
130
+ isSigner: z.ZodBoolean;
131
+ isWritable: z.ZodBoolean;
132
+ }, "strip", z.ZodTypeAny, {
133
+ pubkey: string;
134
+ isSigner: boolean;
135
+ isWritable: boolean;
136
+ }, {
137
+ pubkey: string;
138
+ isSigner: boolean;
139
+ isWritable: boolean;
140
+ }>, "many">;
141
+ /** Instruction data as base64 encoded string */
142
+ data: z.ZodString;
143
+ }, "strip", z.ZodTypeAny, {
144
+ data: string;
145
+ programId: string;
146
+ accounts: {
147
+ pubkey: string;
148
+ isSigner: boolean;
149
+ isWritable: boolean;
150
+ }[];
151
+ }, {
152
+ data: string;
153
+ programId: string;
154
+ accounts: {
155
+ pubkey: string;
156
+ isSigner: boolean;
157
+ isWritable: boolean;
158
+ }[];
159
+ }>, "many">;
160
+ /** Cleanup instructions (e.g., close token accounts) */
161
+ cleanupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
162
+ /** Program ID that will process this instruction */
163
+ programId: z.ZodString;
164
+ /** Account keys involved in the instruction */
165
+ accounts: z.ZodArray<z.ZodObject<{
166
+ pubkey: z.ZodString;
167
+ isSigner: z.ZodBoolean;
168
+ isWritable: z.ZodBoolean;
169
+ }, "strip", z.ZodTypeAny, {
170
+ pubkey: string;
171
+ isSigner: boolean;
172
+ isWritable: boolean;
173
+ }, {
174
+ pubkey: string;
175
+ isSigner: boolean;
176
+ isWritable: boolean;
177
+ }>, "many">;
178
+ /** Instruction data as base64 encoded string */
179
+ data: z.ZodString;
180
+ }, "strip", z.ZodTypeAny, {
181
+ data: string;
182
+ programId: string;
183
+ accounts: {
184
+ pubkey: string;
185
+ isSigner: boolean;
186
+ isWritable: boolean;
187
+ }[];
188
+ }, {
189
+ data: string;
190
+ programId: string;
191
+ accounts: {
192
+ pubkey: string;
193
+ isSigner: boolean;
194
+ isWritable: boolean;
195
+ }[];
196
+ }>, "many">>;
197
+ /** Address lookup table addresses for versioned transactions */
198
+ addressLookupTableAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ swapInstructions: {
201
+ data: string;
202
+ programId: string;
203
+ accounts: {
204
+ pubkey: string;
205
+ isSigner: boolean;
206
+ isWritable: boolean;
207
+ }[];
208
+ }[];
209
+ computeBudgetInstructions?: {
210
+ data: string;
211
+ programId: string;
212
+ accounts: {
213
+ pubkey: string;
214
+ isSigner: boolean;
215
+ isWritable: boolean;
216
+ }[];
217
+ }[] | undefined;
218
+ setupInstructions?: {
219
+ data: string;
220
+ programId: string;
221
+ accounts: {
222
+ pubkey: string;
223
+ isSigner: boolean;
224
+ isWritable: boolean;
225
+ }[];
226
+ }[] | undefined;
227
+ cleanupInstructions?: {
228
+ data: string;
229
+ programId: string;
230
+ accounts: {
231
+ pubkey: string;
232
+ isSigner: boolean;
233
+ isWritable: boolean;
234
+ }[];
235
+ }[] | undefined;
236
+ addressLookupTableAddresses?: string[] | undefined;
237
+ }, {
238
+ swapInstructions: {
239
+ data: string;
240
+ programId: string;
241
+ accounts: {
242
+ pubkey: string;
243
+ isSigner: boolean;
244
+ isWritable: boolean;
245
+ }[];
246
+ }[];
247
+ computeBudgetInstructions?: {
248
+ data: string;
249
+ programId: string;
250
+ accounts: {
251
+ pubkey: string;
252
+ isSigner: boolean;
253
+ isWritable: boolean;
254
+ }[];
255
+ }[] | undefined;
256
+ setupInstructions?: {
257
+ data: string;
258
+ programId: string;
259
+ accounts: {
260
+ pubkey: string;
261
+ isSigner: boolean;
262
+ isWritable: boolean;
263
+ }[];
264
+ }[] | undefined;
265
+ cleanupInstructions?: {
266
+ data: string;
267
+ programId: string;
268
+ accounts: {
269
+ pubkey: string;
270
+ isSigner: boolean;
271
+ isWritable: boolean;
272
+ }[];
273
+ }[] | undefined;
274
+ addressLookupTableAddresses?: string[] | undefined;
275
+ }>;
276
+ /**
277
+ * Data schema for swap quoting instructions endpoint
278
+ * Returns instructions instead of a serialized transaction
279
+ */
280
+ export declare const SwapQuotingInstructionsDataSchema: z.ZodObject<{
281
+ /** Estimated output amount in tokens */
282
+ amountOutTokens: z.ZodOptional<z.ZodString>;
283
+ /** Slippage percentage */
284
+ slippagePercentage: z.ZodOptional<z.ZodNumber>;
285
+ /** Input amount in USD */
286
+ amountInUSD: z.ZodOptional<z.ZodNumber>;
287
+ /** Output amount in USD */
288
+ amountOutUSD: z.ZodOptional<z.ZodNumber>;
289
+ /** Market impact percentage */
290
+ marketImpactPercentage: z.ZodOptional<z.ZodNumber>;
291
+ /** Pool fees percentage */
292
+ poolFeesPercentage: z.ZodOptional<z.ZodNumber>;
293
+ /** Token input metadata */
294
+ tokenIn: z.ZodOptional<z.ZodObject<{
295
+ address: z.ZodString;
296
+ name: z.ZodOptional<z.ZodString>;
297
+ symbol: z.ZodOptional<z.ZodString>;
298
+ decimals: z.ZodNumber;
299
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
300
+ }, "strip", z.ZodTypeAny, {
301
+ address: string;
302
+ decimals: number;
303
+ symbol?: string | undefined;
304
+ name?: string | undefined;
305
+ logo?: string | null | undefined;
306
+ }, {
307
+ address: string;
308
+ decimals: number;
309
+ symbol?: string | undefined;
310
+ name?: string | undefined;
311
+ logo?: string | null | undefined;
312
+ }>>;
313
+ /** Token output metadata */
314
+ tokenOut: z.ZodOptional<z.ZodObject<{
315
+ address: z.ZodString;
316
+ name: z.ZodOptional<z.ZodString>;
317
+ symbol: z.ZodOptional<z.ZodString>;
318
+ decimals: z.ZodNumber;
319
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
320
+ }, "strip", z.ZodTypeAny, {
321
+ address: string;
322
+ decimals: number;
323
+ symbol?: string | undefined;
324
+ name?: string | undefined;
325
+ logo?: string | null | undefined;
326
+ }, {
327
+ address: string;
328
+ decimals: number;
329
+ symbol?: string | undefined;
330
+ name?: string | undefined;
331
+ logo?: string | null | undefined;
332
+ }>>;
333
+ /** Unique request ID */
334
+ requestId: z.ZodString;
335
+ /** Route details */
336
+ details: z.ZodOptional<z.ZodObject<{
337
+ route: z.ZodOptional<z.ZodObject<{
338
+ hops: z.ZodArray<z.ZodObject<{
339
+ poolAddress: z.ZodString;
340
+ tokenIn: z.ZodObject<{
341
+ address: z.ZodString;
342
+ name: z.ZodOptional<z.ZodString>;
343
+ symbol: z.ZodOptional<z.ZodString>;
344
+ decimals: z.ZodNumber;
345
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
+ }, "strip", z.ZodTypeAny, {
347
+ address: string;
348
+ decimals: number;
349
+ symbol?: string | undefined;
350
+ name?: string | undefined;
351
+ logo?: string | null | undefined;
352
+ }, {
353
+ address: string;
354
+ decimals: number;
355
+ symbol?: string | undefined;
356
+ name?: string | undefined;
357
+ logo?: string | null | undefined;
358
+ }>;
359
+ tokenOut: z.ZodObject<{
360
+ address: z.ZodString;
361
+ name: z.ZodOptional<z.ZodString>;
362
+ symbol: z.ZodOptional<z.ZodString>;
363
+ decimals: z.ZodNumber;
364
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
365
+ }, "strip", z.ZodTypeAny, {
366
+ address: string;
367
+ decimals: number;
368
+ symbol?: string | undefined;
369
+ name?: string | undefined;
370
+ logo?: string | null | undefined;
371
+ }, {
372
+ address: string;
373
+ decimals: number;
374
+ symbol?: string | undefined;
375
+ name?: string | undefined;
376
+ logo?: string | null | undefined;
377
+ }>;
378
+ amountInTokens: z.ZodString;
379
+ amountOutTokens: z.ZodString;
380
+ exchange: z.ZodOptional<z.ZodString>;
381
+ poolType: z.ZodOptional<z.ZodString>;
382
+ feePercentage: z.ZodOptional<z.ZodNumber>;
383
+ feeBps: z.ZodOptional<z.ZodNumber>;
384
+ }, "strip", z.ZodTypeAny, {
385
+ poolAddress: string;
386
+ tokenIn: {
387
+ address: string;
388
+ decimals: number;
389
+ symbol?: string | undefined;
390
+ name?: string | undefined;
391
+ logo?: string | null | undefined;
392
+ };
393
+ tokenOut: {
394
+ address: string;
395
+ decimals: number;
396
+ symbol?: string | undefined;
397
+ name?: string | undefined;
398
+ logo?: string | null | undefined;
399
+ };
400
+ amountInTokens: string;
401
+ amountOutTokens: string;
402
+ exchange?: string | undefined;
403
+ poolType?: string | undefined;
404
+ feePercentage?: number | undefined;
405
+ feeBps?: number | undefined;
406
+ }, {
407
+ poolAddress: string;
408
+ tokenIn: {
409
+ address: string;
410
+ decimals: number;
411
+ symbol?: string | undefined;
412
+ name?: string | undefined;
413
+ logo?: string | null | undefined;
414
+ };
415
+ tokenOut: {
416
+ address: string;
417
+ decimals: number;
418
+ symbol?: string | undefined;
419
+ name?: string | undefined;
420
+ logo?: string | null | undefined;
421
+ };
422
+ amountInTokens: string;
423
+ amountOutTokens: string;
424
+ exchange?: string | undefined;
425
+ poolType?: string | undefined;
426
+ feePercentage?: number | undefined;
427
+ feeBps?: number | undefined;
428
+ }>, "many">;
429
+ totalFeePercentage: z.ZodOptional<z.ZodNumber>;
430
+ aggregator: z.ZodOptional<z.ZodString>;
431
+ }, "strip", z.ZodTypeAny, {
432
+ hops: {
433
+ poolAddress: string;
434
+ tokenIn: {
435
+ address: string;
436
+ decimals: number;
437
+ symbol?: string | undefined;
438
+ name?: string | undefined;
439
+ logo?: string | null | undefined;
440
+ };
441
+ tokenOut: {
442
+ address: string;
443
+ decimals: number;
444
+ symbol?: string | undefined;
445
+ name?: string | undefined;
446
+ logo?: string | null | undefined;
447
+ };
448
+ amountInTokens: string;
449
+ amountOutTokens: string;
450
+ exchange?: string | undefined;
451
+ poolType?: string | undefined;
452
+ feePercentage?: number | undefined;
453
+ feeBps?: number | undefined;
454
+ }[];
455
+ totalFeePercentage?: number | undefined;
456
+ aggregator?: string | undefined;
457
+ }, {
458
+ hops: {
459
+ poolAddress: string;
460
+ tokenIn: {
461
+ address: string;
462
+ decimals: number;
463
+ symbol?: string | undefined;
464
+ name?: string | undefined;
465
+ logo?: string | null | undefined;
466
+ };
467
+ tokenOut: {
468
+ address: string;
469
+ decimals: number;
470
+ symbol?: string | undefined;
471
+ name?: string | undefined;
472
+ logo?: string | null | undefined;
473
+ };
474
+ amountInTokens: string;
475
+ amountOutTokens: string;
476
+ exchange?: string | undefined;
477
+ poolType?: string | undefined;
478
+ feePercentage?: number | undefined;
479
+ feeBps?: number | undefined;
480
+ }[];
481
+ totalFeePercentage?: number | undefined;
482
+ aggregator?: string | undefined;
483
+ }>>;
484
+ aggregator: z.ZodOptional<z.ZodString>;
485
+ raw: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
486
+ }, "strip", z.ZodTypeAny, {
487
+ raw?: Record<string, unknown> | undefined;
488
+ aggregator?: string | undefined;
489
+ route?: {
490
+ hops: {
491
+ poolAddress: string;
492
+ tokenIn: {
493
+ address: string;
494
+ decimals: number;
495
+ symbol?: string | undefined;
496
+ name?: string | undefined;
497
+ logo?: string | null | undefined;
498
+ };
499
+ tokenOut: {
500
+ address: string;
501
+ decimals: number;
502
+ symbol?: string | undefined;
503
+ name?: string | undefined;
504
+ logo?: string | null | undefined;
505
+ };
506
+ amountInTokens: string;
507
+ amountOutTokens: string;
508
+ exchange?: string | undefined;
509
+ poolType?: string | undefined;
510
+ feePercentage?: number | undefined;
511
+ feeBps?: number | undefined;
512
+ }[];
513
+ totalFeePercentage?: number | undefined;
514
+ aggregator?: string | undefined;
515
+ } | undefined;
516
+ }, {
517
+ raw?: Record<string, unknown> | undefined;
518
+ aggregator?: string | undefined;
519
+ route?: {
520
+ hops: {
521
+ poolAddress: string;
522
+ tokenIn: {
523
+ address: string;
524
+ decimals: number;
525
+ symbol?: string | undefined;
526
+ name?: string | undefined;
527
+ logo?: string | null | undefined;
528
+ };
529
+ tokenOut: {
530
+ address: string;
531
+ decimals: number;
532
+ symbol?: string | undefined;
533
+ name?: string | undefined;
534
+ logo?: string | null | undefined;
535
+ };
536
+ amountInTokens: string;
537
+ amountOutTokens: string;
538
+ exchange?: string | undefined;
539
+ poolType?: string | undefined;
540
+ feePercentage?: number | undefined;
541
+ feeBps?: number | undefined;
542
+ }[];
543
+ totalFeePercentage?: number | undefined;
544
+ aggregator?: string | undefined;
545
+ } | undefined;
546
+ }>>;
547
+ /** Solana instructions data */
548
+ solana: z.ZodObject<{
549
+ /** All instructions needed to execute the swap */
550
+ instructions: z.ZodObject<{
551
+ /** Instructions to set compute budget (priority fees, compute limits) */
552
+ computeBudgetInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
553
+ /** Program ID that will process this instruction */
554
+ programId: z.ZodString;
555
+ /** Account keys involved in the instruction */
556
+ accounts: z.ZodArray<z.ZodObject<{
557
+ pubkey: z.ZodString;
558
+ isSigner: z.ZodBoolean;
559
+ isWritable: z.ZodBoolean;
560
+ }, "strip", z.ZodTypeAny, {
561
+ pubkey: string;
562
+ isSigner: boolean;
563
+ isWritable: boolean;
564
+ }, {
565
+ pubkey: string;
566
+ isSigner: boolean;
567
+ isWritable: boolean;
568
+ }>, "many">;
569
+ /** Instruction data as base64 encoded string */
570
+ data: z.ZodString;
571
+ }, "strip", z.ZodTypeAny, {
572
+ data: string;
573
+ programId: string;
574
+ accounts: {
575
+ pubkey: string;
576
+ isSigner: boolean;
577
+ isWritable: boolean;
578
+ }[];
579
+ }, {
580
+ data: string;
581
+ programId: string;
582
+ accounts: {
583
+ pubkey: string;
584
+ isSigner: boolean;
585
+ isWritable: boolean;
586
+ }[];
587
+ }>, "many">>;
588
+ /** Setup instructions (e.g., create token accounts) */
589
+ setupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
590
+ /** Program ID that will process this instruction */
591
+ programId: z.ZodString;
592
+ /** Account keys involved in the instruction */
593
+ accounts: z.ZodArray<z.ZodObject<{
594
+ pubkey: z.ZodString;
595
+ isSigner: z.ZodBoolean;
596
+ isWritable: z.ZodBoolean;
597
+ }, "strip", z.ZodTypeAny, {
598
+ pubkey: string;
599
+ isSigner: boolean;
600
+ isWritable: boolean;
601
+ }, {
602
+ pubkey: string;
603
+ isSigner: boolean;
604
+ isWritable: boolean;
605
+ }>, "many">;
606
+ /** Instruction data as base64 encoded string */
607
+ data: z.ZodString;
608
+ }, "strip", z.ZodTypeAny, {
609
+ data: string;
610
+ programId: string;
611
+ accounts: {
612
+ pubkey: string;
613
+ isSigner: boolean;
614
+ isWritable: boolean;
615
+ }[];
616
+ }, {
617
+ data: string;
618
+ programId: string;
619
+ accounts: {
620
+ pubkey: string;
621
+ isSigner: boolean;
622
+ isWritable: boolean;
623
+ }[];
624
+ }>, "many">>;
625
+ /** Swap instructions (can be multiple for multi-hop routes) */
626
+ swapInstructions: z.ZodArray<z.ZodObject<{
627
+ /** Program ID that will process this instruction */
628
+ programId: z.ZodString;
629
+ /** Account keys involved in the instruction */
630
+ accounts: z.ZodArray<z.ZodObject<{
631
+ pubkey: z.ZodString;
632
+ isSigner: z.ZodBoolean;
633
+ isWritable: z.ZodBoolean;
634
+ }, "strip", z.ZodTypeAny, {
635
+ pubkey: string;
636
+ isSigner: boolean;
637
+ isWritable: boolean;
638
+ }, {
639
+ pubkey: string;
640
+ isSigner: boolean;
641
+ isWritable: boolean;
642
+ }>, "many">;
643
+ /** Instruction data as base64 encoded string */
644
+ data: z.ZodString;
645
+ }, "strip", z.ZodTypeAny, {
646
+ data: string;
647
+ programId: string;
648
+ accounts: {
649
+ pubkey: string;
650
+ isSigner: boolean;
651
+ isWritable: boolean;
652
+ }[];
653
+ }, {
654
+ data: string;
655
+ programId: string;
656
+ accounts: {
657
+ pubkey: string;
658
+ isSigner: boolean;
659
+ isWritable: boolean;
660
+ }[];
661
+ }>, "many">;
662
+ /** Cleanup instructions (e.g., close token accounts) */
663
+ cleanupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
664
+ /** Program ID that will process this instruction */
665
+ programId: z.ZodString;
666
+ /** Account keys involved in the instruction */
667
+ accounts: z.ZodArray<z.ZodObject<{
668
+ pubkey: z.ZodString;
669
+ isSigner: z.ZodBoolean;
670
+ isWritable: z.ZodBoolean;
671
+ }, "strip", z.ZodTypeAny, {
672
+ pubkey: string;
673
+ isSigner: boolean;
674
+ isWritable: boolean;
675
+ }, {
676
+ pubkey: string;
677
+ isSigner: boolean;
678
+ isWritable: boolean;
679
+ }>, "many">;
680
+ /** Instruction data as base64 encoded string */
681
+ data: z.ZodString;
682
+ }, "strip", z.ZodTypeAny, {
683
+ data: string;
684
+ programId: string;
685
+ accounts: {
686
+ pubkey: string;
687
+ isSigner: boolean;
688
+ isWritable: boolean;
689
+ }[];
690
+ }, {
691
+ data: string;
692
+ programId: string;
693
+ accounts: {
694
+ pubkey: string;
695
+ isSigner: boolean;
696
+ isWritable: boolean;
697
+ }[];
698
+ }>, "many">>;
699
+ /** Address lookup table addresses for versioned transactions */
700
+ addressLookupTableAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
701
+ }, "strip", z.ZodTypeAny, {
702
+ swapInstructions: {
703
+ data: string;
704
+ programId: string;
705
+ accounts: {
706
+ pubkey: string;
707
+ isSigner: boolean;
708
+ isWritable: boolean;
709
+ }[];
710
+ }[];
711
+ computeBudgetInstructions?: {
712
+ data: string;
713
+ programId: string;
714
+ accounts: {
715
+ pubkey: string;
716
+ isSigner: boolean;
717
+ isWritable: boolean;
718
+ }[];
719
+ }[] | undefined;
720
+ setupInstructions?: {
721
+ data: string;
722
+ programId: string;
723
+ accounts: {
724
+ pubkey: string;
725
+ isSigner: boolean;
726
+ isWritable: boolean;
727
+ }[];
728
+ }[] | undefined;
729
+ cleanupInstructions?: {
730
+ data: string;
731
+ programId: string;
732
+ accounts: {
733
+ pubkey: string;
734
+ isSigner: boolean;
735
+ isWritable: boolean;
736
+ }[];
737
+ }[] | undefined;
738
+ addressLookupTableAddresses?: string[] | undefined;
739
+ }, {
740
+ swapInstructions: {
741
+ data: string;
742
+ programId: string;
743
+ accounts: {
744
+ pubkey: string;
745
+ isSigner: boolean;
746
+ isWritable: boolean;
747
+ }[];
748
+ }[];
749
+ computeBudgetInstructions?: {
750
+ data: string;
751
+ programId: string;
752
+ accounts: {
753
+ pubkey: string;
754
+ isSigner: boolean;
755
+ isWritable: boolean;
756
+ }[];
757
+ }[] | undefined;
758
+ setupInstructions?: {
759
+ data: string;
760
+ programId: string;
761
+ accounts: {
762
+ pubkey: string;
763
+ isSigner: boolean;
764
+ isWritable: boolean;
765
+ }[];
766
+ }[] | undefined;
767
+ cleanupInstructions?: {
768
+ data: string;
769
+ programId: string;
770
+ accounts: {
771
+ pubkey: string;
772
+ isSigner: boolean;
773
+ isWritable: boolean;
774
+ }[];
775
+ }[] | undefined;
776
+ addressLookupTableAddresses?: string[] | undefined;
777
+ }>;
778
+ /** The last block height at which the blockhash will be valid */
779
+ lastValidBlockHeight: z.ZodNumber;
780
+ /** Recent blockhash to use when building the transaction */
781
+ recentBlockhash: z.ZodString;
782
+ }, "strip", z.ZodTypeAny, {
783
+ lastValidBlockHeight: number;
784
+ instructions: {
785
+ swapInstructions: {
786
+ data: string;
787
+ programId: string;
788
+ accounts: {
789
+ pubkey: string;
790
+ isSigner: boolean;
791
+ isWritable: boolean;
792
+ }[];
793
+ }[];
794
+ computeBudgetInstructions?: {
795
+ data: string;
796
+ programId: string;
797
+ accounts: {
798
+ pubkey: string;
799
+ isSigner: boolean;
800
+ isWritable: boolean;
801
+ }[];
802
+ }[] | undefined;
803
+ setupInstructions?: {
804
+ data: string;
805
+ programId: string;
806
+ accounts: {
807
+ pubkey: string;
808
+ isSigner: boolean;
809
+ isWritable: boolean;
810
+ }[];
811
+ }[] | undefined;
812
+ cleanupInstructions?: {
813
+ data: string;
814
+ programId: string;
815
+ accounts: {
816
+ pubkey: string;
817
+ isSigner: boolean;
818
+ isWritable: boolean;
819
+ }[];
820
+ }[] | undefined;
821
+ addressLookupTableAddresses?: string[] | undefined;
822
+ };
823
+ recentBlockhash: string;
824
+ }, {
825
+ lastValidBlockHeight: number;
826
+ instructions: {
827
+ swapInstructions: {
828
+ data: string;
829
+ programId: string;
830
+ accounts: {
831
+ pubkey: string;
832
+ isSigner: boolean;
833
+ isWritable: boolean;
834
+ }[];
835
+ }[];
836
+ computeBudgetInstructions?: {
837
+ data: string;
838
+ programId: string;
839
+ accounts: {
840
+ pubkey: string;
841
+ isSigner: boolean;
842
+ isWritable: boolean;
843
+ }[];
844
+ }[] | undefined;
845
+ setupInstructions?: {
846
+ data: string;
847
+ programId: string;
848
+ accounts: {
849
+ pubkey: string;
850
+ isSigner: boolean;
851
+ isWritable: boolean;
852
+ }[];
853
+ }[] | undefined;
854
+ cleanupInstructions?: {
855
+ data: string;
856
+ programId: string;
857
+ accounts: {
858
+ pubkey: string;
859
+ isSigner: boolean;
860
+ isWritable: boolean;
861
+ }[];
862
+ }[] | undefined;
863
+ addressLookupTableAddresses?: string[] | undefined;
864
+ };
865
+ recentBlockhash: string;
866
+ }>;
867
+ }, "strip", z.ZodTypeAny, {
868
+ requestId: string;
869
+ solana: {
870
+ lastValidBlockHeight: number;
871
+ instructions: {
872
+ swapInstructions: {
873
+ data: string;
874
+ programId: string;
875
+ accounts: {
876
+ pubkey: string;
877
+ isSigner: boolean;
878
+ isWritable: boolean;
879
+ }[];
880
+ }[];
881
+ computeBudgetInstructions?: {
882
+ data: string;
883
+ programId: string;
884
+ accounts: {
885
+ pubkey: string;
886
+ isSigner: boolean;
887
+ isWritable: boolean;
888
+ }[];
889
+ }[] | undefined;
890
+ setupInstructions?: {
891
+ data: string;
892
+ programId: string;
893
+ accounts: {
894
+ pubkey: string;
895
+ isSigner: boolean;
896
+ isWritable: boolean;
897
+ }[];
898
+ }[] | undefined;
899
+ cleanupInstructions?: {
900
+ data: string;
901
+ programId: string;
902
+ accounts: {
903
+ pubkey: string;
904
+ isSigner: boolean;
905
+ isWritable: boolean;
906
+ }[];
907
+ }[] | undefined;
908
+ addressLookupTableAddresses?: string[] | undefined;
909
+ };
910
+ recentBlockhash: string;
911
+ };
912
+ details?: {
913
+ raw?: Record<string, unknown> | undefined;
914
+ aggregator?: string | undefined;
915
+ route?: {
916
+ hops: {
917
+ poolAddress: string;
918
+ tokenIn: {
919
+ address: string;
920
+ decimals: number;
921
+ symbol?: string | undefined;
922
+ name?: string | undefined;
923
+ logo?: string | null | undefined;
924
+ };
925
+ tokenOut: {
926
+ address: string;
927
+ decimals: number;
928
+ symbol?: string | undefined;
929
+ name?: string | undefined;
930
+ logo?: string | null | undefined;
931
+ };
932
+ amountInTokens: string;
933
+ amountOutTokens: string;
934
+ exchange?: string | undefined;
935
+ poolType?: string | undefined;
936
+ feePercentage?: number | undefined;
937
+ feeBps?: number | undefined;
938
+ }[];
939
+ totalFeePercentage?: number | undefined;
940
+ aggregator?: string | undefined;
941
+ } | undefined;
942
+ } | undefined;
943
+ tokenIn?: {
944
+ address: string;
945
+ decimals: number;
946
+ symbol?: string | undefined;
947
+ name?: string | undefined;
948
+ logo?: string | null | undefined;
949
+ } | undefined;
950
+ tokenOut?: {
951
+ address: string;
952
+ decimals: number;
953
+ symbol?: string | undefined;
954
+ name?: string | undefined;
955
+ logo?: string | null | undefined;
956
+ } | undefined;
957
+ amountOutTokens?: string | undefined;
958
+ slippagePercentage?: number | undefined;
959
+ amountInUSD?: number | undefined;
960
+ amountOutUSD?: number | undefined;
961
+ marketImpactPercentage?: number | undefined;
962
+ poolFeesPercentage?: number | undefined;
963
+ }, {
964
+ requestId: string;
965
+ solana: {
966
+ lastValidBlockHeight: number;
967
+ instructions: {
968
+ swapInstructions: {
969
+ data: string;
970
+ programId: string;
971
+ accounts: {
972
+ pubkey: string;
973
+ isSigner: boolean;
974
+ isWritable: boolean;
975
+ }[];
976
+ }[];
977
+ computeBudgetInstructions?: {
978
+ data: string;
979
+ programId: string;
980
+ accounts: {
981
+ pubkey: string;
982
+ isSigner: boolean;
983
+ isWritable: boolean;
984
+ }[];
985
+ }[] | undefined;
986
+ setupInstructions?: {
987
+ data: string;
988
+ programId: string;
989
+ accounts: {
990
+ pubkey: string;
991
+ isSigner: boolean;
992
+ isWritable: boolean;
993
+ }[];
994
+ }[] | undefined;
995
+ cleanupInstructions?: {
996
+ data: string;
997
+ programId: string;
998
+ accounts: {
999
+ pubkey: string;
1000
+ isSigner: boolean;
1001
+ isWritable: boolean;
1002
+ }[];
1003
+ }[] | undefined;
1004
+ addressLookupTableAddresses?: string[] | undefined;
1005
+ };
1006
+ recentBlockhash: string;
1007
+ };
1008
+ details?: {
1009
+ raw?: Record<string, unknown> | undefined;
1010
+ aggregator?: string | undefined;
1011
+ route?: {
1012
+ hops: {
1013
+ poolAddress: string;
1014
+ tokenIn: {
1015
+ address: string;
1016
+ decimals: number;
1017
+ symbol?: string | undefined;
1018
+ name?: string | undefined;
1019
+ logo?: string | null | undefined;
1020
+ };
1021
+ tokenOut: {
1022
+ address: string;
1023
+ decimals: number;
1024
+ symbol?: string | undefined;
1025
+ name?: string | undefined;
1026
+ logo?: string | null | undefined;
1027
+ };
1028
+ amountInTokens: string;
1029
+ amountOutTokens: string;
1030
+ exchange?: string | undefined;
1031
+ poolType?: string | undefined;
1032
+ feePercentage?: number | undefined;
1033
+ feeBps?: number | undefined;
1034
+ }[];
1035
+ totalFeePercentage?: number | undefined;
1036
+ aggregator?: string | undefined;
1037
+ } | undefined;
1038
+ } | undefined;
1039
+ tokenIn?: {
1040
+ address: string;
1041
+ decimals: number;
1042
+ symbol?: string | undefined;
1043
+ name?: string | undefined;
1044
+ logo?: string | null | undefined;
1045
+ } | undefined;
1046
+ tokenOut?: {
1047
+ address: string;
1048
+ decimals: number;
1049
+ symbol?: string | undefined;
1050
+ name?: string | undefined;
1051
+ logo?: string | null | undefined;
1052
+ } | undefined;
1053
+ amountOutTokens?: string | undefined;
1054
+ slippagePercentage?: number | undefined;
1055
+ amountInUSD?: number | undefined;
1056
+ amountOutUSD?: number | undefined;
1057
+ marketImpactPercentage?: number | undefined;
1058
+ poolFeesPercentage?: number | undefined;
1059
+ }>;
1060
+ export declare const SwapQuotingInstructionsOutputSchema: z.ZodObject<{
1061
+ data: z.ZodObject<{
1062
+ /** Estimated output amount in tokens */
1063
+ amountOutTokens: z.ZodOptional<z.ZodString>;
1064
+ /** Slippage percentage */
1065
+ slippagePercentage: z.ZodOptional<z.ZodNumber>;
1066
+ /** Input amount in USD */
1067
+ amountInUSD: z.ZodOptional<z.ZodNumber>;
1068
+ /** Output amount in USD */
1069
+ amountOutUSD: z.ZodOptional<z.ZodNumber>;
1070
+ /** Market impact percentage */
1071
+ marketImpactPercentage: z.ZodOptional<z.ZodNumber>;
1072
+ /** Pool fees percentage */
1073
+ poolFeesPercentage: z.ZodOptional<z.ZodNumber>;
1074
+ /** Token input metadata */
1075
+ tokenIn: z.ZodOptional<z.ZodObject<{
1076
+ address: z.ZodString;
1077
+ name: z.ZodOptional<z.ZodString>;
1078
+ symbol: z.ZodOptional<z.ZodString>;
1079
+ decimals: z.ZodNumber;
1080
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1081
+ }, "strip", z.ZodTypeAny, {
1082
+ address: string;
1083
+ decimals: number;
1084
+ symbol?: string | undefined;
1085
+ name?: string | undefined;
1086
+ logo?: string | null | undefined;
1087
+ }, {
1088
+ address: string;
1089
+ decimals: number;
1090
+ symbol?: string | undefined;
1091
+ name?: string | undefined;
1092
+ logo?: string | null | undefined;
1093
+ }>>;
1094
+ /** Token output metadata */
1095
+ tokenOut: z.ZodOptional<z.ZodObject<{
1096
+ address: z.ZodString;
1097
+ name: z.ZodOptional<z.ZodString>;
1098
+ symbol: z.ZodOptional<z.ZodString>;
1099
+ decimals: z.ZodNumber;
1100
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1101
+ }, "strip", z.ZodTypeAny, {
1102
+ address: string;
1103
+ decimals: number;
1104
+ symbol?: string | undefined;
1105
+ name?: string | undefined;
1106
+ logo?: string | null | undefined;
1107
+ }, {
1108
+ address: string;
1109
+ decimals: number;
1110
+ symbol?: string | undefined;
1111
+ name?: string | undefined;
1112
+ logo?: string | null | undefined;
1113
+ }>>;
1114
+ /** Unique request ID */
1115
+ requestId: z.ZodString;
1116
+ /** Route details */
1117
+ details: z.ZodOptional<z.ZodObject<{
1118
+ route: z.ZodOptional<z.ZodObject<{
1119
+ hops: z.ZodArray<z.ZodObject<{
1120
+ poolAddress: z.ZodString;
1121
+ tokenIn: z.ZodObject<{
1122
+ address: z.ZodString;
1123
+ name: z.ZodOptional<z.ZodString>;
1124
+ symbol: z.ZodOptional<z.ZodString>;
1125
+ decimals: z.ZodNumber;
1126
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1127
+ }, "strip", z.ZodTypeAny, {
1128
+ address: string;
1129
+ decimals: number;
1130
+ symbol?: string | undefined;
1131
+ name?: string | undefined;
1132
+ logo?: string | null | undefined;
1133
+ }, {
1134
+ address: string;
1135
+ decimals: number;
1136
+ symbol?: string | undefined;
1137
+ name?: string | undefined;
1138
+ logo?: string | null | undefined;
1139
+ }>;
1140
+ tokenOut: z.ZodObject<{
1141
+ address: z.ZodString;
1142
+ name: z.ZodOptional<z.ZodString>;
1143
+ symbol: z.ZodOptional<z.ZodString>;
1144
+ decimals: z.ZodNumber;
1145
+ logo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1146
+ }, "strip", z.ZodTypeAny, {
1147
+ address: string;
1148
+ decimals: number;
1149
+ symbol?: string | undefined;
1150
+ name?: string | undefined;
1151
+ logo?: string | null | undefined;
1152
+ }, {
1153
+ address: string;
1154
+ decimals: number;
1155
+ symbol?: string | undefined;
1156
+ name?: string | undefined;
1157
+ logo?: string | null | undefined;
1158
+ }>;
1159
+ amountInTokens: z.ZodString;
1160
+ amountOutTokens: z.ZodString;
1161
+ exchange: z.ZodOptional<z.ZodString>;
1162
+ poolType: z.ZodOptional<z.ZodString>;
1163
+ feePercentage: z.ZodOptional<z.ZodNumber>;
1164
+ feeBps: z.ZodOptional<z.ZodNumber>;
1165
+ }, "strip", z.ZodTypeAny, {
1166
+ poolAddress: string;
1167
+ tokenIn: {
1168
+ address: string;
1169
+ decimals: number;
1170
+ symbol?: string | undefined;
1171
+ name?: string | undefined;
1172
+ logo?: string | null | undefined;
1173
+ };
1174
+ tokenOut: {
1175
+ address: string;
1176
+ decimals: number;
1177
+ symbol?: string | undefined;
1178
+ name?: string | undefined;
1179
+ logo?: string | null | undefined;
1180
+ };
1181
+ amountInTokens: string;
1182
+ amountOutTokens: string;
1183
+ exchange?: string | undefined;
1184
+ poolType?: string | undefined;
1185
+ feePercentage?: number | undefined;
1186
+ feeBps?: number | undefined;
1187
+ }, {
1188
+ poolAddress: string;
1189
+ tokenIn: {
1190
+ address: string;
1191
+ decimals: number;
1192
+ symbol?: string | undefined;
1193
+ name?: string | undefined;
1194
+ logo?: string | null | undefined;
1195
+ };
1196
+ tokenOut: {
1197
+ address: string;
1198
+ decimals: number;
1199
+ symbol?: string | undefined;
1200
+ name?: string | undefined;
1201
+ logo?: string | null | undefined;
1202
+ };
1203
+ amountInTokens: string;
1204
+ amountOutTokens: string;
1205
+ exchange?: string | undefined;
1206
+ poolType?: string | undefined;
1207
+ feePercentage?: number | undefined;
1208
+ feeBps?: number | undefined;
1209
+ }>, "many">;
1210
+ totalFeePercentage: z.ZodOptional<z.ZodNumber>;
1211
+ aggregator: z.ZodOptional<z.ZodString>;
1212
+ }, "strip", z.ZodTypeAny, {
1213
+ hops: {
1214
+ poolAddress: string;
1215
+ tokenIn: {
1216
+ address: string;
1217
+ decimals: number;
1218
+ symbol?: string | undefined;
1219
+ name?: string | undefined;
1220
+ logo?: string | null | undefined;
1221
+ };
1222
+ tokenOut: {
1223
+ address: string;
1224
+ decimals: number;
1225
+ symbol?: string | undefined;
1226
+ name?: string | undefined;
1227
+ logo?: string | null | undefined;
1228
+ };
1229
+ amountInTokens: string;
1230
+ amountOutTokens: string;
1231
+ exchange?: string | undefined;
1232
+ poolType?: string | undefined;
1233
+ feePercentage?: number | undefined;
1234
+ feeBps?: number | undefined;
1235
+ }[];
1236
+ totalFeePercentage?: number | undefined;
1237
+ aggregator?: string | undefined;
1238
+ }, {
1239
+ hops: {
1240
+ poolAddress: string;
1241
+ tokenIn: {
1242
+ address: string;
1243
+ decimals: number;
1244
+ symbol?: string | undefined;
1245
+ name?: string | undefined;
1246
+ logo?: string | null | undefined;
1247
+ };
1248
+ tokenOut: {
1249
+ address: string;
1250
+ decimals: number;
1251
+ symbol?: string | undefined;
1252
+ name?: string | undefined;
1253
+ logo?: string | null | undefined;
1254
+ };
1255
+ amountInTokens: string;
1256
+ amountOutTokens: string;
1257
+ exchange?: string | undefined;
1258
+ poolType?: string | undefined;
1259
+ feePercentage?: number | undefined;
1260
+ feeBps?: number | undefined;
1261
+ }[];
1262
+ totalFeePercentage?: number | undefined;
1263
+ aggregator?: string | undefined;
1264
+ }>>;
1265
+ aggregator: z.ZodOptional<z.ZodString>;
1266
+ raw: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1267
+ }, "strip", z.ZodTypeAny, {
1268
+ raw?: Record<string, unknown> | undefined;
1269
+ aggregator?: string | undefined;
1270
+ route?: {
1271
+ hops: {
1272
+ poolAddress: string;
1273
+ tokenIn: {
1274
+ address: string;
1275
+ decimals: number;
1276
+ symbol?: string | undefined;
1277
+ name?: string | undefined;
1278
+ logo?: string | null | undefined;
1279
+ };
1280
+ tokenOut: {
1281
+ address: string;
1282
+ decimals: number;
1283
+ symbol?: string | undefined;
1284
+ name?: string | undefined;
1285
+ logo?: string | null | undefined;
1286
+ };
1287
+ amountInTokens: string;
1288
+ amountOutTokens: string;
1289
+ exchange?: string | undefined;
1290
+ poolType?: string | undefined;
1291
+ feePercentage?: number | undefined;
1292
+ feeBps?: number | undefined;
1293
+ }[];
1294
+ totalFeePercentage?: number | undefined;
1295
+ aggregator?: string | undefined;
1296
+ } | undefined;
1297
+ }, {
1298
+ raw?: Record<string, unknown> | undefined;
1299
+ aggregator?: string | undefined;
1300
+ route?: {
1301
+ hops: {
1302
+ poolAddress: string;
1303
+ tokenIn: {
1304
+ address: string;
1305
+ decimals: number;
1306
+ symbol?: string | undefined;
1307
+ name?: string | undefined;
1308
+ logo?: string | null | undefined;
1309
+ };
1310
+ tokenOut: {
1311
+ address: string;
1312
+ decimals: number;
1313
+ symbol?: string | undefined;
1314
+ name?: string | undefined;
1315
+ logo?: string | null | undefined;
1316
+ };
1317
+ amountInTokens: string;
1318
+ amountOutTokens: string;
1319
+ exchange?: string | undefined;
1320
+ poolType?: string | undefined;
1321
+ feePercentage?: number | undefined;
1322
+ feeBps?: number | undefined;
1323
+ }[];
1324
+ totalFeePercentage?: number | undefined;
1325
+ aggregator?: string | undefined;
1326
+ } | undefined;
1327
+ }>>;
1328
+ /** Solana instructions data */
1329
+ solana: z.ZodObject<{
1330
+ /** All instructions needed to execute the swap */
1331
+ instructions: z.ZodObject<{
1332
+ /** Instructions to set compute budget (priority fees, compute limits) */
1333
+ computeBudgetInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1334
+ /** Program ID that will process this instruction */
1335
+ programId: z.ZodString;
1336
+ /** Account keys involved in the instruction */
1337
+ accounts: z.ZodArray<z.ZodObject<{
1338
+ pubkey: z.ZodString;
1339
+ isSigner: z.ZodBoolean;
1340
+ isWritable: z.ZodBoolean;
1341
+ }, "strip", z.ZodTypeAny, {
1342
+ pubkey: string;
1343
+ isSigner: boolean;
1344
+ isWritable: boolean;
1345
+ }, {
1346
+ pubkey: string;
1347
+ isSigner: boolean;
1348
+ isWritable: boolean;
1349
+ }>, "many">;
1350
+ /** Instruction data as base64 encoded string */
1351
+ data: z.ZodString;
1352
+ }, "strip", z.ZodTypeAny, {
1353
+ data: string;
1354
+ programId: string;
1355
+ accounts: {
1356
+ pubkey: string;
1357
+ isSigner: boolean;
1358
+ isWritable: boolean;
1359
+ }[];
1360
+ }, {
1361
+ data: string;
1362
+ programId: string;
1363
+ accounts: {
1364
+ pubkey: string;
1365
+ isSigner: boolean;
1366
+ isWritable: boolean;
1367
+ }[];
1368
+ }>, "many">>;
1369
+ /** Setup instructions (e.g., create token accounts) */
1370
+ setupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1371
+ /** Program ID that will process this instruction */
1372
+ programId: z.ZodString;
1373
+ /** Account keys involved in the instruction */
1374
+ accounts: z.ZodArray<z.ZodObject<{
1375
+ pubkey: z.ZodString;
1376
+ isSigner: z.ZodBoolean;
1377
+ isWritable: z.ZodBoolean;
1378
+ }, "strip", z.ZodTypeAny, {
1379
+ pubkey: string;
1380
+ isSigner: boolean;
1381
+ isWritable: boolean;
1382
+ }, {
1383
+ pubkey: string;
1384
+ isSigner: boolean;
1385
+ isWritable: boolean;
1386
+ }>, "many">;
1387
+ /** Instruction data as base64 encoded string */
1388
+ data: z.ZodString;
1389
+ }, "strip", z.ZodTypeAny, {
1390
+ data: string;
1391
+ programId: string;
1392
+ accounts: {
1393
+ pubkey: string;
1394
+ isSigner: boolean;
1395
+ isWritable: boolean;
1396
+ }[];
1397
+ }, {
1398
+ data: string;
1399
+ programId: string;
1400
+ accounts: {
1401
+ pubkey: string;
1402
+ isSigner: boolean;
1403
+ isWritable: boolean;
1404
+ }[];
1405
+ }>, "many">>;
1406
+ /** Swap instructions (can be multiple for multi-hop routes) */
1407
+ swapInstructions: z.ZodArray<z.ZodObject<{
1408
+ /** Program ID that will process this instruction */
1409
+ programId: z.ZodString;
1410
+ /** Account keys involved in the instruction */
1411
+ accounts: z.ZodArray<z.ZodObject<{
1412
+ pubkey: z.ZodString;
1413
+ isSigner: z.ZodBoolean;
1414
+ isWritable: z.ZodBoolean;
1415
+ }, "strip", z.ZodTypeAny, {
1416
+ pubkey: string;
1417
+ isSigner: boolean;
1418
+ isWritable: boolean;
1419
+ }, {
1420
+ pubkey: string;
1421
+ isSigner: boolean;
1422
+ isWritable: boolean;
1423
+ }>, "many">;
1424
+ /** Instruction data as base64 encoded string */
1425
+ data: z.ZodString;
1426
+ }, "strip", z.ZodTypeAny, {
1427
+ data: string;
1428
+ programId: string;
1429
+ accounts: {
1430
+ pubkey: string;
1431
+ isSigner: boolean;
1432
+ isWritable: boolean;
1433
+ }[];
1434
+ }, {
1435
+ data: string;
1436
+ programId: string;
1437
+ accounts: {
1438
+ pubkey: string;
1439
+ isSigner: boolean;
1440
+ isWritable: boolean;
1441
+ }[];
1442
+ }>, "many">;
1443
+ /** Cleanup instructions (e.g., close token accounts) */
1444
+ cleanupInstructions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1445
+ /** Program ID that will process this instruction */
1446
+ programId: z.ZodString;
1447
+ /** Account keys involved in the instruction */
1448
+ accounts: z.ZodArray<z.ZodObject<{
1449
+ pubkey: z.ZodString;
1450
+ isSigner: z.ZodBoolean;
1451
+ isWritable: z.ZodBoolean;
1452
+ }, "strip", z.ZodTypeAny, {
1453
+ pubkey: string;
1454
+ isSigner: boolean;
1455
+ isWritable: boolean;
1456
+ }, {
1457
+ pubkey: string;
1458
+ isSigner: boolean;
1459
+ isWritable: boolean;
1460
+ }>, "many">;
1461
+ /** Instruction data as base64 encoded string */
1462
+ data: z.ZodString;
1463
+ }, "strip", z.ZodTypeAny, {
1464
+ data: string;
1465
+ programId: string;
1466
+ accounts: {
1467
+ pubkey: string;
1468
+ isSigner: boolean;
1469
+ isWritable: boolean;
1470
+ }[];
1471
+ }, {
1472
+ data: string;
1473
+ programId: string;
1474
+ accounts: {
1475
+ pubkey: string;
1476
+ isSigner: boolean;
1477
+ isWritable: boolean;
1478
+ }[];
1479
+ }>, "many">>;
1480
+ /** Address lookup table addresses for versioned transactions */
1481
+ addressLookupTableAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1482
+ }, "strip", z.ZodTypeAny, {
1483
+ swapInstructions: {
1484
+ data: string;
1485
+ programId: string;
1486
+ accounts: {
1487
+ pubkey: string;
1488
+ isSigner: boolean;
1489
+ isWritable: boolean;
1490
+ }[];
1491
+ }[];
1492
+ computeBudgetInstructions?: {
1493
+ data: string;
1494
+ programId: string;
1495
+ accounts: {
1496
+ pubkey: string;
1497
+ isSigner: boolean;
1498
+ isWritable: boolean;
1499
+ }[];
1500
+ }[] | undefined;
1501
+ setupInstructions?: {
1502
+ data: string;
1503
+ programId: string;
1504
+ accounts: {
1505
+ pubkey: string;
1506
+ isSigner: boolean;
1507
+ isWritable: boolean;
1508
+ }[];
1509
+ }[] | undefined;
1510
+ cleanupInstructions?: {
1511
+ data: string;
1512
+ programId: string;
1513
+ accounts: {
1514
+ pubkey: string;
1515
+ isSigner: boolean;
1516
+ isWritable: boolean;
1517
+ }[];
1518
+ }[] | undefined;
1519
+ addressLookupTableAddresses?: string[] | undefined;
1520
+ }, {
1521
+ swapInstructions: {
1522
+ data: string;
1523
+ programId: string;
1524
+ accounts: {
1525
+ pubkey: string;
1526
+ isSigner: boolean;
1527
+ isWritable: boolean;
1528
+ }[];
1529
+ }[];
1530
+ computeBudgetInstructions?: {
1531
+ data: string;
1532
+ programId: string;
1533
+ accounts: {
1534
+ pubkey: string;
1535
+ isSigner: boolean;
1536
+ isWritable: boolean;
1537
+ }[];
1538
+ }[] | undefined;
1539
+ setupInstructions?: {
1540
+ data: string;
1541
+ programId: string;
1542
+ accounts: {
1543
+ pubkey: string;
1544
+ isSigner: boolean;
1545
+ isWritable: boolean;
1546
+ }[];
1547
+ }[] | undefined;
1548
+ cleanupInstructions?: {
1549
+ data: string;
1550
+ programId: string;
1551
+ accounts: {
1552
+ pubkey: string;
1553
+ isSigner: boolean;
1554
+ isWritable: boolean;
1555
+ }[];
1556
+ }[] | undefined;
1557
+ addressLookupTableAddresses?: string[] | undefined;
1558
+ }>;
1559
+ /** The last block height at which the blockhash will be valid */
1560
+ lastValidBlockHeight: z.ZodNumber;
1561
+ /** Recent blockhash to use when building the transaction */
1562
+ recentBlockhash: z.ZodString;
1563
+ }, "strip", z.ZodTypeAny, {
1564
+ lastValidBlockHeight: number;
1565
+ instructions: {
1566
+ swapInstructions: {
1567
+ data: string;
1568
+ programId: string;
1569
+ accounts: {
1570
+ pubkey: string;
1571
+ isSigner: boolean;
1572
+ isWritable: boolean;
1573
+ }[];
1574
+ }[];
1575
+ computeBudgetInstructions?: {
1576
+ data: string;
1577
+ programId: string;
1578
+ accounts: {
1579
+ pubkey: string;
1580
+ isSigner: boolean;
1581
+ isWritable: boolean;
1582
+ }[];
1583
+ }[] | undefined;
1584
+ setupInstructions?: {
1585
+ data: string;
1586
+ programId: string;
1587
+ accounts: {
1588
+ pubkey: string;
1589
+ isSigner: boolean;
1590
+ isWritable: boolean;
1591
+ }[];
1592
+ }[] | undefined;
1593
+ cleanupInstructions?: {
1594
+ data: string;
1595
+ programId: string;
1596
+ accounts: {
1597
+ pubkey: string;
1598
+ isSigner: boolean;
1599
+ isWritable: boolean;
1600
+ }[];
1601
+ }[] | undefined;
1602
+ addressLookupTableAddresses?: string[] | undefined;
1603
+ };
1604
+ recentBlockhash: string;
1605
+ }, {
1606
+ lastValidBlockHeight: number;
1607
+ instructions: {
1608
+ swapInstructions: {
1609
+ data: string;
1610
+ programId: string;
1611
+ accounts: {
1612
+ pubkey: string;
1613
+ isSigner: boolean;
1614
+ isWritable: boolean;
1615
+ }[];
1616
+ }[];
1617
+ computeBudgetInstructions?: {
1618
+ data: string;
1619
+ programId: string;
1620
+ accounts: {
1621
+ pubkey: string;
1622
+ isSigner: boolean;
1623
+ isWritable: boolean;
1624
+ }[];
1625
+ }[] | undefined;
1626
+ setupInstructions?: {
1627
+ data: string;
1628
+ programId: string;
1629
+ accounts: {
1630
+ pubkey: string;
1631
+ isSigner: boolean;
1632
+ isWritable: boolean;
1633
+ }[];
1634
+ }[] | undefined;
1635
+ cleanupInstructions?: {
1636
+ data: string;
1637
+ programId: string;
1638
+ accounts: {
1639
+ pubkey: string;
1640
+ isSigner: boolean;
1641
+ isWritable: boolean;
1642
+ }[];
1643
+ }[] | undefined;
1644
+ addressLookupTableAddresses?: string[] | undefined;
1645
+ };
1646
+ recentBlockhash: string;
1647
+ }>;
1648
+ }, "strip", z.ZodTypeAny, {
1649
+ requestId: string;
1650
+ solana: {
1651
+ lastValidBlockHeight: number;
1652
+ instructions: {
1653
+ swapInstructions: {
1654
+ data: string;
1655
+ programId: string;
1656
+ accounts: {
1657
+ pubkey: string;
1658
+ isSigner: boolean;
1659
+ isWritable: boolean;
1660
+ }[];
1661
+ }[];
1662
+ computeBudgetInstructions?: {
1663
+ data: string;
1664
+ programId: string;
1665
+ accounts: {
1666
+ pubkey: string;
1667
+ isSigner: boolean;
1668
+ isWritable: boolean;
1669
+ }[];
1670
+ }[] | undefined;
1671
+ setupInstructions?: {
1672
+ data: string;
1673
+ programId: string;
1674
+ accounts: {
1675
+ pubkey: string;
1676
+ isSigner: boolean;
1677
+ isWritable: boolean;
1678
+ }[];
1679
+ }[] | undefined;
1680
+ cleanupInstructions?: {
1681
+ data: string;
1682
+ programId: string;
1683
+ accounts: {
1684
+ pubkey: string;
1685
+ isSigner: boolean;
1686
+ isWritable: boolean;
1687
+ }[];
1688
+ }[] | undefined;
1689
+ addressLookupTableAddresses?: string[] | undefined;
1690
+ };
1691
+ recentBlockhash: string;
1692
+ };
1693
+ details?: {
1694
+ raw?: Record<string, unknown> | undefined;
1695
+ aggregator?: string | undefined;
1696
+ route?: {
1697
+ hops: {
1698
+ poolAddress: string;
1699
+ tokenIn: {
1700
+ address: string;
1701
+ decimals: number;
1702
+ symbol?: string | undefined;
1703
+ name?: string | undefined;
1704
+ logo?: string | null | undefined;
1705
+ };
1706
+ tokenOut: {
1707
+ address: string;
1708
+ decimals: number;
1709
+ symbol?: string | undefined;
1710
+ name?: string | undefined;
1711
+ logo?: string | null | undefined;
1712
+ };
1713
+ amountInTokens: string;
1714
+ amountOutTokens: string;
1715
+ exchange?: string | undefined;
1716
+ poolType?: string | undefined;
1717
+ feePercentage?: number | undefined;
1718
+ feeBps?: number | undefined;
1719
+ }[];
1720
+ totalFeePercentage?: number | undefined;
1721
+ aggregator?: string | undefined;
1722
+ } | undefined;
1723
+ } | undefined;
1724
+ tokenIn?: {
1725
+ address: string;
1726
+ decimals: number;
1727
+ symbol?: string | undefined;
1728
+ name?: string | undefined;
1729
+ logo?: string | null | undefined;
1730
+ } | undefined;
1731
+ tokenOut?: {
1732
+ address: string;
1733
+ decimals: number;
1734
+ symbol?: string | undefined;
1735
+ name?: string | undefined;
1736
+ logo?: string | null | undefined;
1737
+ } | undefined;
1738
+ amountOutTokens?: string | undefined;
1739
+ slippagePercentage?: number | undefined;
1740
+ amountInUSD?: number | undefined;
1741
+ amountOutUSD?: number | undefined;
1742
+ marketImpactPercentage?: number | undefined;
1743
+ poolFeesPercentage?: number | undefined;
1744
+ }, {
1745
+ requestId: string;
1746
+ solana: {
1747
+ lastValidBlockHeight: number;
1748
+ instructions: {
1749
+ swapInstructions: {
1750
+ data: string;
1751
+ programId: string;
1752
+ accounts: {
1753
+ pubkey: string;
1754
+ isSigner: boolean;
1755
+ isWritable: boolean;
1756
+ }[];
1757
+ }[];
1758
+ computeBudgetInstructions?: {
1759
+ data: string;
1760
+ programId: string;
1761
+ accounts: {
1762
+ pubkey: string;
1763
+ isSigner: boolean;
1764
+ isWritable: boolean;
1765
+ }[];
1766
+ }[] | undefined;
1767
+ setupInstructions?: {
1768
+ data: string;
1769
+ programId: string;
1770
+ accounts: {
1771
+ pubkey: string;
1772
+ isSigner: boolean;
1773
+ isWritable: boolean;
1774
+ }[];
1775
+ }[] | undefined;
1776
+ cleanupInstructions?: {
1777
+ data: string;
1778
+ programId: string;
1779
+ accounts: {
1780
+ pubkey: string;
1781
+ isSigner: boolean;
1782
+ isWritable: boolean;
1783
+ }[];
1784
+ }[] | undefined;
1785
+ addressLookupTableAddresses?: string[] | undefined;
1786
+ };
1787
+ recentBlockhash: string;
1788
+ };
1789
+ details?: {
1790
+ raw?: Record<string, unknown> | undefined;
1791
+ aggregator?: string | undefined;
1792
+ route?: {
1793
+ hops: {
1794
+ poolAddress: string;
1795
+ tokenIn: {
1796
+ address: string;
1797
+ decimals: number;
1798
+ symbol?: string | undefined;
1799
+ name?: string | undefined;
1800
+ logo?: string | null | undefined;
1801
+ };
1802
+ tokenOut: {
1803
+ address: string;
1804
+ decimals: number;
1805
+ symbol?: string | undefined;
1806
+ name?: string | undefined;
1807
+ logo?: string | null | undefined;
1808
+ };
1809
+ amountInTokens: string;
1810
+ amountOutTokens: string;
1811
+ exchange?: string | undefined;
1812
+ poolType?: string | undefined;
1813
+ feePercentage?: number | undefined;
1814
+ feeBps?: number | undefined;
1815
+ }[];
1816
+ totalFeePercentage?: number | undefined;
1817
+ aggregator?: string | undefined;
1818
+ } | undefined;
1819
+ } | undefined;
1820
+ tokenIn?: {
1821
+ address: string;
1822
+ decimals: number;
1823
+ symbol?: string | undefined;
1824
+ name?: string | undefined;
1825
+ logo?: string | null | undefined;
1826
+ } | undefined;
1827
+ tokenOut?: {
1828
+ address: string;
1829
+ decimals: number;
1830
+ symbol?: string | undefined;
1831
+ name?: string | undefined;
1832
+ logo?: string | null | undefined;
1833
+ } | undefined;
1834
+ amountOutTokens?: string | undefined;
1835
+ slippagePercentage?: number | undefined;
1836
+ amountInUSD?: number | undefined;
1837
+ amountOutUSD?: number | undefined;
1838
+ marketImpactPercentage?: number | undefined;
1839
+ poolFeesPercentage?: number | undefined;
1840
+ }>;
1841
+ error: z.ZodOptional<z.ZodString>;
1842
+ }, "strip", z.ZodTypeAny, {
1843
+ data: {
1844
+ requestId: string;
1845
+ solana: {
1846
+ lastValidBlockHeight: number;
1847
+ instructions: {
1848
+ swapInstructions: {
1849
+ data: string;
1850
+ programId: string;
1851
+ accounts: {
1852
+ pubkey: string;
1853
+ isSigner: boolean;
1854
+ isWritable: boolean;
1855
+ }[];
1856
+ }[];
1857
+ computeBudgetInstructions?: {
1858
+ data: string;
1859
+ programId: string;
1860
+ accounts: {
1861
+ pubkey: string;
1862
+ isSigner: boolean;
1863
+ isWritable: boolean;
1864
+ }[];
1865
+ }[] | undefined;
1866
+ setupInstructions?: {
1867
+ data: string;
1868
+ programId: string;
1869
+ accounts: {
1870
+ pubkey: string;
1871
+ isSigner: boolean;
1872
+ isWritable: boolean;
1873
+ }[];
1874
+ }[] | undefined;
1875
+ cleanupInstructions?: {
1876
+ data: string;
1877
+ programId: string;
1878
+ accounts: {
1879
+ pubkey: string;
1880
+ isSigner: boolean;
1881
+ isWritable: boolean;
1882
+ }[];
1883
+ }[] | undefined;
1884
+ addressLookupTableAddresses?: string[] | undefined;
1885
+ };
1886
+ recentBlockhash: string;
1887
+ };
1888
+ details?: {
1889
+ raw?: Record<string, unknown> | undefined;
1890
+ aggregator?: string | undefined;
1891
+ route?: {
1892
+ hops: {
1893
+ poolAddress: string;
1894
+ tokenIn: {
1895
+ address: string;
1896
+ decimals: number;
1897
+ symbol?: string | undefined;
1898
+ name?: string | undefined;
1899
+ logo?: string | null | undefined;
1900
+ };
1901
+ tokenOut: {
1902
+ address: string;
1903
+ decimals: number;
1904
+ symbol?: string | undefined;
1905
+ name?: string | undefined;
1906
+ logo?: string | null | undefined;
1907
+ };
1908
+ amountInTokens: string;
1909
+ amountOutTokens: string;
1910
+ exchange?: string | undefined;
1911
+ poolType?: string | undefined;
1912
+ feePercentage?: number | undefined;
1913
+ feeBps?: number | undefined;
1914
+ }[];
1915
+ totalFeePercentage?: number | undefined;
1916
+ aggregator?: string | undefined;
1917
+ } | undefined;
1918
+ } | undefined;
1919
+ tokenIn?: {
1920
+ address: string;
1921
+ decimals: number;
1922
+ symbol?: string | undefined;
1923
+ name?: string | undefined;
1924
+ logo?: string | null | undefined;
1925
+ } | undefined;
1926
+ tokenOut?: {
1927
+ address: string;
1928
+ decimals: number;
1929
+ symbol?: string | undefined;
1930
+ name?: string | undefined;
1931
+ logo?: string | null | undefined;
1932
+ } | undefined;
1933
+ amountOutTokens?: string | undefined;
1934
+ slippagePercentage?: number | undefined;
1935
+ amountInUSD?: number | undefined;
1936
+ amountOutUSD?: number | undefined;
1937
+ marketImpactPercentage?: number | undefined;
1938
+ poolFeesPercentage?: number | undefined;
1939
+ };
1940
+ error?: string | undefined;
1941
+ }, {
1942
+ data: {
1943
+ requestId: string;
1944
+ solana: {
1945
+ lastValidBlockHeight: number;
1946
+ instructions: {
1947
+ swapInstructions: {
1948
+ data: string;
1949
+ programId: string;
1950
+ accounts: {
1951
+ pubkey: string;
1952
+ isSigner: boolean;
1953
+ isWritable: boolean;
1954
+ }[];
1955
+ }[];
1956
+ computeBudgetInstructions?: {
1957
+ data: string;
1958
+ programId: string;
1959
+ accounts: {
1960
+ pubkey: string;
1961
+ isSigner: boolean;
1962
+ isWritable: boolean;
1963
+ }[];
1964
+ }[] | undefined;
1965
+ setupInstructions?: {
1966
+ data: string;
1967
+ programId: string;
1968
+ accounts: {
1969
+ pubkey: string;
1970
+ isSigner: boolean;
1971
+ isWritable: boolean;
1972
+ }[];
1973
+ }[] | undefined;
1974
+ cleanupInstructions?: {
1975
+ data: string;
1976
+ programId: string;
1977
+ accounts: {
1978
+ pubkey: string;
1979
+ isSigner: boolean;
1980
+ isWritable: boolean;
1981
+ }[];
1982
+ }[] | undefined;
1983
+ addressLookupTableAddresses?: string[] | undefined;
1984
+ };
1985
+ recentBlockhash: string;
1986
+ };
1987
+ details?: {
1988
+ raw?: Record<string, unknown> | undefined;
1989
+ aggregator?: string | undefined;
1990
+ route?: {
1991
+ hops: {
1992
+ poolAddress: string;
1993
+ tokenIn: {
1994
+ address: string;
1995
+ decimals: number;
1996
+ symbol?: string | undefined;
1997
+ name?: string | undefined;
1998
+ logo?: string | null | undefined;
1999
+ };
2000
+ tokenOut: {
2001
+ address: string;
2002
+ decimals: number;
2003
+ symbol?: string | undefined;
2004
+ name?: string | undefined;
2005
+ logo?: string | null | undefined;
2006
+ };
2007
+ amountInTokens: string;
2008
+ amountOutTokens: string;
2009
+ exchange?: string | undefined;
2010
+ poolType?: string | undefined;
2011
+ feePercentage?: number | undefined;
2012
+ feeBps?: number | undefined;
2013
+ }[];
2014
+ totalFeePercentage?: number | undefined;
2015
+ aggregator?: string | undefined;
2016
+ } | undefined;
2017
+ } | undefined;
2018
+ tokenIn?: {
2019
+ address: string;
2020
+ decimals: number;
2021
+ symbol?: string | undefined;
2022
+ name?: string | undefined;
2023
+ logo?: string | null | undefined;
2024
+ } | undefined;
2025
+ tokenOut?: {
2026
+ address: string;
2027
+ decimals: number;
2028
+ symbol?: string | undefined;
2029
+ name?: string | undefined;
2030
+ logo?: string | null | undefined;
2031
+ } | undefined;
2032
+ amountOutTokens?: string | undefined;
2033
+ slippagePercentage?: number | undefined;
2034
+ amountInUSD?: number | undefined;
2035
+ amountOutUSD?: number | undefined;
2036
+ marketImpactPercentage?: number | undefined;
2037
+ poolFeesPercentage?: number | undefined;
2038
+ };
2039
+ error?: string | undefined;
2040
+ }>;
2041
+ export type SolanaInstruction = z.infer<typeof SolanaInstructionSchema>;
2042
+ export type SolanaInstructions = z.infer<typeof SolanaInstructionsSchema>;
2043
+ export type SwapQuotingInstructionsData = z.infer<typeof SwapQuotingInstructionsDataSchema>;
2044
+ export type SwapQuotingInstructionsResponse = z.infer<typeof SwapQuotingInstructionsOutputSchema>;