@inodra/sui 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 (91) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +237 -0
  3. package/bin/inodra-sui.mjs +2 -0
  4. package/dist/chunk-3CBLVI6J.js +426 -0
  5. package/dist/chunk-3CBLVI6J.js.map +1 -0
  6. package/dist/chunk-4HKKW5QN.js +80 -0
  7. package/dist/chunk-4HKKW5QN.js.map +1 -0
  8. package/dist/chunk-74XGJJJI.js +33 -0
  9. package/dist/chunk-74XGJJJI.js.map +1 -0
  10. package/dist/chunk-D6FZYWG7.js +99 -0
  11. package/dist/chunk-D6FZYWG7.js.map +1 -0
  12. package/dist/chunk-LZZMTSLH.js +31 -0
  13. package/dist/chunk-LZZMTSLH.js.map +1 -0
  14. package/dist/chunk-M3M2L6BW.js +29 -0
  15. package/dist/chunk-M3M2L6BW.js.map +1 -0
  16. package/dist/chunk-NSXRC5XW.js +298 -0
  17. package/dist/chunk-NSXRC5XW.js.map +1 -0
  18. package/dist/chunk-OGMBYWTG.js +537 -0
  19. package/dist/chunk-OGMBYWTG.js.map +1 -0
  20. package/dist/chunk-U6D5LGNF.js +111 -0
  21. package/dist/chunk-U6D5LGNF.js.map +1 -0
  22. package/dist/chunk-ZSW3EWGF.js +539 -0
  23. package/dist/chunk-ZSW3EWGF.js.map +1 -0
  24. package/dist/cli.js +665 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/events.cjs +3273 -0
  27. package/dist/events.cjs.map +1 -0
  28. package/dist/events.d.cts +47 -0
  29. package/dist/events.d.ts +47 -0
  30. package/dist/events.js +2578 -0
  31. package/dist/events.js.map +1 -0
  32. package/dist/graphql.cjs +129 -0
  33. package/dist/graphql.cjs.map +1 -0
  34. package/dist/graphql.d.cts +36 -0
  35. package/dist/graphql.d.ts +36 -0
  36. package/dist/graphql.js +10 -0
  37. package/dist/graphql.js.map +1 -0
  38. package/dist/grpc-web.cjs +129 -0
  39. package/dist/grpc-web.cjs.map +1 -0
  40. package/dist/grpc-web.d.cts +31 -0
  41. package/dist/grpc-web.d.ts +31 -0
  42. package/dist/grpc-web.js +10 -0
  43. package/dist/grpc-web.js.map +1 -0
  44. package/dist/grpc.cjs +131 -0
  45. package/dist/grpc.cjs.map +1 -0
  46. package/dist/grpc.d.cts +34 -0
  47. package/dist/grpc.d.ts +34 -0
  48. package/dist/grpc.js +10 -0
  49. package/dist/grpc.js.map +1 -0
  50. package/dist/index-CGBN_EI5.d.ts +4800 -0
  51. package/dist/index-CVO2Kj8a.d.cts +4800 -0
  52. package/dist/index.cjs +4723 -0
  53. package/dist/index.cjs.map +1 -0
  54. package/dist/index.d.cts +504 -0
  55. package/dist/index.d.ts +504 -0
  56. package/dist/index.js +59 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/manage.cjs +376 -0
  59. package/dist/manage.cjs.map +1 -0
  60. package/dist/manage.d.cts +2 -0
  61. package/dist/manage.d.ts +2 -0
  62. package/dist/manage.js +8 -0
  63. package/dist/manage.js.map +1 -0
  64. package/dist/network-CEg2MJY3.d.cts +60 -0
  65. package/dist/network-CEg2MJY3.d.ts +60 -0
  66. package/dist/node.cjs +4759 -0
  67. package/dist/node.cjs.map +1 -0
  68. package/dist/node.d.cts +28 -0
  69. package/dist/node.d.ts +28 -0
  70. package/dist/node.js +73 -0
  71. package/dist/node.js.map +1 -0
  72. package/dist/reflection-Bx44-Fs1.d.ts +4639 -0
  73. package/dist/reflection-Cf7WFH6H.d.cts +4639 -0
  74. package/dist/reflection-FEGYA7DU.js +9 -0
  75. package/dist/reflection-FEGYA7DU.js.map +1 -0
  76. package/dist/runtime-OWKF3LZ7.js +37 -0
  77. package/dist/runtime-OWKF3LZ7.js.map +1 -0
  78. package/dist/warp.cjs +633 -0
  79. package/dist/warp.cjs.map +1 -0
  80. package/dist/warp.d.cts +195 -0
  81. package/dist/warp.d.ts +195 -0
  82. package/dist/warp.js +12 -0
  83. package/dist/warp.js.map +1 -0
  84. package/dist/webhooks.cjs +104 -0
  85. package/dist/webhooks.cjs.map +1 -0
  86. package/dist/webhooks.d.cts +35 -0
  87. package/dist/webhooks.d.ts +35 -0
  88. package/dist/webhooks.js +7 -0
  89. package/dist/webhooks.js.map +1 -0
  90. package/llms.txt +189 -0
  91. package/package.json +119 -0
