@tinycloudlabs/web-core 0.2.1 → 1.0.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.
@@ -0,0 +1,594 @@
1
+ /**
2
+ * Zod schemas for TinyCloud Web Core types.
3
+ *
4
+ * These schemas provide runtime validation for RPC providers, route configuration,
5
+ * and ENS data. Types are derived from schemas using z.infer<>.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { z } from "zod";
10
+ /**
11
+ * ENS data supported by TCW.
12
+ */
13
+ export declare const EnsDataSchema: z.ZodObject<{
14
+ /** ENS name/domain. */
15
+ domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ /** ENS avatar. */
17
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ domain?: string;
20
+ avatarUrl?: string;
21
+ }, {
22
+ domain?: string;
23
+ avatarUrl?: string;
24
+ }>;
25
+ export type EnsData = z.infer<typeof EnsDataSchema>;
26
+ /**
27
+ * Enum of supported EthersJS providers.
28
+ */
29
+ export declare const RPCProvidersSchema: z.ZodEnum<["alchemy", "ankr", "cloudflare", "custom", "etherscan", "infura", "pocket"]>;
30
+ export type RPCProviders = z.infer<typeof RPCProvidersSchema>;
31
+ /**
32
+ * Enum values for RPCProviders (for backwards compatibility).
33
+ */
34
+ export declare const RPCProviders: {
35
+ readonly AlchemyProvider: "alchemy";
36
+ readonly AnkrProvider: "ankr";
37
+ readonly CloudflareProvider: "cloudflare";
38
+ readonly CustomProvider: "custom";
39
+ readonly EtherscanProvider: "etherscan";
40
+ readonly InfuraProvider: "infura";
41
+ readonly PocketProvider: "pocket";
42
+ };
43
+ /**
44
+ * Enum of supported networks for Etherscan.
45
+ */
46
+ export declare const EtherscanProviderNetworksSchema: z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan"]>;
47
+ export type EtherscanProviderNetworks = z.infer<typeof EtherscanProviderNetworksSchema>;
48
+ export declare const EtherscanProviderNetworks: {
49
+ readonly MAINNET: "homestead";
50
+ readonly ROPSTEN: "ropsten";
51
+ readonly RINKEBY: "rinkeby";
52
+ readonly GOERLI: "goerli";
53
+ readonly KOVAN: "kovan";
54
+ };
55
+ /**
56
+ * Enum of supported networks for Infura.
57
+ */
58
+ export declare const InfuraProviderNetworksSchema: z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>;
59
+ export type InfuraProviderNetworks = z.infer<typeof InfuraProviderNetworksSchema>;
60
+ export declare const InfuraProviderNetworks: {
61
+ readonly MAINNET: "homestead";
62
+ readonly ROPSTEN: "ropsten";
63
+ readonly RINKEBY: "rinkeby";
64
+ readonly GOERLI: "goerli";
65
+ readonly KOVAN: "kovan";
66
+ readonly POLYGON: "matic";
67
+ readonly POLYGON_MUMBAI: "maticmum";
68
+ readonly OPTIMISM: "optimism";
69
+ readonly OPTIMISM_KOVAN: "optimism-kovan";
70
+ readonly ARBITRUM: "arbitrum";
71
+ readonly ARBITRUM_RINKEBY: "arbitrum-rinkeby";
72
+ };
73
+ /**
74
+ * Enum of supported networks for Alchemy.
75
+ */
76
+ export declare const AlchemyProviderNetworksSchema: z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>;
77
+ export type AlchemyProviderNetworks = z.infer<typeof AlchemyProviderNetworksSchema>;
78
+ export declare const AlchemyProviderNetworks: {
79
+ readonly MAINNET: "homestead";
80
+ readonly ROPSTEN: "ropsten";
81
+ readonly RINKEBY: "rinkeby";
82
+ readonly GOERLI: "goerli";
83
+ readonly KOVAN: "kovan";
84
+ readonly POLYGON: "matic";
85
+ readonly POLYGON_MUMBAI: "maticmum";
86
+ readonly OPTIMISM: "optimism";
87
+ readonly OPTIMISM_KOVAN: "optimism-kovan";
88
+ readonly ARBITRUM: "arbitrum";
89
+ readonly ARBITRUM_RINKEBY: "arbitrum-rinkeby";
90
+ };
91
+ /**
92
+ * Enum of supported networks for Pocket.
93
+ */
94
+ export declare const PocketProviderNetworksSchema: z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli"]>;
95
+ export type PocketProviderNetworks = z.infer<typeof PocketProviderNetworksSchema>;
96
+ export declare const PocketProviderNetworks: {
97
+ readonly MAINNET: "homestead";
98
+ readonly ROPSTEN: "ropsten";
99
+ readonly RINKEBY: "rinkeby";
100
+ readonly GOERLI: "goerli";
101
+ };
102
+ /**
103
+ * Enum of supported networks for Ankr.
104
+ */
105
+ export declare const AnkrProviderNetworksSchema: z.ZodEnum<["homestead", "matic", "arbitrum"]>;
106
+ export type AnkrProviderNetworks = z.infer<typeof AnkrProviderNetworksSchema>;
107
+ export declare const AnkrProviderNetworks: {
108
+ readonly MAINNET: "homestead";
109
+ readonly POLYGON: "matic";
110
+ readonly ARBITRUM: "arbitrum";
111
+ };
112
+ /**
113
+ * Infura provider project settings.
114
+ */
115
+ export declare const InfuraProviderProjectSettingsSchema: z.ZodObject<{
116
+ projectId: z.ZodString;
117
+ projectSecret: z.ZodString;
118
+ }, "strip", z.ZodTypeAny, {
119
+ projectId?: string;
120
+ projectSecret?: string;
121
+ }, {
122
+ projectId?: string;
123
+ projectSecret?: string;
124
+ }>;
125
+ export type InfuraProviderProjectSettings = z.infer<typeof InfuraProviderProjectSettingsSchema>;
126
+ /**
127
+ * Etherscan provider settings.
128
+ */
129
+ export declare const EtherscanProviderSchema: z.ZodObject<{
130
+ service: z.ZodLiteral<"etherscan">;
131
+ apiKey: z.ZodOptional<z.ZodString>;
132
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan"]>>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ service?: "etherscan";
135
+ apiKey?: string;
136
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan";
137
+ }, {
138
+ service?: "etherscan";
139
+ apiKey?: string;
140
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan";
141
+ }>;
142
+ export type EtherscanProvider = z.infer<typeof EtherscanProviderSchema>;
143
+ /**
144
+ * Infura provider settings.
145
+ */
146
+ export declare const InfuraProviderSchema: z.ZodObject<{
147
+ service: z.ZodLiteral<"infura">;
148
+ apiKey: z.ZodUnion<[z.ZodString, z.ZodObject<{
149
+ projectId: z.ZodString;
150
+ projectSecret: z.ZodString;
151
+ }, "strip", z.ZodTypeAny, {
152
+ projectId?: string;
153
+ projectSecret?: string;
154
+ }, {
155
+ projectId?: string;
156
+ projectSecret?: string;
157
+ }>]>;
158
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ service?: "infura";
161
+ apiKey?: string | {
162
+ projectId?: string;
163
+ projectSecret?: string;
164
+ };
165
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
166
+ }, {
167
+ service?: "infura";
168
+ apiKey?: string | {
169
+ projectId?: string;
170
+ projectSecret?: string;
171
+ };
172
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
173
+ }>;
174
+ export type InfuraProvider = z.infer<typeof InfuraProviderSchema>;
175
+ /**
176
+ * Alchemy provider settings.
177
+ */
178
+ export declare const AlchemyProviderSchema: z.ZodObject<{
179
+ service: z.ZodLiteral<"alchemy">;
180
+ apiKey: z.ZodOptional<z.ZodString>;
181
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ service?: "alchemy";
184
+ apiKey?: string;
185
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
186
+ }, {
187
+ service?: "alchemy";
188
+ apiKey?: string;
189
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
190
+ }>;
191
+ export type AlchemyProvider = z.infer<typeof AlchemyProviderSchema>;
192
+ /**
193
+ * Cloudflare provider settings.
194
+ */
195
+ export declare const CloudflareProviderSchema: z.ZodObject<{
196
+ service: z.ZodLiteral<"cloudflare">;
197
+ }, "strip", z.ZodTypeAny, {
198
+ service?: "cloudflare";
199
+ }, {
200
+ service?: "cloudflare";
201
+ }>;
202
+ export type CloudflareProvider = z.infer<typeof CloudflareProviderSchema>;
203
+ /**
204
+ * Pocket provider settings.
205
+ */
206
+ export declare const PocketProviderSchema: z.ZodObject<{
207
+ service: z.ZodLiteral<"pocket">;
208
+ apiKey: z.ZodOptional<z.ZodString>;
209
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli"]>>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ service?: "pocket";
212
+ apiKey?: string;
213
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli";
214
+ }, {
215
+ service?: "pocket";
216
+ apiKey?: string;
217
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli";
218
+ }>;
219
+ export type PocketProvider = z.infer<typeof PocketProviderSchema>;
220
+ /**
221
+ * Ankr provider settings.
222
+ */
223
+ export declare const AnkrProviderSchema: z.ZodObject<{
224
+ service: z.ZodLiteral<"ankr">;
225
+ apiKey: z.ZodOptional<z.ZodString>;
226
+ network: z.ZodOptional<z.ZodEnum<["homestead", "matic", "arbitrum"]>>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ service?: "ankr";
229
+ apiKey?: string;
230
+ network?: "homestead" | "matic" | "arbitrum";
231
+ }, {
232
+ service?: "ankr";
233
+ apiKey?: string;
234
+ network?: "homestead" | "matic" | "arbitrum";
235
+ }>;
236
+ export type AnkrProvider = z.infer<typeof AnkrProviderSchema>;
237
+ /**
238
+ * Custom provider settings.
239
+ * Note: url and network are ethers types, validated as unknown.
240
+ */
241
+ export declare const CustomProviderSchema: z.ZodObject<{
242
+ service: z.ZodLiteral<"custom">;
243
+ url: z.ZodOptional<z.ZodUnknown>;
244
+ network: z.ZodOptional<z.ZodUnknown>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ service?: "custom";
247
+ network?: unknown;
248
+ url?: unknown;
249
+ }, {
250
+ service?: "custom";
251
+ network?: unknown;
252
+ url?: unknown;
253
+ }>;
254
+ export type CustomProvider = z.infer<typeof CustomProviderSchema>;
255
+ /**
256
+ * Generic provider settings.
257
+ * Note: url and network are ethers types, validated as unknown.
258
+ */
259
+ export declare const GenericProviderSchema: z.ZodObject<{
260
+ service: z.ZodEnum<["alchemy", "ankr", "cloudflare", "custom", "etherscan", "infura", "pocket"]>;
261
+ url: z.ZodOptional<z.ZodUnknown>;
262
+ network: z.ZodOptional<z.ZodUnknown>;
263
+ apiKey: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
264
+ projectId: z.ZodString;
265
+ projectSecret: z.ZodString;
266
+ }, "strip", z.ZodTypeAny, {
267
+ projectId?: string;
268
+ projectSecret?: string;
269
+ }, {
270
+ projectId?: string;
271
+ projectSecret?: string;
272
+ }>]>>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ service?: "alchemy" | "ankr" | "cloudflare" | "custom" | "etherscan" | "infura" | "pocket";
275
+ apiKey?: string | {
276
+ projectId?: string;
277
+ projectSecret?: string;
278
+ };
279
+ network?: unknown;
280
+ url?: unknown;
281
+ }, {
282
+ service?: "alchemy" | "ankr" | "cloudflare" | "custom" | "etherscan" | "infura" | "pocket";
283
+ apiKey?: string | {
284
+ projectId?: string;
285
+ projectSecret?: string;
286
+ };
287
+ network?: unknown;
288
+ url?: unknown;
289
+ }>;
290
+ export type GenericProvider = z.infer<typeof GenericProviderSchema>;
291
+ /**
292
+ * Supported provider types (discriminated union).
293
+ */
294
+ export declare const RPCProviderSchema: z.ZodDiscriminatedUnion<"service", [z.ZodObject<{
295
+ service: z.ZodLiteral<"etherscan">;
296
+ apiKey: z.ZodOptional<z.ZodString>;
297
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan"]>>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ service?: "etherscan";
300
+ apiKey?: string;
301
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan";
302
+ }, {
303
+ service?: "etherscan";
304
+ apiKey?: string;
305
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan";
306
+ }>, z.ZodObject<{
307
+ service: z.ZodLiteral<"infura">;
308
+ apiKey: z.ZodUnion<[z.ZodString, z.ZodObject<{
309
+ projectId: z.ZodString;
310
+ projectSecret: z.ZodString;
311
+ }, "strip", z.ZodTypeAny, {
312
+ projectId?: string;
313
+ projectSecret?: string;
314
+ }, {
315
+ projectId?: string;
316
+ projectSecret?: string;
317
+ }>]>;
318
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>>;
319
+ }, "strip", z.ZodTypeAny, {
320
+ service?: "infura";
321
+ apiKey?: string | {
322
+ projectId?: string;
323
+ projectSecret?: string;
324
+ };
325
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
326
+ }, {
327
+ service?: "infura";
328
+ apiKey?: string | {
329
+ projectId?: string;
330
+ projectSecret?: string;
331
+ };
332
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
333
+ }>, z.ZodObject<{
334
+ service: z.ZodLiteral<"alchemy">;
335
+ apiKey: z.ZodOptional<z.ZodString>;
336
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli", "kovan", "matic", "maticmum", "optimism", "optimism-kovan", "arbitrum", "arbitrum-rinkeby"]>>;
337
+ }, "strip", z.ZodTypeAny, {
338
+ service?: "alchemy";
339
+ apiKey?: string;
340
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
341
+ }, {
342
+ service?: "alchemy";
343
+ apiKey?: string;
344
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli" | "kovan" | "matic" | "maticmum" | "optimism" | "optimism-kovan" | "arbitrum" | "arbitrum-rinkeby";
345
+ }>, z.ZodObject<{
346
+ service: z.ZodLiteral<"cloudflare">;
347
+ }, "strip", z.ZodTypeAny, {
348
+ service?: "cloudflare";
349
+ }, {
350
+ service?: "cloudflare";
351
+ }>, z.ZodObject<{
352
+ service: z.ZodLiteral<"pocket">;
353
+ apiKey: z.ZodOptional<z.ZodString>;
354
+ network: z.ZodOptional<z.ZodEnum<["homestead", "ropsten", "rinkeby", "goerli"]>>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ service?: "pocket";
357
+ apiKey?: string;
358
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli";
359
+ }, {
360
+ service?: "pocket";
361
+ apiKey?: string;
362
+ network?: "homestead" | "ropsten" | "rinkeby" | "goerli";
363
+ }>, z.ZodObject<{
364
+ service: z.ZodLiteral<"ankr">;
365
+ apiKey: z.ZodOptional<z.ZodString>;
366
+ network: z.ZodOptional<z.ZodEnum<["homestead", "matic", "arbitrum"]>>;
367
+ }, "strip", z.ZodTypeAny, {
368
+ service?: "ankr";
369
+ apiKey?: string;
370
+ network?: "homestead" | "matic" | "arbitrum";
371
+ }, {
372
+ service?: "ankr";
373
+ apiKey?: string;
374
+ network?: "homestead" | "matic" | "arbitrum";
375
+ }>, z.ZodObject<{
376
+ service: z.ZodLiteral<"custom">;
377
+ url: z.ZodOptional<z.ZodUnknown>;
378
+ network: z.ZodOptional<z.ZodUnknown>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ service?: "custom";
381
+ network?: unknown;
382
+ url?: unknown;
383
+ }, {
384
+ service?: "custom";
385
+ network?: unknown;
386
+ url?: unknown;
387
+ }>]>;
388
+ export type RPCProvider = z.infer<typeof RPCProviderSchema>;
389
+ export declare const isEtherscanProvider: (provider: RPCProvider) => provider is EtherscanProvider;
390
+ export declare const isInfuraProvider: (provider: RPCProvider) => provider is InfuraProvider;
391
+ export declare const isAlchemyProvider: (provider: RPCProvider) => provider is AlchemyProvider;
392
+ export declare const isCloudflareProvider: (provider: RPCProvider) => provider is CloudflareProvider;
393
+ export declare const isPocketProvider: (provider: RPCProvider) => provider is PocketProvider;
394
+ export declare const isAnkrProvider: (provider: RPCProvider) => provider is AnkrProvider;
395
+ export declare const isCustomProvider: (provider: RPCProvider) => provider is CustomProvider;
396
+ /**
397
+ * TCW Route Configuration.
398
+ * This configuration is used to override the default endpoint paths.
399
+ */
400
+ export declare const RouteConfigSchema: z.ZodObject<{
401
+ /** Endpoint path. */
402
+ url: z.ZodOptional<z.ZodString>;
403
+ /** Endpoint request method. */
404
+ method: z.ZodOptional<z.ZodEnum<["get", "post", "put", "delete"]>>;
405
+ /** Custom Operation - Replace the tcw function called with a function of your own. */
406
+ customAPIOperation: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ url?: string;
409
+ method?: "get" | "post" | "put" | "delete";
410
+ customAPIOperation?: (...args: unknown[]) => unknown;
411
+ }, {
412
+ url?: string;
413
+ method?: "get" | "post" | "put" | "delete";
414
+ customAPIOperation?: (...args: unknown[]) => unknown;
415
+ }>;
416
+ export type RouteConfig = z.infer<typeof RouteConfigSchema>;
417
+ /**
418
+ * Server middleware configuration.
419
+ */
420
+ export declare const ServerMiddlewareConfigSchema: z.ZodObject<{
421
+ path: z.ZodString;
422
+ callback: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
423
+ }, "strip", z.ZodTypeAny, {
424
+ path?: string;
425
+ callback?: (...args: unknown[]) => unknown;
426
+ }, {
427
+ path?: string;
428
+ callback?: (...args: unknown[]) => unknown;
429
+ }>;
430
+ export type ServerMiddlewareConfig = z.infer<typeof ServerMiddlewareConfigSchema>;
431
+ /**
432
+ * Type-Guard for ServerMiddlewareConfig.
433
+ */
434
+ export declare const isServerMiddlewareConfig: (config: ServerRouteEndpointType) => config is ServerMiddlewareConfig;
435
+ /**
436
+ * Server route endpoint type (union).
437
+ */
438
+ export declare const ServerRouteEndpointTypeSchema: z.ZodUnion<[z.ZodObject<{
439
+ url: z.ZodOptional<z.ZodOptional<z.ZodString>>;
440
+ method: z.ZodOptional<z.ZodOptional<z.ZodEnum<["get", "post", "put", "delete"]>>>;
441
+ customAPIOperation: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
442
+ }, "strip", z.ZodTypeAny, {
443
+ url?: string;
444
+ method?: "get" | "post" | "put" | "delete";
445
+ customAPIOperation?: (...args: unknown[]) => unknown;
446
+ }, {
447
+ url?: string;
448
+ method?: "get" | "post" | "put" | "delete";
449
+ customAPIOperation?: (...args: unknown[]) => unknown;
450
+ }>, z.ZodUnknown, z.ZodString, z.ZodObject<{
451
+ path: z.ZodString;
452
+ callback: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
453
+ }, "strip", z.ZodTypeAny, {
454
+ path?: string;
455
+ callback?: (...args: unknown[]) => unknown;
456
+ }, {
457
+ path?: string;
458
+ callback?: (...args: unknown[]) => unknown;
459
+ }>]>;
460
+ export type ServerRouteEndpointType = z.infer<typeof ServerRouteEndpointTypeSchema>;
461
+ /**
462
+ * Server endpoints configuration.
463
+ */
464
+ export declare const ServerRoutesSchema: z.ZodObject<{
465
+ /** Get nonce endpoint path. /tcw-nonce as default. */
466
+ nonce: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
467
+ url: z.ZodOptional<z.ZodOptional<z.ZodString>>;
468
+ method: z.ZodOptional<z.ZodOptional<z.ZodEnum<["get", "post", "put", "delete"]>>>;
469
+ customAPIOperation: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ url?: string;
472
+ method?: "get" | "post" | "put" | "delete";
473
+ customAPIOperation?: (...args: unknown[]) => unknown;
474
+ }, {
475
+ url?: string;
476
+ method?: "get" | "post" | "put" | "delete";
477
+ customAPIOperation?: (...args: unknown[]) => unknown;
478
+ }>, z.ZodUnknown, z.ZodString, z.ZodObject<{
479
+ path: z.ZodString;
480
+ callback: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ path?: string;
483
+ callback?: (...args: unknown[]) => unknown;
484
+ }, {
485
+ path?: string;
486
+ callback?: (...args: unknown[]) => unknown;
487
+ }>]>>;
488
+ /** Post login endpoint path. /tcw-login as default. */
489
+ login: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
490
+ url: z.ZodOptional<z.ZodOptional<z.ZodString>>;
491
+ method: z.ZodOptional<z.ZodOptional<z.ZodEnum<["get", "post", "put", "delete"]>>>;
492
+ customAPIOperation: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
493
+ }, "strip", z.ZodTypeAny, {
494
+ url?: string;
495
+ method?: "get" | "post" | "put" | "delete";
496
+ customAPIOperation?: (...args: unknown[]) => unknown;
497
+ }, {
498
+ url?: string;
499
+ method?: "get" | "post" | "put" | "delete";
500
+ customAPIOperation?: (...args: unknown[]) => unknown;
501
+ }>, z.ZodUnknown, z.ZodString, z.ZodObject<{
502
+ path: z.ZodString;
503
+ callback: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
504
+ }, "strip", z.ZodTypeAny, {
505
+ path?: string;
506
+ callback?: (...args: unknown[]) => unknown;
507
+ }, {
508
+ path?: string;
509
+ callback?: (...args: unknown[]) => unknown;
510
+ }>]>>;
511
+ /** Post logout endpoint path. /tcw-logout as default. */
512
+ logout: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
513
+ url: z.ZodOptional<z.ZodOptional<z.ZodString>>;
514
+ method: z.ZodOptional<z.ZodOptional<z.ZodEnum<["get", "post", "put", "delete"]>>>;
515
+ customAPIOperation: z.ZodOptional<z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
516
+ }, "strip", z.ZodTypeAny, {
517
+ url?: string;
518
+ method?: "get" | "post" | "put" | "delete";
519
+ customAPIOperation?: (...args: unknown[]) => unknown;
520
+ }, {
521
+ url?: string;
522
+ method?: "get" | "post" | "put" | "delete";
523
+ customAPIOperation?: (...args: unknown[]) => unknown;
524
+ }>, z.ZodUnknown, z.ZodString, z.ZodObject<{
525
+ path: z.ZodString;
526
+ callback: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
527
+ }, "strip", z.ZodTypeAny, {
528
+ path?: string;
529
+ callback?: (...args: unknown[]) => unknown;
530
+ }, {
531
+ path?: string;
532
+ callback?: (...args: unknown[]) => unknown;
533
+ }>]>>;
534
+ }, "strip", z.ZodTypeAny, {
535
+ nonce?: unknown;
536
+ login?: unknown;
537
+ logout?: unknown;
538
+ }, {
539
+ nonce?: unknown;
540
+ login?: unknown;
541
+ logout?: unknown;
542
+ }>;
543
+ export type ServerRoutes = z.infer<typeof ServerRoutesSchema>;
544
+ /**
545
+ * Server endpoints name configuration.
546
+ */
547
+ export declare const ServerRouteNamesSchema: z.ZodObject<{
548
+ /** Get nonce endpoint path. /tcw-nonce as default. */
549
+ nonce: z.ZodOptional<z.ZodString>;
550
+ /** Post login endpoint path. /tcw-login as default. */
551
+ login: z.ZodOptional<z.ZodString>;
552
+ /** Post logout endpoint path. /tcw-logout as default. */
553
+ logout: z.ZodOptional<z.ZodString>;
554
+ }, "strip", z.ZodTypeAny, {
555
+ nonce?: string;
556
+ login?: string;
557
+ logout?: string;
558
+ }, {
559
+ nonce?: string;
560
+ login?: string;
561
+ logout?: string;
562
+ }>;
563
+ export type ServerRouteNames = z.infer<typeof ServerRouteNamesSchema>;
564
+ /**
565
+ * Validation error type.
566
+ */
567
+ export interface ValidationError {
568
+ code: string;
569
+ message: string;
570
+ issues?: unknown[];
571
+ }
572
+ /**
573
+ * Result type for validation operations.
574
+ */
575
+ export type ValidationResult<T> = {
576
+ ok: true;
577
+ data: T;
578
+ } | {
579
+ ok: false;
580
+ error: ValidationError;
581
+ };
582
+ /**
583
+ * Validates EnsData.
584
+ */
585
+ export declare function validateEnsData(data: unknown): ValidationResult<EnsData>;
586
+ /**
587
+ * Validates RPCProvider.
588
+ */
589
+ export declare function validateRPCProvider(data: unknown): ValidationResult<RPCProvider>;
590
+ /**
591
+ * Validates ServerRoutes.
592
+ */
593
+ export declare function validateServerRoutes(data: unknown): ValidationResult<ServerRoutes>;
594
+ //# sourceMappingURL=types.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.schema.d.ts","sourceRoot":"","sources":["../src/types.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,uBAAuB;;IAEvB,kBAAkB;;;;;;;;EAElB,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAMpD;;GAEG;AACH,eAAO,MAAM,kBAAkB,yFAQ7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,+BAA+B,mEAM1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,4BAA4B,sJAYvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;CAYzB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,6BAA6B,sJAYxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAY1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,4BAA4B,0DAKvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,sBAAsB;;;;;CAKzB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B,+CAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;EAG9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,mBAAmB,GAC9B,UAAU,WAAW,KACpB,QAAQ,IAAI,iBAAqD,CAAC;AAErE,eAAO,MAAM,gBAAgB,GAC3B,UAAU,WAAW,KACpB,QAAQ,IAAI,cAA+C,CAAC;AAE/D,eAAO,MAAM,iBAAiB,GAC5B,UAAU,WAAW,KACpB,QAAQ,IAAI,eAAiD,CAAC;AAEjE,eAAO,MAAM,oBAAoB,GAC/B,UAAU,WAAW,KACpB,QAAQ,IAAI,kBAAuD,CAAC;AAEvE,eAAO,MAAM,gBAAgB,GAC3B,UAAU,WAAW,KACpB,QAAQ,IAAI,cAA+C,CAAC;AAE/D,eAAO,MAAM,cAAc,GACzB,UAAU,WAAW,KACpB,QAAQ,IAAI,YAA2C,CAAC;AAE3D,eAAO,MAAM,gBAAgB,GAC3B,UAAU,WAAW,KACpB,QAAQ,IAAI,cAA+C,CAAC;AAM/D;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,qBAAqB;;IAErB,+BAA+B;;IAE/B,sFAAsF;;;;;;;;;;EAEtF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAGvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,QAAQ,uBAAuB,KAC9B,MAAM,IAAI,sBAIgD,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;IAKxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;IAEtD,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;IAEvD,yDAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzD,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,sDAAsD;;IAEtD,uDAAuD;;IAEvD,yDAAyD;;;;;;;;;;EAEzD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACrB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAE1C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAahF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAalF"}