@@ -0,0 +1,4800 @@
1
+ import { I as InodraAuth, a as InodraNetwork } from './network-CEg2MJY3.cjs';
2
+
3
+ interface InodraHttpClientOptions {
4
+ /** Credentials: an API key string, {apiKey}, {sessionToken}, or a provider. */
5
+ auth?: InodraAuth;
6
+ /** Shorthand for `auth: { apiKey }`. */
7
+ apiKey?: string;
8
+ /** Defaults to "mainnet". Ignored when baseUrl is set. */
9
+ network?: InodraNetwork;
10
+ /** Overrides the network-derived base URL (e.g. http://localhost:3000/v1). */
11
+ baseUrl?: string;
12
+ /** Retries on 429 and 5xx responses. Defaults to 2. */
13
+ maxRetries?: number;
14
+ /** Per-request timeout in milliseconds. Defaults to 30000. */
15
+ timeoutMs?: number;
16
+ /** Custom fetch implementation (e.g. for testing or proxying). */
17
+ fetch?: typeof globalThis.fetch;
18
+ /** Called with rate-limit/credit info after every response that carries it. */
19
+ onResponseMeta?: (meta: InodraResponseMeta) => void;
20
+ }
21
+ interface RequestOptions {
22
+ query?: Record<string, string | number | boolean | undefined>;
23
+ body?: unknown;
24
+ signal?: AbortSignal;
25
+ /**
26
+ * Marks a POST/PATCH as safe to retry on 5xx. Reads (GET) and idempotent
27
+ * writes (PUT/DELETE) retry on 429 and 5xx by default; non-idempotent
28
+ * writes retry only on 429 (the request was never processed) unless this
29
+ * is set — a 5xx may have been applied server-side.
30
+ */
31
+ idempotent?: boolean;
32
+ }
33
+ /** Rate-limit and credit state reported by the API on each response. */
34
+ interface InodraResponseMeta {
35
+ rateLimit?: {
36
+ limit: number;
37
+ remaining: number;
38
+ /** Unix epoch (ms) when the window resets. */
39
+ reset: number;
40
+ /** True when CU quota is exceeded and limits are soft-dropped. */
41
+ throttled: boolean;
42
+ };
43
+ credits?: {
44
+ remaining: number;
45
+ limit: number;
46
+ /** ISO date when credits replenish. */
47
+ replenishDate?: string;
48
+ /** True when credit accounting is degraded (fail-open). */
49
+ degraded: boolean;
50
+ };
51
+ requestId?: string;
52
+ }
53
+ declare class InodraHttpClient {
54
+ readonly baseUrl: string;
55
+ /** Rate-limit/credit info from the most recent response, if any. */
56
+ lastResponseMeta: InodraResponseMeta | undefined;
57
+ private readonly auth;
58
+ private readonly maxRetries;
59
+ private readonly timeoutMs;
60
+ private readonly fetchImpl;
61
+ private readonly onResponseMeta?;
62
+ constructor(options: InodraHttpClientOptions);
63
+ request<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", path: string, options?: RequestOptions): Promise<T>;
64
+ private send;
65
+ private captureMeta;
66
+ }
67
+
68
+ /**
69
+ * This file was auto-generated by openapi-typescript.
70
+ * Do not make direct changes to the file.
71
+ */
72
+ interface paths {
73
+ "/health": {
74
+ parameters: {
75
+ query?: never;
76
+ header?: never;
77
+ path?: never;
78
+ cookie?: never;
79
+ };
80
+ /**
81
+ * Detailed health check
82
+ * @description Returns detailed health information including database statistics
83
+ */
84
+ get: {
85
+ parameters: {
86
+ query?: never;
87
+ header?: never;
88
+ path?: never;
89
+ cookie?: never;
90
+ };
91
+ requestBody?: never;
92
+ responses: {
93
+ /** @description Health check successful */
94
+ 200: {
95
+ headers: {
96
+ [name: string]: unknown;
97
+ };
98
+ content: {
99
+ "application/json": {
100
+ /**
101
+ * @description Health status of the service
102
+ * @example healthy
103
+ */
104
+ status: string;
105
+ /**
106
+ * @description Database connection status
107
+ * @example connected
108
+ */
109
+ database: string;
110
+ /**
111
+ * @description Timestamp of the health check
112
+ * @example 2024-01-01T00:00:00Z
113
+ */
114
+ timestamp: string;
115
+ /** @description Transaction statistics */
116
+ stats: {
117
+ /**
118
+ * @description Number of successful transactions
119
+ * @example 1000
120
+ */
121
+ success: number;
122
+ /**
123
+ * @description Number of failed transactions
124
+ * @example 50
125
+ */
126
+ error: number;
127
+ /**
128
+ * @description Total number of transactions
129
+ * @example 1050
130
+ */
131
+ total: number;
132
+ };
133
+ };
134
+ };
135
+ };
136
+ /** @description Service unavailable */
137
+ 503: {
138
+ headers: {
139
+ [name: string]: unknown;
140
+ };
141
+ content: {
142
+ "application/json": {
143
+ status: string;
144
+ database: string;
145
+ error: string;
146
+ };
147
+ };
148
+ };
149
+ };
150
+ };
151
+ put?: never;
152
+ post?: never;
153
+ delete?: never;
154
+ options?: never;
155
+ head?: never;
156
+ patch?: never;
157
+ trace?: never;
158
+ };
159
+ "/auth/me": {
160
+ parameters: {
161
+ query?: never;
162
+ header?: never;
163
+ path?: never;
164
+ cookie?: never;
165
+ };
166
+ /**
167
+ * Get API key information
168
+ * @description Returns information about the authenticated API key including the associated organization, project, network, subscription tier, and subscription details.
169
+ */
170
+ get: {
171
+ parameters: {
172
+ query?: never;
173
+ header?: never;
174
+ path?: never;
175
+ cookie?: never;
176
+ };
177
+ requestBody?: never;
178
+ responses: {
179
+ /** @description API key information */
180
+ 200: {
181
+ headers: {
182
+ [name: string]: unknown;
183
+ };
184
+ content: {
185
+ "application/json": {
186
+ data: {
187
+ apiKey: {
188
+ /** @description API key ID */
189
+ id: string;
190
+ /** @description API key name */
191
+ name: string | null;
192
+ };
193
+ /** @description Organization associated with this API key */
194
+ organization: {
195
+ /** @description Organization ID */
196
+ id: string;
197
+ /** @description Organization name */
198
+ name: string | null;
199
+ } | null;
200
+ /** @description Project associated with this API key */
201
+ project: {
202
+ /** @description Project ID */
203
+ id: string;
204
+ /** @description Project name */
205
+ name: string | null;
206
+ } | null;
207
+ /**
208
+ * @description Network this API key is configured for
209
+ * @enum {string|null}
210
+ */
211
+ network: "mainnet" | "testnet" | "devnet" | null;
212
+ /** @description Subscription tier (free, team, professional, business, enterprise) */
213
+ tier: string;
214
+ /** @description Subscription details for the organization */
215
+ subscription: {
216
+ /** @description Subscription plan name (e.g., free, team_monthly, team_annual) */
217
+ plan: string | null;
218
+ /** @description Subscription status (active, canceled, past_due, incomplete, trialing) */
219
+ status: string | null;
220
+ } | null;
221
+ };
222
+ };
223
+ };
224
+ };
225
+ /** @description Unauthorized - Invalid or missing API key */
226
+ 401: {
227
+ headers: {
228
+ [name: string]: unknown;
229
+ };
230
+ content: {
231
+ "application/json": components["schemas"]["ErrorResponse"];
232
+ };
233
+ };
234
+ };
235
+ };
236
+ put?: never;
237
+ post?: never;
238
+ delete?: never;
239
+ options?: never;
240
+ head?: never;
241
+ patch?: never;
242
+ trace?: never;
243
+ };
244
+ "/accounts/{address}": {
245
+ parameters: {
246
+ query?: never;
247
+ header?: never;
248
+ path?: never;
249
+ cookie?: never;
250
+ };
251
+ /**
252
+ * Get account by hash
253
+ * @description Get detailed account information by address hash
254
+ */
255
+ get: {
256
+ parameters: {
257
+ query?: never;
258
+ header?: never;
259
+ path: {
260
+ address: string;
261
+ };
262
+ cookie?: never;
263
+ };
264
+ requestBody?: never;
265
+ responses: {
266
+ /** @description Account details */
267
+ 200: {
268
+ headers: {
269
+ [name: string]: unknown;
270
+ };
271
+ content: {
272
+ "application/json": {
273
+ data: components["schemas"]["Account"];
274
+ };
275
+ };
276
+ };
277
+ /** @description Invalid address format */
278
+ 400: {
279
+ headers: {
280
+ [name: string]: unknown;
281
+ };
282
+ content: {
283
+ "application/json": components["schemas"]["ErrorResponse"];
284
+ };
285
+ };
286
+ /** @description Account not found */
287
+ 404: {
288
+ headers: {
289
+ [name: string]: unknown;
290
+ };
291
+ content: {
292
+ "application/json": components["schemas"]["ErrorResponse"];
293
+ };
294
+ };
295
+ /** @description Internal server error */
296
+ 500: {
297
+ headers: {
298
+ [name: string]: unknown;
299
+ };
300
+ content: {
301
+ "application/json": components["schemas"]["ErrorResponse"];
302
+ };
303
+ };
304
+ };
305
+ };
306
+ put?: never;
307
+ post?: never;
308
+ delete?: never;
309
+ options?: never;
310
+ head?: never;
311
+ patch?: never;
312
+ trace?: never;
313
+ };
314
+ "/accounts/{address}/balance": {
315
+ parameters: {
316
+ query?: never;
317
+ header?: never;
318
+ path?: never;
319
+ cookie?: never;
320
+ };
321
+ /**
322
+ * Get account balance
323
+ * @description Get balances of all coin denominations for an account
324
+ */
325
+ get: {
326
+ parameters: {
327
+ query?: never;
328
+ header?: never;
329
+ path: {
330
+ address: string;
331
+ };
332
+ cookie?: never;
333
+ };
334
+ requestBody?: never;
335
+ responses: {
336
+ /** @description Account balances */
337
+ 200: {
338
+ headers: {
339
+ [name: string]: unknown;
340
+ };
341
+ content: {
342
+ "application/json": {
343
+ data: components["schemas"]["Balance"][];
344
+ };
345
+ };
346
+ };
347
+ /** @description Invalid address format */
348
+ 400: {
349
+ headers: {
350
+ [name: string]: unknown;
351
+ };
352
+ content: {
353
+ "application/json": components["schemas"]["ErrorResponse"];
354
+ };
355
+ };
356
+ /** @description Account not found */
357
+ 404: {
358
+ headers: {
359
+ [name: string]: unknown;
360
+ };
361
+ content: {
362
+ "application/json": components["schemas"]["ErrorResponse"];
363
+ };
364
+ };
365
+ /** @description Internal server error */
366
+ 500: {
367
+ headers: {
368
+ [name: string]: unknown;
369
+ };
370
+ content: {
371
+ "application/json": components["schemas"]["ErrorResponse"];
372
+ };
373
+ };
374
+ };
375
+ };
376
+ put?: never;
377
+ post?: never;
378
+ delete?: never;
379
+ options?: never;
380
+ head?: never;
381
+ patch?: never;
382
+ trace?: never;
383
+ };
384
+ "/accounts/{address}/objects": {
385
+ parameters: {
386
+ query?: never;
387
+ header?: never;
388
+ path?: never;
389
+ cookie?: never;
390
+ };
391
+ /**
392
+ * Get account objects
393
+ * @description Get list of all objects owned by an account
394
+ */
395
+ get: {
396
+ parameters: {
397
+ query?: {
398
+ limit?: string;
399
+ cursor?: string;
400
+ };
401
+ header?: never;
402
+ path: {
403
+ address: string;
404
+ };
405
+ cookie?: never;
406
+ };
407
+ requestBody?: never;
408
+ responses: {
409
+ /** @description Account objects */
410
+ 200: {
411
+ headers: {
412
+ [name: string]: unknown;
413
+ };
414
+ content: {
415
+ "application/json": {
416
+ data: components["schemas"]["SuiObjectResponse"][];
417
+ pagination: {
418
+ limit: number;
419
+ cursor?: string;
420
+ hasNext: boolean;
421
+ };
422
+ };
423
+ };
424
+ };
425
+ /** @description Invalid address format */
426
+ 400: {
427
+ headers: {
428
+ [name: string]: unknown;
429
+ };
430
+ content: {
431
+ "application/json": components["schemas"]["ErrorResponse"];
432
+ };
433
+ };
434
+ /** @description Internal server error */
435
+ 500: {
436
+ headers: {
437
+ [name: string]: unknown;
438
+ };
439
+ content: {
440
+ "application/json": components["schemas"]["ErrorResponse"];
441
+ };
442
+ };
443
+ };
444
+ };
445
+ put?: never;
446
+ post?: never;
447
+ delete?: never;
448
+ options?: never;
449
+ head?: never;
450
+ patch?: never;
451
+ trace?: never;
452
+ };
453
+ "/accounts/{address}/transactions": {
454
+ parameters: {
455
+ query?: never;
456
+ header?: never;
457
+ path?: never;
458
+ cookie?: never;
459
+ };
460
+ /**
461
+ * Get account transactions
462
+ * @description Get list of transaction blocks run by an account. Supports activity format and including received transactions.
463
+ */
464
+ get: {
465
+ parameters: {
466
+ query?: {
467
+ limit?: string;
468
+ cursor?: string;
469
+ format?: "raw" | "activity";
470
+ includeReceived?: string;
471
+ };
472
+ header?: never;
473
+ path: {
474
+ address: string;
475
+ };
476
+ cookie?: never;
477
+ };
478
+ requestBody?: never;
479
+ responses: {
480
+ /** @description Account transactions (format depends on 'format' query parameter) */
481
+ 200: {
482
+ headers: {
483
+ [name: string]: unknown;
484
+ };
485
+ content: {
486
+ "application/json": {
487
+ data: components["schemas"]["SuiTransactionBlockResponse"][] | {
488
+ /** @enum {string} */
489
+ type: "sent" | "received";
490
+ transactionDigest: string;
491
+ timestamp?: string;
492
+ amount?: string | null;
493
+ coinType?: string | null;
494
+ counterparty?: string | null;
495
+ transaction: components["schemas"]["SuiTransactionBlockResponse"];
496
+ }[];
497
+ pagination: {
498
+ limit: number;
499
+ cursor?: string;
500
+ hasNext: boolean;
501
+ };
502
+ };
503
+ };
504
+ };
505
+ /** @description Invalid address format */
506
+ 400: {
507
+ headers: {
508
+ [name: string]: unknown;
509
+ };
510
+ content: {
511
+ "application/json": components["schemas"]["ErrorResponse"];
512
+ };
513
+ };
514
+ /** @description Internal server error */
515
+ 500: {
516
+ headers: {
517
+ [name: string]: unknown;
518
+ };
519
+ content: {
520
+ "application/json": components["schemas"]["ErrorResponse"];
521
+ };
522
+ };
523
+ };
524
+ };
525
+ put?: never;
526
+ post?: never;
527
+ delete?: never;
528
+ options?: never;
529
+ head?: never;
530
+ patch?: never;
531
+ trace?: never;
532
+ };
533
+ "/accounts/{address}/delegations": {
534
+ parameters: {
535
+ query?: never;
536
+ header?: never;
537
+ path?: never;
538
+ cookie?: never;
539
+ };
540
+ /**
541
+ * Get account delegations
542
+ * @description Get all stake delegations for an account
543
+ */
544
+ get: {
545
+ parameters: {
546
+ query?: never;
547
+ header?: never;
548
+ path: {
549
+ address: string;
550
+ };
551
+ cookie?: never;
552
+ };
553
+ requestBody?: never;
554
+ responses: {
555
+ /** @description Account delegations */
556
+ 200: {
557
+ headers: {
558
+ [name: string]: unknown;
559
+ };
560
+ content: {
561
+ "application/json": {
562
+ data: unknown[];
563
+ summary: {
564
+ totalStakes: number;
565
+ totalStaked: string;
566
+ };
567
+ };
568
+ };
569
+ };
570
+ /** @description Invalid address format */
571
+ 400: {
572
+ headers: {
573
+ [name: string]: unknown;
574
+ };
575
+ content: {
576
+ "application/json": components["schemas"]["ErrorResponse"];
577
+ };
578
+ };
579
+ /** @description Internal server error */
580
+ 500: {
581
+ headers: {
582
+ [name: string]: unknown;
583
+ };
584
+ content: {
585
+ "application/json": components["schemas"]["ErrorResponse"];
586
+ };
587
+ };
588
+ };
589
+ };
590
+ put?: never;
591
+ post?: never;
592
+ delete?: never;
593
+ options?: never;
594
+ head?: never;
595
+ patch?: never;
596
+ trace?: never;
597
+ };
598
+ "/coins/type/{coinType}": {
599
+ parameters: {
600
+ query?: never;
601
+ header?: never;
602
+ path?: never;
603
+ cookie?: never;
604
+ };
605
+ /**
606
+ * Get coin by coin type
607
+ * @description Get coin denomination by coin type
608
+ */
609
+ get: {
610
+ parameters: {
611
+ query?: never;
612
+ header?: never;
613
+ path: {
614
+ coinType: string;
615
+ };
616
+ cookie?: never;
617
+ };
618
+ requestBody?: never;
619
+ responses: {
620
+ /** @description Coin denomination details */
621
+ 200: {
622
+ headers: {
623
+ [name: string]: unknown;
624
+ };
625
+ content: {
626
+ "application/json": {
627
+ data: components["schemas"]["CoinMetadata"];
628
+ };
629
+ };
630
+ };
631
+ /** @description Invalid coin type format */
632
+ 400: {
633
+ headers: {
634
+ [name: string]: unknown;
635
+ };
636
+ content: {
637
+ "application/json": components["schemas"]["ErrorResponse"];
638
+ };
639
+ };
640
+ /** @description Coin not found */
641
+ 404: {
642
+ headers: {
643
+ [name: string]: unknown;
644
+ };
645
+ content: {
646
+ "application/json": components["schemas"]["ErrorResponse"];
647
+ };
648
+ };
649
+ /** @description Internal server error */
650
+ 500: {
651
+ headers: {
652
+ [name: string]: unknown;
653
+ };
654
+ content: {
655
+ "application/json": components["schemas"]["ErrorResponse"];
656
+ };
657
+ };
658
+ };
659
+ };
660
+ put?: never;
661
+ post?: never;
662
+ delete?: never;
663
+ options?: never;
664
+ head?: never;
665
+ patch?: never;
666
+ trace?: never;
667
+ };
668
+ "/coins/{coinType}": {
669
+ parameters: {
670
+ query?: never;
671
+ header?: never;
672
+ path?: never;
673
+ cookie?: never;
674
+ };
675
+ /**
676
+ * Get coin metadata
677
+ * @description Get details of a coin denomination like name, symbol, URL link, description, social links, etc.
678
+ */
679
+ get: {
680
+ parameters: {
681
+ query?: never;
682
+ header?: never;
683
+ path: {
684
+ coinType: string;
685
+ };
686
+ cookie?: never;
687
+ };
688
+ requestBody?: never;
689
+ responses: {
690
+ /** @description Coin metadata */
691
+ 200: {
692
+ headers: {
693
+ [name: string]: unknown;
694
+ };
695
+ content: {
696
+ "application/json": {
697
+ data: components["schemas"]["CoinMetadata"];
698
+ };
699
+ };
700
+ };
701
+ /** @description Invalid coin type format */
702
+ 400: {
703
+ headers: {
704
+ [name: string]: unknown;
705
+ };
706
+ content: {
707
+ "application/json": components["schemas"]["ErrorResponse"];
708
+ };
709
+ };
710
+ /** @description Coin not found */
711
+ 404: {
712
+ headers: {
713
+ [name: string]: unknown;
714
+ };
715
+ content: {
716
+ "application/json": components["schemas"]["ErrorResponse"];
717
+ };
718
+ };
719
+ /** @description Internal server error */
720
+ 500: {
721
+ headers: {
722
+ [name: string]: unknown;
723
+ };
724
+ content: {
725
+ "application/json": components["schemas"]["ErrorResponse"];
726
+ };
727
+ };
728
+ };
729
+ };
730
+ put?: never;
731
+ post?: never;
732
+ delete?: never;
733
+ options?: never;
734
+ head?: never;
735
+ patch?: never;
736
+ trace?: never;
737
+ };
738
+ "/objects/metadata": {
739
+ parameters: {
740
+ query?: never;
741
+ header?: never;
742
+ path?: never;
743
+ cookie?: never;
744
+ };
745
+ get?: never;
746
+ put?: never;
747
+ /**
748
+ * Get object metadata
749
+ * @description Get the metadata (type, name, image, project name and image, etc.) of the queried object
750
+ */
751
+ post: {
752
+ parameters: {
753
+ query?: never;
754
+ header?: never;
755
+ path?: never;
756
+ cookie?: never;
757
+ };
758
+ requestBody?: {
759
+ content: {
760
+ "application/json": {
761
+ /**
762
+ * @description Object ID to get metadata for
763
+ * @example 0x1234567890abcdef1234567890abcdef12345678
764
+ */
765
+ objectId: string;
766
+ };
767
+ };
768
+ };
769
+ responses: {
770
+ /** @description Object metadata */
771
+ 200: {
772
+ headers: {
773
+ [name: string]: unknown;
774
+ };
775
+ content: {
776
+ "application/json": {
777
+ data: components["schemas"]["ObjectMetadata"];
778
+ };
779
+ };
780
+ };
781
+ /** @description Invalid object ID format */
782
+ 400: {
783
+ headers: {
784
+ [name: string]: unknown;
785
+ };
786
+ content: {
787
+ "application/json": components["schemas"]["ErrorResponse"];
788
+ };
789
+ };
790
+ /** @description Object not found */
791
+ 404: {
792
+ headers: {
793
+ [name: string]: unknown;
794
+ };
795
+ content: {
796
+ "application/json": components["schemas"]["ErrorResponse"];
797
+ };
798
+ };
799
+ /** @description Internal server error */
800
+ 500: {
801
+ headers: {
802
+ [name: string]: unknown;
803
+ };
804
+ content: {
805
+ "application/json": components["schemas"]["ErrorResponse"];
806
+ };
807
+ };
808
+ };
809
+ };
810
+ delete?: never;
811
+ options?: never;
812
+ head?: never;
813
+ patch?: never;
814
+ trace?: never;
815
+ };
816
+ "/objects/{objectId}/transactions": {
817
+ parameters: {
818
+ query?: never;
819
+ header?: never;
820
+ path?: never;
821
+ cookie?: never;
822
+ };
823
+ /**
824
+ * Get object transactions by hash
825
+ * @description Get a list of all transaction blocks run with an object by hash
826
+ */
827
+ get: {
828
+ parameters: {
829
+ query?: {
830
+ limit?: string;
831
+ cursor?: string;
832
+ orderBy?: "asc" | "desc";
833
+ };
834
+ header?: never;
835
+ path: {
836
+ objectId: string;
837
+ };
838
+ cookie?: never;
839
+ };
840
+ requestBody?: never;
841
+ responses: {
842
+ /** @description List of transactions for the object */
843
+ 200: {
844
+ headers: {
845
+ [name: string]: unknown;
846
+ };
847
+ content: {
848
+ "application/json": {
849
+ data: components["schemas"]["SuiTransactionBlockResponse"][];
850
+ pagination: {
851
+ limit: number;
852
+ cursor?: string;
853
+ hasNext: boolean;
854
+ };
855
+ };
856
+ };
857
+ };
858
+ /** @description Invalid object ID format */
859
+ 400: {
860
+ headers: {
861
+ [name: string]: unknown;
862
+ };
863
+ content: {
864
+ "application/json": components["schemas"]["ErrorResponse"];
865
+ };
866
+ };
867
+ /** @description Object not found */
868
+ 404: {
869
+ headers: {
870
+ [name: string]: unknown;
871
+ };
872
+ content: {
873
+ "application/json": components["schemas"]["ErrorResponse"];
874
+ };
875
+ };
876
+ /** @description Internal server error */
877
+ 500: {
878
+ headers: {
879
+ [name: string]: unknown;
880
+ };
881
+ content: {
882
+ "application/json": components["schemas"]["ErrorResponse"];
883
+ };
884
+ };
885
+ };
886
+ };
887
+ put?: never;
888
+ post?: never;
889
+ delete?: never;
890
+ options?: never;
891
+ head?: never;
892
+ patch?: never;
893
+ trace?: never;
894
+ };
895
+ "/packages/{packageId}": {
896
+ parameters: {
897
+ query?: never;
898
+ header?: never;
899
+ path?: never;
900
+ cookie?: never;
901
+ };
902
+ /**
903
+ * Get package by ID
904
+ * @description Get package details by id
905
+ */
906
+ get: {
907
+ parameters: {
908
+ query?: never;
909
+ header?: never;
910
+ path: {
911
+ packageId: string;
912
+ };
913
+ cookie?: never;
914
+ };
915
+ requestBody?: never;
916
+ responses: {
917
+ /** @description Package details */
918
+ 200: {
919
+ headers: {
920
+ [name: string]: unknown;
921
+ };
922
+ content: {
923
+ "application/json": {
924
+ data: components["schemas"]["Package"];
925
+ };
926
+ };
927
+ };
928
+ /** @description Invalid package ID format */
929
+ 400: {
930
+ headers: {
931
+ [name: string]: unknown;
932
+ };
933
+ content: {
934
+ "application/json": components["schemas"]["ErrorResponse"];
935
+ };
936
+ };
937
+ /** @description Package not found */
938
+ 404: {
939
+ headers: {
940
+ [name: string]: unknown;
941
+ };
942
+ content: {
943
+ "application/json": components["schemas"]["ErrorResponse"];
944
+ };
945
+ };
946
+ /** @description Internal server error */
947
+ 500: {
948
+ headers: {
949
+ [name: string]: unknown;
950
+ };
951
+ content: {
952
+ "application/json": components["schemas"]["ErrorResponse"];
953
+ };
954
+ };
955
+ };
956
+ };
957
+ put?: never;
958
+ post?: never;
959
+ delete?: never;
960
+ options?: never;
961
+ head?: never;
962
+ patch?: never;
963
+ trace?: never;
964
+ };
965
+ "/chain/info": {
966
+ parameters: {
967
+ query?: never;
968
+ header?: never;
969
+ path?: never;
970
+ cookie?: never;
971
+ };
972
+ /**
973
+ * Get chain info parameters
974
+ * @description Get a chart showing Sui blockchain information: data structure, hashing functions, chain ID, chain version, etc.
975
+ */
976
+ get: {
977
+ parameters: {
978
+ query?: never;
979
+ header?: never;
980
+ path?: never;
981
+ cookie?: never;
982
+ };
983
+ requestBody?: never;
984
+ responses: {
985
+ /** @description Chain information parameters */
986
+ 200: {
987
+ headers: {
988
+ [name: string]: unknown;
989
+ };
990
+ content: {
991
+ "application/json": {
992
+ data: components["schemas"]["ChainInfo"];
993
+ };
994
+ };
995
+ };
996
+ /** @description Internal server error */
997
+ 500: {
998
+ headers: {
999
+ [name: string]: unknown;
1000
+ };
1001
+ content: {
1002
+ "application/json": components["schemas"]["ErrorResponse"];
1003
+ };
1004
+ };
1005
+ };
1006
+ };
1007
+ put?: never;
1008
+ post?: never;
1009
+ delete?: never;
1010
+ options?: never;
1011
+ head?: never;
1012
+ patch?: never;
1013
+ trace?: never;
1014
+ };
1015
+ "/chain/staking": {
1016
+ parameters: {
1017
+ query?: never;
1018
+ header?: never;
1019
+ path?: never;
1020
+ cookie?: never;
1021
+ };
1022
+ /**
1023
+ * Get staking parameters
1024
+ * @description Get a chart showing staking parameters for the selected period
1025
+ */
1026
+ get: {
1027
+ parameters: {
1028
+ query?: {
1029
+ period?: "1d" | "7d" | "30d" | "90d" | "1y";
1030
+ };
1031
+ header?: never;
1032
+ path?: never;
1033
+ cookie?: never;
1034
+ };
1035
+ requestBody?: never;
1036
+ responses: {
1037
+ /** @description Staking parameters */
1038
+ 200: {
1039
+ headers: {
1040
+ [name: string]: unknown;
1041
+ };
1042
+ content: {
1043
+ "application/json": {
1044
+ data: components["schemas"]["StakingParameters"];
1045
+ };
1046
+ };
1047
+ };
1048
+ /** @description Internal server error */
1049
+ 500: {
1050
+ headers: {
1051
+ [name: string]: unknown;
1052
+ };
1053
+ content: {
1054
+ "application/json": components["schemas"]["ErrorResponse"];
1055
+ };
1056
+ };
1057
+ };
1058
+ };
1059
+ put?: never;
1060
+ post?: never;
1061
+ delete?: never;
1062
+ options?: never;
1063
+ head?: never;
1064
+ patch?: never;
1065
+ trace?: never;
1066
+ };
1067
+ "/chain/stats": {
1068
+ parameters: {
1069
+ query?: never;
1070
+ header?: never;
1071
+ path?: never;
1072
+ cookie?: never;
1073
+ };
1074
+ /**
1075
+ * Get network statistics
1076
+ * @description Get current network statistics including validators, stake, checkpoints, transactions, and epoch information
1077
+ */
1078
+ get: {
1079
+ parameters: {
1080
+ query?: never;
1081
+ header?: never;
1082
+ path?: never;
1083
+ cookie?: never;
1084
+ };
1085
+ requestBody?: never;
1086
+ responses: {
1087
+ /** @description Network statistics */
1088
+ 200: {
1089
+ headers: {
1090
+ [name: string]: unknown;
1091
+ };
1092
+ content: {
1093
+ "application/json": {
1094
+ data: components["schemas"]["NetworkStats"];
1095
+ };
1096
+ };
1097
+ };
1098
+ /** @description Internal server error */
1099
+ 500: {
1100
+ headers: {
1101
+ [name: string]: unknown;
1102
+ };
1103
+ content: {
1104
+ "application/json": components["schemas"]["ErrorResponse"];
1105
+ };
1106
+ };
1107
+ };
1108
+ };
1109
+ put?: never;
1110
+ post?: never;
1111
+ delete?: never;
1112
+ options?: never;
1113
+ head?: never;
1114
+ patch?: never;
1115
+ trace?: never;
1116
+ };
1117
+ "/validators/apy": {
1118
+ parameters: {
1119
+ query?: never;
1120
+ header?: never;
1121
+ path?: never;
1122
+ cookie?: never;
1123
+ };
1124
+ /**
1125
+ * Get validators APY
1126
+ * @description Get chart of average APY across validators
1127
+ */
1128
+ get: {
1129
+ parameters: {
1130
+ query?: {
1131
+ period?: "1d" | "7d" | "30d" | "90d" | "1y";
1132
+ limit?: number;
1133
+ };
1134
+ header?: never;
1135
+ path?: never;
1136
+ cookie?: never;
1137
+ };
1138
+ requestBody?: never;
1139
+ responses: {
1140
+ /** @description Validator APY data */
1141
+ 200: {
1142
+ headers: {
1143
+ [name: string]: unknown;
1144
+ };
1145
+ content: {
1146
+ "application/json": {
1147
+ data: components["schemas"]["ValidatorApy"][];
1148
+ summary: {
1149
+ averageApy: number;
1150
+ maxApy: number;
1151
+ minApy: number;
1152
+ period: string;
1153
+ };
1154
+ };
1155
+ };
1156
+ };
1157
+ /** @description Internal server error */
1158
+ 500: {
1159
+ headers: {
1160
+ [name: string]: unknown;
1161
+ };
1162
+ content: {
1163
+ "application/json": components["schemas"]["ErrorResponse"];
1164
+ };
1165
+ };
1166
+ };
1167
+ };
1168
+ put?: never;
1169
+ post?: never;
1170
+ delete?: never;
1171
+ options?: never;
1172
+ head?: never;
1173
+ patch?: never;
1174
+ trace?: never;
1175
+ };
1176
+ "/validators/commission": {
1177
+ parameters: {
1178
+ query?: never;
1179
+ header?: never;
1180
+ path?: never;
1181
+ cookie?: never;
1182
+ };
1183
+ /**
1184
+ * Get validators commission
1185
+ * @description Get commission rates charged by validators
1186
+ */
1187
+ get: {
1188
+ parameters: {
1189
+ query?: {
1190
+ limit?: string;
1191
+ cursor?: string;
1192
+ minCommission?: number | null;
1193
+ maxCommission?: number | null;
1194
+ };
1195
+ header?: never;
1196
+ path?: never;
1197
+ cookie?: never;
1198
+ };
1199
+ requestBody?: never;
1200
+ responses: {
1201
+ /** @description Validator commission data */
1202
+ 200: {
1203
+ headers: {
1204
+ [name: string]: unknown;
1205
+ };
1206
+ content: {
1207
+ "application/json": {
1208
+ data: {
1209
+ validatorAddress: string;
1210
+ name?: string;
1211
+ commissionRate: string;
1212
+ stakeAmount: string;
1213
+ }[];
1214
+ pagination: {
1215
+ limit: number;
1216
+ cursor?: string;
1217
+ hasNext: boolean;
1218
+ };
1219
+ };
1220
+ };
1221
+ };
1222
+ /** @description Internal server error */
1223
+ 500: {
1224
+ headers: {
1225
+ [name: string]: unknown;
1226
+ };
1227
+ content: {
1228
+ "application/json": components["schemas"]["ErrorResponse"];
1229
+ };
1230
+ };
1231
+ };
1232
+ };
1233
+ put?: never;
1234
+ post?: never;
1235
+ delete?: never;
1236
+ options?: never;
1237
+ head?: never;
1238
+ patch?: never;
1239
+ trace?: never;
1240
+ };
1241
+ "/validators": {
1242
+ parameters: {
1243
+ query?: never;
1244
+ header?: never;
1245
+ path?: never;
1246
+ cookie?: never;
1247
+ };
1248
+ /**
1249
+ * Get validators
1250
+ * @description Get a list of all validators on the Sui Network
1251
+ */
1252
+ get: {
1253
+ parameters: {
1254
+ query?: {
1255
+ limit?: string;
1256
+ cursor?: string;
1257
+ active?: string;
1258
+ sortBy?: "stake" | "apy" | "commission" | "name";
1259
+ order?: "asc" | "desc";
1260
+ };
1261
+ header?: never;
1262
+ path?: never;
1263
+ cookie?: never;
1264
+ };
1265
+ requestBody?: never;
1266
+ responses: {
1267
+ /** @description List of validators */
1268
+ 200: {
1269
+ headers: {
1270
+ [name: string]: unknown;
1271
+ };
1272
+ content: {
1273
+ "application/json": {
1274
+ data: components["schemas"]["Validator"][];
1275
+ pagination: {
1276
+ limit: number;
1277
+ cursor?: string;
1278
+ hasNext: boolean;
1279
+ };
1280
+ };
1281
+ };
1282
+ };
1283
+ /** @description Internal server error */
1284
+ 500: {
1285
+ headers: {
1286
+ [name: string]: unknown;
1287
+ };
1288
+ content: {
1289
+ "application/json": components["schemas"]["ErrorResponse"];
1290
+ };
1291
+ };
1292
+ };
1293
+ };
1294
+ put?: never;
1295
+ post?: never;
1296
+ delete?: never;
1297
+ options?: never;
1298
+ head?: never;
1299
+ patch?: never;
1300
+ trace?: never;
1301
+ };
1302
+ "/validators/{validatorAddress}": {
1303
+ parameters: {
1304
+ query?: never;
1305
+ header?: never;
1306
+ path?: never;
1307
+ cookie?: never;
1308
+ };
1309
+ /**
1310
+ * Get validator by address
1311
+ * @description Get detailed validator information
1312
+ */
1313
+ get: {
1314
+ parameters: {
1315
+ query?: never;
1316
+ header?: never;
1317
+ path: {
1318
+ validatorAddress: string;
1319
+ };
1320
+ cookie?: never;
1321
+ };
1322
+ requestBody?: never;
1323
+ responses: {
1324
+ /** @description Validator details */
1325
+ 200: {
1326
+ headers: {
1327
+ [name: string]: unknown;
1328
+ };
1329
+ content: {
1330
+ "application/json": {
1331
+ data: components["schemas"]["Validator"];
1332
+ };
1333
+ };
1334
+ };
1335
+ /** @description Invalid validator address format */
1336
+ 400: {
1337
+ headers: {
1338
+ [name: string]: unknown;
1339
+ };
1340
+ content: {
1341
+ "application/json": components["schemas"]["ErrorResponse"];
1342
+ };
1343
+ };
1344
+ /** @description Validator not found */
1345
+ 404: {
1346
+ headers: {
1347
+ [name: string]: unknown;
1348
+ };
1349
+ content: {
1350
+ "application/json": components["schemas"]["ErrorResponse"];
1351
+ };
1352
+ };
1353
+ /** @description Internal server error */
1354
+ 500: {
1355
+ headers: {
1356
+ [name: string]: unknown;
1357
+ };
1358
+ content: {
1359
+ "application/json": components["schemas"]["ErrorResponse"];
1360
+ };
1361
+ };
1362
+ };
1363
+ };
1364
+ put?: never;
1365
+ post?: never;
1366
+ delete?: never;
1367
+ options?: never;
1368
+ head?: never;
1369
+ patch?: never;
1370
+ trace?: never;
1371
+ };
1372
+ "/jsonrpc": {
1373
+ parameters: {
1374
+ query?: never;
1375
+ header?: never;
1376
+ path?: never;
1377
+ cookie?: never;
1378
+ };
1379
+ get?: never;
1380
+ put?: never;
1381
+ /**
1382
+ * Proxy JSON-RPC to Sui node
1383
+ * @description Accepts any JSON-RPC 2.0 request and forwards it to the configured Sui RPC endpoint.
1384
+ */
1385
+ post: {
1386
+ parameters: {
1387
+ query?: never;
1388
+ header?: never;
1389
+ path?: never;
1390
+ cookie?: never;
1391
+ };
1392
+ requestBody: {
1393
+ content: {
1394
+ "application/json": {
1395
+ /** @enum {string} */
1396
+ jsonrpc: "2.0";
1397
+ method: string;
1398
+ params?: unknown[] | {
1399
+ [key: string]: unknown;
1400
+ };
1401
+ id?: string | number | unknown | unknown;
1402
+ };
1403
+ };
1404
+ };
1405
+ responses: {
1406
+ /** @description JSON-RPC 2.0 response. Errors are encoded in the JSON body. */
1407
+ 200: {
1408
+ headers: {
1409
+ [name: string]: unknown;
1410
+ };
1411
+ content: {
1412
+ "application/json": {
1413
+ /** @enum {string} */
1414
+ jsonrpc: "2.0";
1415
+ result?: unknown;
1416
+ id: string | number | unknown | unknown;
1417
+ } | {
1418
+ /** @enum {string} */
1419
+ jsonrpc: "2.0";
1420
+ error: {
1421
+ code: number;
1422
+ message: string;
1423
+ data?: unknown;
1424
+ };
1425
+ id: string | number | unknown | unknown;
1426
+ };
1427
+ };
1428
+ };
1429
+ /** @description Malformed JSON (not a valid JSON-RPC envelope). */
1430
+ 400: {
1431
+ headers: {
1432
+ [name: string]: unknown;
1433
+ };
1434
+ content?: never;
1435
+ };
1436
+ /** @description Upstream Sui node unreachable or timed out. */
1437
+ 502: {
1438
+ headers: {
1439
+ [name: string]: unknown;
1440
+ };
1441
+ content?: never;
1442
+ };
1443
+ };
1444
+ };
1445
+ delete?: never;
1446
+ options?: never;
1447
+ head?: never;
1448
+ patch?: never;
1449
+ trace?: never;
1450
+ };
1451
+ "/graphql": {
1452
+ parameters: {
1453
+ query?: never;
1454
+ header?: never;
1455
+ path?: never;
1456
+ cookie?: never;
1457
+ };
1458
+ get?: never;
1459
+ put?: never;
1460
+ /**
1461
+ * Proxy GraphQL requests to Sui node
1462
+ * @description Accepts GraphQL queries and forwards them to the configured Sui GraphQL endpoint. Validates query structure and enforces size limits (max 100KB query).
1463
+ */
1464
+ post: {
1465
+ parameters: {
1466
+ query?: never;
1467
+ header?: never;
1468
+ path?: never;
1469
+ cookie?: never;
1470
+ };
1471
+ requestBody: {
1472
+ content: {
1473
+ "application/json": {
1474
+ query: string;
1475
+ variables?: {
1476
+ [key: string]: unknown;
1477
+ };
1478
+ operationName?: string;
1479
+ };
1480
+ };
1481
+ };
1482
+ responses: {
1483
+ /** @description GraphQL response from Sui node. */
1484
+ 200: {
1485
+ headers: {
1486
+ [name: string]: unknown;
1487
+ };
1488
+ content: {
1489
+ "application/json": unknown;
1490
+ };
1491
+ };
1492
+ /** @description Malformed request (invalid JSON, missing query field, or query exceeds size limits). */
1493
+ 400: {
1494
+ headers: {
1495
+ [name: string]: unknown;
1496
+ };
1497
+ content?: never;
1498
+ };
1499
+ /** @description Upstream Sui node unreachable or timed out. */
1500
+ 502: {
1501
+ headers: {
1502
+ [name: string]: unknown;
1503
+ };
1504
+ content?: never;
1505
+ };
1506
+ };
1507
+ };
1508
+ delete?: never;
1509
+ options?: never;
1510
+ head?: never;
1511
+ patch?: never;
1512
+ trace?: never;
1513
+ };
1514
+ "/suins/resolve/{name}": {
1515
+ parameters: {
1516
+ query?: never;
1517
+ header?: never;
1518
+ path?: never;
1519
+ cookie?: never;
1520
+ };
1521
+ /**
1522
+ * Resolve SuiNS name to address
1523
+ * @description Resolves a SuiNS name to its associated SUI address and metadata
1524
+ */
1525
+ get: {
1526
+ parameters: {
1527
+ query?: never;
1528
+ header?: never;
1529
+ path: {
1530
+ name: string;
1531
+ };
1532
+ cookie?: never;
1533
+ };
1534
+ requestBody?: never;
1535
+ responses: {
1536
+ /** @description Successfully resolved SuiNS name */
1537
+ 200: {
1538
+ headers: {
1539
+ [name: string]: unknown;
1540
+ };
1541
+ content: {
1542
+ "application/json": components["schemas"]["SuiNSResolveResponse"];
1543
+ };
1544
+ };
1545
+ /** @description Invalid name format */
1546
+ 400: {
1547
+ headers: {
1548
+ [name: string]: unknown;
1549
+ };
1550
+ content: {
1551
+ "application/json": components["schemas"]["ErrorResponse"];
1552
+ };
1553
+ };
1554
+ /** @description SuiNS name not found */
1555
+ 404: {
1556
+ headers: {
1557
+ [name: string]: unknown;
1558
+ };
1559
+ content: {
1560
+ "application/json": components["schemas"]["ErrorResponse"];
1561
+ };
1562
+ };
1563
+ /** @description Internal server error */
1564
+ 500: {
1565
+ headers: {
1566
+ [name: string]: unknown;
1567
+ };
1568
+ content: {
1569
+ "application/json": components["schemas"]["ErrorResponse"];
1570
+ };
1571
+ };
1572
+ };
1573
+ };
1574
+ put?: never;
1575
+ post?: never;
1576
+ delete?: never;
1577
+ options?: never;
1578
+ head?: never;
1579
+ patch?: never;
1580
+ trace?: never;
1581
+ };
1582
+ "/suins/reverse/{address}": {
1583
+ parameters: {
1584
+ query?: never;
1585
+ header?: never;
1586
+ path?: never;
1587
+ cookie?: never;
1588
+ };
1589
+ /**
1590
+ * Reverse resolve address to SuiNS name
1591
+ * @description Performs reverse lookup to find the default SuiNS name for an address
1592
+ */
1593
+ get: {
1594
+ parameters: {
1595
+ query?: never;
1596
+ header?: never;
1597
+ path: {
1598
+ address: string;
1599
+ };
1600
+ cookie?: never;
1601
+ };
1602
+ requestBody?: never;
1603
+ responses: {
1604
+ /** @description Successfully performed reverse lookup */
1605
+ 200: {
1606
+ headers: {
1607
+ [name: string]: unknown;
1608
+ };
1609
+ content: {
1610
+ "application/json": components["schemas"]["SuiNSReverseResolveResponse"];
1611
+ };
1612
+ };
1613
+ /** @description Invalid address format */
1614
+ 400: {
1615
+ headers: {
1616
+ [name: string]: unknown;
1617
+ };
1618
+ content: {
1619
+ "application/json": components["schemas"]["ErrorResponse"];
1620
+ };
1621
+ };
1622
+ /** @description Internal server error */
1623
+ 500: {
1624
+ headers: {
1625
+ [name: string]: unknown;
1626
+ };
1627
+ content: {
1628
+ "application/json": components["schemas"]["ErrorResponse"];
1629
+ };
1630
+ };
1631
+ };
1632
+ };
1633
+ put?: never;
1634
+ post?: never;
1635
+ delete?: never;
1636
+ options?: never;
1637
+ head?: never;
1638
+ patch?: never;
1639
+ trace?: never;
1640
+ };
1641
+ "/suins/resolve/batch": {
1642
+ parameters: {
1643
+ query?: never;
1644
+ header?: never;
1645
+ path?: never;
1646
+ cookie?: never;
1647
+ };
1648
+ get?: never;
1649
+ put?: never;
1650
+ /**
1651
+ * Batch resolve multiple SuiNS names
1652
+ * @description Resolves multiple SuiNS names in a single request for improved performance
1653
+ */
1654
+ post: {
1655
+ parameters: {
1656
+ query?: never;
1657
+ header?: never;
1658
+ path?: never;
1659
+ cookie?: never;
1660
+ };
1661
+ requestBody?: {
1662
+ content: {
1663
+ "application/json": components["schemas"]["SuiNSBatchResolveRequest"];
1664
+ };
1665
+ };
1666
+ responses: {
1667
+ /** @description Batch resolution results */
1668
+ 200: {
1669
+ headers: {
1670
+ [name: string]: unknown;
1671
+ };
1672
+ content: {
1673
+ "application/json": components["schemas"]["SuiNSBatchResolveResponse"];
1674
+ };
1675
+ };
1676
+ /** @description Invalid request format */
1677
+ 400: {
1678
+ headers: {
1679
+ [name: string]: unknown;
1680
+ };
1681
+ content: {
1682
+ "application/json": components["schemas"]["ErrorResponse"];
1683
+ };
1684
+ };
1685
+ /** @description Internal server error */
1686
+ 500: {
1687
+ headers: {
1688
+ [name: string]: unknown;
1689
+ };
1690
+ content: {
1691
+ "application/json": components["schemas"]["ErrorResponse"];
1692
+ };
1693
+ };
1694
+ };
1695
+ };
1696
+ delete?: never;
1697
+ options?: never;
1698
+ head?: never;
1699
+ patch?: never;
1700
+ trace?: never;
1701
+ };
1702
+ "/suins/availability/{name}": {
1703
+ parameters: {
1704
+ query?: never;
1705
+ header?: never;
1706
+ path?: never;
1707
+ cookie?: never;
1708
+ };
1709
+ /**
1710
+ * Check SuiNS name availability
1711
+ * @description Checks if a SuiNS name is available for registration or currently registered
1712
+ */
1713
+ get: {
1714
+ parameters: {
1715
+ query?: never;
1716
+ header?: never;
1717
+ path: {
1718
+ name: string;
1719
+ };
1720
+ cookie?: never;
1721
+ };
1722
+ requestBody?: never;
1723
+ responses: {
1724
+ /** @description Name availability status */
1725
+ 200: {
1726
+ headers: {
1727
+ [name: string]: unknown;
1728
+ };
1729
+ content: {
1730
+ "application/json": components["schemas"]["SuiNSAvailabilityResponse"];
1731
+ };
1732
+ };
1733
+ /** @description Invalid name format */
1734
+ 400: {
1735
+ headers: {
1736
+ [name: string]: unknown;
1737
+ };
1738
+ content: {
1739
+ "application/json": components["schemas"]["ErrorResponse"];
1740
+ };
1741
+ };
1742
+ /** @description Internal server error */
1743
+ 500: {
1744
+ headers: {
1745
+ [name: string]: unknown;
1746
+ };
1747
+ content: {
1748
+ "application/json": components["schemas"]["ErrorResponse"];
1749
+ };
1750
+ };
1751
+ };
1752
+ };
1753
+ put?: never;
1754
+ post?: never;
1755
+ delete?: never;
1756
+ options?: never;
1757
+ head?: never;
1758
+ patch?: never;
1759
+ trace?: never;
1760
+ };
1761
+ "/usage/stats": {
1762
+ parameters: {
1763
+ query?: never;
1764
+ header?: never;
1765
+ path?: never;
1766
+ cookie?: never;
1767
+ };
1768
+ /**
1769
+ * Get usage statistics
1770
+ * @description Returns comprehensive usage statistics for the authenticated organization including CU consumption, request metrics, performance data, and error analytics for the current billing period
1771
+ */
1772
+ get: {
1773
+ parameters: {
1774
+ query?: never;
1775
+ header?: never;
1776
+ path?: never;
1777
+ cookie?: never;
1778
+ };
1779
+ requestBody?: never;
1780
+ responses: {
1781
+ /** @description Usage statistics retrieved successfully */
1782
+ 200: {
1783
+ headers: {
1784
+ [name: string]: unknown;
1785
+ };
1786
+ content: {
1787
+ "application/json": {
1788
+ data: {
1789
+ organization: {
1790
+ id: string;
1791
+ tier: string;
1792
+ };
1793
+ billingPeriod: {
1794
+ start: string;
1795
+ end: string;
1796
+ };
1797
+ computeUnits: {
1798
+ consumed: number;
1799
+ limit: number;
1800
+ remaining: number;
1801
+ percentUsed: number;
1802
+ formatted: {
1803
+ consumed: string;
1804
+ limit: string;
1805
+ remaining: string;
1806
+ };
1807
+ };
1808
+ requests: {
1809
+ total: number;
1810
+ successful: number;
1811
+ failed: number;
1812
+ errorRate: number;
1813
+ };
1814
+ performance: {
1815
+ avgResponseTimeMs: number;
1816
+ p95ResponseTimeMs: number | null;
1817
+ p99ResponseTimeMs: number | null;
1818
+ };
1819
+ topEndpoints: {
1820
+ endpoint: string;
1821
+ requests: number;
1822
+ avgResponseTimeMs: number;
1823
+ errorRate: number;
1824
+ }[];
1825
+ errorBreakdown: {
1826
+ errorType: string;
1827
+ count: number;
1828
+ percentage: number;
1829
+ }[];
1830
+ };
1831
+ };
1832
+ };
1833
+ };
1834
+ /** @description Unauthorized - API key required */
1835
+ 401: {
1836
+ headers: {
1837
+ [name: string]: unknown;
1838
+ };
1839
+ content: {
1840
+ "application/json": {
1841
+ error: string;
1842
+ message?: string;
1843
+ };
1844
+ };
1845
+ };
1846
+ /** @description Internal server error */
1847
+ 500: {
1848
+ headers: {
1849
+ [name: string]: unknown;
1850
+ };
1851
+ content: {
1852
+ "application/json": {
1853
+ error: string;
1854
+ message?: string;
1855
+ };
1856
+ };
1857
+ };
1858
+ };
1859
+ };
1860
+ put?: never;
1861
+ post?: never;
1862
+ delete?: never;
1863
+ options?: never;
1864
+ head?: never;
1865
+ patch?: never;
1866
+ trace?: never;
1867
+ };
1868
+ "/catalog/protocols": {
1869
+ parameters: {
1870
+ query?: never;
1871
+ header?: never;
1872
+ path?: never;
1873
+ cookie?: never;
1874
+ };
1875
+ /**
1876
+ * List curated protocols
1877
+ * @description List protocols available in the curated event catalog, filtered to the project network (or an explicit `network`).
1878
+ */
1879
+ get: {
1880
+ parameters: {
1881
+ query?: {
1882
+ network?: "mainnet" | "testnet" | "devnet";
1883
+ };
1884
+ header?: never;
1885
+ path?: never;
1886
+ cookie?: never;
1887
+ };
1888
+ requestBody?: never;
1889
+ responses: {
1890
+ /** @description Catalog protocols */
1891
+ 200: {
1892
+ headers: {
1893
+ [name: string]: unknown;
1894
+ };
1895
+ content: {
1896
+ "application/json": {
1897
+ data: {
1898
+ /** @example cetus */
1899
+ id: string;
1900
+ /** @example Cetus */
1901
+ name: string;
1902
+ /** @example DEX */
1903
+ category: string;
1904
+ /** @example https://www.cetus.zone */
1905
+ website?: string;
1906
+ /**
1907
+ * @example [
1908
+ * "mainnet"
1909
+ * ]
1910
+ */
1911
+ networks: ("mainnet" | "testnet" | "devnet")[];
1912
+ /**
1913
+ * @description Number of cataloged events on the network
1914
+ * @example 8
1915
+ */
1916
+ eventCount: number;
1917
+ }[];
1918
+ };
1919
+ };
1920
+ };
1921
+ /** @description Invalid query */
1922
+ 400: {
1923
+ headers: {
1924
+ [name: string]: unknown;
1925
+ };
1926
+ content: {
1927
+ "application/json": components["schemas"]["ErrorResponse"];
1928
+ };
1929
+ };
1930
+ /** @description Internal server error */
1931
+ 500: {
1932
+ headers: {
1933
+ [name: string]: unknown;
1934
+ };
1935
+ content: {
1936
+ "application/json": components["schemas"]["ErrorResponse"];
1937
+ };
1938
+ };
1939
+ };
1940
+ };
1941
+ put?: never;
1942
+ post?: never;
1943
+ delete?: never;
1944
+ options?: never;
1945
+ head?: never;
1946
+ patch?: never;
1947
+ trace?: never;
1948
+ };
1949
+ "/catalog/events": {
1950
+ parameters: {
1951
+ query?: never;
1952
+ header?: never;
1953
+ path?: never;
1954
+ cookie?: never;
1955
+ };
1956
+ /**
1957
+ * List curated protocol events
1958
+ * @description List curated, on-chain-verified protocol events that can be tracked via webhooks or Warp streams. Pick one and its canonical event type pre-fills the tracked event. Filtered to the project network by default.
1959
+ */
1960
+ get: {
1961
+ parameters: {
1962
+ query?: {
1963
+ network?: "mainnet" | "testnet" | "devnet";
1964
+ protocol?: string;
1965
+ category?: string;
1966
+ q?: string;
1967
+ includeUnverified?: string;
1968
+ };
1969
+ header?: never;
1970
+ path?: never;
1971
+ cookie?: never;
1972
+ };
1973
+ requestBody?: never;
1974
+ responses: {
1975
+ /** @description Catalog events */
1976
+ 200: {
1977
+ headers: {
1978
+ [name: string]: unknown;
1979
+ };
1980
+ content: {
1981
+ "application/json": {
1982
+ data: {
1983
+ /** @example cetus.swap */
1984
+ id: string;
1985
+ /** @example cetus */
1986
+ protocolId: string;
1987
+ /** @example Cetus — Swap */
1988
+ label: string;
1989
+ /** @example swap */
1990
+ category: string;
1991
+ description: string;
1992
+ /** @description If true, matched by base-type prefix (covers all generic instantiations) */
1993
+ generic: boolean;
1994
+ types: {
1995
+ /** @enum {string} */
1996
+ network: "mainnet" | "testnet" | "devnet";
1997
+ /** @example 0x1eabed72c53feb3805120a081dc15963c204dc8d091542592abaf7a35689b2fb::pool::SwapEvent */
1998
+ eventType: string;
1999
+ packageId: string;
2000
+ version?: string;
2001
+ primary?: boolean;
2002
+ verified: boolean;
2003
+ }[];
2004
+ fields: {
2005
+ /** @example amount_in */
2006
+ name: string;
2007
+ /** @example u64 */
2008
+ type: string;
2009
+ }[];
2010
+ }[];
2011
+ };
2012
+ };
2013
+ };
2014
+ /** @description Invalid query */
2015
+ 400: {
2016
+ headers: {
2017
+ [name: string]: unknown;
2018
+ };
2019
+ content: {
2020
+ "application/json": components["schemas"]["ErrorResponse"];
2021
+ };
2022
+ };
2023
+ /** @description Internal server error */
2024
+ 500: {
2025
+ headers: {
2026
+ [name: string]: unknown;
2027
+ };
2028
+ content: {
2029
+ "application/json": components["schemas"]["ErrorResponse"];
2030
+ };
2031
+ };
2032
+ };
2033
+ };
2034
+ put?: never;
2035
+ post?: never;
2036
+ delete?: never;
2037
+ options?: never;
2038
+ head?: never;
2039
+ patch?: never;
2040
+ trace?: never;
2041
+ };
2042
+ "/webhooks/events": {
2043
+ parameters: {
2044
+ query?: never;
2045
+ header?: never;
2046
+ path?: never;
2047
+ cookie?: never;
2048
+ };
2049
+ get?: never;
2050
+ put?: never;
2051
+ /**
2052
+ * Create event webhook
2053
+ * @description Create a new webhook for monitoring Move package events. The webhook will be triggered when events matching the specified type are emitted on-chain.
2054
+ */
2055
+ post: {
2056
+ parameters: {
2057
+ query?: never;
2058
+ header?: never;
2059
+ path?: never;
2060
+ cookie?: never;
2061
+ };
2062
+ requestBody?: {
2063
+ content: {
2064
+ "application/json": {
2065
+ /** @description The Move event type to track (e.g., 0x2::coin::CoinBalanceChange) */
2066
+ eventType: string;
2067
+ /**
2068
+ * Format: uri
2069
+ * @description The URL to send webhook payloads to
2070
+ */
2071
+ webhookUrl: string;
2072
+ /** @description Optional sender address filter */
2073
+ sender?: string;
2074
+ /** @description Optional field-level filters (max 10) */
2075
+ eventFieldFilters?: {
2076
+ /** @description The field name to filter on */
2077
+ field: string;
2078
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2079
+ moveType: string;
2080
+ /**
2081
+ * @description The comparison operator
2082
+ * @enum {string}
2083
+ */
2084
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2085
+ /** @description The value to compare against */
2086
+ value: string;
2087
+ }[];
2088
+ };
2089
+ };
2090
+ };
2091
+ responses: {
2092
+ /** @description Webhook created successfully */
2093
+ 201: {
2094
+ headers: {
2095
+ [name: string]: unknown;
2096
+ };
2097
+ content: {
2098
+ "application/json": {
2099
+ data: {
2100
+ id: string;
2101
+ /** @enum {string} */
2102
+ type: "event";
2103
+ eventType: string;
2104
+ sender: string | null;
2105
+ eventFieldFilters: {
2106
+ /** @description The field name to filter on */
2107
+ field: string;
2108
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2109
+ moveType: string;
2110
+ /**
2111
+ * @description The comparison operator
2112
+ * @enum {string}
2113
+ */
2114
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2115
+ /** @description The value to compare against */
2116
+ value: string;
2117
+ }[] | null;
2118
+ address?: string | null;
2119
+ coinType?: string | null;
2120
+ objectId?: string | null;
2121
+ webhookUrl: string | null;
2122
+ webhookSecret: string | null;
2123
+ active: boolean;
2124
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2125
+ frozenByTier: boolean;
2126
+ organizationId: string;
2127
+ projectId: string;
2128
+ createdAt?: string | null;
2129
+ updatedAt?: string | null;
2130
+ };
2131
+ };
2132
+ };
2133
+ };
2134
+ /** @description Invalid request */
2135
+ 400: {
2136
+ headers: {
2137
+ [name: string]: unknown;
2138
+ };
2139
+ content: {
2140
+ "application/json": components["schemas"]["ErrorResponse"];
2141
+ };
2142
+ };
2143
+ /** @description Unauthorized - invalid or missing API key */
2144
+ 401: {
2145
+ headers: {
2146
+ [name: string]: unknown;
2147
+ };
2148
+ content: {
2149
+ "application/json": components["schemas"]["ErrorResponse"];
2150
+ };
2151
+ };
2152
+ /** @description Webhook limit reached for subscription tier */
2153
+ 403: {
2154
+ headers: {
2155
+ [name: string]: unknown;
2156
+ };
2157
+ content: {
2158
+ "application/json": components["schemas"]["ErrorResponse"];
2159
+ };
2160
+ };
2161
+ /** @description Internal server error */
2162
+ 500: {
2163
+ headers: {
2164
+ [name: string]: unknown;
2165
+ };
2166
+ content: {
2167
+ "application/json": components["schemas"]["ErrorResponse"];
2168
+ };
2169
+ };
2170
+ };
2171
+ };
2172
+ delete?: never;
2173
+ options?: never;
2174
+ head?: never;
2175
+ patch?: never;
2176
+ trace?: never;
2177
+ };
2178
+ "/webhooks/addresses": {
2179
+ parameters: {
2180
+ query?: never;
2181
+ header?: never;
2182
+ path?: never;
2183
+ cookie?: never;
2184
+ };
2185
+ get?: never;
2186
+ put?: never;
2187
+ /**
2188
+ * Create address webhook
2189
+ * @description Create a new webhook for monitoring a Sui address activity. The webhook will be triggered when the address sends or receives transactions.
2190
+ */
2191
+ post: {
2192
+ parameters: {
2193
+ query?: never;
2194
+ header?: never;
2195
+ path?: never;
2196
+ cookie?: never;
2197
+ };
2198
+ requestBody?: {
2199
+ content: {
2200
+ "application/json": {
2201
+ /** @description The Sui address to monitor for activity */
2202
+ address: string;
2203
+ /**
2204
+ * Format: uri
2205
+ * @description The URL to send webhook payloads to
2206
+ */
2207
+ webhookUrl: string;
2208
+ };
2209
+ };
2210
+ };
2211
+ responses: {
2212
+ /** @description Webhook created successfully */
2213
+ 201: {
2214
+ headers: {
2215
+ [name: string]: unknown;
2216
+ };
2217
+ content: {
2218
+ "application/json": {
2219
+ data: {
2220
+ id: string;
2221
+ /** @enum {string} */
2222
+ type: "address";
2223
+ eventType: string | null;
2224
+ sender: string | null;
2225
+ eventFieldFilters: {
2226
+ /** @description The field name to filter on */
2227
+ field: string;
2228
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2229
+ moveType: string;
2230
+ /**
2231
+ * @description The comparison operator
2232
+ * @enum {string}
2233
+ */
2234
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2235
+ /** @description The value to compare against */
2236
+ value: string;
2237
+ }[] | null;
2238
+ address: string;
2239
+ coinType?: string | null;
2240
+ objectId?: string | null;
2241
+ webhookUrl: string | null;
2242
+ webhookSecret: string | null;
2243
+ active: boolean;
2244
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2245
+ frozenByTier: boolean;
2246
+ organizationId: string;
2247
+ projectId: string;
2248
+ createdAt?: string | null;
2249
+ updatedAt?: string | null;
2250
+ };
2251
+ };
2252
+ };
2253
+ };
2254
+ /** @description Invalid request */
2255
+ 400: {
2256
+ headers: {
2257
+ [name: string]: unknown;
2258
+ };
2259
+ content: {
2260
+ "application/json": components["schemas"]["ErrorResponse"];
2261
+ };
2262
+ };
2263
+ /** @description Unauthorized - invalid or missing API key */
2264
+ 401: {
2265
+ headers: {
2266
+ [name: string]: unknown;
2267
+ };
2268
+ content: {
2269
+ "application/json": components["schemas"]["ErrorResponse"];
2270
+ };
2271
+ };
2272
+ /** @description Webhook limit reached for subscription tier */
2273
+ 403: {
2274
+ headers: {
2275
+ [name: string]: unknown;
2276
+ };
2277
+ content: {
2278
+ "application/json": components["schemas"]["ErrorResponse"];
2279
+ };
2280
+ };
2281
+ /** @description Internal server error */
2282
+ 500: {
2283
+ headers: {
2284
+ [name: string]: unknown;
2285
+ };
2286
+ content: {
2287
+ "application/json": components["schemas"]["ErrorResponse"];
2288
+ };
2289
+ };
2290
+ };
2291
+ };
2292
+ delete?: never;
2293
+ options?: never;
2294
+ head?: never;
2295
+ patch?: never;
2296
+ trace?: never;
2297
+ };
2298
+ "/webhooks/coins": {
2299
+ parameters: {
2300
+ query?: never;
2301
+ header?: never;
2302
+ path?: never;
2303
+ cookie?: never;
2304
+ };
2305
+ get?: never;
2306
+ put?: never;
2307
+ /**
2308
+ * Create coin webhook
2309
+ * @description Create a new webhook for monitoring coin balance changes. The webhook will be triggered when the specified coin type balance changes for the address.
2310
+ */
2311
+ post: {
2312
+ parameters: {
2313
+ query?: never;
2314
+ header?: never;
2315
+ path?: never;
2316
+ cookie?: never;
2317
+ };
2318
+ requestBody?: {
2319
+ content: {
2320
+ "application/json": {
2321
+ /** @description The Sui address to monitor for coin balance changes */
2322
+ address: string;
2323
+ /** @description The coin type to track (e.g., 0x2::sui::SUI). Omit to track all coin types. */
2324
+ coinType?: string;
2325
+ /**
2326
+ * Format: uri
2327
+ * @description The URL to send webhook payloads to
2328
+ */
2329
+ webhookUrl: string;
2330
+ };
2331
+ };
2332
+ };
2333
+ responses: {
2334
+ /** @description Webhook created successfully */
2335
+ 201: {
2336
+ headers: {
2337
+ [name: string]: unknown;
2338
+ };
2339
+ content: {
2340
+ "application/json": {
2341
+ data: {
2342
+ id: string;
2343
+ /** @enum {string} */
2344
+ type: "coin";
2345
+ eventType: string | null;
2346
+ sender: string | null;
2347
+ eventFieldFilters: {
2348
+ /** @description The field name to filter on */
2349
+ field: string;
2350
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2351
+ moveType: string;
2352
+ /**
2353
+ * @description The comparison operator
2354
+ * @enum {string}
2355
+ */
2356
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2357
+ /** @description The value to compare against */
2358
+ value: string;
2359
+ }[] | null;
2360
+ address: string;
2361
+ coinType: string | null;
2362
+ objectId?: string | null;
2363
+ webhookUrl: string | null;
2364
+ webhookSecret: string | null;
2365
+ active: boolean;
2366
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2367
+ frozenByTier: boolean;
2368
+ organizationId: string;
2369
+ projectId: string;
2370
+ createdAt?: string | null;
2371
+ updatedAt?: string | null;
2372
+ };
2373
+ };
2374
+ };
2375
+ };
2376
+ /** @description Invalid request */
2377
+ 400: {
2378
+ headers: {
2379
+ [name: string]: unknown;
2380
+ };
2381
+ content: {
2382
+ "application/json": components["schemas"]["ErrorResponse"];
2383
+ };
2384
+ };
2385
+ /** @description Unauthorized - invalid or missing API key */
2386
+ 401: {
2387
+ headers: {
2388
+ [name: string]: unknown;
2389
+ };
2390
+ content: {
2391
+ "application/json": components["schemas"]["ErrorResponse"];
2392
+ };
2393
+ };
2394
+ /** @description Webhook limit reached for subscription tier */
2395
+ 403: {
2396
+ headers: {
2397
+ [name: string]: unknown;
2398
+ };
2399
+ content: {
2400
+ "application/json": components["schemas"]["ErrorResponse"];
2401
+ };
2402
+ };
2403
+ /** @description Internal server error */
2404
+ 500: {
2405
+ headers: {
2406
+ [name: string]: unknown;
2407
+ };
2408
+ content: {
2409
+ "application/json": components["schemas"]["ErrorResponse"];
2410
+ };
2411
+ };
2412
+ };
2413
+ };
2414
+ delete?: never;
2415
+ options?: never;
2416
+ head?: never;
2417
+ patch?: never;
2418
+ trace?: never;
2419
+ };
2420
+ "/webhooks/objects": {
2421
+ parameters: {
2422
+ query?: never;
2423
+ header?: never;
2424
+ path?: never;
2425
+ cookie?: never;
2426
+ };
2427
+ get?: never;
2428
+ put?: never;
2429
+ /**
2430
+ * Create object webhook
2431
+ * @description Create a new webhook for monitoring a Sui object. The webhook will be triggered when the object is modified.
2432
+ */
2433
+ post: {
2434
+ parameters: {
2435
+ query?: never;
2436
+ header?: never;
2437
+ path?: never;
2438
+ cookie?: never;
2439
+ };
2440
+ requestBody?: {
2441
+ content: {
2442
+ "application/json": {
2443
+ /** @description The Sui object ID to monitor for changes */
2444
+ objectId: string;
2445
+ /**
2446
+ * Format: uri
2447
+ * @description The URL to send webhook payloads to
2448
+ */
2449
+ webhookUrl: string;
2450
+ };
2451
+ };
2452
+ };
2453
+ responses: {
2454
+ /** @description Webhook created successfully */
2455
+ 201: {
2456
+ headers: {
2457
+ [name: string]: unknown;
2458
+ };
2459
+ content: {
2460
+ "application/json": {
2461
+ data: {
2462
+ id: string;
2463
+ /** @enum {string} */
2464
+ type: "object";
2465
+ eventType: string | null;
2466
+ sender: string | null;
2467
+ eventFieldFilters: {
2468
+ /** @description The field name to filter on */
2469
+ field: string;
2470
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2471
+ moveType: string;
2472
+ /**
2473
+ * @description The comparison operator
2474
+ * @enum {string}
2475
+ */
2476
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2477
+ /** @description The value to compare against */
2478
+ value: string;
2479
+ }[] | null;
2480
+ address?: string | null;
2481
+ coinType?: string | null;
2482
+ objectId: string;
2483
+ webhookUrl: string | null;
2484
+ webhookSecret: string | null;
2485
+ active: boolean;
2486
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2487
+ frozenByTier: boolean;
2488
+ organizationId: string;
2489
+ projectId: string;
2490
+ createdAt?: string | null;
2491
+ updatedAt?: string | null;
2492
+ };
2493
+ };
2494
+ };
2495
+ };
2496
+ /** @description Invalid request */
2497
+ 400: {
2498
+ headers: {
2499
+ [name: string]: unknown;
2500
+ };
2501
+ content: {
2502
+ "application/json": components["schemas"]["ErrorResponse"];
2503
+ };
2504
+ };
2505
+ /** @description Unauthorized - invalid or missing API key */
2506
+ 401: {
2507
+ headers: {
2508
+ [name: string]: unknown;
2509
+ };
2510
+ content: {
2511
+ "application/json": components["schemas"]["ErrorResponse"];
2512
+ };
2513
+ };
2514
+ /** @description Webhook limit reached for subscription tier */
2515
+ 403: {
2516
+ headers: {
2517
+ [name: string]: unknown;
2518
+ };
2519
+ content: {
2520
+ "application/json": components["schemas"]["ErrorResponse"];
2521
+ };
2522
+ };
2523
+ /** @description Internal server error */
2524
+ 500: {
2525
+ headers: {
2526
+ [name: string]: unknown;
2527
+ };
2528
+ content: {
2529
+ "application/json": components["schemas"]["ErrorResponse"];
2530
+ };
2531
+ };
2532
+ };
2533
+ };
2534
+ delete?: never;
2535
+ options?: never;
2536
+ head?: never;
2537
+ patch?: never;
2538
+ trace?: never;
2539
+ };
2540
+ "/webhooks": {
2541
+ parameters: {
2542
+ query?: never;
2543
+ header?: never;
2544
+ path?: never;
2545
+ cookie?: never;
2546
+ };
2547
+ /**
2548
+ * List webhooks
2549
+ * @description List all webhooks for the current project (determined by API key)
2550
+ */
2551
+ get: {
2552
+ parameters: {
2553
+ query?: never;
2554
+ header?: never;
2555
+ path?: never;
2556
+ cookie?: never;
2557
+ };
2558
+ requestBody?: never;
2559
+ responses: {
2560
+ /** @description List of webhooks */
2561
+ 200: {
2562
+ headers: {
2563
+ [name: string]: unknown;
2564
+ };
2565
+ content: {
2566
+ "application/json": {
2567
+ data: {
2568
+ id: string;
2569
+ /** @enum {string} */
2570
+ type: "event" | "address" | "coin" | "object";
2571
+ eventType?: string | null;
2572
+ sender?: string | null;
2573
+ eventFieldFilters?: {
2574
+ /** @description The field name to filter on */
2575
+ field: string;
2576
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2577
+ moveType: string;
2578
+ /**
2579
+ * @description The comparison operator
2580
+ * @enum {string}
2581
+ */
2582
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2583
+ /** @description The value to compare against */
2584
+ value: string;
2585
+ }[] | null;
2586
+ address?: string | null;
2587
+ coinType?: string | null;
2588
+ objectId?: string | null;
2589
+ webhookUrl: string | null;
2590
+ webhookSecret: string | null;
2591
+ active: boolean;
2592
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2593
+ frozenByTier: boolean;
2594
+ organizationId: string;
2595
+ projectId: string;
2596
+ createdAt?: string | null;
2597
+ updatedAt?: string | null;
2598
+ }[];
2599
+ };
2600
+ };
2601
+ };
2602
+ /** @description Unauthorized - invalid or missing API key */
2603
+ 401: {
2604
+ headers: {
2605
+ [name: string]: unknown;
2606
+ };
2607
+ content: {
2608
+ "application/json": components["schemas"]["ErrorResponse"];
2609
+ };
2610
+ };
2611
+ /** @description Internal server error */
2612
+ 500: {
2613
+ headers: {
2614
+ [name: string]: unknown;
2615
+ };
2616
+ content: {
2617
+ "application/json": components["schemas"]["ErrorResponse"];
2618
+ };
2619
+ };
2620
+ };
2621
+ };
2622
+ put?: never;
2623
+ post?: never;
2624
+ delete?: never;
2625
+ options?: never;
2626
+ head?: never;
2627
+ patch?: never;
2628
+ trace?: never;
2629
+ };
2630
+ "/webhooks/{id}": {
2631
+ parameters: {
2632
+ query?: never;
2633
+ header?: never;
2634
+ path?: never;
2635
+ cookie?: never;
2636
+ };
2637
+ /**
2638
+ * Get webhook
2639
+ * @description Get details of a specific webhook by ID
2640
+ */
2641
+ get: {
2642
+ parameters: {
2643
+ query?: never;
2644
+ header?: never;
2645
+ path: {
2646
+ /** @description The webhook ID */
2647
+ id: string;
2648
+ };
2649
+ cookie?: never;
2650
+ };
2651
+ requestBody?: never;
2652
+ responses: {
2653
+ /** @description Webhook details */
2654
+ 200: {
2655
+ headers: {
2656
+ [name: string]: unknown;
2657
+ };
2658
+ content: {
2659
+ "application/json": {
2660
+ data: {
2661
+ id: string;
2662
+ /** @enum {string} */
2663
+ type: "event" | "address" | "coin" | "object";
2664
+ eventType?: string | null;
2665
+ sender?: string | null;
2666
+ eventFieldFilters?: {
2667
+ /** @description The field name to filter on */
2668
+ field: string;
2669
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2670
+ moveType: string;
2671
+ /**
2672
+ * @description The comparison operator
2673
+ * @enum {string}
2674
+ */
2675
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2676
+ /** @description The value to compare against */
2677
+ value: string;
2678
+ }[] | null;
2679
+ address?: string | null;
2680
+ coinType?: string | null;
2681
+ objectId?: string | null;
2682
+ webhookUrl: string | null;
2683
+ webhookSecret: string | null;
2684
+ active: boolean;
2685
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2686
+ frozenByTier: boolean;
2687
+ organizationId: string;
2688
+ projectId: string;
2689
+ createdAt?: string | null;
2690
+ updatedAt?: string | null;
2691
+ };
2692
+ };
2693
+ };
2694
+ };
2695
+ /** @description Unauthorized - invalid or missing API key */
2696
+ 401: {
2697
+ headers: {
2698
+ [name: string]: unknown;
2699
+ };
2700
+ content: {
2701
+ "application/json": components["schemas"]["ErrorResponse"];
2702
+ };
2703
+ };
2704
+ /** @description Webhook not found or does not belong to this project */
2705
+ 404: {
2706
+ headers: {
2707
+ [name: string]: unknown;
2708
+ };
2709
+ content: {
2710
+ "application/json": components["schemas"]["ErrorResponse"];
2711
+ };
2712
+ };
2713
+ /** @description Internal server error */
2714
+ 500: {
2715
+ headers: {
2716
+ [name: string]: unknown;
2717
+ };
2718
+ content: {
2719
+ "application/json": components["schemas"]["ErrorResponse"];
2720
+ };
2721
+ };
2722
+ };
2723
+ };
2724
+ /**
2725
+ * Update webhook
2726
+ * @description Update a webhook (e.g., change URL, toggle active status)
2727
+ */
2728
+ put: {
2729
+ parameters: {
2730
+ query?: never;
2731
+ header?: never;
2732
+ path: {
2733
+ /** @description The webhook ID to update */
2734
+ id: string;
2735
+ };
2736
+ cookie?: never;
2737
+ };
2738
+ requestBody?: {
2739
+ content: {
2740
+ "application/json": {
2741
+ /**
2742
+ * Format: uri
2743
+ * @description New webhook URL
2744
+ */
2745
+ webhookUrl?: string;
2746
+ /** @description Enable or disable the webhook */
2747
+ active?: boolean;
2748
+ };
2749
+ };
2750
+ };
2751
+ responses: {
2752
+ /** @description Webhook updated successfully */
2753
+ 200: {
2754
+ headers: {
2755
+ [name: string]: unknown;
2756
+ };
2757
+ content: {
2758
+ "application/json": {
2759
+ data: {
2760
+ id: string;
2761
+ /** @enum {string} */
2762
+ type: "event" | "address" | "coin" | "object";
2763
+ eventType?: string | null;
2764
+ sender?: string | null;
2765
+ eventFieldFilters?: {
2766
+ /** @description The field name to filter on */
2767
+ field: string;
2768
+ /** @description The Move type of the field (e.g., u64, address, bool) */
2769
+ moveType: string;
2770
+ /**
2771
+ * @description The comparison operator
2772
+ * @enum {string}
2773
+ */
2774
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
2775
+ /** @description The value to compare against */
2776
+ value: string;
2777
+ }[] | null;
2778
+ address?: string | null;
2779
+ coinType?: string | null;
2780
+ objectId?: string | null;
2781
+ webhookUrl: string | null;
2782
+ webhookSecret: string | null;
2783
+ active: boolean;
2784
+ /** @description True when the webhook was paused automatically because the plan's active-webhook limit dropped (downgrade/cancellation). Upgrading restores it. */
2785
+ frozenByTier: boolean;
2786
+ organizationId: string;
2787
+ projectId: string;
2788
+ createdAt?: string | null;
2789
+ updatedAt?: string | null;
2790
+ };
2791
+ };
2792
+ };
2793
+ };
2794
+ /** @description Invalid request */
2795
+ 400: {
2796
+ headers: {
2797
+ [name: string]: unknown;
2798
+ };
2799
+ content: {
2800
+ "application/json": components["schemas"]["ErrorResponse"];
2801
+ };
2802
+ };
2803
+ /** @description Unauthorized - invalid or missing API key */
2804
+ 401: {
2805
+ headers: {
2806
+ [name: string]: unknown;
2807
+ };
2808
+ content: {
2809
+ "application/json": components["schemas"]["ErrorResponse"];
2810
+ };
2811
+ };
2812
+ /** @description Plan limit reached - re-enabling this webhook would exceed the plan's active-webhook cap */
2813
+ 403: {
2814
+ headers: {
2815
+ [name: string]: unknown;
2816
+ };
2817
+ content: {
2818
+ "application/json": components["schemas"]["ErrorResponse"];
2819
+ };
2820
+ };
2821
+ /** @description Webhook not found or does not belong to this project */
2822
+ 404: {
2823
+ headers: {
2824
+ [name: string]: unknown;
2825
+ };
2826
+ content: {
2827
+ "application/json": components["schemas"]["ErrorResponse"];
2828
+ };
2829
+ };
2830
+ /** @description Internal server error */
2831
+ 500: {
2832
+ headers: {
2833
+ [name: string]: unknown;
2834
+ };
2835
+ content: {
2836
+ "application/json": components["schemas"]["ErrorResponse"];
2837
+ };
2838
+ };
2839
+ };
2840
+ };
2841
+ post?: never;
2842
+ /**
2843
+ * Delete webhook
2844
+ * @description Delete an event webhook by ID
2845
+ */
2846
+ delete: {
2847
+ parameters: {
2848
+ query?: never;
2849
+ header?: never;
2850
+ path: {
2851
+ /** @description The webhook ID to delete */
2852
+ id: string;
2853
+ };
2854
+ cookie?: never;
2855
+ };
2856
+ requestBody?: never;
2857
+ responses: {
2858
+ /** @description Webhook deleted successfully */
2859
+ 200: {
2860
+ headers: {
2861
+ [name: string]: unknown;
2862
+ };
2863
+ content: {
2864
+ "application/json": {
2865
+ success: boolean;
2866
+ };
2867
+ };
2868
+ };
2869
+ /** @description Unauthorized - invalid or missing API key */
2870
+ 401: {
2871
+ headers: {
2872
+ [name: string]: unknown;
2873
+ };
2874
+ content: {
2875
+ "application/json": components["schemas"]["ErrorResponse"];
2876
+ };
2877
+ };
2878
+ /** @description Webhook not found or does not belong to this project */
2879
+ 404: {
2880
+ headers: {
2881
+ [name: string]: unknown;
2882
+ };
2883
+ content: {
2884
+ "application/json": components["schemas"]["ErrorResponse"];
2885
+ };
2886
+ };
2887
+ /** @description Internal server error */
2888
+ 500: {
2889
+ headers: {
2890
+ [name: string]: unknown;
2891
+ };
2892
+ content: {
2893
+ "application/json": components["schemas"]["ErrorResponse"];
2894
+ };
2895
+ };
2896
+ };
2897
+ };
2898
+ options?: never;
2899
+ head?: never;
2900
+ patch?: never;
2901
+ trace?: never;
2902
+ };
2903
+ "/warp/{subscriptionId}/stream": {
2904
+ parameters: {
2905
+ query?: never;
2906
+ header?: never;
2907
+ path?: never;
2908
+ cookie?: never;
2909
+ };
2910
+ /**
2911
+ * Stream real-time events via SSE
2912
+ * @description Opens a Server-Sent Events (SSE) stream for a Warp subscription.
2913
+ *
2914
+ * Warp streams are available over both **SSE** (this endpoint) and **WebSocket** (`/ws` endpoint).
2915
+ *
2916
+ * **Prerequisites:**
2917
+ * Create a Warp subscription first using POST /v1/warp/events (or /addresses, /coins, /objects).
2918
+ *
2919
+ * **Authentication:**
2920
+ * Provide your API key via one of:
2921
+ * - `Authorization: Bearer YOUR_API_KEY` header (recommended)
2922
+ * - `x-api-key: YOUR_API_KEY` header
2923
+ * - `?api_key=YOUR_API_KEY` query parameter (useful when headers are awkward, e.g., EventSource)
2924
+ *
2925
+ * **Security Note:** Using `api_key` query parameter may expose your key in server logs and browser history. Prefer header-based authentication when possible.
2926
+ *
2927
+ * **Billing:**
2928
+ * - 3 CU per 15 seconds of connection time (~12 CU/min)
2929
+ * - 2 credits per event delivered
2930
+ *
2931
+ * **Connection Limits:**
2932
+ * - Free: 1 concurrent connection
2933
+ * - Team: 5 concurrent connections
2934
+ * - Professional: 10 concurrent connections
2935
+ * - Enterprise: Custom limit
2936
+ *
2937
+ * **Note:** Only one connection per subscription (either SSE or WebSocket, not both).
2938
+ *
2939
+ * **Event Types:**
2940
+ * - `connected` - Initial connection confirmation with subscription details
2941
+ * - `event` - Package event matching your subscription
2942
+ * - `address` - Address activity event
2943
+ * - `coin` - Coin balance change event
2944
+ * - `object` - Object change event
2945
+ * - `quota_exceeded` - CU quota exhausted, stream closing
2946
+ * - `error` - Error notification
2947
+ *
2948
+ * **Delivery Guarantee:**
2949
+ * - At-least-once delivery (messages ACKed after 30s delay)
2950
+ * - On ungraceful disconnect, up to 30s of messages may be redelivered
2951
+ * - For exactly-once delivery, use the WebSocket endpoint with client ACKs
2952
+ *
2953
+ * **Connect modes:**
2954
+ *
2955
+ * While you are disconnected, the stream always buffers events for up to 30
2956
+ * minutes (max 2,000; oldest dropped first). The connect mode decides what
2957
+ * happens to that buffer when you connect — it applies to that connection only
2958
+ * and is never remembered, so choose it on every connect:
2959
+ * - **No parameters (live, default)**: the buffer is discarded; you receive
2960
+ * events from connect-time forward.
2961
+ * - **`?mode=resume`**: the full buffer is replayed, then live events follow.
2962
+ * - **`Last-Event-ID` header**: buffered events after that ID are replayed,
2963
+ * then live events follow (`mode` is ignored). EventSource sets this header
2964
+ * automatically on reconnect, so EventSource clients resume without losing
2965
+ * events.
2966
+ *
2967
+ * **Example:**
2968
+ * ```bash
2969
+ * curl -N -H "Authorization: Bearer YOUR_API_KEY" \
2970
+ * "https://mainnet-api.inodra.com/v1/warp/sub_abc123/stream"
2971
+ * ```
2972
+ */
2973
+ get: {
2974
+ parameters: {
2975
+ query?: {
2976
+ api_key?: string;
2977
+ mode?: "live" | "resume";
2978
+ };
2979
+ header?: never;
2980
+ path: {
2981
+ subscriptionId: string;
2982
+ };
2983
+ cookie?: never;
2984
+ };
2985
+ requestBody?: never;
2986
+ responses: {
2987
+ /** @description SSE stream established */
2988
+ 200: {
2989
+ headers: {
2990
+ "Content-Type": "text/event-stream";
2991
+ "Cache-Control": "no-cache";
2992
+ Connection: "keep-alive";
2993
+ [name: string]: unknown;
2994
+ };
2995
+ content: {
2996
+ "text/event-stream": string;
2997
+ };
2998
+ };
2999
+ /** @description Unauthorized - Invalid or missing API key */
3000
+ 401: {
3001
+ headers: {
3002
+ [name: string]: unknown;
3003
+ };
3004
+ content: {
3005
+ "application/json": components["schemas"]["ErrorResponse"];
3006
+ };
3007
+ };
3008
+ /** @description Forbidden - Subscription not found or not owned by this organization */
3009
+ 403: {
3010
+ headers: {
3011
+ [name: string]: unknown;
3012
+ };
3013
+ content: {
3014
+ "application/json": components["schemas"]["ErrorResponse"];
3015
+ };
3016
+ };
3017
+ /** @description Connection limit exceeded or CU quota exhausted */
3018
+ 429: {
3019
+ headers: {
3020
+ [name: string]: unknown;
3021
+ };
3022
+ content: {
3023
+ "application/json": components["schemas"]["ErrorResponse"];
3024
+ };
3025
+ };
3026
+ /** @description Internal server error */
3027
+ 500: {
3028
+ headers: {
3029
+ [name: string]: unknown;
3030
+ };
3031
+ content: {
3032
+ "application/json": components["schemas"]["ErrorResponse"];
3033
+ };
3034
+ };
3035
+ };
3036
+ };
3037
+ put?: never;
3038
+ post?: never;
3039
+ delete?: never;
3040
+ options?: never;
3041
+ head?: never;
3042
+ patch?: never;
3043
+ trace?: never;
3044
+ };
3045
+ "/warp/events": {
3046
+ parameters: {
3047
+ query?: never;
3048
+ header?: never;
3049
+ path?: never;
3050
+ cookie?: never;
3051
+ };
3052
+ get?: never;
3053
+ put?: never;
3054
+ /**
3055
+ * Create event stream subscription
3056
+ * @description Create a new Warp subscription for monitoring Move package events. Connect to the stream via GET /v1/warp/{id}/connect to receive real-time events.
3057
+ */
3058
+ post: {
3059
+ parameters: {
3060
+ query?: never;
3061
+ header?: never;
3062
+ path?: never;
3063
+ cookie?: never;
3064
+ };
3065
+ requestBody?: {
3066
+ content: {
3067
+ "application/json": {
3068
+ /** @description The Move event type to track (e.g., 0x2::coin::CoinBalanceChange) */
3069
+ eventType: string;
3070
+ /** @description Optional sender address filter */
3071
+ sender?: string;
3072
+ /** @description Optional field-level filters (max 10) */
3073
+ eventFieldFilters?: {
3074
+ /** @description The field name to filter on */
3075
+ field: string;
3076
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3077
+ moveType: string;
3078
+ /**
3079
+ * @description The comparison operator
3080
+ * @enum {string}
3081
+ */
3082
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3083
+ /** @description The value to compare against */
3084
+ value: string;
3085
+ }[];
3086
+ };
3087
+ };
3088
+ };
3089
+ responses: {
3090
+ /** @description Warp subscription created successfully */
3091
+ 201: {
3092
+ headers: {
3093
+ [name: string]: unknown;
3094
+ };
3095
+ content: {
3096
+ "application/json": {
3097
+ data: {
3098
+ id: string;
3099
+ /** @enum {string} */
3100
+ type: "event" | "address" | "coin" | "object";
3101
+ eventType?: string | null;
3102
+ sender?: string | null;
3103
+ eventFieldFilters?: {
3104
+ /** @description The field name to filter on */
3105
+ field: string;
3106
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3107
+ moveType: string;
3108
+ /**
3109
+ * @description The comparison operator
3110
+ * @enum {string}
3111
+ */
3112
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3113
+ /** @description The value to compare against */
3114
+ value: string;
3115
+ }[] | null;
3116
+ address?: string | null;
3117
+ coinType?: string | null;
3118
+ objectId?: string | null;
3119
+ active: boolean;
3120
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3121
+ frozenByTier: boolean;
3122
+ organizationId: string;
3123
+ projectId: string;
3124
+ createdAt?: string | null;
3125
+ updatedAt?: string | null;
3126
+ };
3127
+ };
3128
+ };
3129
+ };
3130
+ /** @description Invalid request */
3131
+ 400: {
3132
+ headers: {
3133
+ [name: string]: unknown;
3134
+ };
3135
+ content: {
3136
+ "application/json": components["schemas"]["ErrorResponse"];
3137
+ };
3138
+ };
3139
+ /** @description Unauthorized - invalid or missing API key */
3140
+ 401: {
3141
+ headers: {
3142
+ [name: string]: unknown;
3143
+ };
3144
+ content: {
3145
+ "application/json": components["schemas"]["ErrorResponse"];
3146
+ };
3147
+ };
3148
+ /** @description Warp subscription limit reached for subscription tier */
3149
+ 403: {
3150
+ headers: {
3151
+ [name: string]: unknown;
3152
+ };
3153
+ content: {
3154
+ "application/json": components["schemas"]["ErrorResponse"];
3155
+ };
3156
+ };
3157
+ /** @description Internal server error */
3158
+ 500: {
3159
+ headers: {
3160
+ [name: string]: unknown;
3161
+ };
3162
+ content: {
3163
+ "application/json": components["schemas"]["ErrorResponse"];
3164
+ };
3165
+ };
3166
+ };
3167
+ };
3168
+ delete?: never;
3169
+ options?: never;
3170
+ head?: never;
3171
+ patch?: never;
3172
+ trace?: never;
3173
+ };
3174
+ "/warp/addresses": {
3175
+ parameters: {
3176
+ query?: never;
3177
+ header?: never;
3178
+ path?: never;
3179
+ cookie?: never;
3180
+ };
3181
+ get?: never;
3182
+ put?: never;
3183
+ /**
3184
+ * Create address stream subscription
3185
+ * @description Create a new Warp subscription for monitoring a Sui address. Connect to the stream via GET /v1/warp/{id}/connect to receive real-time activity events.
3186
+ */
3187
+ post: {
3188
+ parameters: {
3189
+ query?: never;
3190
+ header?: never;
3191
+ path?: never;
3192
+ cookie?: never;
3193
+ };
3194
+ requestBody?: {
3195
+ content: {
3196
+ "application/json": {
3197
+ /** @description The Sui address to monitor for activity */
3198
+ address: string;
3199
+ };
3200
+ };
3201
+ };
3202
+ responses: {
3203
+ /** @description Warp subscription created successfully */
3204
+ 201: {
3205
+ headers: {
3206
+ [name: string]: unknown;
3207
+ };
3208
+ content: {
3209
+ "application/json": {
3210
+ data: {
3211
+ id: string;
3212
+ /** @enum {string} */
3213
+ type: "address";
3214
+ eventType: string | null;
3215
+ sender: string | null;
3216
+ eventFieldFilters: {
3217
+ /** @description The field name to filter on */
3218
+ field: string;
3219
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3220
+ moveType: string;
3221
+ /**
3222
+ * @description The comparison operator
3223
+ * @enum {string}
3224
+ */
3225
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3226
+ /** @description The value to compare against */
3227
+ value: string;
3228
+ }[] | null;
3229
+ address: string;
3230
+ coinType?: string | null;
3231
+ objectId?: string | null;
3232
+ active: boolean;
3233
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3234
+ frozenByTier: boolean;
3235
+ organizationId: string;
3236
+ projectId: string;
3237
+ createdAt?: string | null;
3238
+ updatedAt?: string | null;
3239
+ };
3240
+ };
3241
+ };
3242
+ };
3243
+ /** @description Invalid request */
3244
+ 400: {
3245
+ headers: {
3246
+ [name: string]: unknown;
3247
+ };
3248
+ content: {
3249
+ "application/json": components["schemas"]["ErrorResponse"];
3250
+ };
3251
+ };
3252
+ /** @description Unauthorized - invalid or missing API key */
3253
+ 401: {
3254
+ headers: {
3255
+ [name: string]: unknown;
3256
+ };
3257
+ content: {
3258
+ "application/json": components["schemas"]["ErrorResponse"];
3259
+ };
3260
+ };
3261
+ /** @description Warp subscription limit reached for subscription tier */
3262
+ 403: {
3263
+ headers: {
3264
+ [name: string]: unknown;
3265
+ };
3266
+ content: {
3267
+ "application/json": components["schemas"]["ErrorResponse"];
3268
+ };
3269
+ };
3270
+ /** @description Internal server error */
3271
+ 500: {
3272
+ headers: {
3273
+ [name: string]: unknown;
3274
+ };
3275
+ content: {
3276
+ "application/json": components["schemas"]["ErrorResponse"];
3277
+ };
3278
+ };
3279
+ };
3280
+ };
3281
+ delete?: never;
3282
+ options?: never;
3283
+ head?: never;
3284
+ patch?: never;
3285
+ trace?: never;
3286
+ };
3287
+ "/warp/coins": {
3288
+ parameters: {
3289
+ query?: never;
3290
+ header?: never;
3291
+ path?: never;
3292
+ cookie?: never;
3293
+ };
3294
+ get?: never;
3295
+ put?: never;
3296
+ /**
3297
+ * Create coin stream subscription
3298
+ * @description Create a new Warp subscription for monitoring coin balance changes. Connect to the stream via GET /v1/warp/{id}/connect to receive real-time balance change events.
3299
+ */
3300
+ post: {
3301
+ parameters: {
3302
+ query?: never;
3303
+ header?: never;
3304
+ path?: never;
3305
+ cookie?: never;
3306
+ };
3307
+ requestBody?: {
3308
+ content: {
3309
+ "application/json": {
3310
+ /** @description The Sui address to monitor for coin balance changes */
3311
+ address: string;
3312
+ /** @description The coin type to track (e.g., 0x2::sui::SUI) */
3313
+ coinType: string;
3314
+ };
3315
+ };
3316
+ };
3317
+ responses: {
3318
+ /** @description Warp subscription created successfully */
3319
+ 201: {
3320
+ headers: {
3321
+ [name: string]: unknown;
3322
+ };
3323
+ content: {
3324
+ "application/json": {
3325
+ data: {
3326
+ id: string;
3327
+ /** @enum {string} */
3328
+ type: "coin";
3329
+ eventType: string | null;
3330
+ sender: string | null;
3331
+ eventFieldFilters: {
3332
+ /** @description The field name to filter on */
3333
+ field: string;
3334
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3335
+ moveType: string;
3336
+ /**
3337
+ * @description The comparison operator
3338
+ * @enum {string}
3339
+ */
3340
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3341
+ /** @description The value to compare against */
3342
+ value: string;
3343
+ }[] | null;
3344
+ address: string;
3345
+ coinType: string | null;
3346
+ objectId?: string | null;
3347
+ active: boolean;
3348
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3349
+ frozenByTier: boolean;
3350
+ organizationId: string;
3351
+ projectId: string;
3352
+ createdAt?: string | null;
3353
+ updatedAt?: string | null;
3354
+ };
3355
+ };
3356
+ };
3357
+ };
3358
+ /** @description Invalid request */
3359
+ 400: {
3360
+ headers: {
3361
+ [name: string]: unknown;
3362
+ };
3363
+ content: {
3364
+ "application/json": components["schemas"]["ErrorResponse"];
3365
+ };
3366
+ };
3367
+ /** @description Unauthorized - invalid or missing API key */
3368
+ 401: {
3369
+ headers: {
3370
+ [name: string]: unknown;
3371
+ };
3372
+ content: {
3373
+ "application/json": components["schemas"]["ErrorResponse"];
3374
+ };
3375
+ };
3376
+ /** @description Warp subscription limit reached for subscription tier */
3377
+ 403: {
3378
+ headers: {
3379
+ [name: string]: unknown;
3380
+ };
3381
+ content: {
3382
+ "application/json": components["schemas"]["ErrorResponse"];
3383
+ };
3384
+ };
3385
+ /** @description Internal server error */
3386
+ 500: {
3387
+ headers: {
3388
+ [name: string]: unknown;
3389
+ };
3390
+ content: {
3391
+ "application/json": components["schemas"]["ErrorResponse"];
3392
+ };
3393
+ };
3394
+ };
3395
+ };
3396
+ delete?: never;
3397
+ options?: never;
3398
+ head?: never;
3399
+ patch?: never;
3400
+ trace?: never;
3401
+ };
3402
+ "/warp/objects": {
3403
+ parameters: {
3404
+ query?: never;
3405
+ header?: never;
3406
+ path?: never;
3407
+ cookie?: never;
3408
+ };
3409
+ get?: never;
3410
+ put?: never;
3411
+ /**
3412
+ * Create object stream subscription
3413
+ * @description Create a new Warp subscription for monitoring a Sui object. Connect to the stream via GET /v1/warp/{id}/connect to receive real-time object change events.
3414
+ */
3415
+ post: {
3416
+ parameters: {
3417
+ query?: never;
3418
+ header?: never;
3419
+ path?: never;
3420
+ cookie?: never;
3421
+ };
3422
+ requestBody?: {
3423
+ content: {
3424
+ "application/json": {
3425
+ /** @description The Sui object ID to monitor for changes */
3426
+ objectId: string;
3427
+ };
3428
+ };
3429
+ };
3430
+ responses: {
3431
+ /** @description Warp subscription created successfully */
3432
+ 201: {
3433
+ headers: {
3434
+ [name: string]: unknown;
3435
+ };
3436
+ content: {
3437
+ "application/json": {
3438
+ data: {
3439
+ id: string;
3440
+ /** @enum {string} */
3441
+ type: "object";
3442
+ eventType: string | null;
3443
+ sender: string | null;
3444
+ eventFieldFilters: {
3445
+ /** @description The field name to filter on */
3446
+ field: string;
3447
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3448
+ moveType: string;
3449
+ /**
3450
+ * @description The comparison operator
3451
+ * @enum {string}
3452
+ */
3453
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3454
+ /** @description The value to compare against */
3455
+ value: string;
3456
+ }[] | null;
3457
+ address?: string | null;
3458
+ coinType?: string | null;
3459
+ objectId: string;
3460
+ active: boolean;
3461
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3462
+ frozenByTier: boolean;
3463
+ organizationId: string;
3464
+ projectId: string;
3465
+ createdAt?: string | null;
3466
+ updatedAt?: string | null;
3467
+ };
3468
+ };
3469
+ };
3470
+ };
3471
+ /** @description Invalid request */
3472
+ 400: {
3473
+ headers: {
3474
+ [name: string]: unknown;
3475
+ };
3476
+ content: {
3477
+ "application/json": components["schemas"]["ErrorResponse"];
3478
+ };
3479
+ };
3480
+ /** @description Unauthorized - invalid or missing API key */
3481
+ 401: {
3482
+ headers: {
3483
+ [name: string]: unknown;
3484
+ };
3485
+ content: {
3486
+ "application/json": components["schemas"]["ErrorResponse"];
3487
+ };
3488
+ };
3489
+ /** @description Warp subscription limit reached for subscription tier */
3490
+ 403: {
3491
+ headers: {
3492
+ [name: string]: unknown;
3493
+ };
3494
+ content: {
3495
+ "application/json": components["schemas"]["ErrorResponse"];
3496
+ };
3497
+ };
3498
+ /** @description Internal server error */
3499
+ 500: {
3500
+ headers: {
3501
+ [name: string]: unknown;
3502
+ };
3503
+ content: {
3504
+ "application/json": components["schemas"]["ErrorResponse"];
3505
+ };
3506
+ };
3507
+ };
3508
+ };
3509
+ delete?: never;
3510
+ options?: never;
3511
+ head?: never;
3512
+ patch?: never;
3513
+ trace?: never;
3514
+ };
3515
+ "/warp": {
3516
+ parameters: {
3517
+ query?: never;
3518
+ header?: never;
3519
+ path?: never;
3520
+ cookie?: never;
3521
+ };
3522
+ /**
3523
+ * List Warp subscriptions
3524
+ * @description List all Warp subscriptions for the current project (determined by API key)
3525
+ */
3526
+ get: {
3527
+ parameters: {
3528
+ query?: never;
3529
+ header?: never;
3530
+ path?: never;
3531
+ cookie?: never;
3532
+ };
3533
+ requestBody?: never;
3534
+ responses: {
3535
+ /** @description List of Warp subscriptions */
3536
+ 200: {
3537
+ headers: {
3538
+ [name: string]: unknown;
3539
+ };
3540
+ content: {
3541
+ "application/json": {
3542
+ data: {
3543
+ id: string;
3544
+ /** @enum {string} */
3545
+ type: "event" | "address" | "coin" | "object";
3546
+ eventType?: string | null;
3547
+ sender?: string | null;
3548
+ eventFieldFilters?: {
3549
+ /** @description The field name to filter on */
3550
+ field: string;
3551
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3552
+ moveType: string;
3553
+ /**
3554
+ * @description The comparison operator
3555
+ * @enum {string}
3556
+ */
3557
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3558
+ /** @description The value to compare against */
3559
+ value: string;
3560
+ }[] | null;
3561
+ address?: string | null;
3562
+ coinType?: string | null;
3563
+ objectId?: string | null;
3564
+ active: boolean;
3565
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3566
+ frozenByTier: boolean;
3567
+ organizationId: string;
3568
+ projectId: string;
3569
+ createdAt?: string | null;
3570
+ updatedAt?: string | null;
3571
+ }[];
3572
+ };
3573
+ };
3574
+ };
3575
+ /** @description Unauthorized - invalid or missing API key */
3576
+ 401: {
3577
+ headers: {
3578
+ [name: string]: unknown;
3579
+ };
3580
+ content: {
3581
+ "application/json": components["schemas"]["ErrorResponse"];
3582
+ };
3583
+ };
3584
+ /** @description Internal server error */
3585
+ 500: {
3586
+ headers: {
3587
+ [name: string]: unknown;
3588
+ };
3589
+ content: {
3590
+ "application/json": components["schemas"]["ErrorResponse"];
3591
+ };
3592
+ };
3593
+ };
3594
+ };
3595
+ put?: never;
3596
+ post?: never;
3597
+ delete?: never;
3598
+ options?: never;
3599
+ head?: never;
3600
+ patch?: never;
3601
+ trace?: never;
3602
+ };
3603
+ "/warp/{id}": {
3604
+ parameters: {
3605
+ query?: never;
3606
+ header?: never;
3607
+ path?: never;
3608
+ cookie?: never;
3609
+ };
3610
+ /**
3611
+ * Get Warp subscription
3612
+ * @description Get details of a specific Warp subscription by ID
3613
+ */
3614
+ get: {
3615
+ parameters: {
3616
+ query?: never;
3617
+ header?: never;
3618
+ path: {
3619
+ /** @description The stream subscription ID */
3620
+ id: string;
3621
+ };
3622
+ cookie?: never;
3623
+ };
3624
+ requestBody?: never;
3625
+ responses: {
3626
+ /** @description Warp subscription details */
3627
+ 200: {
3628
+ headers: {
3629
+ [name: string]: unknown;
3630
+ };
3631
+ content: {
3632
+ "application/json": {
3633
+ data: {
3634
+ id: string;
3635
+ /** @enum {string} */
3636
+ type: "event" | "address" | "coin" | "object";
3637
+ eventType?: string | null;
3638
+ sender?: string | null;
3639
+ eventFieldFilters?: {
3640
+ /** @description The field name to filter on */
3641
+ field: string;
3642
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3643
+ moveType: string;
3644
+ /**
3645
+ * @description The comparison operator
3646
+ * @enum {string}
3647
+ */
3648
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3649
+ /** @description The value to compare against */
3650
+ value: string;
3651
+ }[] | null;
3652
+ address?: string | null;
3653
+ coinType?: string | null;
3654
+ objectId?: string | null;
3655
+ active: boolean;
3656
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3657
+ frozenByTier: boolean;
3658
+ organizationId: string;
3659
+ projectId: string;
3660
+ createdAt?: string | null;
3661
+ updatedAt?: string | null;
3662
+ };
3663
+ };
3664
+ };
3665
+ };
3666
+ /** @description Unauthorized - invalid or missing API key */
3667
+ 401: {
3668
+ headers: {
3669
+ [name: string]: unknown;
3670
+ };
3671
+ content: {
3672
+ "application/json": components["schemas"]["ErrorResponse"];
3673
+ };
3674
+ };
3675
+ /** @description Warp subscription not found or does not belong to this project */
3676
+ 404: {
3677
+ headers: {
3678
+ [name: string]: unknown;
3679
+ };
3680
+ content: {
3681
+ "application/json": components["schemas"]["ErrorResponse"];
3682
+ };
3683
+ };
3684
+ /** @description Internal server error */
3685
+ 500: {
3686
+ headers: {
3687
+ [name: string]: unknown;
3688
+ };
3689
+ content: {
3690
+ "application/json": components["schemas"]["ErrorResponse"];
3691
+ };
3692
+ };
3693
+ };
3694
+ };
3695
+ /**
3696
+ * Update Warp subscription
3697
+ * @description Update a Warp subscription (e.g., toggle active status)
3698
+ */
3699
+ put: {
3700
+ parameters: {
3701
+ query?: never;
3702
+ header?: never;
3703
+ path: {
3704
+ /** @description The stream subscription ID to update */
3705
+ id: string;
3706
+ };
3707
+ cookie?: never;
3708
+ };
3709
+ requestBody?: {
3710
+ content: {
3711
+ "application/json": {
3712
+ /** @description Enable or disable the subscription */
3713
+ active?: boolean;
3714
+ };
3715
+ };
3716
+ };
3717
+ responses: {
3718
+ /** @description Warp subscription updated successfully */
3719
+ 200: {
3720
+ headers: {
3721
+ [name: string]: unknown;
3722
+ };
3723
+ content: {
3724
+ "application/json": {
3725
+ data: {
3726
+ id: string;
3727
+ /** @enum {string} */
3728
+ type: "event" | "address" | "coin" | "object";
3729
+ eventType?: string | null;
3730
+ sender?: string | null;
3731
+ eventFieldFilters?: {
3732
+ /** @description The field name to filter on */
3733
+ field: string;
3734
+ /** @description The Move type of the field (e.g., u64, address, bool) */
3735
+ moveType: string;
3736
+ /**
3737
+ * @description The comparison operator
3738
+ * @enum {string}
3739
+ */
3740
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
3741
+ /** @description The value to compare against */
3742
+ value: string;
3743
+ }[] | null;
3744
+ address?: string | null;
3745
+ coinType?: string | null;
3746
+ objectId?: string | null;
3747
+ active: boolean;
3748
+ /** @description True when the subscription was paused automatically because the plan's active-stream limit dropped (downgrade/cancellation). Upgrading restores it. */
3749
+ frozenByTier: boolean;
3750
+ organizationId: string;
3751
+ projectId: string;
3752
+ createdAt?: string | null;
3753
+ updatedAt?: string | null;
3754
+ };
3755
+ };
3756
+ };
3757
+ };
3758
+ /** @description Invalid request */
3759
+ 400: {
3760
+ headers: {
3761
+ [name: string]: unknown;
3762
+ };
3763
+ content: {
3764
+ "application/json": components["schemas"]["ErrorResponse"];
3765
+ };
3766
+ };
3767
+ /** @description Unauthorized - invalid or missing API key */
3768
+ 401: {
3769
+ headers: {
3770
+ [name: string]: unknown;
3771
+ };
3772
+ content: {
3773
+ "application/json": components["schemas"]["ErrorResponse"];
3774
+ };
3775
+ };
3776
+ /** @description Warp subscription limit reached — cannot re-enable beyond the plan's active-stream limit */
3777
+ 403: {
3778
+ headers: {
3779
+ [name: string]: unknown;
3780
+ };
3781
+ content: {
3782
+ "application/json": components["schemas"]["ErrorResponse"];
3783
+ };
3784
+ };
3785
+ /** @description Warp subscription not found or does not belong to this project */
3786
+ 404: {
3787
+ headers: {
3788
+ [name: string]: unknown;
3789
+ };
3790
+ content: {
3791
+ "application/json": components["schemas"]["ErrorResponse"];
3792
+ };
3793
+ };
3794
+ /** @description Internal server error */
3795
+ 500: {
3796
+ headers: {
3797
+ [name: string]: unknown;
3798
+ };
3799
+ content: {
3800
+ "application/json": components["schemas"]["ErrorResponse"];
3801
+ };
3802
+ };
3803
+ };
3804
+ };
3805
+ post?: never;
3806
+ /**
3807
+ * Delete Warp subscription
3808
+ * @description Delete a Warp subscription by ID
3809
+ */
3810
+ delete: {
3811
+ parameters: {
3812
+ query?: never;
3813
+ header?: never;
3814
+ path: {
3815
+ /** @description The stream subscription ID to delete */
3816
+ id: string;
3817
+ };
3818
+ cookie?: never;
3819
+ };
3820
+ requestBody?: never;
3821
+ responses: {
3822
+ /** @description Warp subscription deleted successfully */
3823
+ 200: {
3824
+ headers: {
3825
+ [name: string]: unknown;
3826
+ };
3827
+ content: {
3828
+ "application/json": {
3829
+ success: boolean;
3830
+ };
3831
+ };
3832
+ };
3833
+ /** @description Unauthorized - invalid or missing API key */
3834
+ 401: {
3835
+ headers: {
3836
+ [name: string]: unknown;
3837
+ };
3838
+ content: {
3839
+ "application/json": components["schemas"]["ErrorResponse"];
3840
+ };
3841
+ };
3842
+ /** @description Warp subscription not found or does not belong to this project */
3843
+ 404: {
3844
+ headers: {
3845
+ [name: string]: unknown;
3846
+ };
3847
+ content: {
3848
+ "application/json": components["schemas"]["ErrorResponse"];
3849
+ };
3850
+ };
3851
+ /** @description Internal server error */
3852
+ 500: {
3853
+ headers: {
3854
+ [name: string]: unknown;
3855
+ };
3856
+ content: {
3857
+ "application/json": components["schemas"]["ErrorResponse"];
3858
+ };
3859
+ };
3860
+ };
3861
+ };
3862
+ options?: never;
3863
+ head?: never;
3864
+ patch?: never;
3865
+ trace?: never;
3866
+ };
3867
+ }
3868
+ interface components {
3869
+ schemas: {
3870
+ ErrorResponse: {
3871
+ /**
3872
+ * @description Error message
3873
+ * @example Invalid request
3874
+ */
3875
+ error: string;
3876
+ /**
3877
+ * @description Error code
3878
+ * @example INVALID_REQUEST
3879
+ */
3880
+ code?: string;
3881
+ };
3882
+ Account: {
3883
+ /**
3884
+ * @description Account address
3885
+ * @example 0xda5d04ee7c23ed899e456b97c781e896c1e7c0f40c7cde841e7e6b323715b368
3886
+ */
3887
+ address: string;
3888
+ /**
3889
+ * @description SUI balance in MIST
3890
+ * @example 1000000000
3891
+ */
3892
+ balance: string;
3893
+ /**
3894
+ * @description USD value of balance
3895
+ * @example 100.5
3896
+ */
3897
+ usdValue?: number;
3898
+ /**
3899
+ * @description Number of transactions
3900
+ * @example 42
3901
+ */
3902
+ transactionCount?: number;
3903
+ /**
3904
+ * @description Number of owned objects
3905
+ * @example 15
3906
+ */
3907
+ objectCount?: number;
3908
+ /**
3909
+ * @description First transaction timestamp
3910
+ * @example 2024-01-01T00:00:00Z
3911
+ */
3912
+ firstActivity?: string;
3913
+ /**
3914
+ * @description Last transaction timestamp
3915
+ * @example 2024-12-01T00:00:00Z
3916
+ */
3917
+ lastActivity?: string;
3918
+ };
3919
+ Balance: {
3920
+ /**
3921
+ * @description Type of the coin
3922
+ * @example 0x2::sui::SUI
3923
+ */
3924
+ coinType: string;
3925
+ /**
3926
+ * @description Balance amount in MIST (smallest unit)
3927
+ * @example 1000000000
3928
+ */
3929
+ balance: string;
3930
+ /**
3931
+ * @description Total balance including locked coins
3932
+ * @example 1000000000
3933
+ */
3934
+ totalBalance: string;
3935
+ };
3936
+ SuiObject: {
3937
+ /**
3938
+ * @description Unique identifier for the object
3939
+ * @example 0x0000000000000000000000000000000000000000000000000000000000000000
3940
+ */
3941
+ objectId: string;
3942
+ /**
3943
+ * @description Version number of the object
3944
+ * @example 1
3945
+ */
3946
+ version: string;
3947
+ /**
3948
+ * @description Content digest of the object
3949
+ * @example AbCdEfGhIjKlMnOpQrStUvWxYz0123456789+/=
3950
+ */
3951
+ digest: string;
3952
+ /**
3953
+ * @description Type of the object
3954
+ * @example 0x2::coin::Coin<0x2::sui::SUI>
3955
+ */
3956
+ type: string;
3957
+ /**
3958
+ * @description Owner of the object
3959
+ * @example AddressOwner(0x1234567890abcdef)
3960
+ */
3961
+ owner: string;
3962
+ /**
3963
+ * @description Storage rebate amount
3964
+ * @example 100000
3965
+ */
3966
+ storageRebate: string;
3967
+ };
3968
+ SuiObjectResponse: {
3969
+ data?: components["schemas"]["SuiObject"];
3970
+ error?: string;
3971
+ };
3972
+ SuiTransactionBlockResponse: {
3973
+ digest: string;
3974
+ checkpoint?: string | null;
3975
+ timestampMs?: string | null;
3976
+ transaction?: unknown;
3977
+ effects?: unknown;
3978
+ events?: {
3979
+ id: {
3980
+ txDigest: string;
3981
+ eventSeq: string;
3982
+ };
3983
+ packageId?: string | null;
3984
+ transactionModule?: string | null;
3985
+ sender?: string | null;
3986
+ type: string;
3987
+ timestampMs?: string | null;
3988
+ }[] | null;
3989
+ objectChanges?: unknown[] | null;
3990
+ balanceChanges?: {
3991
+ /** @description Owner enum-like object */
3992
+ owner: {
3993
+ [key: string]: string;
3994
+ };
3995
+ coinType: string;
3996
+ amount: string;
3997
+ }[] | null;
3998
+ confirmedLocalExecution?: boolean | null;
3999
+ errors?: string[];
4000
+ };
4001
+ CoinMetadata: {
4002
+ /**
4003
+ * @description Coin type identifier
4004
+ * @example 0x2::sui::SUI
4005
+ */
4006
+ type: string;
4007
+ /**
4008
+ * @description Coin name
4009
+ * @example Sui
4010
+ */
4011
+ name: string;
4012
+ /**
4013
+ * @description Coin symbol
4014
+ * @example SUI
4015
+ */
4016
+ symbol: string;
4017
+ /**
4018
+ * @description Coin description
4019
+ * @example The native token of Sui
4020
+ */
4021
+ description: string;
4022
+ /**
4023
+ * @description Number of decimals
4024
+ * @example 9
4025
+ */
4026
+ decimals: number;
4027
+ /**
4028
+ * Format: uri
4029
+ * @description Icon URL
4030
+ * @example https://example.com/sui-icon.png
4031
+ */
4032
+ iconUrl?: string;
4033
+ /**
4034
+ * @description Total supply
4035
+ * @example 10000000000000000000
4036
+ */
4037
+ totalSupply?: string;
4038
+ /**
4039
+ * @description Whether coin is verified
4040
+ * @example true
4041
+ */
4042
+ verified?: boolean;
4043
+ /**
4044
+ * @description Market cap in USD
4045
+ * @example 1000000000
4046
+ */
4047
+ marketCap?: number;
4048
+ };
4049
+ ObjectMetadata: {
4050
+ /**
4051
+ * @description Object ID
4052
+ * @example 0x1234567890abcdef1234567890abcdef12345678
4053
+ */
4054
+ objectId: string;
4055
+ /**
4056
+ * @description Object type
4057
+ * @example 0x2::coin::Coin<0x2::sui::SUI>
4058
+ */
4059
+ type: string;
4060
+ /**
4061
+ * @description Object name
4062
+ * @example My NFT
4063
+ */
4064
+ name?: string;
4065
+ /**
4066
+ * Format: uri
4067
+ * @description Object image URL
4068
+ * @example https://example.com/nft.png
4069
+ */
4070
+ image?: string;
4071
+ /**
4072
+ * @description Project name
4073
+ * @example Example Project
4074
+ */
4075
+ projectName?: string;
4076
+ /**
4077
+ * Format: uri
4078
+ * @description Project logo URL
4079
+ * @example https://example.com/project-logo.png
4080
+ */
4081
+ projectImage?: string;
4082
+ /**
4083
+ * @description Object description
4084
+ * @example A unique digital collectible
4085
+ */
4086
+ description?: string;
4087
+ };
4088
+ Package: {
4089
+ /**
4090
+ * @description Package ID
4091
+ * @example 0x1234567890abcdef1234567890abcdef12345678
4092
+ */
4093
+ packageId: string;
4094
+ /**
4095
+ * @description Package version
4096
+ * @example 1
4097
+ */
4098
+ version: string;
4099
+ /**
4100
+ * @description Package digest
4101
+ * @example AbCdEfGhIjKlMnOpQrStUvWxYz0123456789+/=
4102
+ */
4103
+ digest: string;
4104
+ /**
4105
+ * @description Package modules
4106
+ * @example [
4107
+ * "module1",
4108
+ * "module2"
4109
+ * ]
4110
+ */
4111
+ modules?: string[];
4112
+ };
4113
+ ChainInfo: {
4114
+ /**
4115
+ * @description Chain identifier
4116
+ * @example sui:mainnet
4117
+ */
4118
+ chainId: string;
4119
+ /**
4120
+ * @description Chain version
4121
+ * @example 1.0.0
4122
+ */
4123
+ version: string;
4124
+ /**
4125
+ * @description Latest checkpoint sequence
4126
+ * @example 12345678
4127
+ */
4128
+ latestCheckpoint: string;
4129
+ /**
4130
+ * @description Total transaction count
4131
+ * @example 1000000
4132
+ */
4133
+ totalTransactions: string;
4134
+ /**
4135
+ * @description Network TPS
4136
+ * @example 297.5
4137
+ */
4138
+ networkTps?: number;
4139
+ };
4140
+ StakingParameters: {
4141
+ /**
4142
+ * @description Epoch length in milliseconds
4143
+ * @example 86400000
4144
+ */
4145
+ epochLength: string;
4146
+ /**
4147
+ * @description Minimum validator stake
4148
+ * @example 30000000000000
4149
+ */
4150
+ minValidatorStake: string;
4151
+ /**
4152
+ * @description Maximum validator count
4153
+ * @example 150
4154
+ */
4155
+ maxValidatorCount: number;
4156
+ /**
4157
+ * @description Minimum stake to join as validator
4158
+ * @example 30000000000000
4159
+ */
4160
+ minValidatorJoiningStake: string;
4161
+ /**
4162
+ * @description Low stake threshold for validators
4163
+ * @example 20000000000000
4164
+ */
4165
+ validatorLowStakeThreshold: string;
4166
+ /**
4167
+ * @description Very low stake threshold for validators
4168
+ * @example 15000000000000
4169
+ */
4170
+ validatorVeryLowStakeThreshold: string;
4171
+ /**
4172
+ * @description Grace period for low stake validators (epochs)
4173
+ * @example 7
4174
+ */
4175
+ validatorLowStakeGracePeriod: string;
4176
+ };
4177
+ NetworkStats: {
4178
+ /**
4179
+ * @description Total number of active validators
4180
+ * @example 150
4181
+ */
4182
+ totalValidators: number;
4183
+ /**
4184
+ * @description Total staked SUI in MIST
4185
+ * @example 200000000000000000
4186
+ */
4187
+ totalStake: string;
4188
+ /**
4189
+ * @description Total number of checkpoints
4190
+ * @example 186008522
4191
+ */
4192
+ totalCheckpoints: string;
4193
+ /**
4194
+ * @description Total number of transactions
4195
+ * @example 4073836074
4196
+ */
4197
+ totalTransactions: string;
4198
+ /**
4199
+ * @description Current epoch number
4200
+ * @example 712
4201
+ */
4202
+ epoch: string;
4203
+ /**
4204
+ * @description Epoch start timestamp in milliseconds
4205
+ * @example 1735152000000
4206
+ */
4207
+ epochStartTimestamp: string;
4208
+ /**
4209
+ * @description Epoch duration in milliseconds
4210
+ * @example 86400000
4211
+ */
4212
+ epochDurationMs: string;
4213
+ };
4214
+ ValidatorApy: {
4215
+ /**
4216
+ * @description Validator address
4217
+ * @example 0x1234567890abcdef1234567890abcdef12345678
4218
+ */
4219
+ validatorAddress: string;
4220
+ /**
4221
+ * @description Annual percentage yield
4222
+ * @example 4.5
4223
+ */
4224
+ apy: number;
4225
+ /**
4226
+ * @description Epoch number
4227
+ * @example 100
4228
+ */
4229
+ epoch: string;
4230
+ };
4231
+ Validator: {
4232
+ /**
4233
+ * @description SUI address of the validator
4234
+ * @example 0x0000000000000000000000000000000000000000000000000000000000000000
4235
+ */
4236
+ suiAddress: string;
4237
+ /**
4238
+ * @description Name of the validator
4239
+ * @example Validator Node 1
4240
+ */
4241
+ name: string;
4242
+ /**
4243
+ * @description Description of the validator
4244
+ * @example A reliable validator node
4245
+ */
4246
+ description: string;
4247
+ /**
4248
+ * Format: uri
4249
+ * @description URL to validator logo image
4250
+ * @example https://example.com/validator-logo.png
4251
+ */
4252
+ imageUrl?: string;
4253
+ /**
4254
+ * Format: uri
4255
+ * @description URL to validator project website
4256
+ * @example https://validator-website.com
4257
+ */
4258
+ projectUrl?: string;
4259
+ /**
4260
+ * @description Voting power of the validator
4261
+ * @example 100000000
4262
+ */
4263
+ votingPower: string;
4264
+ /**
4265
+ * @description Total stake amount
4266
+ * @example 500000000000
4267
+ */
4268
+ stakeAmount: string;
4269
+ /**
4270
+ * @description Commission rate (0-1)
4271
+ * @example 0.05
4272
+ */
4273
+ commissionRate: string;
4274
+ /**
4275
+ * @description Stake amount for next epoch
4276
+ * @example 500000000000
4277
+ */
4278
+ nextEpochStake: string;
4279
+ };
4280
+ SuiNSResolveResponse: {
4281
+ /**
4282
+ * @description The resolved SuiNS name
4283
+ * @example example.sui
4284
+ */
4285
+ name: string;
4286
+ /**
4287
+ * @description The resolved SUI address
4288
+ * @example 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
4289
+ */
4290
+ address: string;
4291
+ /**
4292
+ * @description Name expiration timestamp
4293
+ * @example 2025-12-31T23:59:59.000Z
4294
+ */
4295
+ expiration?: string;
4296
+ /**
4297
+ * Format: uri
4298
+ * @description Avatar URL if set
4299
+ * @example https://example.com/avatar.png
4300
+ */
4301
+ avatar?: string;
4302
+ /**
4303
+ * @description Content hash if set
4304
+ * @example 0xabcd1234...
4305
+ */
4306
+ contentHash?: string;
4307
+ };
4308
+ SuiNSReverseResolveResponse: {
4309
+ /**
4310
+ * @description The SUI address
4311
+ * @example 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
4312
+ */
4313
+ address: string;
4314
+ /**
4315
+ * @description The default SuiNS name for this address, null if none set
4316
+ * @example example.sui
4317
+ */
4318
+ name: string | null;
4319
+ };
4320
+ SuiNSBatchResolveResponse: {
4321
+ /** @description Array of resolution results */
4322
+ results: {
4323
+ name: string;
4324
+ address: string | null;
4325
+ error?: string;
4326
+ }[];
4327
+ };
4328
+ SuiNSBatchResolveRequest: {
4329
+ /**
4330
+ * @description Array of SuiNS names to resolve (without .sui extension)
4331
+ * @example [
4332
+ * "example",
4333
+ * "test",
4334
+ * "demo"
4335
+ * ]
4336
+ */
4337
+ names: string[];
4338
+ };
4339
+ SuiNSAvailabilityResponse: {
4340
+ /**
4341
+ * @description The checked SuiNS name
4342
+ * @example example.sui
4343
+ */
4344
+ name: string;
4345
+ /**
4346
+ * @description Whether the name is available for registration
4347
+ * @example false
4348
+ */
4349
+ available: boolean;
4350
+ /**
4351
+ * @description Whether the name is currently registered
4352
+ * @example true
4353
+ */
4354
+ registered: boolean;
4355
+ /**
4356
+ * @description Expiration date if registered
4357
+ * @example 2025-12-31T23:59:59.000Z
4358
+ */
4359
+ expiration?: string;
4360
+ };
4361
+ };
4362
+ responses: never;
4363
+ parameters: never;
4364
+ requestBodies: never;
4365
+ headers: never;
4366
+ pathItems: never;
4367
+ }
4368
+
4369
+ /**
4370
+ * Conditional-type helpers that derive request/response types from the
4371
+ * OpenAPI-generated `paths` (src/generated/api.ts) — namespaces never
4372
+ * hand-write API shapes.
4373
+ */
4374
+
4375
+ type Operation<P extends keyof paths, M extends keyof paths[P]> = NonNullable<paths[P][M]>;
4376
+ type JsonContent<T> = T extends {
4377
+ content: {
4378
+ "application/json": infer C;
4379
+ };
4380
+ } ? C : never;
4381
+ type Success<O> = O extends {
4382
+ responses: infer R;
4383
+ } ? JsonContent<R[Extract<keyof R, 200 | 201>]> : never;
4384
+ type Body<O> = O extends {
4385
+ requestBody?: infer B;
4386
+ } ? JsonContent<NonNullable<B>> : never;
4387
+ type Query<O> = O extends {
4388
+ parameters: {
4389
+ query?: infer Q;
4390
+ };
4391
+ } ? NonNullable<Q> : never;
4392
+ /** The `{data, pagination}` envelope used by paginated list endpoints. */
4393
+ interface Page<T = unknown> {
4394
+ data: readonly T[];
4395
+ pagination: {
4396
+ limit: number;
4397
+ cursor?: string;
4398
+ hasNext: boolean;
4399
+ };
4400
+ }
4401
+ /**
4402
+ * Lazily walk every page of a cursor-paginated endpoint, yielding items.
4403
+ * Endpoints whose `data` is a union of array shapes (e.g. raw vs activity
4404
+ * transaction format) yield the union of their element types.
4405
+ *
4406
+ * ```ts
4407
+ * for await (const tx of inodra.data.accounts.iterateTransactions(addr)) { … }
4408
+ * ```
4409
+ */
4410
+ declare function paginate<P extends {
4411
+ data: readonly unknown[];
4412
+ pagination: {
4413
+ cursor?: string;
4414
+ hasNext: boolean;
4415
+ };
4416
+ }>(fetchPage: (cursor: string | undefined) => Promise<P>): AsyncGenerator<P["data"][number], void, undefined>;
4417
+
4418
+ type CreateEventWebhookInput = Body<Operation<"/webhooks/events", "post">>;
4419
+ type CreateAddressWebhookInput = Body<Operation<"/webhooks/addresses", "post">>;
4420
+ type CreateCoinWebhookInput = Body<Operation<"/webhooks/coins", "post">>;
4421
+ type CreateObjectWebhookInput = Body<Operation<"/webhooks/objects", "post">>;
4422
+ type CreateWebhookResponse = Success<Operation<"/webhooks/events", "post">>;
4423
+ type ListWebhooksResponse = Success<Operation<"/webhooks", "get">>;
4424
+ type Webhook = Success<Operation<"/webhooks/{id}", "get">>;
4425
+ type UpdateWebhookInput = Body<Operation<"/webhooks/{id}", "put">>;
4426
+ type UpdateWebhookResponse = Success<Operation<"/webhooks/{id}", "put">>;
4427
+ type DeleteWebhookResponse = Success<Operation<"/webhooks/{id}", "delete">>;
4428
+ type CreateEventStreamInput = Body<Operation<"/warp/events", "post">>;
4429
+ type CreateAddressStreamInput = Body<Operation<"/warp/addresses", "post">>;
4430
+ type CreateCoinStreamInput = Body<Operation<"/warp/coins", "post">>;
4431
+ type CreateObjectStreamInput = Body<Operation<"/warp/objects", "post">>;
4432
+ type CreateStreamResponse = Success<Operation<"/warp/events", "post">>;
4433
+ type ListStreamsResponse = Success<Operation<"/warp", "get">>;
4434
+ type WarpStream = Success<Operation<"/warp/{id}", "get">>;
4435
+ type UpdateStreamInput = Body<Operation<"/warp/{id}", "put">>;
4436
+ type UpdateStreamResponse = Success<Operation<"/warp/{id}", "put">>;
4437
+ type DeleteStreamResponse = Success<Operation<"/warp/{id}", "delete">>;
4438
+ type InodraManagementClientOptions = InodraHttpClientOptions;
4439
+ /**
4440
+ * CRUD client for Inodra webhooks and Warp stream subscriptions.
4441
+ *
4442
+ * ```ts
4443
+ * const inodra = new InodraManagementClient({ apiKey });
4444
+ * const stream = await inodra.warp.createEventStream({
4445
+ * eventType: "0xpkg::module::Event",
4446
+ * });
4447
+ * ```
4448
+ */
4449
+ declare class InodraManagementClient {
4450
+ readonly http: InodraHttpClient;
4451
+ constructor(options: InodraManagementClientOptions);
4452
+ readonly webhooks: {
4453
+ createEvent: (input: CreateEventWebhookInput) => Promise<{
4454
+ data: {
4455
+ id: string;
4456
+ type: "event";
4457
+ eventType: string;
4458
+ sender: string | null;
4459
+ eventFieldFilters: {
4460
+ field: string;
4461
+ moveType: string;
4462
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4463
+ value: string;
4464
+ }[] | null;
4465
+ address?: string | null;
4466
+ coinType?: string | null;
4467
+ objectId?: string | null;
4468
+ webhookUrl: string | null;
4469
+ webhookSecret: string | null;
4470
+ active: boolean;
4471
+ frozenByTier: boolean;
4472
+ organizationId: string;
4473
+ projectId: string;
4474
+ createdAt?: string | null;
4475
+ updatedAt?: string | null;
4476
+ };
4477
+ }>;
4478
+ createAddress: (input: CreateAddressWebhookInput) => Promise<{
4479
+ data: {
4480
+ id: string;
4481
+ type: "event";
4482
+ eventType: string;
4483
+ sender: string | null;
4484
+ eventFieldFilters: {
4485
+ field: string;
4486
+ moveType: string;
4487
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4488
+ value: string;
4489
+ }[] | null;
4490
+ address?: string | null;
4491
+ coinType?: string | null;
4492
+ objectId?: string | null;
4493
+ webhookUrl: string | null;
4494
+ webhookSecret: string | null;
4495
+ active: boolean;
4496
+ frozenByTier: boolean;
4497
+ organizationId: string;
4498
+ projectId: string;
4499
+ createdAt?: string | null;
4500
+ updatedAt?: string | null;
4501
+ };
4502
+ }>;
4503
+ createCoin: (input: CreateCoinWebhookInput) => Promise<{
4504
+ data: {
4505
+ id: string;
4506
+ type: "event";
4507
+ eventType: string;
4508
+ sender: string | null;
4509
+ eventFieldFilters: {
4510
+ field: string;
4511
+ moveType: string;
4512
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4513
+ value: string;
4514
+ }[] | null;
4515
+ address?: string | null;
4516
+ coinType?: string | null;
4517
+ objectId?: string | null;
4518
+ webhookUrl: string | null;
4519
+ webhookSecret: string | null;
4520
+ active: boolean;
4521
+ frozenByTier: boolean;
4522
+ organizationId: string;
4523
+ projectId: string;
4524
+ createdAt?: string | null;
4525
+ updatedAt?: string | null;
4526
+ };
4527
+ }>;
4528
+ createObject: (input: CreateObjectWebhookInput) => Promise<{
4529
+ data: {
4530
+ id: string;
4531
+ type: "event";
4532
+ eventType: string;
4533
+ sender: string | null;
4534
+ eventFieldFilters: {
4535
+ field: string;
4536
+ moveType: string;
4537
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4538
+ value: string;
4539
+ }[] | null;
4540
+ address?: string | null;
4541
+ coinType?: string | null;
4542
+ objectId?: string | null;
4543
+ webhookUrl: string | null;
4544
+ webhookSecret: string | null;
4545
+ active: boolean;
4546
+ frozenByTier: boolean;
4547
+ organizationId: string;
4548
+ projectId: string;
4549
+ createdAt?: string | null;
4550
+ updatedAt?: string | null;
4551
+ };
4552
+ }>;
4553
+ list: () => Promise<{
4554
+ data: {
4555
+ id: string;
4556
+ type: "event" | "address" | "coin" | "object";
4557
+ eventType?: string | null;
4558
+ sender?: string | null;
4559
+ eventFieldFilters?: {
4560
+ field: string;
4561
+ moveType: string;
4562
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4563
+ value: string;
4564
+ }[] | null;
4565
+ address?: string | null;
4566
+ coinType?: string | null;
4567
+ objectId?: string | null;
4568
+ webhookUrl: string | null;
4569
+ webhookSecret: string | null;
4570
+ active: boolean;
4571
+ frozenByTier: boolean;
4572
+ organizationId: string;
4573
+ projectId: string;
4574
+ createdAt?: string | null;
4575
+ updatedAt?: string | null;
4576
+ }[];
4577
+ }>;
4578
+ get: (id: string) => Promise<{
4579
+ data: {
4580
+ id: string;
4581
+ type: "event" | "address" | "coin" | "object";
4582
+ eventType?: string | null;
4583
+ sender?: string | null;
4584
+ eventFieldFilters?: {
4585
+ field: string;
4586
+ moveType: string;
4587
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4588
+ value: string;
4589
+ }[] | null;
4590
+ address?: string | null;
4591
+ coinType?: string | null;
4592
+ objectId?: string | null;
4593
+ webhookUrl: string | null;
4594
+ webhookSecret: string | null;
4595
+ active: boolean;
4596
+ frozenByTier: boolean;
4597
+ organizationId: string;
4598
+ projectId: string;
4599
+ createdAt?: string | null;
4600
+ updatedAt?: string | null;
4601
+ };
4602
+ }>;
4603
+ update: (id: string, input: UpdateWebhookInput) => Promise<{
4604
+ data: {
4605
+ id: string;
4606
+ type: "event" | "address" | "coin" | "object";
4607
+ eventType?: string | null;
4608
+ sender?: string | null;
4609
+ eventFieldFilters?: {
4610
+ field: string;
4611
+ moveType: string;
4612
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4613
+ value: string;
4614
+ }[] | null;
4615
+ address?: string | null;
4616
+ coinType?: string | null;
4617
+ objectId?: string | null;
4618
+ webhookUrl: string | null;
4619
+ webhookSecret: string | null;
4620
+ active: boolean;
4621
+ frozenByTier: boolean;
4622
+ organizationId: string;
4623
+ projectId: string;
4624
+ createdAt?: string | null;
4625
+ updatedAt?: string | null;
4626
+ };
4627
+ }>;
4628
+ delete: (id: string) => Promise<{
4629
+ success: boolean;
4630
+ }>;
4631
+ };
4632
+ readonly warp: {
4633
+ createEventStream: (input: CreateEventStreamInput) => Promise<{
4634
+ data: {
4635
+ id: string;
4636
+ type: "event" | "address" | "coin" | "object";
4637
+ eventType?: string | null;
4638
+ sender?: string | null;
4639
+ eventFieldFilters?: {
4640
+ field: string;
4641
+ moveType: string;
4642
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4643
+ value: string;
4644
+ }[] | null;
4645
+ address?: string | null;
4646
+ coinType?: string | null;
4647
+ objectId?: string | null;
4648
+ active: boolean;
4649
+ frozenByTier: boolean;
4650
+ organizationId: string;
4651
+ projectId: string;
4652
+ createdAt?: string | null;
4653
+ updatedAt?: string | null;
4654
+ };
4655
+ }>;
4656
+ createAddressStream: (input: CreateAddressStreamInput) => Promise<{
4657
+ data: {
4658
+ id: string;
4659
+ type: "event" | "address" | "coin" | "object";
4660
+ eventType?: string | null;
4661
+ sender?: string | null;
4662
+ eventFieldFilters?: {
4663
+ field: string;
4664
+ moveType: string;
4665
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4666
+ value: string;
4667
+ }[] | null;
4668
+ address?: string | null;
4669
+ coinType?: string | null;
4670
+ objectId?: string | null;
4671
+ active: boolean;
4672
+ frozenByTier: boolean;
4673
+ organizationId: string;
4674
+ projectId: string;
4675
+ createdAt?: string | null;
4676
+ updatedAt?: string | null;
4677
+ };
4678
+ }>;
4679
+ createCoinStream: (input: CreateCoinStreamInput) => Promise<{
4680
+ data: {
4681
+ id: string;
4682
+ type: "event" | "address" | "coin" | "object";
4683
+ eventType?: string | null;
4684
+ sender?: string | null;
4685
+ eventFieldFilters?: {
4686
+ field: string;
4687
+ moveType: string;
4688
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4689
+ value: string;
4690
+ }[] | null;
4691
+ address?: string | null;
4692
+ coinType?: string | null;
4693
+ objectId?: string | null;
4694
+ active: boolean;
4695
+ frozenByTier: boolean;
4696
+ organizationId: string;
4697
+ projectId: string;
4698
+ createdAt?: string | null;
4699
+ updatedAt?: string | null;
4700
+ };
4701
+ }>;
4702
+ createObjectStream: (input: CreateObjectStreamInput) => Promise<{
4703
+ data: {
4704
+ id: string;
4705
+ type: "event" | "address" | "coin" | "object";
4706
+ eventType?: string | null;
4707
+ sender?: string | null;
4708
+ eventFieldFilters?: {
4709
+ field: string;
4710
+ moveType: string;
4711
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4712
+ value: string;
4713
+ }[] | null;
4714
+ address?: string | null;
4715
+ coinType?: string | null;
4716
+ objectId?: string | null;
4717
+ active: boolean;
4718
+ frozenByTier: boolean;
4719
+ organizationId: string;
4720
+ projectId: string;
4721
+ createdAt?: string | null;
4722
+ updatedAt?: string | null;
4723
+ };
4724
+ }>;
4725
+ list: () => Promise<{
4726
+ data: {
4727
+ id: string;
4728
+ type: "event" | "address" | "coin" | "object";
4729
+ eventType?: string | null;
4730
+ sender?: string | null;
4731
+ eventFieldFilters?: {
4732
+ field: string;
4733
+ moveType: string;
4734
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4735
+ value: string;
4736
+ }[] | null;
4737
+ address?: string | null;
4738
+ coinType?: string | null;
4739
+ objectId?: string | null;
4740
+ active: boolean;
4741
+ frozenByTier: boolean;
4742
+ organizationId: string;
4743
+ projectId: string;
4744
+ createdAt?: string | null;
4745
+ updatedAt?: string | null;
4746
+ }[];
4747
+ }>;
4748
+ get: (id: string) => Promise<{
4749
+ data: {
4750
+ id: string;
4751
+ type: "event" | "address" | "coin" | "object";
4752
+ eventType?: string | null;
4753
+ sender?: string | null;
4754
+ eventFieldFilters?: {
4755
+ field: string;
4756
+ moveType: string;
4757
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4758
+ value: string;
4759
+ }[] | null;
4760
+ address?: string | null;
4761
+ coinType?: string | null;
4762
+ objectId?: string | null;
4763
+ active: boolean;
4764
+ frozenByTier: boolean;
4765
+ organizationId: string;
4766
+ projectId: string;
4767
+ createdAt?: string | null;
4768
+ updatedAt?: string | null;
4769
+ };
4770
+ }>;
4771
+ update: (id: string, input: UpdateStreamInput) => Promise<{
4772
+ data: {
4773
+ id: string;
4774
+ type: "event" | "address" | "coin" | "object";
4775
+ eventType?: string | null;
4776
+ sender?: string | null;
4777
+ eventFieldFilters?: {
4778
+ field: string;
4779
+ moveType: string;
4780
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "contains";
4781
+ value: string;
4782
+ }[] | null;
4783
+ address?: string | null;
4784
+ coinType?: string | null;
4785
+ objectId?: string | null;
4786
+ active: boolean;
4787
+ frozenByTier: boolean;
4788
+ organizationId: string;
4789
+ projectId: string;
4790
+ createdAt?: string | null;
4791
+ updatedAt?: string | null;
4792
+ };
4793
+ }>;
4794
+ delete: (id: string) => Promise<{
4795
+ success: boolean;
4796
+ }>;
4797
+ };
4798
+ }
4799
+
4800
+ export { type Body as B, type CreateAddressStreamInput as C, type DeleteStreamResponse as D, InodraHttpClient as I, type ListStreamsResponse as L, type Operation as O, type Page as P, type Query as Q, type RequestOptions as R, type Success as S, type UpdateStreamInput as U, type WarpStream as W, type CreateAddressWebhookInput as a, type CreateCoinStreamInput as b, type CreateCoinWebhookInput as c, type CreateEventStreamInput as d, type CreateEventWebhookInput as e, type CreateObjectStreamInput as f, type CreateObjectWebhookInput as g, type CreateStreamResponse as h, type CreateWebhookResponse as i, type DeleteWebhookResponse as j, type InodraHttpClientOptions as k, InodraManagementClient as l, type InodraManagementClientOptions as m, type InodraResponseMeta as n, type ListWebhooksResponse as o, type UpdateStreamResponse as p, type UpdateWebhookInput as q, type UpdateWebhookResponse as r, type Webhook as s, paginate as t, type components as u };